diff --git a/app.json b/app.json index c4c9274..7a5d6ce 100644 --- a/app.json +++ b/app.json @@ -32,7 +32,8 @@ "pages/discountCoupon/index", "pages/integralRecord/index", "pages/meterList/index", - "pages/workBench/components/tenement/components/createTenement/index" + "pages/workBench/components/tenement/components/createTenement/index", + "pages/billMeterDetail/index" ], "subPackages": [ { diff --git a/childPackage/pages/billDetail/index.js b/childPackage/pages/billDetail/index.js index 8a8a364..03f75bf 100644 --- a/childPackage/pages/billDetail/index.js +++ b/childPackage/pages/billDetail/index.js @@ -2,8 +2,11 @@ import { getReportDetail } from "../../../service/report"; import { alertInfo, alertSuccess, getPixelRatio, loadingFunc } from "../../../utils/index"; import request from '../../../utils/request' import * as echarts from '../../components/echarts/echarts'; +import { getRoundNumber } from "../../../utils/index" const { OK } = request + + // pages/billDetail/index.js Page({ @@ -53,8 +56,11 @@ Page({ detail, amount: amount, meters: detail?.meters?.map(item => { - const finalAmount = Number(item?.overall?.amount || 0) + Number(item?.loss?.amount || 0) + Number(item?.publicAmount || 0) - item.finalAmount = Number(finalAmount).toFixed(2) + if (item?.loss?.amount) { + item.loss.amount = getRoundNumber(Number(item.loss.amount)) + } + // const finalAmount = Number(item?.overall?.amount || 0) + Number(item?.loss?.amount || 0) + Number(item?.publicAmount || 0) + item.finalAmount = getRoundNumber(Number(item.finalAmount)) return item; }) }) @@ -162,6 +168,13 @@ Page({ return pieChart; }); }, + jumpToDetail(e) { + const { meter } = e.currentTarget.dataset; + console.log("meter", meter) + wx.navigateTo({ + url: '/pages/billMeterDetail/index?data=' + JSON.stringify(meter), + }) + }, download() { const { id: tenement } = wx.getStorageSync('tenement') const { id } = this.data; diff --git a/childPackage/pages/billDetail/index.wxml b/childPackage/pages/billDetail/index.wxml index c5c483b..163053b 100644 --- a/childPackage/pages/billDetail/index.wxml +++ b/childPackage/pages/billDetail/index.wxml @@ -1,7 +1,7 @@ - + @@ -19,7 +19,7 @@ 账单周期: - {{ detail.comprehensive.startDate }} 至 {{ detail.comprehensive.endDate }} + {{ detail.comprehensive.startDate }} 至 {{ detail.comprehensive.endDate }} 下载 @@ -50,14 +50,7 @@ 电费构成 - + (本月电量+本月线损电量)*电单价+摊薄公摊电费+摊薄调整电费 @@ -113,7 +106,7 @@ 本期用电量 - {{ amount }} 千瓦时 + {{ detail.comprehensive.finalAmount }} 千瓦时 @@ -126,40 +119,28 @@ 分时明细 - + 分时电量 (千瓦时) - 尖: {{ detail.comprehensive.sharpAmount }} - 峰: {{ detail.comprehensive.peakAmount }} - 平: {{ detail.comprehensive.flatAmount }} - 谷: {{ detail.comprehensive.valleyAmount }} + 尖: {{ detail.comprehensive.sharpAmount }} + 峰: {{ detail.comprehensive.peakAmount }} + 平: {{ detail.comprehensive.flatAmount }} + 谷: {{ detail.comprehensive.valleyAmount }} - + 分时单价 (元/千瓦时) - 尖: {{ detail.comprehensive.priceSharp }} - 峰: {{ detail.comprehensive.pricePeak }} - 平: {{ detail.comprehensive.priceFlat }} - 谷: {{ detail.comprehensive.priceValley }} - - - - - - 分时电费 - (元) - - 尖: {{ detail.comprehensive.sharpFee }} - 峰: {{ detail.comprehensive.peakFee }} - 平: {{ detail.comprehensive.flatFee }} - 谷: {{ detail.comprehensive.valleyFee }} + 尖: {{ detail.comprehensive.priceSharp }} + 峰: {{ detail.comprehensive.pricePeak }} + 平: {{ detail.comprehensive.priceFlat }} + 谷: {{ detail.comprehensive.priceValley }} @@ -169,46 +150,117 @@ 分时电量明细 - - 尖 - + + + + {{item.address}} + 详情 + + + + + 电度电量 + + + 线损电量 + + + 合计电量 + + + 合计电费 + + + + + {{item.overall.amount}} + + + + {{item.loss.amount}} + + + + {{item.finalAmount}} + + + + {{item.finalTotal}} + + + + + + \ No newline at end of file diff --git a/childPackage/pages/billDetail/index.wxss b/childPackage/pages/billDetail/index.wxss index b84fb51..4ec732c 100644 --- a/childPackage/pages/billDetail/index.wxss +++ b/childPackage/pages/billDetail/index.wxss @@ -74,7 +74,7 @@ page { .colContentValue2 { padding-bottom: 20rpx; - padding-left: 20rpx; + padding-left: 40rpx; overflow: hidden; } @@ -100,10 +100,37 @@ page { background-color: #fff; box-sizing: border-box; flex: 1; + word-break: break-all; } .download { position: absolute; top: 20rpx; right: 20rpx; +} + +.meterListItem { + font-size: 32rpx; +} + +.meterListItem .top { + display: flex; + align-items: center; +} + +.meterListItem .address { + flex: 1; +} + + +/* .top .meterListItem:nth-child(even) .tableContent, +.bottom .meterListItem:nth-child(even) .tableContent, +.top .meterListItem:nth-child(even), +.bottom .meterListItem:nth-child(even) +{ + +} */ + +.meterListItemContent, .meterListItemContent .tableContent { + background-color: #fff; } \ No newline at end of file diff --git a/pages/billMeterDetail/index.js b/pages/billMeterDetail/index.js new file mode 100644 index 0000000..a768265 --- /dev/null +++ b/pages/billMeterDetail/index.js @@ -0,0 +1,87 @@ +// pages/billMeterDetail/index.js +import { getRoundNumber } from "../../utils/index" +Page({ + + /** + * 页面的初始数据 + */ + data: { + data: {}, + headers: [ + { key: 'type', title: '' }, + { title: '尖',renderBody: (item) => { return item?.sharp } }, + { title: '峰',renderBody: (item) => { return item?.peak } }, + { title: '平',renderBody: (item) => { return item?.flat } }, + { title: '谷',renderBody: (item) => { return item?.valley } }, + ], + list: [] + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + const data = JSON.parse(options.data) || {} + this.setData({ + data: data, + list: [ + { type: "起码", sharp: data.startSharp, peak: data.startPeak, flat: data.startFlat, valley: data.startValley }, + { type: "止码", sharp: data.endSharp, peak: data.endPeak, flat: data.endFlat, valley: data.endValley }, + { type: "退补电量", sharp: data.refundSharp, peak: data.refundPeak, flat: data.refundFlat, valley: data.refundValley }, + { type: "从表电量", sharp: getRoundNumber(data.nestSharp), peak: getRoundNumber(data.nestPeak), flat: getRoundNumber(data.nestFlat), valley: getRoundNumber(data.nestValley) }, + { type: "电度电量", sharp: getRoundNumber(data?.critical?.amount), peak: getRoundNumber(data.peak?.amount), flat: getRoundNumber(data.flat?.amount), valley: getRoundNumber(data.valley?.amount) }, + { type: "分时单价", sharp: data.critical?.price, peak: data.peak?.price, flat: data.flat?.price, valley: data.valley?.price }, + { type: "电费", sharp: getRoundNumber(data.chargeSharp), peak: getRoundNumber(data.chargePeak), flat: getRoundNumber(data.chargeFlat), valley: getRoundNumber(data.chargeValley) }, + ] + }) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/billMeterDetail/index.json b/pages/billMeterDetail/index.json new file mode 100644 index 0000000..40cb5d6 --- /dev/null +++ b/pages/billMeterDetail/index.json @@ -0,0 +1,10 @@ +{ + "usingComponents": { + "navigator": "/components/navigator/index", + "van-row": "@vant/weapp/row/index", + "van-col": "@vant/weapp/col/index", + "van-field": "@vant/weapp/field/index", + "table": "/components/table/table" + }, + "navigationStyle": "custom" +} \ No newline at end of file diff --git a/pages/billMeterDetail/index.wxml b/pages/billMeterDetail/index.wxml new file mode 100644 index 0000000..1f3b039 --- /dev/null +++ b/pages/billMeterDetail/index.wxml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + 电度电量:{{data.overall.amount}} + + + + + 电度电费:{{data.overall.fee}} + + + + + diff --git a/pages/billMeterDetail/index.wxss b/pages/billMeterDetail/index.wxss new file mode 100644 index 0000000..49322eb --- /dev/null +++ b/pages/billMeterDetail/index.wxss @@ -0,0 +1,22 @@ +/* pages/billMeterDetail/index.wxss */ +.infoItem { + word-break: break-all; +} + +.contentWrapper { + margin: 20rpx; +} + +.table { + border: 1rpx solid rgba(204,204,204,.5); + margin-bottom: 40rpx; +} + +.total { + padding-top: 30rpx; + padding-bottom: 40rpx; +} + +.totalNumber { + word-break: break-all; +} \ No newline at end of file diff --git a/project.private.config.json b/project.private.config.json index e21c077..710c626 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -13,7 +13,7 @@ { "name": "childPackage/pages/billDetail/index", "pathName": "childPackage/pages/billDetail/index", - "query": "id=R00102714036256769&time=2025-03", + "query": "id=R00103882183475201&time=2025-03", "launchMode": "default", "scene": null }, diff --git a/utils/index.js b/utils/index.js index 1389446..63a9360 100644 --- a/utils/index.js +++ b/utils/index.js @@ -45,10 +45,10 @@ export function getConfigByEnv() { switch (envVersion) { // 开发版 case 'develop': - api = "http://localhost:8000" + // api = "http://localhost:8000" // api = "https://zgd.hbhcbn.com/api3" // api = "https://zgd.hbhcbn.com/api3" - // api = "https://zgd.hbhcbn.com/wxApi" + api = "https://zgd.hbhcbn.com/wxApi" // api = "http://127.0.0.1:4523/m1/4143821-0-default" break; // 体验版 @@ -249,4 +249,8 @@ export function getFileName(path) { export function replaceSpecialIcon(str) { return str.replace(/#/g, escape("#")) -} \ No newline at end of file +} + +export function getRoundNumber(number) { + return (Math.round(number * 100) / 100).toFixed(2) +}