diff --git a/app.json b/app.json
index 643ed06..13da7c7 100644
--- a/app.json
+++ b/app.json
@@ -1,8 +1,8 @@
{
"pages": [
- "pages/electricQuery/index",
- "pages/billList/index",
"pages/home/index",
+ "pages/billList/index",
+ "pages/electricQuery/index",
"pages/rechargeRecord/index",
"pages/invoiceList/index",
"pages/invoiceDetail/index",
diff --git a/components/timePicker/index.js b/components/timePicker/index.js
new file mode 100644
index 0000000..093f07c
--- /dev/null
+++ b/components/timePicker/index.js
@@ -0,0 +1,77 @@
+// components/timePicker/index.js
+
+const dayjs = require("../../utils/dayjs");
+
+function generateYearArray(startYear) {
+ const currentYear = new Date().getFullYear();
+ const years = [];
+ for (let i = startYear; i <= currentYear; i++) {
+ years.push(i);
+ }
+ return years;
+}
+
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ type: String,
+ value: Number,
+ show: Boolean,
+ year: String,
+ month: Number,
+ day: Number,
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ minDate: new Date(2024,0,1).getTime(),
+ maxDate: new Date().getTime(),
+ formatter(type, value) {
+ if (type === 'year') {
+ return `${value}年`;
+ }
+ if (type === 'month') {
+ return `${value}月`;
+ }
+ if (type === 'day') {
+ return `${value}日`;
+ }
+ return value;
+ },
+ years: generateYearArray(2024)
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onInput(e) {
+
+ },
+ onClose() {
+ this.triggerEvent("close")
+ },
+ onCancel() {
+ this.triggerEvent("cancel")
+ },
+ onConfirm(e) {
+ const { type } = this.data;
+ let time;
+ switch(type) {
+ case "day":
+ time = dayjs(new Date(e.detail)).format('YYYY-MM-DD');
+ break;
+ case 'month':
+ time = dayjs(new Date(e.detail)).format('YYYY-MM');
+ break;
+ case 'year':
+ time = dayjs(new Date(e.detail.value, 0, 1)).format('YYYY');
+ break;
+ }
+ this.triggerEvent("confirm", { type, time })
+ }
+ }
+})
\ No newline at end of file
diff --git a/components/timePicker/index.json b/components/timePicker/index.json
new file mode 100644
index 0000000..a40d48b
--- /dev/null
+++ b/components/timePicker/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-datetime-picker": "@vant/weapp/datetime-picker/index",
+ "van-popup": "@vant/weapp/popup/index",
+ "van-picker": "@vant/weapp/picker/index"
+ }
+}
\ No newline at end of file
diff --git a/components/timePicker/index.wxml b/components/timePicker/index.wxml
new file mode 100644
index 0000000..b9ad1ad
--- /dev/null
+++ b/components/timePicker/index.wxml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
diff --git a/components/timePicker/index.wxss b/components/timePicker/index.wxss
new file mode 100644
index 0000000..a860b5a
--- /dev/null
+++ b/components/timePicker/index.wxss
@@ -0,0 +1 @@
+/* components/timePicker/index.wxss */
\ No newline at end of file
diff --git a/pages/billDetail/index.js b/pages/billDetail/index.js
index b86f799..337391b 100644
--- a/pages/billDetail/index.js
+++ b/pages/billDetail/index.js
@@ -12,7 +12,12 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
-
+ const { id: report } = options;
+ const { id: tenement } = wx.getStorageSync('tenement')
+ this.setData({
+ // url: `https://zgd.hbhcbn.com/h5/?report=${report}&tenement=${tenement}`
+ url: `http://localhost:3000/?report=${report}&tenement=${tenement}`
+ })
},
/**
diff --git a/pages/billDetail/index.wxml b/pages/billDetail/index.wxml
index 2a4992e..0d726f6 100644
--- a/pages/billDetail/index.wxml
+++ b/pages/billDetail/index.wxml
@@ -1,2 +1,2 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/pages/billList/index.js b/pages/billList/index.js
index cb0d4d4..fed180e 100644
--- a/pages/billList/index.js
+++ b/pages/billList/index.js
@@ -31,9 +31,10 @@ Page({
page: page + 1,
})
},
- jumpToDetail() {
+ jumpToDetail(e) {
+ const { id } = e.currentTarget.dataset
wx.navigateTo({
- url: '/pages/billDetail/index',
+ url: '/pages/billDetail/index?id=' + id,
})
},
/**
diff --git a/pages/billList/index.wxml b/pages/billList/index.wxml
index 794a8f9..b88ef27 100644
--- a/pages/billList/index.wxml
+++ b/pages/billList/index.wxml
@@ -4,5 +4,5 @@
{{ item.time }}
- 查看详细
+ 查看详细
\ No newline at end of file
diff --git a/pages/electricQuery/components/accountingCard/index.js b/pages/electricQuery/components/accountingCard/index.js
new file mode 100644
index 0000000..922326c
--- /dev/null
+++ b/pages/electricQuery/components/accountingCard/index.js
@@ -0,0 +1,24 @@
+// pages/electricQuery/components/accountingCard/index.js
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ data: Object
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/electricQuery/components/accountingCard/index.json b/pages/electricQuery/components/accountingCard/index.json
new file mode 100644
index 0000000..f23defa
--- /dev/null
+++ b/pages/electricQuery/components/accountingCard/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-row": "@vant/weapp/row/index",
+ "van-col": "@vant/weapp/col/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/electricQuery/components/accountingCard/index.wxml b/pages/electricQuery/components/accountingCard/index.wxml
new file mode 100644
index 0000000..45e6978
--- /dev/null
+++ b/pages/electricQuery/components/accountingCard/index.wxml
@@ -0,0 +1,33 @@
+
+
+
+ {{data.meter.address}}
+
+
+
+ 初始余额
+
+
+ 储值累计金额
+
+
+ 电费
+
+
+ 账务余额
+
+
+ {{data.startMoney}}
+
+
+ {{data.rechargeMoney}}
+
+
+ {{data.electricMoney}}
+
+
+ {{data.currentMoney}}
+
+
+
+
\ No newline at end of file
diff --git a/pages/electricQuery/components/accountingCard/index.wxss b/pages/electricQuery/components/accountingCard/index.wxss
new file mode 100644
index 0000000..c538ef6
--- /dev/null
+++ b/pages/electricQuery/components/accountingCard/index.wxss
@@ -0,0 +1,24 @@
+/* pages/electricQuery/components/accountingCard/index.wxss */
+.wrapper {
+ background-color: #fff;
+ margin-top: 30rpx;
+}
+
+.title {
+ padding: 20rpx;
+ border-bottom: 1rpx solid #ccc;
+ font-size: 34rpx;
+}
+
+.tableTitle {
+ font-size: 32rpx;
+ margin: 20rpx 0 14rpx;
+ text-align: center;
+}
+
+.tableContent {
+ margin-top: 10rpx;
+ margin-bottom: 20rpx;
+ text-align: center;
+ font-size: 32rpx;
+}
\ No newline at end of file
diff --git a/pages/electricQuery/index.js b/pages/electricQuery/index.js
index 2548883..d82d9d0 100644
--- a/pages/electricQuery/index.js
+++ b/pages/electricQuery/index.js
@@ -1,11 +1,10 @@
// pages/electricQuery/index.js
-import { getElectricityList } from "../../service/accounting";
+import { getAccountingList, getElectricityList, getMeterReadingList } from "../../service/accounting";
import { getTenementMeterList } from "../../service/meter";
import dayjs from "../../utils/dayjs";
import request from '../../utils/request';
-import * as echarts from '../..//components/echarts/echarts';
+import * as echarts from '../../components/echarts/echarts';
const { OK } = request;
-const piedata = [1,2,3,4,5]
Page({
/**
@@ -22,17 +21,46 @@ Page({
year: dayjs().format('YYYY'),
yearMonth: dayjs().format("YYYY-MM"),
yearMonthDay: dayjs().format("YYYY-MM-DD"),
+ yearStamp: new Date().getTime(),
+ yearMonthStamp: new Date().getTime(),
+ yearMonthDayStamp: new Date().getTime(),
header: [
{ key: 'address', title: '电表地址', renderBody: (item) => item.meter?.address },
{ title: '时间',renderBody: (item) => { return item.time } },
{ key: 'number', title: '耗量' },
],
- list: []
+ meterReadingHeader: [
+ { key: 'address', title: '电表地址', renderBody: (item) => item.meter?.address },
+ { title: '倍率', key: 'ratio' },
+ { key: 'number', title: '抄表记录' },
+ ],
+ list: [],
+ visible: false,
+ meterReadingList: [],
+ accountingList: []
},
changeQueryType(e) {
const { type } = e.currentTarget.dataset
this.setData({ queryType: type },() => {
- this.init()
+ switch(type) {
+ case 0:
+ this.init()
+ break;
+ case 1:
+ this.getReadingList();
+ break;
+ case 2:
+ this.getAccountingBalanceList();
+ break;
+ }
+
+ })
+ },
+ clickTime() {
+ const { timeType } = this.data;
+ this.setData({
+ timePickerType: timeType === 0 ? "day" : (timeType === 1 ? 'month' : 'year'),
+ visible: true
})
},
changeTimeType(e) {
@@ -51,9 +79,18 @@ Page({
async init() {
const { queryType, timeType, meterId } = this.data;
const { code, message, data } = await getElectricityList({ type: queryType, meter: meterId, time: timeType })
- console.log('data', data)
this.setData({ list: data })
},
+ async getReadingList() {
+ const { meterId } = this.data;
+ const { code, message, data } = await getMeterReadingList(meterId)
+ this.setData({ meterReadingList: data })
+ },
+ async getAccountingBalanceList() {
+ const { meterId } = this.data;
+ const { code, message, data } = await getAccountingList(meterId)
+ this.setData({ accountingList: data })
+ },
async getMeters() {
const { id } = wx.getStorageSync('tenement')
const { code, message, data } = await getTenementMeterList(id);
@@ -99,6 +136,33 @@ Page({
this.init();
})
},
+ onTimeClose() {
+ this.setData({ visible: false })
+ },
+ onTimeCancel() {
+ this.setData({ visible: false })
+ },
+ onTimeConfirm(e) {
+ const { type, time } = e.detail;
+ switch(type) {
+ case "year":
+ this.setData({ year: time, visible: false, }, () => {
+ this.init();
+ });
+ break;
+ case "month":
+ const [year, month] = time.split("-")
+ this.setData({ yearMonth: time, yearMonthStamp: new Date(Number(year), Number(month) - 1, 1).getTime(), visible: false }, () => {
+ this.init();
+ });
+ break;
+ case "day":
+ this.setData({ yearMonthDay: time, yearMonthDayStamp: new Date(time).getTime(), visible: false }, () => {
+ this.init();
+ })
+ break;
+ }
+ },
/**
* 生命周期函数--监听页面初次渲染完成
*/
diff --git a/pages/electricQuery/index.json b/pages/electricQuery/index.json
index d342677..7865dbb 100644
--- a/pages/electricQuery/index.json
+++ b/pages/electricQuery/index.json
@@ -7,7 +7,9 @@
"van-col": "@vant/weapp/col/index",
"van-button": "@vant/weapp/button/index",
"table": "/components/table/table",
- "empty": "/components/empty/index"
+ "empty": "/components/empty/index",
+ "timePicker": "/components/timePicker/index",
+ "accountingCard": "./components/accountingCard/index"
},
"navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/pages/electricQuery/index.wxml b/pages/electricQuery/index.wxml
index ca98753..36689f2 100644
--- a/pages/electricQuery/index.wxml
+++ b/pages/electricQuery/index.wxml
@@ -41,26 +41,56 @@
-
- 不包括线损电量,显示为电表实际消耗电量。仅供参考,实际能耗电量以电费账单为主。如有疑问,请联系客服。
-
-
- 选择时间
-
- {{yearMonthDay}}
-
+
+
+ 不包括线损电量,显示为电表实际消耗电量。仅供参考,实际能耗电量以电费账单为主。如有疑问,请联系客服。
+
+
+ 选择时间
+
+ {{yearMonthDay}}
+ {{yearMonth}}
+ {{year}}
+
+
+ 导出
+
+
+
+
+ 显示为最新的一条抄表记录。电表更新数据有延迟,仅供参考,实际以电表上显示为准。
+
+
+
+
+ 账务余额更新时间为:每次预存电费后,每次账单发布后,剩余的实际金额。电表余额与账务余额相差较大的用户,每半年统一处理一次。
- 导出
-
-
-
-
+
+
+
+
+
+
+ 合计:表计数量:10,耗电量100
+
-
- 合计:表计数量:10,耗电量100
+
+
+
+
+
+
+
+
+
+
+
+
+
+