From 430809639412648eb324be95c9e924c5037fd61b Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 17 Sep 2025 14:51:36 +0800
Subject: [PATCH 01/51] =?UTF-8?q?=E5=87=86=E5=A4=87=E8=81=94=E8=B0=83?=
=?UTF-8?q?=E6=8A=84=E8=A1=A8=E8=AE=B0=E5=BD=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/editModal/index.js | 22 ++++++++++--
.../components/editModal/index.wxml | 2 ++
.../components/meterInfo/index.wxss | 4 +++
pages/readingHistory/index.js | 34 ++++++++++++++++---
pages/readingHistory/index.wxml | 15 ++++++--
pages/workBench/index.js | 2 +-
.../components/readingInfo/index.js | 2 +-
service/workBench.js | 6 ++++
8 files changed, 74 insertions(+), 13 deletions(-)
diff --git a/pages/readingHistory/components/editModal/index.js b/pages/readingHistory/components/editModal/index.js
index f066012..b8ab777 100644
--- a/pages/readingHistory/components/editModal/index.js
+++ b/pages/readingHistory/components/editModal/index.js
@@ -1,6 +1,6 @@
// pages/workBench/components/tenement/components/bindMeter/index.js
// 0015980101
-import { bindMeter, } from "../../../../service/tenement"
+import { createReading } from "../../../../service/workBench"
import { getWorkMeterDetail } from "../../../../service/meter"
import { alertInfo, alertSuccess } from "../../../../utils/index";
import request from "../../../../utils/request"
@@ -16,7 +16,9 @@ Component({
title: String,
timeProps: String,
numberProps: String,
- id: String
+ id: String,
+ meter: String,
+ park: String
},
observers: {
"timeProps": function(newValue) {
@@ -63,10 +65,24 @@ Component({
})
},
async onSubmit() {
- const { time, number } = this.data;
+ const { time, number, id, park, meter } = this.data;
if (time == null || number == null) {
alertInfo("请正确填写后保存")
return;
+ }
+ if (!id) {
+ const { code, message } = await createReading(park, meter, {
+ overall: `${number}`,
+ flat: `${number}`,
+ readAt: time
+ })
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ alertSuccess("录入成功")
+ } else {
+
}
this.triggerEvent("ok")
},
diff --git a/pages/readingHistory/components/editModal/index.wxml b/pages/readingHistory/components/editModal/index.wxml
index 12356ca..e699846 100644
--- a/pages/readingHistory/components/editModal/index.wxml
+++ b/pages/readingHistory/components/editModal/index.wxml
@@ -25,6 +25,8 @@
value="{{ number }}"
placeholder="请输入读数"
label="读数"
+ bind:change="onChange"
+ data-name="number"
type="digit"
border="{{ false }}"
title-width="100rpx"
diff --git a/pages/readingHistory/components/meterInfo/index.wxss b/pages/readingHistory/components/meterInfo/index.wxss
index c257812..b7f616d 100644
--- a/pages/readingHistory/components/meterInfo/index.wxss
+++ b/pages/readingHistory/components/meterInfo/index.wxss
@@ -19,4 +19,8 @@
justify-content: space-between;
font-size: 30rpx;
margin-bottom: 20rpx;
+}
+
+.status {
+ font-size: 30rpx;
}
\ No newline at end of file
diff --git a/pages/readingHistory/index.js b/pages/readingHistory/index.js
index 792222d..a0cc352 100644
--- a/pages/readingHistory/index.js
+++ b/pages/readingHistory/index.js
@@ -1,7 +1,7 @@
// pages/readingHistory/index.js
-import { getMeterReadingRouteMeterDetail } from "../../service/workBench"
+import { getMeterReadingRouteMeterDetail, getReadingList } from "../../service/workBench"
import request from "../../utils/request"
-import { alertInfo, alertSuccess, alertError } from "../../utils/index"
+import { alertInfo, alertSuccess, alertError, loadingFunc } from "../../utils/index"
const { OK } = request;
Page({
@@ -9,7 +9,9 @@ Page({
* 页面的初始数据
*/
data: {
- list: [{time: "2025-05-05 14:10:09", number: 90803.87}]
+ list: [],
+ page: 1,
+ size: 20,
},
/**
@@ -17,12 +19,21 @@ Page({
*/
onLoad(options) {
const { meter, park } = options;
+ const that = this;
this.setData({
meter,
park
+ }, () => {
+ that.refresh();
})
this.getMeterInfo(meter);
},
+ refresh() {
+ const that = this;
+ loadingFunc(async () => {
+ await that.getList();
+ })
+ },
async getMeterInfo(id) {
const { code, message, data } = await getMeterReadingRouteMeterDetail(id)
if (code !== OK) {
@@ -31,6 +42,17 @@ Page({
}
this.setData({ meterInfo: data })
},
+ async getList() {
+ const { meter, park, page } = this.data;
+ const { code, message, records: data } = await getReadingList(park, meter, page)
+ if (code !== OK) {
+ alertError(message)
+ return;
+ }
+ this.setData({
+ list: data
+ })
+ },
/**
* 生命周期函数--监听页面初次渲染完成
*/
@@ -40,7 +62,8 @@ Page({
handleCreate() {
this.setData({
title: "新增记录",
- visible: true
+ visible: true,
+ type: "create"
})
},
handleUpdate() {
@@ -49,7 +72,8 @@ Page({
visible: true,
time: "2025-09-11",
number: 100,
- id: ""
+ id: "",
+ type: "edit",
})
},
handleDelete(e) {
diff --git a/pages/readingHistory/index.wxml b/pages/readingHistory/index.wxml
index 664201d..a48b788 100644
--- a/pages/readingHistory/index.wxml
+++ b/pages/readingHistory/index.wxml
@@ -22,10 +22,10 @@
- {{ item.time }}
+ {{ item.readAt }}
- {{ item.number }}
+ {{ item.overall }}
@@ -46,4 +46,13 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/pages/workBench/index.js b/pages/workBench/index.js
index 0480db6..2b08c44 100644
--- a/pages/workBench/index.js
+++ b/pages/workBench/index.js
@@ -5,7 +5,7 @@ Page({
* 页面的初始数据
*/
data: {
- active: 4
+ active: 1
},
/**
diff --git a/pages/writeReading/components/readingInfo/index.js b/pages/writeReading/components/readingInfo/index.js
index 5271828..b7f5813 100644
--- a/pages/writeReading/components/readingInfo/index.js
+++ b/pages/writeReading/components/readingInfo/index.js
@@ -30,7 +30,7 @@ Component({
jumpToHistory() {
const { meterInfo } = this.data;
wx.navigateTo({
- url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.park}`,
+ url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.parkId}`,
})
},
handlePrev() {
diff --git a/service/workBench.js b/service/workBench.js
index d9a6032..a4b86d0 100644
--- a/service/workBench.js
+++ b/service/workBench.js
@@ -24,4 +24,10 @@ export const getMeterReadingRouteMeterDetail = async function(id) {
// 新建一条抄表记录
export const createReading = async function(park, code, data) {
return await POST(`/reading/${park}/${code}`, data);
+}
+
+
+// 查询符合指定条件的抄表记录
+export const getReadingList = async function(park, keyword, page) {
+ return await GET(`/reading/${park}?keyword=${keyword}&page=${page}`,);
}
\ No newline at end of file
--
2.49.1
From 95e6937d06fa4ba1b4cd8b7c7ec73705a72b799d Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 17 Sep 2025 16:48:57 +0800
Subject: [PATCH 02/51] =?UTF-8?q?=E6=8A=84=E8=A1=A8=E8=AE=B0=E5=BD=95?=
=?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/DateTimePicker/index.js | 18 +++++++-
.../components/editModal/index.js | 32 +++++++++++---
.../components/editModal/index.wxml | 4 +-
pages/readingHistory/index.js | 43 ++++++++++++++-----
pages/readingHistory/index.json | 3 +-
pages/readingHistory/index.wxml | 8 ++--
service/workBench.js | 10 +++++
7 files changed, 94 insertions(+), 24 deletions(-)
diff --git a/components/DateTimePicker/index.js b/components/DateTimePicker/index.js
index da3090c..04b5376 100644
--- a/components/DateTimePicker/index.js
+++ b/components/DateTimePicker/index.js
@@ -8,8 +8,19 @@ Component({
*/
properties: {
show: Boolean,
+ // time: String,
},
-
+ // observers: {
+ // time: function(newValue) {
+ // console.log("time newValue", newValue)
+ // if (!newValue) {
+ // return;
+ // }
+ // this.setData({
+ // currentDate: new Date(newValue).getTime(),
+ // })
+ // }
+ // },
/**
* 组件的初始数据
*/
@@ -20,7 +31,10 @@ Component({
},
lifetimes: {
attached() {
-
+ this.setData({
+ maxDate: new Date().getTime(),
+ currentDate: new Date().getTime(),
+ })
}
},
/**
diff --git a/pages/readingHistory/components/editModal/index.js b/pages/readingHistory/components/editModal/index.js
index b8ab777..a62f1d6 100644
--- a/pages/readingHistory/components/editModal/index.js
+++ b/pages/readingHistory/components/editModal/index.js
@@ -1,6 +1,6 @@
// pages/workBench/components/tenement/components/bindMeter/index.js
// 0015980101
-import { createReading } from "../../../../service/workBench"
+import { createReading, updateReading } from "../../../../service/workBench"
import { getWorkMeterDetail } from "../../../../service/meter"
import { alertInfo, alertSuccess } from "../../../../utils/index";
import request from "../../../../utils/request"
@@ -16,14 +16,16 @@ Component({
title: String,
timeProps: String,
numberProps: String,
- id: String,
+ idProps: String,
meter: String,
park: String
},
observers: {
"timeProps": function(newValue) {
+ // console.log("newValue", newValue)
this.setData({
- time: newValue
+ time: newValue,
+ // startTime: newValue
})
},
"numberProps": function(newValue) {
@@ -31,6 +33,9 @@ Component({
number: newValue
})
},
+ "idProps": function(newValue) {
+ console.log("new id", newValue)
+ }
},
/**
* 组件的初始数据
@@ -65,12 +70,12 @@ Component({
})
},
async onSubmit() {
- const { time, number, id, park, meter } = this.data;
+ const { time, number, idProps, park, meter, timeProps } = this.data;
if (time == null || number == null) {
alertInfo("请正确填写后保存")
return;
}
- if (!id) {
+ if (!idProps) {
const { code, message } = await createReading(park, meter, {
overall: `${number}`,
flat: `${number}`,
@@ -81,10 +86,23 @@ Component({
return
}
alertSuccess("录入成功")
+ this.setData({ number: null, time: null, startTime: null })
} else {
-
+ const { code, message } = await updateReading(park, meter, timeProps, {
+ overall: `${number}`,
+ flat: `${number}`,
+ })
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ alertSuccess("录入成功")
+ this.setData({ number: null, time: null, startTime: null })
}
- this.triggerEvent("ok")
+ const that = this;
+ setTimeout(() => {
+ that.triggerEvent("ok")
+ }, 300)
},
dateTimeConfirm(e) {
diff --git a/pages/readingHistory/components/editModal/index.wxml b/pages/readingHistory/components/editModal/index.wxml
index e699846..fa34bee 100644
--- a/pages/readingHistory/components/editModal/index.wxml
+++ b/pages/readingHistory/components/editModal/index.wxml
@@ -17,7 +17,7 @@
use-button-slot
title-width="100rpx"
>
-
+
选择
@@ -46,7 +46,9 @@
/>
diff --git a/pages/readingHistory/index.js b/pages/readingHistory/index.js
index a0cc352..7abbcee 100644
--- a/pages/readingHistory/index.js
+++ b/pages/readingHistory/index.js
@@ -1,5 +1,5 @@
// pages/readingHistory/index.js
-import { getMeterReadingRouteMeterDetail, getReadingList } from "../../service/workBench"
+import { getMeterReadingRouteMeterDetail, getReadingList, deleteReading } from "../../service/workBench"
import request from "../../utils/request"
import { alertInfo, alertSuccess, alertError, loadingFunc } from "../../utils/index"
const { OK } = request;
@@ -43,14 +43,24 @@ Page({
this.setData({ meterInfo: data })
},
async getList() {
- const { meter, park, page } = this.data;
+ const { meter, park, page, size } = this.data;
const { code, message, records: data } = await getReadingList(park, meter, page)
if (code !== OK) {
alertError(message)
return;
}
this.setData({
- list: data
+ list: data,
+ totalPage: Math.ceil(data?.length / size)
+ })
+ },
+ async onChangePage(e) {
+ const newPage = e.detail.currentIndex;
+ const that = this;
+ this.setData({
+ page: newPage
+ }, () => {
+ that.getList();
})
},
/**
@@ -66,28 +76,41 @@ Page({
type: "create"
})
},
- handleUpdate() {
+ handleUpdate(e) {
+ const { data } = e.currentTarget.dataset;
+ console.log("data", data);
this.setData({
title: "编辑记录",
visible: true,
- time: "2025-09-11",
- number: 100,
- id: "",
+ time: data.readAt,
+ number: data.overall,
+ id: data.id,
type: "edit",
+ }, () => {
+ console.log("this.data---------", this.data)
})
},
handleDelete(e) {
- const { id } = e.currentTarget.dataset;
+ const { data } = e.currentTarget.dataset;
+ const that = this;
wx.showModal({
title: '删除确认',
content: '确认要删除这一项记录吗?',
- complete: (res) => {
+ complete: async (res) => {
if (res.cancel) {
}
if (res.confirm) {
-
+ const { code, message } = await deleteReading(data?.id, data?.overall)
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ alertSuccess("删除成功")
+ setTimeout(() => {
+ that.refresh()
+ }, 300)
}
}
})
diff --git a/pages/readingHistory/index.json b/pages/readingHistory/index.json
index f773837..1b8b1af 100644
--- a/pages/readingHistory/index.json
+++ b/pages/readingHistory/index.json
@@ -4,7 +4,8 @@
"meterInfo": "./components/meterInfo/index",
"van-button": "@vant/weapp/button/index",
"van-icon": "@vant/weapp/icon/index",
- "editModal": "./components/editModal/index"
+ "editModal": "./components/editModal/index",
+ "pagination": "/components/pagination/index"
},
"navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/pages/readingHistory/index.wxml b/pages/readingHistory/index.wxml
index a48b788..027ba6b 100644
--- a/pages/readingHistory/index.wxml
+++ b/pages/readingHistory/index.wxml
@@ -1,6 +1,6 @@
-
+{{id}}
@@ -30,7 +30,7 @@
-
+
@@ -47,12 +47,14 @@
\ No newline at end of file
diff --git a/service/workBench.js b/service/workBench.js
index a4b86d0..b2261e3 100644
--- a/service/workBench.js
+++ b/service/workBench.js
@@ -30,4 +30,14 @@ export const createReading = async function(park, code, data) {
// 查询符合指定条件的抄表记录
export const getReadingList = async function(park, keyword, page) {
return await GET(`/reading/${park}?keyword=${keyword}&page=${page}`,);
+}
+
+// 删除抄表记录
+export const deleteReading = async function(id, overall) {
+ return await DELETE(`/meter/delete/records/${id}`, { overall });
+}
+
+// 修改抄表记录
+export const updateReading = async function(park, code, read_at, data) {
+ return await PUT(`/reading/${park}/${code}/${read_at}`, data);
}
\ No newline at end of file
--
2.49.1
From 49aeeb05a74d84e2e76d83dafdb215219d33b37d Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 17 Sep 2025 16:58:48 +0800
Subject: [PATCH 03/51] =?UTF-8?q?=E6=8A=84=E8=A1=A8=E8=AE=B0=E5=BD=95?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=B6=E9=97=B4=E6=A0=BC=E5=BC=8F=E8=B0=83?=
=?UTF-8?q?=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/readingHistory/components/editModal/index.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pages/readingHistory/components/editModal/index.js b/pages/readingHistory/components/editModal/index.js
index a62f1d6..53ba575 100644
--- a/pages/readingHistory/components/editModal/index.js
+++ b/pages/readingHistory/components/editModal/index.js
@@ -88,7 +88,7 @@ Component({
alertSuccess("录入成功")
this.setData({ number: null, time: null, startTime: null })
} else {
- const { code, message } = await updateReading(park, meter, timeProps, {
+ const { code, message } = await updateReading(park, meter, new Date(timeProps).getTime(), {
overall: `${number}`,
flat: `${number}`,
})
--
2.49.1
From b61f3287fb0cf54b10196d2aeca9dc96a981e904 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 17 Sep 2025 17:23:40 +0800
Subject: [PATCH 04/51] =?UTF-8?q?=E6=8A=84=E8=A1=A8=E8=AE=B0=E5=BD=95?=
=?UTF-8?q?=E6=97=B6=E9=97=B4=E6=88=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/readingHistory/components/editModal/index.js | 5 +++--
pages/readingHistory/index.js | 13 +++++++++++++
pages/readingHistory/index.wxml | 3 ++-
3 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/pages/readingHistory/components/editModal/index.js b/pages/readingHistory/components/editModal/index.js
index 53ba575..1d66bba 100644
--- a/pages/readingHistory/components/editModal/index.js
+++ b/pages/readingHistory/components/editModal/index.js
@@ -2,7 +2,7 @@
// 0015980101
import { createReading, updateReading } from "../../../../service/workBench"
import { getWorkMeterDetail } from "../../../../service/meter"
-import { alertInfo, alertSuccess } from "../../../../utils/index";
+import { alertInfo, alertSuccess, alertError } from "../../../../utils/index";
import request from "../../../../utils/request"
import dayjs from "../../../../utils/dayjs"
const { OK } = request
@@ -88,7 +88,8 @@ Component({
alertSuccess("录入成功")
this.setData({ number: null, time: null, startTime: null })
} else {
- const { code, message } = await updateReading(park, meter, new Date(timeProps).getTime(), {
+ console.log("timeProps", timeProps)
+ const { code, message } = await updateReading(park, meter, new Date(timeProps).getTime() * 1000, {
overall: `${number}`,
flat: `${number}`,
})
diff --git a/pages/readingHistory/index.js b/pages/readingHistory/index.js
index 7abbcee..0740b1c 100644
--- a/pages/readingHistory/index.js
+++ b/pages/readingHistory/index.js
@@ -34,6 +34,18 @@ Page({
await that.getList();
})
},
+ onEditFinish() {
+ this.setData({
+ title: null,
+ visible: null,
+ time: null,
+ number: null,
+ id: null,
+ readAtTimestamp: null,
+ type: null,
+ })
+ this.refresh()
+ },
async getMeterInfo(id) {
const { code, message, data } = await getMeterReadingRouteMeterDetail(id)
if (code !== OK) {
@@ -85,6 +97,7 @@ Page({
time: data.readAt,
number: data.overall,
id: data.id,
+ readAtTimestamp: data.readAtTimestamp,
type: "edit",
}, () => {
console.log("this.data---------", this.data)
diff --git a/pages/readingHistory/index.wxml b/pages/readingHistory/index.wxml
index 027ba6b..14e38f7 100644
--- a/pages/readingHistory/index.wxml
+++ b/pages/readingHistory/index.wxml
@@ -51,10 +51,11 @@
title="{{title}}"
visible="{{visible}}"
timeProps="{{time}}"
+ timeStamp="{{readAtTimestamp}}"
numberProps="{{number}}"
idProps="{{id}}"
park="{{park}}"
meter="{{meter}}"
- bind:ok="refresh"
+ bind:ok="onEditFinish"
startTime="{{startTime}}"
/>
\ No newline at end of file
--
2.49.1
From aea85af0f9c430b4c560065def381070d0ec6020 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Thu, 18 Sep 2025 15:34:44 +0800
Subject: [PATCH 05/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=B7=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/readingHistory/index.json | 3 ++-
pages/readingHistory/index.wxml | 3 +--
pages/workBench/index.js | 2 +-
pages/writeReading/components/meterInfo/index.wxss | 4 ++++
pages/writeReading/components/meterList/index.wxss | 1 +
pages/writeReading/components/readingInfo/index.wxml | 4 ++--
pages/writeReading/components/readingInfo/index.wxss | 5 +++++
project.private.config.json | 2 +-
8 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/pages/readingHistory/index.json b/pages/readingHistory/index.json
index 1b8b1af..ea7b734 100644
--- a/pages/readingHistory/index.json
+++ b/pages/readingHistory/index.json
@@ -5,7 +5,8 @@
"van-button": "@vant/weapp/button/index",
"van-icon": "@vant/weapp/icon/index",
"editModal": "./components/editModal/index",
- "pagination": "/components/pagination/index"
+ "pagination": "/components/pagination/index",
+ "empty": "/components/empty/index"
},
"navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/pages/readingHistory/index.wxml b/pages/readingHistory/index.wxml
index 14e38f7..bd48965 100644
--- a/pages/readingHistory/index.wxml
+++ b/pages/readingHistory/index.wxml
@@ -1,6 +1,5 @@
-{{id}}
@@ -41,7 +40,7 @@
-
+
diff --git a/pages/workBench/index.js b/pages/workBench/index.js
index 2b08c44..4b09d20 100644
--- a/pages/workBench/index.js
+++ b/pages/workBench/index.js
@@ -5,7 +5,7 @@ Page({
* 页面的初始数据
*/
data: {
- active: 1
+ active: 0
},
/**
diff --git a/pages/writeReading/components/meterInfo/index.wxss b/pages/writeReading/components/meterInfo/index.wxss
index 311201b..6a98381 100644
--- a/pages/writeReading/components/meterInfo/index.wxss
+++ b/pages/writeReading/components/meterInfo/index.wxss
@@ -30,4 +30,8 @@
display: flex;
justify-content: space-between;
font-size: 30rpx;
+}
+
+.wrapper > .title {
+ font-size: 32rpx;
}
\ No newline at end of file
diff --git a/pages/writeReading/components/meterList/index.wxss b/pages/writeReading/components/meterList/index.wxss
index 17aa19c..4195376 100644
--- a/pages/writeReading/components/meterList/index.wxss
+++ b/pages/writeReading/components/meterList/index.wxss
@@ -6,6 +6,7 @@
.title {
margin-top: 20rpx;
+ font-size: 32rpx;
}
.meterListScrollView {
diff --git a/pages/writeReading/components/readingInfo/index.wxml b/pages/writeReading/components/readingInfo/index.wxml
index 83ff7f5..68c4a97 100644
--- a/pages/writeReading/components/readingInfo/index.wxml
+++ b/pages/writeReading/components/readingInfo/index.wxml
@@ -61,9 +61,9 @@
/>
-
+
diff --git a/pages/writeReading/components/readingInfo/index.wxss b/pages/writeReading/components/readingInfo/index.wxss
index 7278d2c..5b7f38c 100644
--- a/pages/writeReading/components/readingInfo/index.wxss
+++ b/pages/writeReading/components/readingInfo/index.wxss
@@ -65,6 +65,7 @@
font-size: 42rpx;
font-weight: 800;
margin-top: 12rpx;
+ margin-bottom: 12rpx;
}
.readingNumber .lastTime {
font-size: 32rpx;
@@ -87,6 +88,10 @@
flex: 1;
}
+.currentNumber .title {
+ margin-bottom: 24rpx;
+}
+
.calc {
margin-top: 24rpx;
}
diff --git a/project.private.config.json b/project.private.config.json
index f3e205e..9ce3337 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -26,7 +26,7 @@
{
"name": "pages/writeReading/index",
"pathName": "pages/writeReading/index",
- "query": "id=PR00117566262804481",
+ "query": "id=PR00118027286020097",
"launchMode": "default",
"scene": null
},
--
2.49.1
From 345a362c74cad7978f1c9abcc0eeb0593821a3c9 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Fri, 19 Sep 2025 14:37:33 +0800
Subject: [PATCH 06/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A0=B7=E5=BC=8F?=
=?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=B8=8D=E8=83=BD=E8=BE=93=E5=85=A5?=
=?UTF-8?q?=E8=B4=9F=E6=95=B0=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/readingHistory/index.wxss | 5 ++
.../components/meterInfo/index.js | 7 +-
.../components/meterInfo/index.json | 3 +-
.../components/meterInfo/index.wxml | 20 +++--
.../components/meterInfo/index.wxss | 4 +
.../components/meterList/index.js | 3 +-
.../components/meterList/index.wxml | 2 +-
pages/writeReading/components/photo/index.js | 28 +++++-
.../writeReading/components/photo/index.json | 4 +-
.../writeReading/components/photo/index.wxml | 6 +-
.../components/readingInfo/index.js | 90 ++++++++++++++++---
.../components/readingInfo/index.wxml | 47 +++++-----
.../components/readingInfo/index.wxss | 9 +-
pages/writeReading/index.js | 11 ++-
pages/writeReading/index.wxml | 3 +
service/public.js | 22 +++++
service/workBench.js | 4 +
17 files changed, 212 insertions(+), 56 deletions(-)
diff --git a/pages/readingHistory/index.wxss b/pages/readingHistory/index.wxss
index b5113d5..ba36133 100644
--- a/pages/readingHistory/index.wxss
+++ b/pages/readingHistory/index.wxss
@@ -11,6 +11,11 @@ page {
.historyTitle {
display: flex;
justify-content: space-between;
+ align-items: center;
+}
+
+.historyTitle .text {
+ font-size: 32rpx;
}
.table {
diff --git a/pages/writeReading/components/meterInfo/index.js b/pages/writeReading/components/meterInfo/index.js
index 355005b..0e1b6a2 100644
--- a/pages/writeReading/components/meterInfo/index.js
+++ b/pages/writeReading/components/meterInfo/index.js
@@ -19,6 +19,11 @@ Component({
* 组件的方法列表
*/
methods: {
-
+ jumpToHistory() {
+ const { meterInfo } = this.data;
+ wx.navigateTo({
+ url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.parkId}`,
+ })
+ },
}
})
\ No newline at end of file
diff --git a/pages/writeReading/components/meterInfo/index.json b/pages/writeReading/components/meterInfo/index.json
index 5ec888c..8fe022d 100644
--- a/pages/writeReading/components/meterInfo/index.json
+++ b/pages/writeReading/components/meterInfo/index.json
@@ -3,6 +3,7 @@
"usingComponents": {
"van-tag": "@vant/weapp/tag/index",
"van-row": "@vant/weapp/row/index",
- "van-col": "@vant/weapp/col/index"
+ "van-col": "@vant/weapp/col/index",
+ "van-button": "@vant/weapp/button/index"
}
}
\ No newline at end of file
diff --git a/pages/writeReading/components/meterInfo/index.wxml b/pages/writeReading/components/meterInfo/index.wxml
index 8321adf..1a0b9e5 100644
--- a/pages/writeReading/components/meterInfo/index.wxml
+++ b/pages/writeReading/components/meterInfo/index.wxml
@@ -1,12 +1,18 @@
-
- 电表列表
+
+ 电表详情
+
+
+
+ 历史记录
+
+
- 标1东-307
+ {{ meterInfo.address }}
华昌宝能收费
@@ -17,7 +23,7 @@
-
+
编号
@@ -27,7 +33,7 @@
-
+
类型
@@ -43,7 +49,7 @@
-
+
状态
@@ -56,7 +62,7 @@
-
+
读数
diff --git a/pages/writeReading/components/meterInfo/index.wxss b/pages/writeReading/components/meterInfo/index.wxss
index 6a98381..6730339 100644
--- a/pages/writeReading/components/meterInfo/index.wxss
+++ b/pages/writeReading/components/meterInfo/index.wxss
@@ -34,4 +34,8 @@
.wrapper > .title {
font-size: 32rpx;
+}
+
+.titleText {
+ color: rgb(150, 137, 137);
}
\ No newline at end of file
diff --git a/pages/writeReading/components/meterList/index.js b/pages/writeReading/components/meterList/index.js
index c63547a..6cbadf7 100644
--- a/pages/writeReading/components/meterList/index.js
+++ b/pages/writeReading/components/meterList/index.js
@@ -12,7 +12,8 @@ Component({
properties: {
list: Array,
active: Number,
- meterInfo: Object
+ meterInfo: Object,
+ finishNumber: Number,
},
observers: {
"active,list": function(newActive, newList) {
diff --git a/pages/writeReading/components/meterList/index.wxml b/pages/writeReading/components/meterList/index.wxml
index e0929e8..d401d12 100644
--- a/pages/writeReading/components/meterList/index.wxml
+++ b/pages/writeReading/components/meterList/index.wxml
@@ -2,7 +2,7 @@
- 电表列表
+ 电表列表 (总计{{list.length}}块,已抄{{finishNumber}}块)
diff --git a/pages/writeReading/components/photo/index.js b/pages/writeReading/components/photo/index.js
index 08c7f28..c734e53 100644
--- a/pages/writeReading/components/photo/index.js
+++ b/pages/writeReading/components/photo/index.js
@@ -1,4 +1,8 @@
// pages/writeReading/components/photo/index.js
+import { uploadOcrFile } from "../../../../service/public"
+import request from "../../../../utils/request"
+import { alertError, alertInfo, alertSuccess, loadingFunc } from "../../../../utils/index"
+const { OK } = request;
Component({
/**
@@ -19,6 +23,28 @@ Component({
* 组件的方法列表
*/
methods: {
-
+ chooseImage() {
+ const that = this;
+ wx.chooseMedia({
+ count: 1,
+ mediaType: ['image'],
+ sourceType: ['album', 'camera'],
+ success: async function(res) {
+ // console.log(res.tempFiles[0].tempFilePath)
+ // console.log(res.tempFiles[0].size)
+ loadingFunc(async () => {
+ const { code, message, data } = await uploadOcrFile(res.tempFiles[0].tempFilePath)
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ setTimeout(() => {
+ that.triggerEvent("finish", { number: data?.integer, success: data?.integer != null && data?.integer !== "" })
+ }, 100)
+ })
+
+ }
+ })
+ }
}
})
\ No newline at end of file
diff --git a/pages/writeReading/components/photo/index.json b/pages/writeReading/components/photo/index.json
index e8cfaaf..3b51cdc 100644
--- a/pages/writeReading/components/photo/index.json
+++ b/pages/writeReading/components/photo/index.json
@@ -1,4 +1,6 @@
{
"component": true,
- "usingComponents": {}
+ "usingComponents": {
+ "van-button": "@vant/weapp/button/index"
+ }
}
\ No newline at end of file
diff --git a/pages/writeReading/components/photo/index.wxml b/pages/writeReading/components/photo/index.wxml
index 1f539de..e4e2fe4 100644
--- a/pages/writeReading/components/photo/index.wxml
+++ b/pages/writeReading/components/photo/index.wxml
@@ -1,4 +1,8 @@
- 拍照
+ 拍照
\ No newline at end of file
diff --git a/pages/writeReading/components/readingInfo/index.js b/pages/writeReading/components/readingInfo/index.js
index b7f5813..6f00ff7 100644
--- a/pages/writeReading/components/readingInfo/index.js
+++ b/pages/writeReading/components/readingInfo/index.js
@@ -1,7 +1,7 @@
// pages/writeReading/components/readingInfo/index.js
-import { createReading } from "../../../../service/workBench"
-import { alertError, alertInfo, alertSuccess } from "../../../../utils/index"
+import { createReading, checkReadingFinish, changeMeterRouteStatus } from "../../../../service/workBench"
+import { alertError, alertInfo, alertSuccess, wxModal } from "../../../../utils/index"
import request from "../../../../utils/request"
const { OK } = request
@@ -14,25 +14,33 @@ Component({
meterInfo: Object,
showLeft: Boolean,
showRight: Boolean,
+ routeId: String
+ },
+ observers: {
+ "routeId": function(newValue) {
+ if (!newValue) {
+ return;
+ }
+ console.log("newValue", newValue)
+ this.checkFinish(newValue)
+ }
},
-
/**
* 组件的初始数据
*/
data: {
currentNumber: null
},
-
+ lifetimes: {
+ attached() {
+
+ }
+ },
/**
* 组件的方法列表
*/
methods: {
- jumpToHistory() {
- const { meterInfo } = this.data;
- wx.navigateTo({
- url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.parkId}`,
- })
- },
+
handlePrev() {
this.triggerEvent("prev")
},
@@ -41,7 +49,8 @@ Component({
},
onChange(e) {
this.setData({
- currentNumber: e.detail ? Number(e.detail) : 0
+ currentNumber: e.detail,
+ calcNumber: isNaN(e.detail) ? 0 : Number(e.detail)
})
},
handleClear() {
@@ -49,6 +58,28 @@ Component({
currentNumber: null,
})
},
+ async changeEndStatus() {
+ const { routeId: id } = this.data;
+ const { code, message } = await changeMeterRouteStatus({ id, status: 0 })
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ alertSuccess("操作成功")
+ this.init()
+ },
+ onPhotoFinish(e) {
+ const { number, success } = e.detail;
+ if (success) {
+ this.setData({
+ currentNumber: `${Number(number)}`,
+ calcNumber: isNaN(number) ? 0 : Number(number)
+ })
+ alertSuccess("获取成功")
+ } else {
+ alertInfo("未能获取到")
+ }
+ },
async onSubmit() {
const { meterInfo, currentNumber } = this.data;
const { parkId, id } = meterInfo;
@@ -61,8 +92,39 @@ Component({
return
}
alertSuccess("录入成功")
- this.handleNext()
- this.handleClear()
+ const that = this;
+ setTimeout(() => {
+ const isFinished = that.checkFinish()
+ if (isFinished) {
+ wx.showModal({
+ title: '提示',
+ content: '所有电表都已抄完,是否结束抄表?',
+ complete: async (res) => {
+ if (res.cancel) {
+
+ }
+
+ if (res.confirm) {
+ await that.changeEndStatus()
+ wx.navigateBack()
+ }
+ }
+ })
+ } else {
+ that.handleNext()
+ that.handleClear()
+ }
+ }, 300)
+
+ },
+ async checkFinish(id) {
+ const { code, message, data, num } = await checkReadingFinish(id || this.data.routeId);
+ if (code !== OK) {
+ alertError(message)
+ return;
+ }
+ this.triggerEvent("finishNumber", num)
+ return data;
},
handleCreateReading() {
const { meterInfo, currentNumber } = this.data;
@@ -80,7 +142,7 @@ Component({
}
if (res.confirm) {
- if (meterInfo.consumption < currentNumber) {
+ if (meterInfo.consumption < currentNumber - meterInfo.overall) {
wx.showModal({
title: '提示',
content: '本次用电量已抄过历史平均水平的100%,是否确认录入?',
diff --git a/pages/writeReading/components/readingInfo/index.wxml b/pages/writeReading/components/readingInfo/index.wxml
index 68c4a97..dbc4811 100644
--- a/pages/writeReading/components/readingInfo/index.wxml
+++ b/pages/writeReading/components/readingInfo/index.wxml
@@ -1,24 +1,21 @@
-
+
-
-
- 历史记录
-
-
+
+ -->
-
+
+
@@ -31,7 +28,7 @@
-
+
@@ -52,36 +49,40 @@
-
+
+
+
+
+
表字差
-
- {{(currentNumber || 0) - meterInfo.overall}}
+
+ {{(calcNumber || 0) - meterInfo.overall}}
- {{(currentNumber || 0) - meterInfo.overall}}
+ {{(calcNumber || 0) - meterInfo.overall}}
- 确定录入
+ 确定录入
- 清除记录
+ 清除记录
diff --git a/pages/writeReading/components/readingInfo/index.wxss b/pages/writeReading/components/readingInfo/index.wxss
index 5b7f38c..55f709c 100644
--- a/pages/writeReading/components/readingInfo/index.wxss
+++ b/pages/writeReading/components/readingInfo/index.wxss
@@ -46,8 +46,8 @@
}
.change {
- margin-top: 20rpx;
- margin-bottom: 20rpx;
+ margin-top: 10rpx;
+ /* margin-bottom: 10rpx; */
display: flex;
justify-content: space-between;
}
@@ -73,7 +73,7 @@
.nextReadingNumber {
display: flex;
- align-items: bottom;
+
}
.nextReadingNumber .title {
@@ -82,6 +82,9 @@
.nextReadingNumber .number {
margin-top: 12rpx;
+ display: flex;
+ align-items: center;
+ flex: 1;
}
.currentNumber {
diff --git a/pages/writeReading/index.js b/pages/writeReading/index.js
index eb45049..1a02ab6 100644
--- a/pages/writeReading/index.js
+++ b/pages/writeReading/index.js
@@ -19,6 +19,7 @@ Page({
*/
onLoad(options) {
const { id } = options;
+
this.getMeterList(id)
},
async getMeterList(id) {
@@ -29,7 +30,8 @@ Page({
}
this.setData({
meterList: data?.meterRouteDetail || [],
- meterInfo: data?.meterRouteDetail?.[0] || {}
+ meterInfo: data?.meterRouteDetail?.[0] || {},
+ routeId: id
})
},
changeMeter(e) {
@@ -46,7 +48,7 @@ Page({
handleNext() {
const { active = 0, meterList } = this.data;
let newIndex = active + 1
- if (active > meterList?.length - 1) {
+ if (newIndex > meterList?.length - 1) {
newIndex = meterList?.length - 1
}
this.setData({
@@ -58,6 +60,11 @@ Page({
active: this.data.active === 0 ? 0 : this.data.active - 1
})
},
+ onSetFinishNumber(e) {
+ this.setData({
+ finishNumber: e.detail,
+ })
+ },
/**
* 生命周期函数--监听页面初次渲染完成
*/
diff --git a/pages/writeReading/index.wxml b/pages/writeReading/index.wxml
index 5d4aabe..6af428b 100644
--- a/pages/writeReading/index.wxml
+++ b/pages/writeReading/index.wxml
@@ -6,6 +6,7 @@
bind:changeMeterAndIndex="changeMeterAndIndex"
active="{{active}}"
meterInfo="{{meterInfo}}"
+ finishNumber="{{onSetFinishNumber}}"
/>
\ No newline at end of file
diff --git a/service/public.js b/service/public.js
index 54e2045..e3cf9f8 100644
--- a/service/public.js
+++ b/service/public.js
@@ -22,6 +22,28 @@ export const uploadFile = (filePath) => {
})
}
+export const uploadOcrFile = (filePath) => {
+ const { api } = getConfigByEnv();
+ return new Promise((resolve, reject) => {
+ wx.uploadFile({
+
+ filePath: filePath,
+ name: 'data',
+ url: `${api}/image/to/meter/reading`,
+ header: {
+ authorization: 'Bearer ' + wx.getStorageSync("token")
+ },
+ success: (res) => {
+ console.log("res", res)
+ resolve(res?.data ? JSON.parse(res?.data) : res?.data);
+ },
+ fail: (err) => {
+ reject(err);
+ }
+ })
+ })
+}
+
export const uploadPublicFile = (filePath) => {
const { api } = getConfigByEnv();
return new Promise((resolve, reject) => {
diff --git a/service/workBench.js b/service/workBench.js
index b2261e3..41eaf08 100644
--- a/service/workBench.js
+++ b/service/workBench.js
@@ -40,4 +40,8 @@ export const deleteReading = async function(id, overall) {
// 修改抄表记录
export const updateReading = async function(park, code, read_at, data) {
return await PUT(`/reading/${park}/${code}/${read_at}`, data);
+}
+// 检查是否抄表完全
+export const checkReadingFinish = async function(id) {
+ return await GET(`/park/meter/${id}/route/status`,);
}
\ No newline at end of file
--
2.49.1
From d77af4b78f8f5b9949024f705d9b314bc6a6744b Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Fri, 19 Sep 2025 15:29:26 +0800
Subject: [PATCH 07/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/workBench/components/reading/index.js | 2 +-
pages/workBenchOld/index.js | 66 +++++++++++++++++++
pages/workBenchOld/index.json | 6 ++
pages/workBenchOld/index.wxml | 3 +
pages/workBenchOld/index.wxss | 1 +
.../components/readingInfo/index.js | 12 ++--
6 files changed, 83 insertions(+), 7 deletions(-)
create mode 100644 pages/workBenchOld/index.js
create mode 100644 pages/workBenchOld/index.json
create mode 100644 pages/workBenchOld/index.wxml
create mode 100644 pages/workBenchOld/index.wxss
diff --git a/pages/workBench/components/reading/index.js b/pages/workBench/components/reading/index.js
index 45709a1..d84a66a 100644
--- a/pages/workBench/components/reading/index.js
+++ b/pages/workBench/components/reading/index.js
@@ -80,7 +80,7 @@ Component({
alertSuccess("操作成功")
this.init()
setTimeout(() => {
- that.jumpToReading()
+ that.jumpToReading({ currentTarget: { dataset: { id } } })
}, 500)
},
async changeEndStatus(e) {
diff --git a/pages/workBenchOld/index.js b/pages/workBenchOld/index.js
new file mode 100644
index 0000000..a9919f7
--- /dev/null
+++ b/pages/workBenchOld/index.js
@@ -0,0 +1,66 @@
+// pages/workBench/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchOld/index.json b/pages/workBenchOld/index.json
new file mode 100644
index 0000000..a6d770b
--- /dev/null
+++ b/pages/workBenchOld/index.json
@@ -0,0 +1,6 @@
+{
+ "usingComponents": {
+ "navigator": "/components/navigator/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchOld/index.wxml b/pages/workBenchOld/index.wxml
new file mode 100644
index 0000000..1614ad7
--- /dev/null
+++ b/pages/workBenchOld/index.wxml
@@ -0,0 +1,3 @@
+
+
+
diff --git a/pages/workBenchOld/index.wxss b/pages/workBenchOld/index.wxss
new file mode 100644
index 0000000..c989687
--- /dev/null
+++ b/pages/workBenchOld/index.wxss
@@ -0,0 +1 @@
+/* pages/workBench/index.wxss */
\ No newline at end of file
diff --git a/pages/writeReading/components/readingInfo/index.js b/pages/writeReading/components/readingInfo/index.js
index 6f00ff7..186bfd3 100644
--- a/pages/writeReading/components/readingInfo/index.js
+++ b/pages/writeReading/components/readingInfo/index.js
@@ -21,7 +21,6 @@ Component({
if (!newValue) {
return;
}
- console.log("newValue", newValue)
this.checkFinish(newValue)
}
},
@@ -66,7 +65,7 @@ Component({
return
}
alertSuccess("操作成功")
- this.init()
+ wx.navigateBack()
},
onPhotoFinish(e) {
const { number, success } = e.detail;
@@ -93,19 +92,20 @@ Component({
}
alertSuccess("录入成功")
const that = this;
- setTimeout(() => {
- const isFinished = that.checkFinish()
+ setTimeout(async () => {
+ const isFinished = await that.checkFinish()
if (isFinished) {
+
wx.showModal({
title: '提示',
- content: '所有电表都已抄完,是否结束抄表?',
+ content: '所有电表都已抄完,是否返回?',
complete: async (res) => {
if (res.cancel) {
}
if (res.confirm) {
- await that.changeEndStatus()
+ // await that.changeEndStatus()
wx.navigateBack()
}
}
--
2.49.1
From 9b00bb35619535eac25375bf20d7a6e2beade436 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Fri, 19 Sep 2025 16:27:29 +0800
Subject: [PATCH 08/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8A=84=E8=A1=A8?=
=?UTF-8?q?=E8=B7=AF=E7=BA=BF=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/editModal/index.js | 3 +-
.../components/editModal/index.wxml | 4 +-
pages/readingHistory/index.js | 4 +-
pages/workBench/components/reading/index.js | 8 ++-
pages/workBench/components/reading/index.wxml | 69 ++++++++++---------
pages/workBench/index.js | 2 +-
.../components/meterList/index.js | 7 +-
.../components/meterList/index.wxml | 2 +-
.../components/readingInfo/index.js | 23 +++++--
.../components/readingInfo/index.wxml | 6 +-
pages/writeReading/index.wxml | 2 +-
service/workBench.js | 2 +-
12 files changed, 79 insertions(+), 53 deletions(-)
diff --git a/pages/readingHistory/components/editModal/index.js b/pages/readingHistory/components/editModal/index.js
index 1d66bba..8b57046 100644
--- a/pages/readingHistory/components/editModal/index.js
+++ b/pages/readingHistory/components/editModal/index.js
@@ -79,7 +79,8 @@ Component({
const { code, message } = await createReading(park, meter, {
overall: `${number}`,
flat: `${number}`,
- readAt: time
+ readAt: time,
+ source: 1,
})
if (code !== OK) {
alertError(message)
diff --git a/pages/readingHistory/components/editModal/index.wxml b/pages/readingHistory/components/editModal/index.wxml
index fa34bee..ba9fcf0 100644
--- a/pages/readingHistory/components/editModal/index.wxml
+++ b/pages/readingHistory/components/editModal/index.wxml
@@ -17,9 +17,9 @@
use-button-slot
title-width="100rpx"
>
-
+
-
-
- 开始抄表
- 去抄表
- 结束抄表
-
-
+
+
+
+ 开始抄表
+ 去抄表
+ 结束抄表
+
+
+
+
diff --git a/pages/workBench/index.js b/pages/workBench/index.js
index 4b09d20..b2de2eb 100644
--- a/pages/workBench/index.js
+++ b/pages/workBench/index.js
@@ -12,7 +12,7 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
-
+
},
onTabChange(e) {
this.setData({ active: e.detail.index })
diff --git a/pages/writeReading/components/meterList/index.js b/pages/writeReading/components/meterList/index.js
index 6cbadf7..4b7b425 100644
--- a/pages/writeReading/components/meterList/index.js
+++ b/pages/writeReading/components/meterList/index.js
@@ -31,6 +31,9 @@ Component({
maxScrollLeft: newList?.length ? 220 * newList.length - (scrollWidth || 0) - 20 : 0,
})
}
+ },
+ "finishNumber": function(newValue) {
+ console.log("finishNumber0000000000-----------", newValue)
}
},
/**
@@ -54,9 +57,7 @@ Component({
maxScrollLeft:length ? 220 * list.length - (res?.[0]?.width || 0) - 20 : 0,
scrollWidth: res?.[0]?.width || 0
})
- })
-
-
+ })
}
},
/**
diff --git a/pages/writeReading/components/meterList/index.wxml b/pages/writeReading/components/meterList/index.wxml
index d401d12..b7b6d2f 100644
--- a/pages/writeReading/components/meterList/index.wxml
+++ b/pages/writeReading/components/meterList/index.wxml
@@ -2,7 +2,7 @@
- 电表列表 (总计{{list.length}}块,已抄{{finishNumber}}块)
+ 电表列表 (总计{{list.length}}块,已抄{{list.length - finishNumber}}块)
diff --git a/pages/writeReading/components/readingInfo/index.js b/pages/writeReading/components/readingInfo/index.js
index 186bfd3..0ab31ed 100644
--- a/pages/writeReading/components/readingInfo/index.js
+++ b/pages/writeReading/components/readingInfo/index.js
@@ -3,6 +3,7 @@
import { createReading, checkReadingFinish, changeMeterRouteStatus } from "../../../../service/workBench"
import { alertError, alertInfo, alertSuccess, wxModal } from "../../../../utils/index"
import request from "../../../../utils/request"
+import dayjs from "../../../../utils/dayjs"
const { OK } = request
Component({
@@ -21,6 +22,7 @@ Component({
if (!newValue) {
return;
}
+ console.log("---------------");
this.checkFinish(newValue)
}
},
@@ -28,11 +30,12 @@ Component({
* 组件的初始数据
*/
data: {
- currentNumber: null
+ currentNumber: null,
+ diff: "-"
},
lifetimes: {
attached() {
-
+
}
},
/**
@@ -49,7 +52,8 @@ Component({
onChange(e) {
this.setData({
currentNumber: e.detail,
- calcNumber: isNaN(e.detail) ? 0 : Number(e.detail)
+ calcNumber: isNaN(Number(e.detail)) ? 0 : Number(e.detail),
+ diff: isNaN(Number(e.detail)) ? "-" : Number(e.detail) - this.data.meterInfo?.overall
})
},
handleClear() {
@@ -69,10 +73,12 @@ Component({
},
onPhotoFinish(e) {
const { number, success } = e.detail;
+ const { meterInfo } = this.data;
if (success) {
this.setData({
currentNumber: `${Number(number)}`,
- calcNumber: isNaN(number) ? 0 : Number(number)
+ calcNumber: isNaN(Number(number)) ? 0 : Number(number),
+ diff: isNaN(Number(number)) ? "-" : (Number(number || 0) - Number(meterInfo.overall)).toFixed(2)
})
alertSuccess("获取成功")
} else {
@@ -84,7 +90,9 @@ Component({
const { parkId, id } = meterInfo;
const { code, message } = await createReading(parkId, id, {
overall: `${currentNumber}`,
- flat: `${currentNumber}`
+ flat: `${currentNumber}`,
+ readAt: dayjs().format("YYYY-MM-DD HH:mm:ss"),
+ source: 1,
})
if (code !== OK) {
alertError(message)
@@ -107,6 +115,11 @@ Component({
if (res.confirm) {
// await that.changeEndStatus()
wx.navigateBack()
+ const pages = getCurrentPages();
+ const prevPage = pages[pages.length - 2];
+ if (prevPage.init){
+ prevPage.init()
+ }
}
}
})
diff --git a/pages/writeReading/components/readingInfo/index.wxml b/pages/writeReading/components/readingInfo/index.wxml
index dbc4811..f3eaf9f 100644
--- a/pages/writeReading/components/readingInfo/index.wxml
+++ b/pages/writeReading/components/readingInfo/index.wxml
@@ -70,11 +70,11 @@
表字差
-
- {{(calcNumber || 0) - meterInfo.overall}}
+
+ {{diff}}
- {{(calcNumber || 0) - meterInfo.overall}}
+ {{diff}}
diff --git a/pages/writeReading/index.wxml b/pages/writeReading/index.wxml
index 6af428b..2813761 100644
--- a/pages/writeReading/index.wxml
+++ b/pages/writeReading/index.wxml
@@ -6,7 +6,7 @@
bind:changeMeterAndIndex="changeMeterAndIndex"
active="{{active}}"
meterInfo="{{meterInfo}}"
- finishNumber="{{onSetFinishNumber}}"
+ finishNumber="{{finishNumber}}"
/>
Date: Fri, 19 Sep 2025 17:34:28 +0800
Subject: [PATCH 09/51] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app.json | 8 +-
pages/my/index.js | 2 +-
.../components/approve/index.js | 279 ++++++++++++++++++
.../components/approve/index.json | 18 ++
.../components/approve/index.wxml | 66 +++++
.../components/approve/index.wxss | 70 +++++
.../components/reharge/index.js | 152 ++++++++++
.../components/reharge/index.json | 10 +
.../components/reharge/index.wxml | 50 ++++
.../components/reharge/index.wxss | 1 +
.../components/workBenchApprove}/index.js | 12 +-
.../components/workBenchApprove/index.json | 12 +
.../components/workBenchApprove/index.wxml | 21 ++
.../components/workBenchApprove/index.wxss | 27 ++
.../components/workBenchMeter/index.js | 218 ++++++++++++++
.../components/workBenchMeter/index.json | 19 ++
.../components/workBenchMeter/index.wxml | 102 +++++++
.../components/workBenchMeter/index.wxss | 63 ++++
.../components/workBenchReading/index.js | 144 +++++++++
.../components/workBenchReading/index.json | 17 ++
.../components/workBenchReading/index.wxml | 65 ++++
.../components/workBenchReading/index.wxss | 1 +
.../components/bindMeter/index.js | 122 ++++++++
.../components/bindMeter/index.json | 10 +
.../components/bindMeter/index.wxml | 121 ++++++++
.../components/bindMeter/index.wxss | 1 +
.../components/createTenement/index.js | 103 +++++++
.../components/createTenement/index.json | 8 +
.../components/createTenement/index.wxml | 74 +++++
.../components/createTenement/index.wxss | 1 +
.../components/kaihu/index.js | 124 ++++++++
.../components/kaihu/index.json | 10 +
.../components/kaihu/index.wxml | 100 +++++++
.../components/kaihu/index.wxss | 1 +
.../components/unBindMeter/index.js | 101 +++++++
.../components/unBindMeter/index.json | 10 +
.../components/unBindMeter/index.wxml | 100 +++++++
.../components/unBindMeter/index.wxss | 1 +
.../components/workBenchTenement/index.js | 233 +++++++++++++++
.../components/workBenchTenement/index.json | 16 +
.../components/workBenchTenement/index.wxml | 136 +++++++++
.../components/workBenchTenement/index.wxss | 70 +++++
.../components/editModal/index.js | 74 +++++
.../components/editModal/index.json | 8 +
.../components/editModal/index.wxml | 34 +++
.../components/editModal/index.wxss | 1 +
.../components/updatePhoneModal/index.js | 68 +++++
.../components/updatePhoneModal/index.json | 8 +
.../components/updatePhoneModal/index.wxml | 23 ++
.../components/updatePhoneModal/index.wxss | 1 +
.../components/workBenchWxUser/index.js | 224 ++++++++++++++
.../components/workBenchWxUser/index.json | 22 ++
.../components/workBenchWxUser/index.wxml | 143 +++++++++
.../components/workBenchWxUser/index.wxss | 71 +++++
pages/workBenchNew/index.js | 103 +++++++
pages/workBenchNew/index.json | 8 +
pages/workBenchNew/index.wxml | 77 +++++
pages/workBenchNew/index.wxss | 44 +++
pages/workBenchOld/index.json | 6 -
pages/workBenchOld/index.wxml | 3 -
pages/workBenchOld/index.wxss | 1 -
project.private.config.json | 7 +
service/workBench.js | 5 +
63 files changed, 3615 insertions(+), 15 deletions(-)
create mode 100644 pages/workBenchNew/components/workBenchApprove/components/approve/index.js
create mode 100644 pages/workBenchNew/components/workBenchApprove/components/approve/index.json
create mode 100644 pages/workBenchNew/components/workBenchApprove/components/approve/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchApprove/components/approve/index.wxss
create mode 100644 pages/workBenchNew/components/workBenchApprove/components/reharge/index.js
create mode 100644 pages/workBenchNew/components/workBenchApprove/components/reharge/index.json
create mode 100644 pages/workBenchNew/components/workBenchApprove/components/reharge/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchApprove/components/reharge/index.wxss
rename pages/{workBenchOld => workBenchNew/components/workBenchApprove}/index.js (74%)
create mode 100644 pages/workBenchNew/components/workBenchApprove/index.json
create mode 100644 pages/workBenchNew/components/workBenchApprove/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchApprove/index.wxss
create mode 100644 pages/workBenchNew/components/workBenchMeter/index.js
create mode 100644 pages/workBenchNew/components/workBenchMeter/index.json
create mode 100644 pages/workBenchNew/components/workBenchMeter/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchMeter/index.wxss
create mode 100644 pages/workBenchNew/components/workBenchReading/index.js
create mode 100644 pages/workBenchNew/components/workBenchReading/index.json
create mode 100644 pages/workBenchNew/components/workBenchReading/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchReading/index.wxss
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.json
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxss
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/createTenement/index.js
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/createTenement/index.json
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/createTenement/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/createTenement/index.wxss
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/kaihu/index.js
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/kaihu/index.json
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/kaihu/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/kaihu/index.wxss
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.json
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxss
create mode 100644 pages/workBenchNew/components/workBenchTenement/index.js
create mode 100644 pages/workBenchNew/components/workBenchTenement/index.json
create mode 100644 pages/workBenchNew/components/workBenchTenement/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchTenement/index.wxss
create mode 100644 pages/workBenchNew/components/workBenchWxUser/components/editModal/index.js
create mode 100644 pages/workBenchNew/components/workBenchWxUser/components/editModal/index.json
create mode 100644 pages/workBenchNew/components/workBenchWxUser/components/editModal/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchWxUser/components/editModal/index.wxss
create mode 100644 pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.js
create mode 100644 pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.json
create mode 100644 pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.wxss
create mode 100644 pages/workBenchNew/components/workBenchWxUser/index.js
create mode 100644 pages/workBenchNew/components/workBenchWxUser/index.json
create mode 100644 pages/workBenchNew/components/workBenchWxUser/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchWxUser/index.wxss
create mode 100644 pages/workBenchNew/index.js
create mode 100644 pages/workBenchNew/index.json
create mode 100644 pages/workBenchNew/index.wxml
create mode 100644 pages/workBenchNew/index.wxss
delete mode 100644 pages/workBenchOld/index.json
delete mode 100644 pages/workBenchOld/index.wxml
delete mode 100644 pages/workBenchOld/index.wxss
diff --git a/app.json b/app.json
index 78684f3..eb05e51 100644
--- a/app.json
+++ b/app.json
@@ -23,6 +23,7 @@
"pages/encyclopedia/index",
"pages/encyclopediaDetail/index",
"pages/workBench/index",
+ "pages/workBenchNew/index",
"pages/webPage/index",
"pages/aid/finance/index",
"pages/aid/law/index",
@@ -36,7 +37,12 @@
"pages/meterList/index",
"pages/workBench/components/tenement/components/createTenement/index",
"pages/billMeterDetail/index",
- "pages/meterBalanceRecord/index"
+ "pages/meterBalanceRecord/index",
+ "pages/workBenchNew/components/workBenchMeter/index",
+ "pages/workBenchNew/components/workBenchTenement/index",
+ "pages/workBenchNew/components/workBenchApprove/index",
+ "pages/workBenchNew/components/workBenchWxUser/index",
+ "pages/workBenchNew/components/workBenchReading/index"
],
"subPackages": [
{
diff --git a/pages/my/index.js b/pages/my/index.js
index e15b67b..aa2a661 100644
--- a/pages/my/index.js
+++ b/pages/my/index.js
@@ -97,7 +97,7 @@ Page({
},
jumpToWorkBench() {
wx.navigateTo({
- url: '/pages/workBench/index',
+ url: '/pages/workBenchNew/index',
})
},
jumpToIntegral() {
diff --git a/pages/workBenchNew/components/workBenchApprove/components/approve/index.js b/pages/workBenchNew/components/workBenchApprove/components/approve/index.js
new file mode 100644
index 0000000..0a156f7
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchApprove/components/approve/index.js
@@ -0,0 +1,279 @@
+// pages/workBench/components/recharge/components/waitApprove/index.js
+import {
+ alertInfo,
+ alertSuccess,
+ loadingFunc
+} from "../../../../../../utils/index";
+import {
+ getRechargeApproveList,
+ rechargeApprove
+} from "../../../../../../service/recharge"
+import request from "../../../../../../utils/request"
+import dayjs from "../../../../../../utils/dayjs"
+const {
+ OK
+} = request
+
+// pages/workBench/components/record/index.js
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ status: Number
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ keyword: "",
+ keywordTemp: "",
+ page: 1,
+ currentActionSheet: null,
+ actionItems: [{
+ name: '查看详细',
+ value: 'detail'
+ }],
+ },
+
+ lifetimes: {
+ attached() {
+ loadingFunc(async () => {
+ await this.init();
+ })
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onParkFocus(e) {
+ this.setData({
+ show: true,
+ title: "园区",
+ type: 'park'
+ })
+ },
+ onConfirm(e) {
+ const {
+ data
+ } = e.detail;
+ const that = this;
+ this.setData({
+ parkName: data.name,
+ park: data.id,
+ }, () => {
+ loadingFunc(async () => {
+ await that.init();
+ })
+ })
+ this.onCancel();
+ },
+ onSearchKeyword(e) {
+ const that = this;
+ that.setData({
+ keyword: e.detail
+ }, () => {
+ loadingFunc(async () => {
+ await that.init();
+ })
+ })
+ },
+ onChangeKeyword(e) {
+ this.setData({
+ keywordTemp: e.detail
+ })
+ },
+ onSearch() {
+ const that = this;
+ that.setData({
+ keyword: that.data.keywordTemp
+ }, () => {
+ loadingFunc(async () => {
+ await that.init();
+ })
+ })
+ },
+ async init() {
+ const {
+ page,
+ keyword,
+ park,
+ status
+ } = this.data;
+ const {
+ code,
+ message,
+ data,
+ total
+ } = await getRechargeApproveList({
+ park,
+ page,
+ keyword,
+ status
+ })
+ if (code !== OK) {
+ alertInfo(message);
+ return;
+ }
+ this.setData({
+ list: data.map(item => {
+ item.topTime = dayjs(item.topTime).format("MM-DD")
+ return item
+ }),
+ total: total,
+ totalPage: Math.ceil(total / 20)
+ })
+ },
+ onChangeReason(e) {
+ this.setData({
+ reason: e.detail,
+ })
+ },
+ onApproveClose() {
+ this.setData({
+ reason: "",
+ approveShow: false,
+ })
+ },
+ onApproveConfirm() {
+ const {
+ reason,
+ record
+ } = this.data;
+ const that = this;
+ if (!reason) {
+ alertInfo("请输入拒绝理由")
+ return;
+ }
+ loadingFunc(async () => {
+ const {
+ code,
+ message
+ } = await rechargeApprove({
+ id: record,
+ status: 1,
+ reason
+ })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("已拒绝")
+ that.init();
+ that.setData({
+ reason: "",
+ approveShow: false,
+ record: "",
+ })
+ })
+
+ },
+ handleApprove(e) {
+ const status = e.currentTarget.dataset.status;
+ const that = this;
+ if (status === '1') {
+ this.setData({
+ approveShow: true
+ })
+ return;
+ }
+ const {
+ record,
+ list
+ } = this.data;
+ const item = list.find(ele => ele.id === record)
+
+ wx.showModal({
+ title: '提示',
+ content: `您确认要同意${item?.tenement?.shortName || 当前记录}吗?`,
+ complete: async (res) => {
+ if (res.cancel) {
+
+ }
+ if (res.confirm) {
+ loadingFunc(async () => {
+ const {
+ code,
+ message
+ } = await rechargeApprove({
+ id: record,
+ status: 0,
+ })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("已同意")
+ that.init();
+ })
+
+ }
+ }
+ })
+ },
+
+ showActionMenu(e) {
+ this.setData({
+ currentActionSheet: e.currentTarget.dataset.id
+ });
+ },
+
+ hideActionMenu() {
+ this.setData({
+ currentActionSheet: null
+ });
+ },
+
+ onMenuSelect(e) {
+ const {
+ value
+ } = e.detail;
+ const id = e.currentTarget.dataset.id;
+
+ if (value === 'detail') {
+ this.jumpToDetail({
+ currentTarget: {
+ dataset: {
+ id
+ }
+ }
+ });
+ }
+ },
+
+ jumpToDetail(e) {
+ const {
+ id
+ } = e.currentTarget.dataset;
+ wx.navigateTo({
+ url: '/pages/rechargeDetail/index?id=' + id,
+ })
+ },
+ async onChangePage(e) {
+ const page = e.detail.currentIndex;
+ const that = this;
+ this.setData({
+ page
+ }, () => {
+ loadingFunc(async () => {
+ await that.init();
+ })
+ })
+ },
+ onCancel() {
+ this.setData({
+ show: false,
+ title: "",
+ type: "",
+ })
+ },
+ onChangeSelectRecharge(e) {
+ this.setData({
+ record: e.detail
+ })
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchApprove/components/approve/index.json b/pages/workBenchNew/components/workBenchApprove/components/approve/index.json
new file mode 100644
index 0000000..145ec1b
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchApprove/components/approve/index.json
@@ -0,0 +1,18 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "search-select": "/components/searchSelect/index",
+ "van-empty": "@vant/weapp/empty/index",
+ "table": "/components/table/table",
+ "pagination": "/components/pagination/index",
+ "empty": "/components/empty/index",
+ "van-radio": "@vant/weapp/radio/index",
+ "van-radio-group": "@vant/weapp/radio-group/index",
+ "van-dialog": "@vant/weapp/dialog/index",
+ "searchSelectWrapper": "/components/searchSelectWrapper/index",
+ "van-icon": "@vant/weapp/icon/index",
+ "van-action-sheet": "@vant/weapp/action-sheet/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchApprove/components/approve/index.wxml b/pages/workBenchNew/components/workBenchApprove/components/approve/index.wxml
new file mode 100644
index 0000000..6e2a30a
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchApprove/components/approve/index.wxml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+ 同意
+ 拒绝
+
+
+
+
+
+
+
+ 商户名字
+ 充值金额
+ 状态
+ 提交时间
+ 操作
+
+
+
+
+
+
+
+
+
+ {{ item.tenement.shortName }}
+
+
+ {{ item.money }}
+
+
+ {{item.orderStatus}}
+
+
+ {{item.topTime}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchApprove/components/approve/index.wxss b/pages/workBenchNew/components/workBenchApprove/components/approve/index.wxss
new file mode 100644
index 0000000..641964d
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchApprove/components/approve/index.wxss
@@ -0,0 +1,70 @@
+/* pages/workBench/components/recharge/components/waitApprove/index.wxss */
+.table {
+ width: 500rpx;
+
+}
+
+.tableWrapper {
+ width: 100vw;
+ overflow-x: auto;
+}
+
+.thead {
+
+ display: flex;
+ flex-wrap: nowrap;
+
+}
+
+.thead .th {
+ padding: 10rpx;
+ white-space: nowrap;
+ text-align: center;
+ box-sizing: border-box;
+}
+
+.primaryTextBtn {
+ color: #1989fa;
+ }
+
+.tbody {
+ width: 500rpx;
+}
+
+.tbody .tr {
+ padding: 10rpx;
+ border-bottom: 1rpx solid #EEEEEE;
+ display: flex;
+ align-items: center;
+ flex-wrap: nowrap;
+}
+
+.tbody .tr {
+ word-break: break-all;
+ text-align: center;
+}
+
+.more-icon {
+ padding: 20rpx;
+ color: #1989fa;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+
+/* 基础标签样式 */
+.tag {
+ display: inline-block;
+ padding: 4px 5px;
+ margin-right: 0px;
+ border-radius: 16px;
+ background: #07c160;
+ color: white;
+ font-size: 25rpx;
+ }
+
+ /* 激活状态样式 */
+ .tag.active {
+ background: #07c160;
+ color: white;
+ }
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchApprove/components/reharge/index.js b/pages/workBenchNew/components/workBenchApprove/components/reharge/index.js
new file mode 100644
index 0000000..c6ccf9b
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchApprove/components/reharge/index.js
@@ -0,0 +1,152 @@
+// pages/workBench/components/recharge/components/reharge/index.js
+
+import { handleRecharge } from "../../../../../../service/recharge";
+import { alertInfo, alertSuccess, loadingFunc } from "../../../../../../utils/index";
+import request from '../../../../../../utils/request'
+const { OK } = request;
+
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onParkFocus() {
+ this.setData({
+ show: true,
+ title: "园区",
+ type: 'park'
+ })
+ },
+ onMeterFocus() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "电表",
+ type: 'meter'
+ })
+ },
+ onConfirm(e) {
+ const { data, type, way } = e.detail;
+ switch(type) {
+ case "park":
+ this.setData({
+ parkName: data.name,
+ park: data.id,
+ })
+ break;
+ case "meter":
+ this.setData({
+ meterName: `${data.meterNo}-${data.address}${data.tenement?.name ? '-' + data.tenement?.name : ''}`,
+ meter: data.id,
+ })
+ break;
+ case "pay":
+ this.setData({
+ payName: data,
+ way: way,
+ });
+ break;
+ }
+ this.onCancel();
+ },
+ onCancel() {
+ this.setData({
+ show: false,
+ title: "",
+ type: "",
+ })
+ },
+ onPayFocus() {
+ this.setData({
+ show: true,
+ title: "付款方式",
+ type: 'pay'
+ })
+ },
+ onChangeMoney(e) {
+ this.setData({ money: e.detail })
+ },
+ onChangeVoucherNo(e) {
+ this.setData({ voucherNo: e.detail })
+ },
+ handleClear() {
+ this.setData({
+ park: "",
+ parkName: "",
+ meter: "",
+ meterName: "",
+ way: "",
+ payName: "",
+ show: false,
+ title: "",
+ type: "",
+ money: null,
+ voucherNo: null
+ })
+ },
+ async handleSubmit() {
+ const that = this;
+ const { park, meter, money, way, voucherNo } = this.data;
+ if (!park) {
+ alertInfo("请选择园区");
+ return;
+ }
+ if (!meter) {
+ alertInfo("请选择电表")
+ return;
+ }
+ if (!money) {
+ alertInfo("请输入金额")
+ return
+ }
+ if (!way && way !== 0) {
+ alertInfo("请选择付款方式")
+ return
+ }
+ if (!voucherNo) {
+ alertInfo("请输入凭证号")
+ return
+ }
+ loadingFunc(async () => {
+ const { code, message } = await handleRecharge(park, {
+ amount: `${money || ''}`,
+ meter,
+ paymentType: way,
+ voucherNo,
+ type: 0
+ })
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ alertSuccess("充值成功")
+ setTimeout(() => {
+ that.handleClear()
+ that.setData({
+
+ })
+ }, 500)
+ })
+
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchApprove/components/reharge/index.json b/pages/workBenchNew/components/workBenchApprove/components/reharge/index.json
new file mode 100644
index 0000000..b387e17
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchApprove/components/reharge/index.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "@vant/weapp/popup/index",
+ "search-select": "/components/searchSelect/index",
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "searchSelectWrapper": "/components/searchSelectWrapper/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchApprove/components/reharge/index.wxml b/pages/workBenchNew/components/workBenchApprove/components/reharge/index.wxml
new file mode 100644
index 0000000..c300e2b
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchApprove/components/reharge/index.wxml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+ 确认
+ 清空
+
+
diff --git a/pages/workBenchNew/components/workBenchApprove/components/reharge/index.wxss b/pages/workBenchNew/components/workBenchApprove/components/reharge/index.wxss
new file mode 100644
index 0000000..c33c12d
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchApprove/components/reharge/index.wxss
@@ -0,0 +1 @@
+/* pages/workBench/components/recharge/components/reharge/index.wxss */
\ No newline at end of file
diff --git a/pages/workBenchOld/index.js b/pages/workBenchNew/components/workBenchApprove/index.js
similarity index 74%
rename from pages/workBenchOld/index.js
rename to pages/workBenchNew/components/workBenchApprove/index.js
index a9919f7..b2ba3c8 100644
--- a/pages/workBenchOld/index.js
+++ b/pages/workBenchNew/components/workBenchApprove/index.js
@@ -1,13 +1,19 @@
-// pages/workBench/index.js
+// pages/workBenchNew/components/workBenchApprove/index.js
Page({
/**
* 页面的初始数据
*/
data: {
-
+ active: 0,
+ segmentedList: ['待审核', '已审核', '充值'],
+ },
+ changeQueryType(e) {
+ const { type } = e.currentTarget.dataset;
+ this.setData({
+ active: type
+ })
},
-
/**
* 生命周期函数--监听页面加载
*/
diff --git a/pages/workBenchNew/components/workBenchApprove/index.json b/pages/workBenchNew/components/workBenchApprove/index.json
new file mode 100644
index 0000000..b9fefcf
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchApprove/index.json
@@ -0,0 +1,12 @@
+{
+ "usingComponents": {
+ "van-button": "@vant/weapp/button/index",
+ "segmented": "/components/Segmented/index",
+ "recharge": "./components/reharge/index",
+ "approve": "./components/approve/index",
+ "van-row": "@vant/weapp/row/index",
+ "van-col": "@vant/weapp/col/index",
+ "navigator": "/components/navigator/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchApprove/index.wxml b/pages/workBenchNew/components/workBenchApprove/index.wxml
new file mode 100644
index 0000000..1339053
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchApprove/index.wxml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+ 待审核
+
+
+ 已审核
+
+
+ 充值
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchApprove/index.wxss b/pages/workBenchNew/components/workBenchApprove/index.wxss
new file mode 100644
index 0000000..cf8d8a0
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchApprove/index.wxss
@@ -0,0 +1,27 @@
+/* pages/workBench/components/recharge/index.wxss */
+page {
+ background-color: rgb(228,240,236);
+ font-size: 32rpx;
+ }
+
+
+ .query {
+ margin: 20rpx 0rpx;
+ }
+
+ .typeQueryText {
+ text-align: center;
+ padding: 20rpx;
+ background-color: var(--light-green);
+ font-size: 32rpx;
+ }
+
+ .select {
+ border: 1rpx solid #ccc;
+ padding: 12rpx;
+ border-radius: 12rpx;
+ flex: 1;
+ display: flex;
+ justify-content: space-between;
+ font-size: 30rpx;
+ }
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchMeter/index.js b/pages/workBenchNew/components/workBenchMeter/index.js
new file mode 100644
index 0000000..43e759e
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchMeter/index.js
@@ -0,0 +1,218 @@
+// pages/workBenchNew/components/workBenchMeter/index.js
+
+import { alertInfo, alertSuccess, loadingFunc } from "../../../../utils/index";
+import { getParkMeterList, handleOperateMeterSwitch } from "../../../../service/meter"
+import request from "../../../../utils/request"
+const { OK } = request
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ keyword: "",
+ keywordTemp: "",
+ page: 1,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+ onParkFocus(e) {
+ this.setData({
+ show: true,
+ title: "园区",
+ type: 'park'
+ })
+ },
+ onMeterFocus(e) {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "电表",
+ type: 'meter'
+ })
+ },
+ onConfirm(e) {
+ const { data, type } = e.detail;
+ const that = this;
+ switch(type) {
+ case "park":
+ this.setData({
+ parkName: data.name,
+ park: data.id,
+ })
+ break;
+ case "meter":
+ this.setData({
+ meterName: data.address,
+ meter: data.id,
+ }, () => {
+ loadingFunc(async () => {
+ await that.init();
+ })
+ })
+ break;
+ }
+
+ this.onCancel();
+ },
+ onChangeKeyword(e) {
+ this.setData({ keywordTemp: e.detail })
+ },
+ onSearch() {
+ const that = this;
+ that.setData({
+ keyword: that.data.keywordTemp
+ }, () => {
+ loadingFunc(async () => {
+ await that.init();
+ })
+ })
+ },
+ async init() {
+ const { page, park, meter } = this.data;
+ if (!park) {
+ return;
+ }
+ const { code, message, data, total } = await getParkMeterList({ park, keyword: meter, page })
+ if (code !== OK) {
+ alertInfo(message);
+ return;
+ }
+ this.setData({
+ list: data,
+ total: total,
+ totalPage: Math.ceil(total / 20)
+ })
+ },
+ async onChangePage(e) {
+ const page = e.detail.currentIndex;
+ const that = this;
+ this.setData({
+ page
+ }, () => {
+ loadingFunc(async () => {
+ await that.init();
+ })
+ })
+ },
+ onCancel() {
+ this.setData({
+ show: false,
+ title: "",
+ type: "",
+ })
+ },
+ onChangeSelectMeter(e) {
+ this.setData({
+ meter: e.detail
+ })
+ },
+ async handleMeterSwitchOn() {
+ const that = this;
+ const { meter, meterName } = this.data;
+ wx.showModal({
+ title: '提示',
+ content: `您确认要对${meterName || 当前电表}进行合闸吗?`,
+ complete: async (res) => {
+ if (res.cancel) {
+
+ }
+
+ if (res.confirm) {
+ loadingFunc(async () => {
+ const { code, message } = await handleOperateMeterSwitch({ ids: [meter], status: 0 })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("合闸成功")
+ that.init();
+ })
+
+ }
+ }
+ })
+ },
+ async handleMeterSwitchOff() {
+ const that = this;
+ const { meter, meterName } = this.data;
+ wx.showModal({
+ title: '提示',
+ content: `您确认要对${meterName || 当前电表}进行拉闸吗?`,
+ complete: async (res) => {
+ if (res.cancel) {
+ return;
+ }
+ if (res.confirm) {
+ loadingFunc(async () => {
+ const { code, message } = await handleOperateMeterSwitch({ ids: [meter], status: 1 })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("拉闸成功")
+ that.init();
+ })
+ }
+ }
+ })
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchMeter/index.json b/pages/workBenchNew/components/workBenchMeter/index.json
new file mode 100644
index 0000000..62b403a
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchMeter/index.json
@@ -0,0 +1,19 @@
+{
+ "usingComponents": {
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "search-select": "/components/searchSelect/index",
+ "van-empty": "@vant/weapp/empty/index",
+ "table": "/components/table/table",
+ "pagination": "/components/pagination/index",
+ "empty": "/components/empty/index",
+ "van-radio": "@vant/weapp/radio/index",
+ "van-radio-group": "@vant/weapp/radio-group/index",
+ "van-tag": "@vant/weapp/tag/index",
+ "van-row": "@vant/weapp/row/index",
+ "van-col": "@vant/weapp/col/index",
+ "navigator": "/components/navigator/index",
+ "searchSelectWrapper": "/components/searchSelectWrapper/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchMeter/index.wxml b/pages/workBenchNew/components/workBenchMeter/index.wxml
new file mode 100644
index 0000000..37b1e35
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchMeter/index.wxml
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
+
+
+ 合闸
+ 拉闸
+
+
+
+
+
+
+ {{item.tenement.shortName}}
+
+ {{item.tenement.name}}
+
+
+
+
+
+
+
+
+ 商户电表
+
+ 公摊电表
+
+ 园区电表
+ 表号:{{item.meterNo}}
+
+
+
+
+
+
+
+ {{item.address}}
+
+ SN:{{item.meterSn}}
+
+
+
+
+
+
+
+ 表字:{{item.amount}}
+
+ 余额:{{item.money}}
+
+
+
+
+
+
+
+ 合闸
+ 拉闸
+ 在线
+ 失联
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/workBenchNew/components/workBenchMeter/index.wxss b/pages/workBenchNew/components/workBenchMeter/index.wxss
new file mode 100644
index 0000000..59a86ed
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchMeter/index.wxss
@@ -0,0 +1,63 @@
+/* pages/workBench/components/record/index.wxss */
+.table {
+ width: 890rpx;
+
+}
+
+.classWrapper {
+ width: 100vw;
+ overflow-x: auto;
+}
+
+.thead {
+ display: flex;
+ flex-wrap: nowrap;
+ border-bottom: 1rpx solid #EEEEEE;
+}
+
+.thead .th {
+ padding: 20rpx;
+ white-space: nowrap;
+ text-align: center;
+ box-sizing: border-box;
+
+}
+
+.tbody {
+ width: 890rpx;
+}
+
+.tbody .tr {
+ padding: 20rpx;
+ border-bottom: 1rpx solid #EEEEEE;
+ display: flex;
+ align-items: center;
+ flex-wrap: nowrap;
+}
+
+.tbody .th {
+ word-break: break-all;
+ text-align: center;
+}
+
+.customTable {
+ margin: 20rpx;
+}
+
+.customTableTile {
+ background-color: var(--light-green);
+ padding: 16rpx;
+ box-sizing: border-box;
+ font-weight: 700;
+}
+
+.tableRow {
+ padding: 16rpx;
+ border: 1rpx solid #ccc;
+ border-top: 0rpx;
+}
+
+page {
+ background-color: rgb(228,240,236);
+ font-size: 32rpx;
+ }
diff --git a/pages/workBenchNew/components/workBenchReading/index.js b/pages/workBenchNew/components/workBenchReading/index.js
new file mode 100644
index 0000000..f71ac53
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchReading/index.js
@@ -0,0 +1,144 @@
+// pages/workBenchNew/components/workBenchReading/index.js
+import { getMeterReadingRouteList, changeMeterRouteStatus } from "../../../../service/workBench"
+import { alertError, alertSuccess, loadingFunc } from "../../../../utils/index"
+import request from "../../../../utils/request"
+const { OK } = request
+
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ park: "",
+ parkName: "",
+ },
+ onParkFocus(e) {
+ this.setData({
+ show: true,
+ title: "园区",
+ type: 'park'
+ })
+ },
+ async init() {
+ const { parkName, park } = this.data;
+ const { code, message, data } = await getMeterReadingRouteList(parkName)
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ this.setData({
+ list: data
+ })
+ },
+ onConfirm(e) {
+ const { data } = e.detail;
+ const that = this;
+ this.setData({
+ parkName: data.name,
+ park: data.id,
+ }, () => {
+ loadingFunc(async () => {
+ await that.init();
+ })
+ })
+ this.onConcal();
+ },
+ onConcal() {
+ this.setData({
+ show: false,
+ title: "",
+ type: "",
+ })
+ },
+ jumpToReading(e) {
+ const { id } = e.currentTarget.dataset;
+ wx.navigateTo({
+ url: `/pages/writeReading/index?id=${id}`,
+ })
+ },
+ async changeStartStatus(e) {
+ const that = this;
+ const { id } = e.currentTarget.dataset;
+ const { code, message } = await changeMeterRouteStatus({ id, status: 1 })
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ alertSuccess("操作成功")
+ this.init()
+ setTimeout(() => {
+ that.jumpToReading({ currentTarget: { dataset: { id } } })
+ }, 500)
+ },
+ async changeEndStatus(e) {
+ const { id } = e.currentTarget.dataset;
+ const { code, message } = await changeMeterRouteStatus({ id, status: 0 })
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ alertSuccess("操作成功")
+ this.init()
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+ const { parkName } = this.data;
+ if (!parkName) {
+ return
+ }
+ this.init()
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchReading/index.json b/pages/workBenchNew/components/workBenchReading/index.json
new file mode 100644
index 0000000..d707c66
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchReading/index.json
@@ -0,0 +1,17 @@
+{
+ "usingComponents": {
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "search-select": "/components/searchSelect/index",
+ "van-empty": "@vant/weapp/empty/index",
+ "table": "/components/table/table",
+ "pagination": "/components/pagination/index",
+ "empty": "/components/empty/index",
+ "van-radio": "@vant/weapp/radio/index",
+ "van-radio-group": "@vant/weapp/radio-group/index",
+ "van-dialog": "@vant/weapp/dialog/index",
+ "van-cell": "@vant/weapp/cell/index",
+ "navigator": "/components/navigator/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchReading/index.wxml b/pages/workBenchNew/components/workBenchReading/index.wxml
new file mode 100644
index 0000000..6aeca07
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchReading/index.wxml
@@ -0,0 +1,65 @@
+
+
+
+
+ 选择
+
+
+
+
+
+
+
+
+
+
+
+ 开始抄表
+ 去抄表
+ 结束抄表
+
+
+
+
+
diff --git a/pages/workBenchNew/components/workBenchReading/index.wxss b/pages/workBenchNew/components/workBenchReading/index.wxss
new file mode 100644
index 0000000..c6d9511
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchReading/index.wxss
@@ -0,0 +1 @@
+/* pages/workBenchNew/components/workBenchReading/index.wxss */
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
new file mode 100644
index 0000000..0ad9d61
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
@@ -0,0 +1,122 @@
+// pages/workBench/components/tenement/components/bindMeter/index.js
+// 0015980101
+import { bindMeter, } from "../../../../../../service/tenement"
+import { getWorkMeterDetail } from "../../../../../../service/meter"
+import { alertInfo, alertSuccess } from "../../../../../../utils/index";
+import request from "../../../../../../utils/request"
+import dayjs from "../../../../../../utils/dayjs"
+const { OK } = request
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ tenement: String,
+ tenementName: String,
+ park: String,
+ visible: Boolean,
+ meterId: String,
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ dateTimeShow: false,
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onMeterFocus(e) {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "电表",
+ type: 'meter'
+ })
+ },
+ onCancel() {
+ this.setData({
+ show: false,
+ title: "",
+ type: "",
+ })
+ // this.triggerEvent("close")
+ },
+ onClose() {
+ this.setData({
+ show: false,
+ title: "",
+ type: "",
+ })
+ },
+ onChange(e) {
+ const { name } = e.currentTarget.dataset;
+ this.setData({
+ [name]: e.detail
+ })
+ },
+ async onSubmit() {
+ const { overall, critical, peak, valley, park, tenement, meter, readAt } = this.data;
+ const { code, message } = await bindMeter(
+ park,
+ tenement,
+ {
+ code: meter,
+ overall:overall? Number(overall) : overall,
+ critical : critical ? Number(critical) : critical,
+ peak: peak ? Number(peak) : peak,
+ valley : valley ? Number(valley) : valley,
+ readAt: readAt || dayjs().format('YYYY-MM-DD HH:mm:ss')
+ }
+ )
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("绑定成功")
+ this.triggerEvent("ok")
+ },
+ onConfirm(e) {
+ const { type, data } = e.detail;
+ const that = this;
+ switch(type) {
+ case "meter":
+ this.setData({
+ meter: data.id,
+ meterName: data.address,
+ show: false,
+ })
+ this.getMeterDetail(data.id);
+ break;
+ }
+ },
+ async getMeterDetail(id) {
+ const { code, message, data } = await getWorkMeterDetail(id)
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ this.setData({
+ overall: Number(data?.overall || 0),
+ status: data?.breakType ? '合闸' : "分闸"
+ })
+ },
+ dateTimeConfirm(e) {
+ this.setData({ readAt: e.detail.time, dateTimeShow: false })
+ },
+ dateTimeCancal(e) {
+ this.setData({ dateTimeShow: false })
+ },
+ onTimeFocus() {
+ this.setData({ dateTimeShow: true })
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.json b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.json
new file mode 100644
index 0000000..3c2b870
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-dialog": "@vant/weapp/dialog/index",
+ "search-select": "/components/searchSelect/index",
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "date-time-picker": "/components/DateTimePicker/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml
new file mode 100644
index 0000000..0e2ed30
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+ 选择
+
+
+
+
+
+ 选择
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxss b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxss
new file mode 100644
index 0000000..3fb490f
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxss
@@ -0,0 +1 @@
+/* pages/workBench/components/tenement/components/bindMeter/index.wxss */
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/createTenement/index.js b/pages/workBenchNew/components/workBenchTenement/components/createTenement/index.js
new file mode 100644
index 0000000..da2774b
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/createTenement/index.js
@@ -0,0 +1,103 @@
+// pages/workBench/components/tenement/components/createTenement/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ this.setData(options)
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+ onBuildingFocus() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "建筑",
+ type: 'building'
+ })
+ },
+ onFeeTypeFocus() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "建筑",
+ type: 'building'
+ })
+ },
+ beforeBack() {
+ let pages = getCurrentPages(); // 获取当前页面栈
+ let prevPage = pages[pages.length - 2]; // 获取上一页
+ const { tenement = '', tenementName = '', park = '', parkName = '' } = this.data;
+ // 修改上一页的数据
+ prevPage.setData({
+ needBackShow: true,
+ tenement,
+ tenementName,
+ park,
+ parkName
+ });
+
+ },
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/createTenement/index.json b/pages/workBenchNew/components/workBenchTenement/components/createTenement/index.json
new file mode 100644
index 0000000..b97afff
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/createTenement/index.json
@@ -0,0 +1,8 @@
+{
+ "usingComponents": {
+ "search-select": "/components/searchSelect/index",
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "navigator": "/components/navigator/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/createTenement/index.wxml b/pages/workBenchNew/components/workBenchTenement/components/createTenement/index.wxml
new file mode 100644
index 0000000..e1f06bb
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/createTenement/index.wxml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+ 选择
+
+
+
+
+ 选择
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/createTenement/index.wxss b/pages/workBenchNew/components/workBenchTenement/components/createTenement/index.wxss
new file mode 100644
index 0000000..45f4ed9
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/createTenement/index.wxss
@@ -0,0 +1 @@
+/* pages/workBench/components/tenement/components/createTenement/index.wxss */
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/kaihu/index.js b/pages/workBenchNew/components/workBenchTenement/components/kaihu/index.js
new file mode 100644
index 0000000..f51c36d
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/kaihu/index.js
@@ -0,0 +1,124 @@
+// pages/workBench/components/tenement/components/kaihu/index.js
+import { alertInfo, alertSuccess } from "../../../../../../utils/index"
+import { createBackTenement, updateTenementBackInfo } from "../../../../../../service/tenement"
+import request from "../../../../../../utils/request"
+import { payWays, feeType as feeTypeList } from "../../../../../../utils/data";
+const { OK } = request;
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ park: String,
+ visible: Boolean,
+ defaultValue: Object,
+ editType: String,
+ title: String,
+ },
+ observers: {
+ 'defaultValue': function(defaultValue) {
+ const { fullName, shortName, phone, id, feeType, address, building, buildingName, contact,} = defaultValue;
+ this.setData({
+ name: fullName,
+ shortName,
+ phone, id, feeType, address, building, buildingName, contact,
+ feeTypeName: feeTypeList[feeType]
+ })
+ }
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onBuildingFocus() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "建筑",
+ type: 'building'
+ })
+ },
+ onFeeTypeFocus() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "收费类型",
+ type: 'feeType'
+ })
+ },
+ onConfirm(e) {
+ const { type, data, way } = e.detail;
+ switch(type) {
+ case "building":
+ this.setData({
+ building: data.id,
+ buildingName: data.name,
+ show: false,
+ })
+ return;
+ case "feeType":
+ this.setData({
+ feeTypeName: data,
+ feeType: way,
+ show: false,
+ })
+ }
+ },
+
+ onCancel() {
+ this.setData({ show: false })
+ },
+ onClose() {
+ this.triggerEvent("close")
+ },
+ onChange(e) {
+ const { name } = e.currentTarget.dataset;
+ this.setData({
+ [name]: e.detail
+ })
+ },
+ clear() {
+ this.setData({
+ name: "", shortName: "", address: "", contact: "", phone: "",
+ building: "", feeType: "", buildingName: "", feeTypeName: "", id,
+ })
+ },
+ async onSubmit() {
+ const { name, shortName, address, contact, phone, building, feeType, park, editType, id } = this.data;
+ if (editType === "add") {
+ const { code, message } = await createBackTenement(park, { name, shortName, address, contact, phone, building, feeType })
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ alertSuccess("开户成功")
+ this.triggerEvent("ok")
+ return;
+ }
+ const { code, message } = await updateTenementBackInfo(park, id, { name, shortName, address, contact, phone, building, feeType })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("编辑成功")
+ this.triggerEvent("ok")
+ }
+ },
+
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/kaihu/index.json b/pages/workBenchNew/components/workBenchTenement/components/kaihu/index.json
new file mode 100644
index 0000000..f5d5fc8
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/kaihu/index.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "search-select": "/components/searchSelect/index",
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "navigator": "/components/navigator/index",
+ "van-dialog": "@vant/weapp/dialog/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/kaihu/index.wxml b/pages/workBenchNew/components/workBenchTenement/components/kaihu/index.wxml
new file mode 100644
index 0000000..04ff43a
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/kaihu/index.wxml
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+ 选择
+
+
+
+
+ 选择
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/kaihu/index.wxss b/pages/workBenchNew/components/workBenchTenement/components/kaihu/index.wxss
new file mode 100644
index 0000000..d4caef1
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/kaihu/index.wxss
@@ -0,0 +1 @@
+/* pages/workBench/components/tenement/components/kaihu/index.wxss */
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js
new file mode 100644
index 0000000..ebdda83
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js
@@ -0,0 +1,101 @@
+// pages/workBench/components/tenement/components/bindMeter/index.js
+
+import { unbindMeter, } from "../../../../../../service/tenement"
+import request from "../../../../../../utils/request"
+import { alertInfo, alertSuccess } from "../../../../../../utils/index";
+const { OK } = request
+import { getWorkMeterDetail } from "../../../../../../service/meter"
+import dayjs from "../../../../../../utils/dayjs"
+
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ tenement: String,
+ park: String,
+ tenementName: String,
+ meterId: String,
+ meterAddress: String,
+ visible:Boolean,
+ },
+ observers: {
+ "meterId": function(newValue) {
+ this.getMeterDetail(newValue)
+ }
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ dateTimeShow: false
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onMeterFocus(e) {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "电表",
+ type: 'meter'
+ })
+ },
+ async getMeterDetail(id) {
+ const { code, message, data } = await getWorkMeterDetail(id)
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ this.setData({
+ overall: Number(data?.overall || 0),
+ status: data?.breakType ? '合闸' : "分闸"
+ })
+ },
+ onClose() {
+ this.triggerEvent("close")
+ },
+ onChange(e) {
+ const { name } = e.currentTarget.dataset;
+ this.setData({
+ [name]: e.detail
+ })
+ },
+ async onSubmit() {
+ const { overall, critical, peak, valley, park, tenement, meterId,readAt } = this.data;
+ const { code, message, } = await unbindMeter(
+ park,
+ tenement,
+ meterId,
+ {
+ overall:overall? Number(overall) : overall,
+ critical : critical ? Number(critical) : critical,
+ peak: peak ? Number(peak) : peak,
+ valley : valley ? Number(valley) : valley,
+ readAt: readAt || dayjs().format('YYYY-MM-DD HH:mm:ss')
+ });
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ alertSuccess("解绑成功")
+ this.triggerEvent("ok")
+ },
+ dateTimeConfirm(e) {
+ this.setData({ readAt: e.detail.time, dateTimeShow: false })
+ },
+ dateTimeCancal(e) {
+ this.setData({ dateTimeShow: false })
+ },
+ onTimeFocus() {
+ this.setData({ dateTimeShow: true })
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.json b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.json
new file mode 100644
index 0000000..3c2b870
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-dialog": "@vant/weapp/dialog/index",
+ "search-select": "/components/searchSelect/index",
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "date-time-picker": "/components/DateTimePicker/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxml b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxml
new file mode 100644
index 0000000..7a9952f
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxml
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+ 选择
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxss b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxss
new file mode 100644
index 0000000..3fb490f
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxss
@@ -0,0 +1 @@
+/* pages/workBench/components/tenement/components/bindMeter/index.wxss */
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/index.js b/pages/workBenchNew/components/workBenchTenement/index.js
new file mode 100644
index 0000000..59f3cb2
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/index.js
@@ -0,0 +1,233 @@
+// pages/workBenchNew/components/workBenchTenement/index.js
+import { alertInfo, alertSuccess } from "../../../../utils/index";
+import { getTenementBackInfo, unbindMeter, } from "../../../../service/tenement"
+import { getBackTenementMeters, } from "../../../../service/meter"
+import request from "../../../../utils/request"
+const { OK } = request
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ defaultValue: {},
+ editType: "",
+ meterList: [],
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+ onParkFocus(e) {
+ this.setData({
+ show: true,
+ title: "园区",
+ type: 'park'
+ })
+ },
+ onTenementFocus(e) {
+ const { park } = this.data;
+ const that = this;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "商户",
+ type: 'tenement'
+ })
+ },
+ async init() {
+
+ },
+ async getTenementInfo() {
+ const { tenement, park } = this.data;
+ if (!tenement || !park) {
+ return;
+ }
+ const { code, message, tenement: data } = await getTenementBackInfo(park, tenement)
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ this.setData({
+ tenementInfo: data,
+ })
+ },
+ onConfirm(e) {
+ const { type, data } = e.detail;
+ const that = this;
+ switch(type) {
+ case "park":
+ this.setData({
+ park: data.id,
+ parkName: data.name,
+ show: false,
+ })
+ break;
+ case "tenement":
+ this.setData({
+ tenement: data.id,
+ tenementName: data.name,
+ show: false,
+ } , () => {
+ that.getTenementInfo();
+ that.getTenementMeters();
+ })
+ break;
+ }
+ },
+ onCancel() {
+ this.setData({
+ show: false,
+ })
+ },
+ startKh() {
+ this.setData({
+ kaihuVisible: true,
+ editType: "add",
+ title: "开户",
+ defaultValue: { feeType: 0, feeTypeName: "华昌宝能收费" }
+ })
+ },
+ startUpdateInfo() {
+ const { tenementInfo } = this.data;
+ this.setData({
+ kaihuVisible: true,
+ defaultValue: tenementInfo,
+ editType: "update",
+ title: "开户"
+ })
+ },
+ async getTenementMeters() {
+ const { park, tenement } = this.data;
+ const { code, message, data } = await getBackTenementMeters(park, tenement)
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ this.setData({ meterList: data });
+ },
+ onKaihuClose() {
+ this.setData({
+ kaihuVisible: false,
+ defaultValue: {},
+ title: "编辑",
+ editType: "",
+ })
+ },
+ onBindClose() {
+ this.setData({
+ bindVisible: false,
+ })
+ },
+ async onKaihuConfirm() {
+ this.getTenementInfo();
+ this.onKaihuClose();
+ },
+ unbind(e) {
+ const that = this;
+ const { park, tenement } = this.data;
+ const { address, id } = e.currentTarget.dataset;
+ this.setData({
+ unbindVisible: true,
+ meterId: id,
+ meterAddress: address
+ })
+ // wx.showModal({
+ // title: '提示',
+ // content: `确认要解绑${address}吗?`,
+ // complete: async (res) => {
+ // if (res.cancel) {
+
+ // }
+
+ // if (res.confirm) {
+ // const { code, message, } = await unbindMeter(park, tenement, id);
+ // if (code !== OK) {
+ // alertInfo(message)
+ // return
+ // }
+ // alertSuccess("解绑成功")
+ // that.getTenementMeters();
+ // return
+ // }
+ // }
+ // })
+ },
+ onUnbindOk() {
+ this.setData({
+ unbindVisible: false,
+ meterId: "",
+ meterAddress: "",
+ })
+ this.getTenementMeters();
+ },
+ startBind() {
+ this.setData({
+ bindVisible: true
+ })
+ },
+ onBindOk() {
+ this.setData({
+ bindVisible: false,
+ })
+ this.getTenementMeters();
+ },
+ onTimeConfirm(e) {
+
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/index.json b/pages/workBenchNew/components/workBenchTenement/index.json
new file mode 100644
index 0000000..b965871
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/index.json
@@ -0,0 +1,16 @@
+{
+ "usingComponents": {
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "search-select": "/components/searchSelect/index",
+ "van-empty": "@vant/weapp/empty/index",
+ "kaihu": "./components/kaihu/index",
+ "bindMeter": "./components/bindMeter/index",
+ "unBindMeter": "./components/unBindMeter/index",
+ "van-row": "@vant/weapp/row/index",
+ "van-col": "@vant/weapp/col/index",
+ "navigator": "/components/navigator/index",
+ "searchSelectWrapper": "/components/searchSelectWrapper/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchTenement/index.wxml b/pages/workBenchNew/components/workBenchTenement/index.wxml
new file mode 100644
index 0000000..ab67b7e
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/index.wxml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+ 绑定电表
+ 修改信息
+
+ 开户
+
+
+
+
+
+
+
+
+
+
+ {{tenementInfo.shortName}}
+ {{tenementInfo.fullName}}
+
+
+ 华昌宝能收费
+ 物业代收1
+ 物业代收2
+ 物业代收线损
+ {{tenementInfo.contact}} {{tenementInfo.phone}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.address }}
+ {{ item.meterSn }}
+
+
+ 解绑
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/workBenchNew/components/workBenchTenement/index.wxss b/pages/workBenchNew/components/workBenchTenement/index.wxss
new file mode 100644
index 0000000..09f3390
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchTenement/index.wxss
@@ -0,0 +1,70 @@
+/* pages/workBench/components/tenement/index.wxss */
+
+.table {
+ width: 890rpx;
+}
+
+.classWrapper {
+ width: 100vw;
+ overflow-x: auto;
+}
+
+.thead {
+ display: flex;
+ flex-wrap: nowrap;
+ border-bottom: 1rpx solid #EEEEEE;
+}
+
+.thead .th {
+ padding: 20rpx;
+ white-space: nowrap;
+ text-align: center;
+ box-sizing: border-box;
+
+}
+
+.tbody .tr {
+ padding: 20rpx;
+ box-sizing: border-box;
+ display: flex;
+ align-items: center;
+ flex-wrap: nowrap;
+}
+
+.tbody .th {
+ word-break: break-all;
+ text-align: center;
+}
+
+.primaryTextBtn {
+ color: #1989fa;
+}
+
+
+.customTable {
+ margin: 20rpx;
+ font-size: 32rpx;
+}
+
+.customTableTile {
+ background-color: var(--light-green);
+ box-sizing: border-box;
+ font-weight: 700;
+}
+
+.tableTitleRow {
+ padding: 16rpx;
+}
+
+.tableRow {
+
+ padding: 16rpx;
+ border: 1rpx solid #ccc;
+ border-top: 0rpx;
+ font-size: 32rpx;
+}
+
+page {
+ background-color: rgb(228,240,236);
+ font-size: 32rpx;
+ }
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchWxUser/components/editModal/index.js b/pages/workBenchNew/components/workBenchWxUser/components/editModal/index.js
new file mode 100644
index 0000000..3fcc8dd
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchWxUser/components/editModal/index.js
@@ -0,0 +1,74 @@
+import { alertInfo, alertSuccess } from "../../../../../../utils/index";
+import { createTenementWxUser } from "../../../../../../service/tenement";
+import request from "../../../../../../utils/request"
+const { OK } = request
+// pages/workBench/components/account/components/editModal/index.js
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ type: String,
+ title: String,
+ visible: Boolean,
+ onCancel: Function,
+ park: String,
+ tenement: String,
+ parentPhone:String,
+ parentName:String,
+ parentId:String,
+ },
+ observers: {
+ "parentName,parentId,parentPhone": function(newName, newId, newPhone) {
+ this.setData({ data: { name: newName, id: newId, phone: newPhone } })
+ },
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ data: { name: "", phone: "", id: "" }
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ async onSubmit() {
+ const { data = {}, tenement, park, type } = this.data;
+ if (!data.phone) {
+ alertInfo("请输入手机号")
+ return
+ }
+ if (!data.name) {
+ alertInfo("请输入昵称")
+ return
+ }
+ const { code, message } = await createTenementWxUser({ ...data, tenement, park })
+ if (code !== OK) {
+ alertInfo(message)
+ this.triggerEvent("cancel")
+ return;
+ }
+ alertSuccess("操作成功")
+ this.triggerEvent("ok")
+ this.setData({ data: {} })
+ return;
+
+
+ },
+ onChange(e) {
+ const { name } = e.currentTarget.dataset;
+ const newData = this.data.data;
+ newData[name] = e.detail;
+ this.setData({
+ data: newData,
+ })
+ },
+ onCancel() {
+ this.setData({ data: {} })
+ this.triggerEvent("cancel")
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchWxUser/components/editModal/index.json b/pages/workBenchNew/components/workBenchWxUser/components/editModal/index.json
new file mode 100644
index 0000000..953d7ac
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchWxUser/components/editModal/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-dialog": "@vant/weapp/dialog/index",
+ "search-select": "/components/searchSelect/index",
+ "van-field": "@vant/weapp/field/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchWxUser/components/editModal/index.wxml b/pages/workBenchNew/components/workBenchWxUser/components/editModal/index.wxml
new file mode 100644
index 0000000..cbf0761
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchWxUser/components/editModal/index.wxml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchWxUser/components/editModal/index.wxss b/pages/workBenchNew/components/workBenchWxUser/components/editModal/index.wxss
new file mode 100644
index 0000000..5ddf238
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchWxUser/components/editModal/index.wxss
@@ -0,0 +1 @@
+/* pages/workBench/components/account/components/editModal/index.wxss */
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.js b/pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.js
new file mode 100644
index 0000000..6c15979
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.js
@@ -0,0 +1,68 @@
+// pages/workBench/components/account/components/updatePhoneModa/index.js
+import { alertInfo, alertSuccess } from "../../../../../../utils/index";
+import { updateAdminPhone } from "../../../../../../service/tenement";
+import request from "../../../../../../utils/request"
+const { OK } = request
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ type: String,
+ title: String,
+ visible: Boolean,
+ onCancel: Function,
+ park: String,
+ tenement: String,
+ parentPhone:String,
+ parentName:String,
+ parentId:String,
+ },
+ observers: {
+ "parentPhone": function (newPhone) {
+ this.setData({ phone: newPhone })
+ }
+ },
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ phone: "",
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ async onSubmit() {
+ const { phone, tenement, park, type } = this.data;
+ if (!phone) {
+ alertInfo("请输入手机号")
+ return
+ }
+ const { code, message } = await updateAdminPhone({tenement, phone: phone })
+ if (code !== OK) {
+ alertInfo(message)
+ this.triggerEvent("cancel")
+ return;
+ }
+ alertSuccess("操作成功")
+ this.triggerEvent("ok")
+ this.setData({ phone: "" })
+ return;
+
+
+ },
+ onChange(e) {
+
+ this.setData({
+ phone: e.detail,
+ })
+ },
+ onCancel() {
+ this.setData({ phone: "" })
+ this.triggerEvent("cancel")
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.json b/pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.json
new file mode 100644
index 0000000..953d7ac
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.json
@@ -0,0 +1,8 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-dialog": "@vant/weapp/dialog/index",
+ "search-select": "/components/searchSelect/index",
+ "van-field": "@vant/weapp/field/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.wxml b/pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.wxml
new file mode 100644
index 0000000..b222848
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.wxml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.wxss b/pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.wxss
new file mode 100644
index 0000000..d296a65
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchWxUser/components/updatePhoneModal/index.wxss
@@ -0,0 +1 @@
+/* pages/workBench/components/account/components/updatePhoneModa/index.wxss */
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchWxUser/index.js b/pages/workBenchNew/components/workBenchWxUser/index.js
new file mode 100644
index 0000000..7525b41
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchWxUser/index.js
@@ -0,0 +1,224 @@
+// pages/workBenchNew/components/workBenchWxUser/index.js
+import request from "../../../../utils/request"
+import { getTenementBackInfo, updateUserApp} from "../../../../service/tenement"
+import { getBackApproveList, removeUser } from "../../../../service/user"
+import { alertInfo, alertSuccess, wxModal } from "../../../../utils/index"
+const { OK } = request
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ list: [],
+ tenementInfo: {},
+ },
+ onParkFocus(e) {
+ this.setData({
+ show: true,
+ title: "园区",
+ type: 'park'
+ })
+ },
+ onTenementFocus(e) {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "商户",
+ type: 'tenement'
+ })
+ },
+ onConfirm(e) {
+ const that = this;
+ const { type, data } = e.detail;
+ switch(type) {
+ case "park":
+ this.setData({
+ park: data.id,
+ parkName: data.name,
+ show: false,
+ })
+ break;
+ case "tenement":
+ this.setData({
+ tenement: data.id,
+ tenementName: data.name,
+ show: false,
+ }, () => {
+ that.initUserList();
+ that.getTenementInfo();
+ })
+ break;
+ }
+ },
+ async setAdmin(e) {
+ const { id, name } = e.currentTarget.dataset;
+ const { tenement } = this.data;
+ await wxModal({ content: `确认要将${name}设置为管理吗?` })
+ const { code, message } = await updateUserApp({ userId: id, type: 2, tenement: tenement })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("转交成功")
+ this.initUserList();
+ this.getTenementInfo();
+ },
+ onCancel() {
+ this.setData({
+ show: false,
+ })
+ },
+ handleDelete(e) {
+ const { id, name } = e.currentTarget.dataset;
+ const { tenement } = this.data;
+ const that = this;
+ wx.showModal({
+ title: '提示',
+ content: `确认要移除${name}吗?`,
+ complete: async (res) => {
+ if (res.cancel) {
+
+ }
+
+ if (res.confirm) {
+ const { code, message } = await removeUser(id, tenement)
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("删除成功")
+ that.initUserList();
+ }
+ }
+ })
+ },
+ onEditConfirm() {
+ this.initUserList()
+ this.handleCancel();
+ },
+ onUpdatePhoneConfirm() {
+ this.setData({ parentPhone: "", phone: "", type: "", title: "" })
+ this.getTenementInfo();
+ this.initUserList()
+ },
+ async getTenementInfo() {
+ const { tenement, park } = this.data;
+ const { code, message, tenement: data } = await getTenementBackInfo(park, tenement)
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ this.setData({
+ tenementInfo: data,
+ })
+ },
+ async initUserList() {
+ const { tenement } = this.data;
+ const { code, message, data } = await getBackApproveList(tenement, 1);
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ this.setData({
+ list: data,
+ })
+ },
+ handleAddSon() {
+ this.setData({
+ visible: true,
+ type: "add",
+ title: "新建子账号"
+ })
+ },
+ handleChangeMain() {
+ const { tenementInfo = {} } = this.data;
+ this.setData({
+ updatePhoneVisible: true,
+ type: "update",
+ title: "编辑管理员",
+ parentPhone: tenementInfo.phone,
+ // name: main.WechatUserName,
+ // id: main.WechatUserID,
+ })
+ },
+ handleUpdatePhoneCancel() {
+ this.setData({
+ updatePhoneVisible: false,
+ type: "",
+ phone: "",
+ parentPhone: "",
+ name: "",
+ id: "",
+ })
+ },
+ handleCancel() {
+ this.setData({
+ visible: false,
+ type: "",
+ phone: "",
+ name: "",
+ id: "",
+ })
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchWxUser/index.json b/pages/workBenchNew/components/workBenchWxUser/index.json
new file mode 100644
index 0000000..654f431
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchWxUser/index.json
@@ -0,0 +1,22 @@
+{
+ "usingComponents": {
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "search-select": "/components/searchSelect/index",
+ "van-empty": "@vant/weapp/empty/index",
+ "table": "/components/table/table",
+ "pagination": "/components/pagination/index",
+ "empty": "/components/empty/index",
+ "van-radio": "@vant/weapp/radio/index",
+ "van-radio-group": "@vant/weapp/radio-group/index",
+ "van-tag": "@vant/weapp/tag/index",
+ "edit-modal": "./components/editModal/index",
+ "updatePhoneModal": "./components/updatePhoneModal/index",
+ "van-row": "@vant/weapp/row/index",
+ "van-col": "@vant/weapp/col/index",
+ "searchSelectWrapper": "/components/searchSelectWrapper/index",
+ "van-image": "@vant/weapp/image/index",
+ "navigator": "/components/navigator/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchWxUser/index.wxml b/pages/workBenchNew/components/workBenchWxUser/index.wxml
new file mode 100644
index 0000000..3e43d29
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchWxUser/index.wxml
@@ -0,0 +1,143 @@
+
+
+
+
+
+
+
+
+
+ 添加子账号
+ 修改主账号
+
+
+
+
+
+
+
+
+
+ {{tenementInfo.shortName}}
+ {{tenementInfo.fullName}}
+
+
+
+
+
+
+
+
+
+ 华昌宝能收费
+ 物业代收1
+ 物业代收2
+ 物业代收线损
+ {{tenementInfo.contact}} {{tenementInfo.phone}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.WechatUserName }}
+ {{ item.WechatPhone }}
+
+
+
+
+
+
+
+
+
+
+
+ 管理员
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchWxUser/index.wxss b/pages/workBenchNew/components/workBenchWxUser/index.wxss
new file mode 100644
index 0000000..007d999
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchWxUser/index.wxss
@@ -0,0 +1,71 @@
+/* pages/workBench/components/account/index.wxss */
+
+.operateBox {
+ margin: 20rpx;
+}
+
+.table {
+ width: 890rpx;
+
+}
+
+.classWrapper {
+ width: 100vw;
+ overflow-x: auto;
+}
+
+.thead {
+ display: flex;
+ flex-wrap: nowrap;
+ border-bottom: 1rpx solid #EEEEEE;
+}
+
+.thead .th {
+ padding: 20rpx;
+ white-space: nowrap;
+ text-align: center;
+ box-sizing: border-box;
+
+}
+
+
+.tr {
+ display: flex;
+ align-items: center;
+ flex-wrap: nowrap;
+}
+
+.tbody .th {
+ word-break: break-all;
+ text-align: center;
+}
+.primaryTextBtn {
+ color: #1989fa;
+ display: inline-block;
+}
+
+.customTable {
+ margin: 20rpx;
+ font-size: 32rpx;
+}
+
+.customTableTile {
+ background-color: var(--light-green);
+ box-sizing: border-box;
+}
+
+.tableTitleRow {
+ padding: 16rpx;
+ font-weight: 700;
+}
+
+.tableRow {
+ padding: 16rpx;
+ border: 1rpx solid #ccc;
+ border-top: 0rpx;
+}
+
+page {
+ background-color: rgb(228,240,236);
+ font-size: 32rpx;
+ }
\ No newline at end of file
diff --git a/pages/workBenchNew/index.js b/pages/workBenchNew/index.js
new file mode 100644
index 0000000..82adef0
--- /dev/null
+++ b/pages/workBenchNew/index.js
@@ -0,0 +1,103 @@
+// pages/workBench/index.js
+import { getWorkBenchHome } from "../../service/workBench"
+import { alertError, alertSuccess, loadingFunc } from "../../utils/index"
+import request from "../../utils/request"
+const { OK } = request
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+ this.init()
+ },
+ async init() {
+ const { code, message, data } = await getWorkBenchHome()
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ this.setData({ data })
+ },
+ jumpToMeter() {
+ wx.navigateTo({
+ url: '/pages/workBenchNew/components/workBenchMeter/index',
+ })
+ },
+ jumpToTenement() {
+ wx.navigateTo({
+ url: '/pages/workBenchNew/components/workBenchTenement/index',
+ })
+ },
+ jumpToPay() {
+ wx.navigateTo({
+ url: '/pages/workBenchNew/components/workBenchApprove/index',
+ })
+ },
+ jumpToWxUser() {
+ wx.navigateTo({
+ url: '/pages/workBenchNew/components/workBenchWxUser/index',
+ })
+ },
+ jumpToRoute() {
+ wx.navigateTo({
+ url: '/pages/workBenchNew/components/workBenchReading/index',
+ })
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/index.json b/pages/workBenchNew/index.json
new file mode 100644
index 0000000..4a01b10
--- /dev/null
+++ b/pages/workBenchNew/index.json
@@ -0,0 +1,8 @@
+{
+ "usingComponents": {
+ "navigator": "/components/navigator/index",
+ "van-row": "@vant/weapp/row/index",
+ "van-col": "@vant/weapp/col/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/index.wxml b/pages/workBenchNew/index.wxml
new file mode 100644
index 0000000..632c286
--- /dev/null
+++ b/pages/workBenchNew/index.wxml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 电表信息
+
+
+ {{data.meter}}
+
+
+
+
+
+
+
+
+
+
+ 商户信息
+
+
+ {{data.tenement}}
+
+
+
+
+
+
+
+
+
+
+ 充值审核
+
+
+ {{data.pay}}
+
+
+
+
+
+
+
+
+
+
+ C端账号
+
+
+ {{data.wxUser}}
+
+
+
+
+
+
+
+
+
+
+ 抄表记录录入
+
+
+ {{data.route}}
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/index.wxss b/pages/workBenchNew/index.wxss
new file mode 100644
index 0000000..2386856
--- /dev/null
+++ b/pages/workBenchNew/index.wxss
@@ -0,0 +1,44 @@
+/* pages/workBench/index.wxss */
+
+.wrapper {
+ margin: 20rpx 0rpx;
+}
+
+.contentWrapper {
+ background-color: white;
+ width: 100%;
+ margin-bottom: 24rpx;
+}
+
+.image {
+ padding: 50rpx 0;
+ display: flex;
+ justify-content: center;
+}
+
+.title {
+ font-size: 32rpx;
+ font-weight: 600;
+ /* margin-top: 30rpx; */
+ margin-bottom: 20rpx;
+ text-align: center;
+}
+
+.number {
+ font-size: 40rpx;
+ font-weight: 700;
+ color: var(--deep-green);
+ text-align: center;
+ padding-bottom: 30rpx;
+}
+
+.imageContent {
+ width: 100rpx;
+ height: 100rpx;
+ border-radius: 12rpx;
+ background-color: var(--light-green);
+}
+
+page {
+ background-color: rgb(242,243,245);
+}
\ No newline at end of file
diff --git a/pages/workBenchOld/index.json b/pages/workBenchOld/index.json
deleted file mode 100644
index a6d770b..0000000
--- a/pages/workBenchOld/index.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "usingComponents": {
- "navigator": "/components/navigator/index"
- },
- "navigationStyle": "custom"
-}
\ No newline at end of file
diff --git a/pages/workBenchOld/index.wxml b/pages/workBenchOld/index.wxml
deleted file mode 100644
index 1614ad7..0000000
--- a/pages/workBenchOld/index.wxml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/pages/workBenchOld/index.wxss b/pages/workBenchOld/index.wxss
deleted file mode 100644
index c989687..0000000
--- a/pages/workBenchOld/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-/* pages/workBench/index.wxss */
\ No newline at end of file
diff --git a/project.private.config.json b/project.private.config.json
index 9ce3337..294afa9 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -23,6 +23,13 @@
"condition": {
"miniprogram": {
"list": [
+ {
+ "name": "pages/workBenchNew/index",
+ "pathName": "pages/workBenchNew/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
{
"name": "pages/writeReading/index",
"pathName": "pages/writeReading/index",
diff --git a/service/workBench.js b/service/workBench.js
index 5c09b4a..e31833e 100644
--- a/service/workBench.js
+++ b/service/workBench.js
@@ -44,4 +44,9 @@ export const updateReading = async function(park, code, read_at, data) {
// 检查是否抄表完全
export const checkReadingFinish = async function(id) {
return await GET(`/park/meter/${id}/route/status`,);
+}
+
+// 获取工作台首页
+export const getWorkBenchHome = async function() {
+ return await GET(`/workHome/mainPage`,);
}
\ No newline at end of file
--
2.49.1
From ad4d9323ad3c13bef46ac1e5bd9a4243272d1732 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Mon, 22 Sep 2025 09:48:37 +0800
Subject: [PATCH 10/51] =?UTF-8?q?=E6=8B=8D=E7=85=A7=E6=94=AF=E6=8C=81?=
=?UTF-8?q?=E8=A3=81=E5=89=AA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/readingHistory/index.wxml | 2 +-
pages/writeReading/components/photo/index.js | 43 +++++++++++++++----
.../components/readingInfo/index.js | 19 +++++---
pages/writeReading/index.js | 3 +-
4 files changed, 49 insertions(+), 18 deletions(-)
diff --git a/pages/readingHistory/index.wxml b/pages/readingHistory/index.wxml
index bd48965..0a478cc 100644
--- a/pages/readingHistory/index.wxml
+++ b/pages/readingHistory/index.wxml
@@ -29,7 +29,7 @@
-
+
diff --git a/pages/writeReading/components/photo/index.js b/pages/writeReading/components/photo/index.js
index c734e53..2c8a2c2 100644
--- a/pages/writeReading/components/photo/index.js
+++ b/pages/writeReading/components/photo/index.js
@@ -32,16 +32,43 @@ Component({
success: async function(res) {
// console.log(res.tempFiles[0].tempFilePath)
// console.log(res.tempFiles[0].size)
- loadingFunc(async () => {
- const { code, message, data } = await uploadOcrFile(res.tempFiles[0].tempFilePath)
- if (code !== OK) {
- alertError(message)
- return
+ wx.cropImage({
+ src: res.tempFiles[0].tempFilePath, // 图片路径
+ cropScale: '16:9', // 裁剪比例
+ success: function (res) {
+ if (!/(\.jpg|\.png|\.jpeg)$/.test(res.tempFilePath.toLowerCase())) {
+ wx.showToast({
+ title: '请上传jpg、png或jpeg格式的图片',
+ icon: 'none',
+ });
+ return;
+ }
+ var tempFilePaths = res.tempFilePath;
+ loadingFunc(async () => {
+ const { code, message, data } = await uploadOcrFile(tempFilePaths)
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ setTimeout(() => {
+ that.triggerEvent("finish", { number: data?.integer, success: data?.integer != null && data?.integer !== "" })
+ }, 100)
+ })
+
}
- setTimeout(() => {
- that.triggerEvent("finish", { number: data?.integer, success: data?.integer != null && data?.integer !== "" })
- }, 100)
+
})
+
+ // loadingFunc(async () => {
+ // const { code, message, data } = await uploadOcrFile(res.tempFiles[0].tempFilePath)
+ // if (code !== OK) {
+ // alertError(message)
+ // return
+ // }
+ // setTimeout(() => {
+ // that.triggerEvent("finish", { number: data?.integer, success: data?.integer != null && data?.integer !== "" })
+ // }, 100)
+ // })
}
})
diff --git a/pages/writeReading/components/readingInfo/index.js b/pages/writeReading/components/readingInfo/index.js
index 0ab31ed..e4d3a12 100644
--- a/pages/writeReading/components/readingInfo/index.js
+++ b/pages/writeReading/components/readingInfo/index.js
@@ -53,7 +53,7 @@ Component({
this.setData({
currentNumber: e.detail,
calcNumber: isNaN(Number(e.detail)) ? 0 : Number(e.detail),
- diff: isNaN(Number(e.detail)) ? "-" : Number(e.detail) - this.data.meterInfo?.overall
+ diff: isNaN(Number(e.detail)) ? "-" : (Number(e.detail) - this.data.meterInfo?.overall).toFixed(2)
})
},
handleClear() {
@@ -82,7 +82,7 @@ Component({
})
alertSuccess("获取成功")
} else {
- alertInfo("未能获取到")
+ alertInfo("未能识别数字")
}
},
async onSubmit() {
@@ -98,6 +98,11 @@ Component({
alertError(message)
return
}
+ this.setData({
+ currentNumber: null,
+ calcNumber: null,
+ diff: "-"
+ })
alertSuccess("录入成功")
const that = this;
setTimeout(async () => {
@@ -115,11 +120,11 @@ Component({
if (res.confirm) {
// await that.changeEndStatus()
wx.navigateBack()
- const pages = getCurrentPages();
- const prevPage = pages[pages.length - 2];
- if (prevPage.init){
- prevPage.init()
- }
+ // const pages = getCurrentPages();
+ // const prevPage = pages[pages.length - 2];
+ // if (prevPage.init){
+ // prevPage.init()
+ // }
}
}
})
diff --git a/pages/writeReading/index.js b/pages/writeReading/index.js
index 1a02ab6..82f99ba 100644
--- a/pages/writeReading/index.js
+++ b/pages/writeReading/index.js
@@ -19,7 +19,6 @@ Page({
*/
onLoad(options) {
const { id } = options;
-
this.getMeterList(id)
},
async getMeterList(id) {
@@ -52,7 +51,7 @@ Page({
newIndex = meterList?.length - 1
}
this.setData({
- active: newIndex
+ active: newIndex,
})
},
handlePrev() {
--
2.49.1
From 76746682fa4b9bda102978e2de4fdd301c1908c8 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Mon, 22 Sep 2025 10:56:24 +0800
Subject: [PATCH 11/51] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=8E=A5=E5=8F=A3?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/readingHistory/components/editModal/index.js | 10 ++++------
pages/readingHistory/index.js | 9 ++++-----
pages/readingHistory/index.wxml | 1 +
.../workBenchNew/components/workBenchReading/index.js | 8 ++++----
.../components/workBenchReading/index.wxml | 2 ++
pages/writeReading/components/meterInfo/index.js | 6 ++++--
.../components/meterList/components/meterItem/index.js | 3 ++-
.../meterList/components/meterItem/index.wxml | 2 +-
.../meterList/components/meterItem/index.wxss | 6 +++++-
pages/writeReading/components/meterList/index.js | 3 ---
pages/writeReading/components/meterList/index.wxml | 1 +
pages/writeReading/components/photo/index.js | 2 +-
pages/writeReading/components/readingInfo/index.js | 6 +++---
pages/writeReading/index.js | 3 +++
pages/writeReading/index.wxml | 3 ++-
service/workBench.js | 4 ++--
16 files changed, 39 insertions(+), 30 deletions(-)
diff --git a/pages/readingHistory/components/editModal/index.js b/pages/readingHistory/components/editModal/index.js
index 8b57046..c8fd43c 100644
--- a/pages/readingHistory/components/editModal/index.js
+++ b/pages/readingHistory/components/editModal/index.js
@@ -18,7 +18,8 @@ Component({
numberProps: String,
idProps: String,
meter: String,
- park: String
+ park: String,
+ routeId: String,
},
observers: {
"timeProps": function(newValue) {
@@ -33,9 +34,6 @@ Component({
number: newValue
})
},
- "idProps": function(newValue) {
- console.log("new id", newValue)
- }
},
/**
* 组件的初始数据
@@ -70,13 +68,13 @@ Component({
})
},
async onSubmit() {
- const { time, number, idProps, park, meter, timeProps } = this.data;
+ const { time, number, idProps, park, meter, timeProps, routeId } = this.data;
if (time == null || number == null) {
alertInfo("请正确填写后保存")
return;
}
if (!idProps) {
- const { code, message } = await createReading(park, meter, {
+ const { code, message } = await createReading(park, meter, routeId, {
overall: `${number}`,
flat: `${number}`,
readAt: time,
diff --git a/pages/readingHistory/index.js b/pages/readingHistory/index.js
index 85ea9b9..fe45b04 100644
--- a/pages/readingHistory/index.js
+++ b/pages/readingHistory/index.js
@@ -19,11 +19,13 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
- const { meter, park } = options;
+ console.log("options", options)
+ const { meter, park, routeId } = options;
const that = this;
this.setData({
meter,
- park
+ park,
+ routeId,
}, () => {
that.refresh();
})
@@ -92,7 +94,6 @@ Page({
},
handleUpdate(e) {
const { data } = e.currentTarget.dataset;
- console.log("data", data);
this.setData({
title: "编辑记录",
visible: true,
@@ -101,8 +102,6 @@ Page({
id: data.id,
readAtTimestamp: data.readAtTimestamp,
type: "edit",
- }, () => {
- console.log("this.data---------", this.data)
})
},
handleDelete(e) {
diff --git a/pages/readingHistory/index.wxml b/pages/readingHistory/index.wxml
index 0a478cc..87650e1 100644
--- a/pages/readingHistory/index.wxml
+++ b/pages/readingHistory/index.wxml
@@ -57,4 +57,5 @@
meter="{{meter}}"
bind:ok="onEditFinish"
startTime="{{startTime}}"
+ routeId="{{routeId}}"
/>
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchReading/index.js b/pages/workBenchNew/components/workBenchReading/index.js
index f71ac53..583bec3 100644
--- a/pages/workBenchNew/components/workBenchReading/index.js
+++ b/pages/workBenchNew/components/workBenchReading/index.js
@@ -60,8 +60,8 @@ Page({
},
async changeStartStatus(e) {
const that = this;
- const { id } = e.currentTarget.dataset;
- const { code, message } = await changeMeterRouteStatus({ id, status: 1 })
+ const { id, routeId } = e.currentTarget.dataset;
+ const { code, message } = await changeMeterRouteStatus({ id, status: 1, routeId })
if (code !== OK) {
alertError(message)
return
@@ -73,8 +73,8 @@ Page({
}, 500)
},
async changeEndStatus(e) {
- const { id } = e.currentTarget.dataset;
- const { code, message } = await changeMeterRouteStatus({ id, status: 0 })
+ const { id, routeId } = e.currentTarget.dataset;
+ const { code, message } = await changeMeterRouteStatus({ id, status: 0, routeId })
if (code !== OK) {
alertError(message)
return
diff --git a/pages/workBenchNew/components/workBenchReading/index.wxml b/pages/workBenchNew/components/workBenchReading/index.wxml
index 6aeca07..61831ea 100644
--- a/pages/workBenchNew/components/workBenchReading/index.wxml
+++ b/pages/workBenchNew/components/workBenchReading/index.wxml
@@ -39,6 +39,7 @@
size="small"
type="primary"
bind:tap="changeStartStatus"
+ data-routeId="{{item.readingRouteId}}"
custom-style="margin-right: 20rpx;"
data-id="{{item.id}}"
wx:if="{{item.status === 0}}"
@@ -57,6 +58,7 @@
bind:tap="changeEndStatus"
data-id="{{item.id}}"
wx:if="{{item.status === 1}}"
+ data-routeId="{{item.readingRouteId}}"
> 结束抄表
diff --git a/pages/writeReading/components/meterInfo/index.js b/pages/writeReading/components/meterInfo/index.js
index 0e1b6a2..7548545 100644
--- a/pages/writeReading/components/meterInfo/index.js
+++ b/pages/writeReading/components/meterInfo/index.js
@@ -6,6 +6,7 @@ Component({
*/
properties: {
meterInfo: Object,
+ routeId: String,
},
/**
@@ -20,9 +21,10 @@ Component({
*/
methods: {
jumpToHistory() {
- const { meterInfo } = this.data;
+ const { meterInfo, routeId } = this.data;
+ console.log("meterInfo", meterInfo)
wx.navigateTo({
- url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.parkId}`,
+ url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.parkId}&routeId=${routeId}`,
})
},
}
diff --git a/pages/writeReading/components/meterList/components/meterItem/index.js b/pages/writeReading/components/meterList/components/meterItem/index.js
index 8295f38..a34d5fa 100644
--- a/pages/writeReading/components/meterList/components/meterItem/index.js
+++ b/pages/writeReading/components/meterList/components/meterItem/index.js
@@ -6,7 +6,8 @@ Component({
*/
properties: {
active: Boolean,
- meter: Object
+ meter: Object,
+ status: Number,
},
observers: {
"active": function (newValue) {
diff --git a/pages/writeReading/components/meterList/components/meterItem/index.wxml b/pages/writeReading/components/meterList/components/meterItem/index.wxml
index e097bcc..bc1bf49 100644
--- a/pages/writeReading/components/meterList/components/meterItem/index.wxml
+++ b/pages/writeReading/components/meterList/components/meterItem/index.wxml
@@ -1,4 +1,4 @@
-
+
{{meter.meterAddress}}
\ No newline at end of file
diff --git a/pages/writeReading/components/meterList/components/meterItem/index.wxss b/pages/writeReading/components/meterList/components/meterItem/index.wxss
index c0decfc..f39e216 100644
--- a/pages/writeReading/components/meterList/components/meterItem/index.wxss
+++ b/pages/writeReading/components/meterList/components/meterItem/index.wxss
@@ -19,6 +19,10 @@
}
.deepBg {
- background-color: var(--deep-green);
+ background-color: var(--deep-green) !important;
color: white;
+}
+
+.done {
+ background-color: #ccc;
}
\ No newline at end of file
diff --git a/pages/writeReading/components/meterList/index.js b/pages/writeReading/components/meterList/index.js
index 4b7b425..f65e7e7 100644
--- a/pages/writeReading/components/meterList/index.js
+++ b/pages/writeReading/components/meterList/index.js
@@ -32,9 +32,6 @@ Component({
})
}
},
- "finishNumber": function(newValue) {
- console.log("finishNumber0000000000-----------", newValue)
- }
},
/**
* 组件的初始数据
diff --git a/pages/writeReading/components/meterList/index.wxml b/pages/writeReading/components/meterList/index.wxml
index b7b6d2f..50a2799 100644
--- a/pages/writeReading/components/meterList/index.wxml
+++ b/pages/writeReading/components/meterList/index.wxml
@@ -22,6 +22,7 @@
bind:click="handleSelect"
data-index="{{index}}"
data-id="{{item.meterId}}"
+ status="{{item.status}}"
/>
diff --git a/pages/writeReading/components/photo/index.js b/pages/writeReading/components/photo/index.js
index 2c8a2c2..ae4ca6e 100644
--- a/pages/writeReading/components/photo/index.js
+++ b/pages/writeReading/components/photo/index.js
@@ -51,7 +51,7 @@ Component({
return
}
setTimeout(() => {
- that.triggerEvent("finish", { number: data?.integer, success: data?.integer != null && data?.integer !== "" })
+ that.triggerEvent("finish", { number: data?.integer + "." + data?.decimal || 0, success: data?.integer != null && data?.integer !== "" })
}, 100)
})
diff --git a/pages/writeReading/components/readingInfo/index.js b/pages/writeReading/components/readingInfo/index.js
index e4d3a12..64840dd 100644
--- a/pages/writeReading/components/readingInfo/index.js
+++ b/pages/writeReading/components/readingInfo/index.js
@@ -22,7 +22,6 @@ Component({
if (!newValue) {
return;
}
- console.log("---------------");
this.checkFinish(newValue)
}
},
@@ -86,9 +85,9 @@ Component({
}
},
async onSubmit() {
- const { meterInfo, currentNumber } = this.data;
+ const { meterInfo, currentNumber, routeId } = this.data;
const { parkId, id } = meterInfo;
- const { code, message } = await createReading(parkId, id, {
+ const { code, message } = await createReading(parkId, id, routeId, {
overall: `${currentNumber}`,
flat: `${currentNumber}`,
readAt: dayjs().format("YYYY-MM-DD HH:mm:ss"),
@@ -105,6 +104,7 @@ Component({
})
alertSuccess("录入成功")
const that = this;
+ that.triggerEvent("onSubmit")
setTimeout(async () => {
const isFinished = await that.checkFinish()
if (isFinished) {
diff --git a/pages/writeReading/index.js b/pages/writeReading/index.js
index 82f99ba..1aaa473 100644
--- a/pages/writeReading/index.js
+++ b/pages/writeReading/index.js
@@ -44,6 +44,9 @@ Page({
active: e.detail.index,
})
},
+ onSubmit() {
+ this.getMeterList(this.data.routeId)
+ },
handleNext() {
const { active = 0, meterList } = this.data;
let newIndex = active + 1
diff --git a/pages/writeReading/index.wxml b/pages/writeReading/index.wxml
index 2813761..9cc7c60 100644
--- a/pages/writeReading/index.wxml
+++ b/pages/writeReading/index.wxml
@@ -8,7 +8,7 @@
meterInfo="{{meterInfo}}"
finishNumber="{{finishNumber}}"
/>
-
+
\ No newline at end of file
diff --git a/service/workBench.js b/service/workBench.js
index e31833e..a079d17 100644
--- a/service/workBench.js
+++ b/service/workBench.js
@@ -22,8 +22,8 @@ export const getMeterReadingRouteMeterDetail = async function(id) {
}
// 新建一条抄表记录
-export const createReading = async function(park, code, data) {
- return await POST(`/reading/hand/${park}/${code}`, data);
+export const createReading = async function(park, code, routeId, data) {
+ return await POST(`/reading/hand/${park}/${code}?parkRouteId=${routeId}`, data);
}
--
2.49.1
From 195a6d7c48341a5f715ee2ec3a11c446c77e1dce Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Mon, 22 Sep 2025 14:57:20 +0800
Subject: [PATCH 12/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BC=A0=E5=8F=82?=
=?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/workBenchNew/components/workBenchReading/index.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pages/workBenchNew/components/workBenchReading/index.js b/pages/workBenchNew/components/workBenchReading/index.js
index 583bec3..8343e19 100644
--- a/pages/workBenchNew/components/workBenchReading/index.js
+++ b/pages/workBenchNew/components/workBenchReading/index.js
@@ -60,7 +60,7 @@ Page({
},
async changeStartStatus(e) {
const that = this;
- const { id, routeId } = e.currentTarget.dataset;
+ const { id, routeid: routeId } = e.currentTarget.dataset;
const { code, message } = await changeMeterRouteStatus({ id, status: 1, routeId })
if (code !== OK) {
alertError(message)
@@ -73,7 +73,7 @@ Page({
}, 500)
},
async changeEndStatus(e) {
- const { id, routeId } = e.currentTarget.dataset;
+ const { id, routeid: routeId } = e.currentTarget.dataset;
const { code, message } = await changeMeterRouteStatus({ id, status: 0, routeId })
if (code !== OK) {
alertError(message)
--
2.49.1
From e64318f174116511abf9894ea99f75b0e947138d Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Tue, 23 Sep 2025 17:18:51 +0800
Subject: [PATCH 13/51] =?UTF-8?q?=E5=8F=AA=E6=9C=89=E6=9C=80=E5=90=8E?=
=?UTF-8?q?=E4=B8=80=E6=9D=A1=E6=8A=84=E8=A1=A8=E8=AE=B0=E5=BD=95=E5=8F=AF?=
=?UTF-8?q?=E4=BB=A5=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/readingHistory/index.wxml | 2 +-
pages/workBenchNew/components/workBenchReading/index.wxml | 2 +-
pages/writeReading/components/readingInfo/index.js | 3 +++
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/pages/readingHistory/index.wxml b/pages/readingHistory/index.wxml
index 87650e1..f554a89 100644
--- a/pages/readingHistory/index.wxml
+++ b/pages/readingHistory/index.wxml
@@ -28,7 +28,7 @@
-
+
diff --git a/pages/workBenchNew/components/workBenchReading/index.wxml b/pages/workBenchNew/components/workBenchReading/index.wxml
index 61831ea..1017fa0 100644
--- a/pages/workBenchNew/components/workBenchReading/index.wxml
+++ b/pages/workBenchNew/components/workBenchReading/index.wxml
@@ -40,7 +40,7 @@
type="primary"
bind:tap="changeStartStatus"
data-routeId="{{item.readingRouteId}}"
- custom-style="margin-right: 20rpx;"
+ custom-style="margin-right: 20rpx;"
data-id="{{item.id}}"
wx:if="{{item.status === 0}}"
> 开始抄表
diff --git a/pages/writeReading/components/readingInfo/index.js b/pages/writeReading/components/readingInfo/index.js
index 64840dd..bd192d4 100644
--- a/pages/writeReading/components/readingInfo/index.js
+++ b/pages/writeReading/components/readingInfo/index.js
@@ -23,6 +23,9 @@ Component({
return;
}
this.checkFinish(newValue)
+ },
+ "meterInfo": function(newValue) {
+
}
},
/**
--
2.49.1
From a2f92a0959e7117ace063e4c1532288c70a29c97 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 24 Sep 2025 10:24:52 +0800
Subject: [PATCH 14/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/login/index.js | 6 ++++
pages/readingHistory/index.js | 3 +-
pages/readingHistory/index.wxml | 6 ++--
.../components/workBenchReading/index.js | 34 +++++++++++++------
.../components/workBenchReading/index.wxml | 7 +++-
pages/workBenchNew/index.js | 4 +++
.../components/meterInfo/index.js | 5 +--
.../components/readingInfo/index.js | 3 +-
.../components/readingInfo/index.wxml | 9 ++---
pages/writeReading/index.js | 3 +-
pages/writeReading/index.wxml | 7 +++-
project.private.config.json | 7 ++++
12 files changed, 70 insertions(+), 24 deletions(-)
diff --git a/pages/login/index.js b/pages/login/index.js
index 13b8484..cb0d932 100644
--- a/pages/login/index.js
+++ b/pages/login/index.js
@@ -58,6 +58,12 @@ Page({
const { token, ...user } = data
wx.setStorageSync('user', user)
wx.setStorageSync('token', data?.token)
+ // if (user.workStatus) {
+ // wx.redirectTo({
+ // url: '/pages/workBenchNew/index',
+ // })
+ // return
+ // }
wx.switchTab({
url: '/pages/home/index',
})
diff --git a/pages/readingHistory/index.js b/pages/readingHistory/index.js
index fe45b04..b545ad7 100644
--- a/pages/readingHistory/index.js
+++ b/pages/readingHistory/index.js
@@ -20,12 +20,13 @@ Page({
*/
onLoad(options) {
console.log("options", options)
- const { meter, park, routeId } = options;
+ const { meter, park, routeId, disabled } = options;
const that = this;
this.setData({
meter,
park,
routeId,
+ disabled
}, () => {
that.refresh();
})
diff --git a/pages/readingHistory/index.wxml b/pages/readingHistory/index.wxml
index f554a89..3fb5403 100644
--- a/pages/readingHistory/index.wxml
+++ b/pages/readingHistory/index.wxml
@@ -6,7 +6,7 @@
抄表记录历史
- 新增记录
+ 新增记录
@@ -28,8 +28,8 @@
-
-
+
+
diff --git a/pages/workBenchNew/components/workBenchReading/index.js b/pages/workBenchNew/components/workBenchReading/index.js
index 8343e19..6f02a68 100644
--- a/pages/workBenchNew/components/workBenchReading/index.js
+++ b/pages/workBenchNew/components/workBenchReading/index.js
@@ -53,9 +53,9 @@ Page({
})
},
jumpToReading(e) {
- const { id } = e.currentTarget.dataset;
+ const { id, type } = e.currentTarget.dataset;
wx.navigateTo({
- url: `/pages/writeReading/index?id=${id}`,
+ url: `/pages/writeReading/index?id=${id}&type=${type}`,
})
},
async changeStartStatus(e) {
@@ -73,14 +73,28 @@ Page({
}, 500)
},
async changeEndStatus(e) {
- const { id, routeid: routeId } = e.currentTarget.dataset;
- const { code, message } = await changeMeterRouteStatus({ id, status: 0, routeId })
- if (code !== OK) {
- alertError(message)
- return
- }
- alertSuccess("操作成功")
- this.init()
+ const that = this;
+ wx.showModal({
+ title: '提示',
+ content: '确认要结束吗?',
+ complete: async (res) => {
+ if (res.cancel) {
+
+ }
+
+ if (res.confirm) {
+ const { id, routeid: routeId } = e.currentTarget.dataset;
+ const { code, message } = await changeMeterRouteStatus({ id, status: 0, routeId })
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ alertSuccess("操作成功")
+ that.init()
+ }
+ }
+ })
+
},
/**
* 生命周期函数--监听页面加载
diff --git a/pages/workBenchNew/components/workBenchReading/index.wxml b/pages/workBenchNew/components/workBenchReading/index.wxml
index 1017fa0..e87ae64 100644
--- a/pages/workBenchNew/components/workBenchReading/index.wxml
+++ b/pages/workBenchNew/components/workBenchReading/index.wxml
@@ -31,7 +31,10 @@
wx:for="{{list}}"
wx:key="id"
title="{{item.readingRouteName}}"
- label="包含{{item.meterRoute}}个抄表点"
+ label="包含{{item.meterRoute}}个抄表点"
+ data-id="{{item.id}}"
+ data-type="look"
+ bind:click="jumpToReading"
>
开始抄表
去抄表
diff --git a/pages/workBenchNew/index.js b/pages/workBenchNew/index.js
index 82adef0..2857dc9 100644
--- a/pages/workBenchNew/index.js
+++ b/pages/workBenchNew/index.js
@@ -18,6 +18,10 @@ Page({
*/
onLoad(options) {
this.init()
+ const user = wx.getStorageSync('user')
+ this.setData({
+ workStatus: !!user.workStatus
+ })
},
async init() {
const { code, message, data } = await getWorkBenchHome()
diff --git a/pages/writeReading/components/meterInfo/index.js b/pages/writeReading/components/meterInfo/index.js
index 7548545..6bfc26f 100644
--- a/pages/writeReading/components/meterInfo/index.js
+++ b/pages/writeReading/components/meterInfo/index.js
@@ -7,6 +7,7 @@ Component({
properties: {
meterInfo: Object,
routeId: String,
+ disabled: Boolean,
},
/**
@@ -21,10 +22,10 @@ Component({
*/
methods: {
jumpToHistory() {
- const { meterInfo, routeId } = this.data;
+ const { meterInfo, routeId, disabled } = this.data;
console.log("meterInfo", meterInfo)
wx.navigateTo({
- url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.parkId}&routeId=${routeId}`,
+ url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.parkId}&routeId=${routeId}&disabled=${disabled}`,
})
},
}
diff --git a/pages/writeReading/components/readingInfo/index.js b/pages/writeReading/components/readingInfo/index.js
index bd192d4..1c7aa2d 100644
--- a/pages/writeReading/components/readingInfo/index.js
+++ b/pages/writeReading/components/readingInfo/index.js
@@ -15,7 +15,8 @@ Component({
meterInfo: Object,
showLeft: Boolean,
showRight: Boolean,
- routeId: String
+ routeId: String,
+ disabled: Boolean,
},
observers: {
"routeId": function(newValue) {
diff --git a/pages/writeReading/components/readingInfo/index.wxml b/pages/writeReading/components/readingInfo/index.wxml
index f3eaf9f..2233074 100644
--- a/pages/writeReading/components/readingInfo/index.wxml
+++ b/pages/writeReading/components/readingInfo/index.wxml
@@ -52,14 +52,15 @@
-
+
+ {{ meterInfo.buildingName || "-" }}
- 读数
+ 楼层
- {{meterInfo.overall}}
+ {{ meterInfo.floor || "-" }}
+
diff --git a/pages/writeReading/components/meterInfo/index.wxss b/pages/writeReading/components/meterInfo/index.wxss
index 6730339..acbe1a1 100644
--- a/pages/writeReading/components/meterInfo/index.wxss
+++ b/pages/writeReading/components/meterInfo/index.wxss
@@ -20,6 +20,15 @@
.info .title .address {
font-size: 36rpx;
font-weight: 800;
+ flex: 1;
+ margin-right: 24rpx;
+ word-break: break-all;
+}
+
+.info .title .meterType {
+ display: flex;
+ justify-content: end;
+ width: 180rpx;
}
.info .detail {
diff --git a/pages/writeReading/components/meterList/index.js b/pages/writeReading/components/meterList/index.js
index f65e7e7..b9f8031 100644
--- a/pages/writeReading/components/meterList/index.js
+++ b/pages/writeReading/components/meterList/index.js
@@ -23,7 +23,7 @@ Component({
if (newActive === 0) {
this.setData({ scrollLeft: 0 })
} else if (newActive > 0) {
- this.setData({ scrollLeft: 220 * newList.length - 20 })
+ this.setData({ scrollLeft: (220 * (newActive) - 20) + "rpx" })
}
const { scrollWidth } = this.data;
if (scrollWidth) {
@@ -114,7 +114,8 @@ Component({
// });
// },
- scrollLeft() {
+ handleScrollLeft() {
+ console.log("left--------------")
// 向左滚动:减少 scrollLeft,但不能小于0
const newScrollLeft = Math.max(0, this.data.scrollLeft - 200);
this.setData({
@@ -122,7 +123,8 @@ Component({
});
},
- scrollRight() {
+ handleScrollRight() {
+ console.log("right-----------------")
// 向右滚动:增加 scrollLeft,但不能超过 maxScrollLeft
const newScrollLeft = Math.min(this.data.maxScrollLeft, this.data.scrollLeft + 200);
this.setData({
diff --git a/pages/writeReading/components/meterList/index.wxml b/pages/writeReading/components/meterList/index.wxml
index 50a2799..151514e 100644
--- a/pages/writeReading/components/meterList/index.wxml
+++ b/pages/writeReading/components/meterList/index.wxml
@@ -5,13 +5,13 @@
电表列表 (总计{{list.length}}块,已抄{{list.length - finishNumber}}块)
-
+
-
+
-
diff --git a/pages/writeReading/components/readingInfo/index.js b/pages/writeReading/components/readingInfo/index.js
index 1c7aa2d..f24df5e 100644
--- a/pages/writeReading/components/readingInfo/index.js
+++ b/pages/writeReading/components/readingInfo/index.js
@@ -26,7 +26,7 @@ Component({
this.checkFinish(newValue)
},
"meterInfo": function(newValue) {
-
+ console.log("workStatus------------", newValue)
}
},
/**
diff --git a/pages/writeReading/index.wxml b/pages/writeReading/index.wxml
index 1b26358..faa425a 100644
--- a/pages/writeReading/index.wxml
+++ b/pages/writeReading/index.wxml
@@ -11,8 +11,9 @@
+
\ No newline at end of file
--
2.49.1
From 612dd4eac1b0471eaed33b32371d22bf28e377a3 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Sun, 28 Sep 2025 16:29:08 +0800
Subject: [PATCH 16/51] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=89=93=E5=8D=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/DateTimePicker/index.js | 1 -
pages/invoiceDetail/index.js | 1 -
pages/readingHistory/components/editModal/index.js | 2 --
pages/readingHistory/index.js | 1 -
pages/writeReading/components/meterInfo/index.js | 1 -
pages/writeReading/components/meterList/index.js | 3 ---
pages/writeReading/components/photo/index.js | 2 --
pages/writeReading/components/readingInfo/index.js | 3 ---
service/public.js | 1 -
utils/request.js | 1 -
10 files changed, 16 deletions(-)
diff --git a/components/DateTimePicker/index.js b/components/DateTimePicker/index.js
index 04b5376..e0d3960 100644
--- a/components/DateTimePicker/index.js
+++ b/components/DateTimePicker/index.js
@@ -12,7 +12,6 @@ Component({
},
// observers: {
// time: function(newValue) {
- // console.log("time newValue", newValue)
// if (!newValue) {
// return;
// }
diff --git a/pages/invoiceDetail/index.js b/pages/invoiceDetail/index.js
index 8414c5c..0a71aa9 100644
--- a/pages/invoiceDetail/index.js
+++ b/pages/invoiceDetail/index.js
@@ -87,7 +87,6 @@ Page({
},
fail: function (e) {
// alertError("打开失败")
- // console.log('打开失败错误为', e)
wx.showModal({
title: '提示',
content: '打开失败,请复制链接后通过浏览器打开',
diff --git a/pages/readingHistory/components/editModal/index.js b/pages/readingHistory/components/editModal/index.js
index c8fd43c..4511a8b 100644
--- a/pages/readingHistory/components/editModal/index.js
+++ b/pages/readingHistory/components/editModal/index.js
@@ -23,7 +23,6 @@ Component({
},
observers: {
"timeProps": function(newValue) {
- // console.log("newValue", newValue)
this.setData({
time: newValue,
// startTime: newValue
@@ -87,7 +86,6 @@ Component({
alertSuccess("录入成功")
this.setData({ number: null, time: null, startTime: null })
} else {
- console.log("timeProps", timeProps)
const { code, message } = await updateReading(park, meter, new Date(timeProps).getTime() * 1000, {
overall: `${number}`,
flat: `${number}`,
diff --git a/pages/readingHistory/index.js b/pages/readingHistory/index.js
index b545ad7..f118ece 100644
--- a/pages/readingHistory/index.js
+++ b/pages/readingHistory/index.js
@@ -19,7 +19,6 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
- console.log("options", options)
const { meter, park, routeId, disabled } = options;
const that = this;
this.setData({
diff --git a/pages/writeReading/components/meterInfo/index.js b/pages/writeReading/components/meterInfo/index.js
index 6bfc26f..be37581 100644
--- a/pages/writeReading/components/meterInfo/index.js
+++ b/pages/writeReading/components/meterInfo/index.js
@@ -23,7 +23,6 @@ Component({
methods: {
jumpToHistory() {
const { meterInfo, routeId, disabled } = this.data;
- console.log("meterInfo", meterInfo)
wx.navigateTo({
url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.parkId}&routeId=${routeId}&disabled=${disabled}`,
})
diff --git a/pages/writeReading/components/meterList/index.js b/pages/writeReading/components/meterList/index.js
index b9f8031..9c42753 100644
--- a/pages/writeReading/components/meterList/index.js
+++ b/pages/writeReading/components/meterList/index.js
@@ -108,14 +108,12 @@ Component({
},
// onScroll(e) {
// // 实时更新当前滚动位置,可用于更复杂的边界判断
- // console.log("e", e)
// this.setData({
// scrollLeft: e.detail.scrollLeft
// });
// },
handleScrollLeft() {
- console.log("left--------------")
// 向左滚动:减少 scrollLeft,但不能小于0
const newScrollLeft = Math.max(0, this.data.scrollLeft - 200);
this.setData({
@@ -124,7 +122,6 @@ Component({
},
handleScrollRight() {
- console.log("right-----------------")
// 向右滚动:增加 scrollLeft,但不能超过 maxScrollLeft
const newScrollLeft = Math.min(this.data.maxScrollLeft, this.data.scrollLeft + 200);
this.setData({
diff --git a/pages/writeReading/components/photo/index.js b/pages/writeReading/components/photo/index.js
index ae4ca6e..93839f7 100644
--- a/pages/writeReading/components/photo/index.js
+++ b/pages/writeReading/components/photo/index.js
@@ -30,8 +30,6 @@ Component({
mediaType: ['image'],
sourceType: ['album', 'camera'],
success: async function(res) {
- // console.log(res.tempFiles[0].tempFilePath)
- // console.log(res.tempFiles[0].size)
wx.cropImage({
src: res.tempFiles[0].tempFilePath, // 图片路径
cropScale: '16:9', // 裁剪比例
diff --git a/pages/writeReading/components/readingInfo/index.js b/pages/writeReading/components/readingInfo/index.js
index f24df5e..bd56a56 100644
--- a/pages/writeReading/components/readingInfo/index.js
+++ b/pages/writeReading/components/readingInfo/index.js
@@ -25,9 +25,6 @@ Component({
}
this.checkFinish(newValue)
},
- "meterInfo": function(newValue) {
- console.log("workStatus------------", newValue)
- }
},
/**
* 组件的初始数据
diff --git a/service/public.js b/service/public.js
index e3cf9f8..4b9d431 100644
--- a/service/public.js
+++ b/service/public.js
@@ -34,7 +34,6 @@ export const uploadOcrFile = (filePath) => {
authorization: 'Bearer ' + wx.getStorageSync("token")
},
success: (res) => {
- console.log("res", res)
resolve(res?.data ? JSON.parse(res?.data) : res?.data);
},
fail: (err) => {
diff --git a/utils/request.js b/utils/request.js
index 5418e6f..3a66981 100644
--- a/utils/request.js
+++ b/utils/request.js
@@ -146,7 +146,6 @@ const CUD = async function (method, uri, data = null) {
options.data = data;
}
const response = await request(options);
- console.log("response---------",response)
return parseResponse(response);
};
--
2.49.1
From 5e2b2dcfda5d20f52dd2e7e627c31a171ea6cd62 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Fri, 10 Oct 2025 14:10:50 +0800
Subject: [PATCH 17/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B7=A5=E4=BD=9C?=
=?UTF-8?q?=E5=8F=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/login/index.js | 13 +++++++------
pages/workBenchNew/index.js | 5 +++++
pages/workBenchNew/index.json | 3 ++-
pages/workBenchNew/index.wxml | 5 ++++-
pages/workBenchNew/index.wxss | 4 ++++
utils/request.js | 2 --
6 files changed, 22 insertions(+), 10 deletions(-)
diff --git a/pages/login/index.js b/pages/login/index.js
index cb0d932..2dcd977 100644
--- a/pages/login/index.js
+++ b/pages/login/index.js
@@ -58,12 +58,13 @@ Page({
const { token, ...user } = data
wx.setStorageSync('user', user)
wx.setStorageSync('token', data?.token)
- // if (user.workStatus) {
- // wx.redirectTo({
- // url: '/pages/workBenchNew/index',
- // })
- // return
- // }
+ console.log("user.workStatus", user.workStatus)
+ if (user.workStatus) {
+ wx.redirectTo({
+ url: '/pages/workBenchNew/index',
+ })
+ return
+ }
wx.switchTab({
url: '/pages/home/index',
})
diff --git a/pages/workBenchNew/index.js b/pages/workBenchNew/index.js
index 2857dc9..a5333ab 100644
--- a/pages/workBenchNew/index.js
+++ b/pages/workBenchNew/index.js
@@ -56,6 +56,11 @@ Page({
url: '/pages/workBenchNew/components/workBenchReading/index',
})
},
+ jumpToHome() {
+ wx.switchTab({
+ url: '/pages/home/index',
+ })
+ },
/**
* 生命周期函数--监听页面初次渲染完成
*/
diff --git a/pages/workBenchNew/index.json b/pages/workBenchNew/index.json
index 4a01b10..de4f579 100644
--- a/pages/workBenchNew/index.json
+++ b/pages/workBenchNew/index.json
@@ -2,7 +2,8 @@
"usingComponents": {
"navigator": "/components/navigator/index",
"van-row": "@vant/weapp/row/index",
- "van-col": "@vant/weapp/col/index"
+ "van-col": "@vant/weapp/col/index",
+ "van-button": "@vant/weapp/button/index"
},
"navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/pages/workBenchNew/index.wxml b/pages/workBenchNew/index.wxml
index 632c286..3bc02fb 100644
--- a/pages/workBenchNew/index.wxml
+++ b/pages/workBenchNew/index.wxml
@@ -1,5 +1,5 @@
-
+
@@ -74,4 +74,7 @@
+
+ 回到首页
+
\ No newline at end of file
diff --git a/pages/workBenchNew/index.wxss b/pages/workBenchNew/index.wxss
index 2386856..421c238 100644
--- a/pages/workBenchNew/index.wxss
+++ b/pages/workBenchNew/index.wxss
@@ -41,4 +41,8 @@
page {
background-color: rgb(242,243,245);
+}
+
+.operate {
+ padding-bottom: 24rpx;
}
\ No newline at end of file
diff --git a/utils/request.js b/utils/request.js
index 3a66981..15be215 100644
--- a/utils/request.js
+++ b/utils/request.js
@@ -44,7 +44,6 @@ const request = async function (options, config = {}) {
const setCookie = response.header['set-cookie'] || response.header['Set-Cookie'];
if (setCookie) {
const cookieMap = {};
-
if (localCookieString) {
const localCookies = localCookieString.split('; ');
for (const localCookie of localCookies) {
@@ -93,7 +92,6 @@ const parseResponse = function (response, url) {
alertError("服务错误")
return
}
- console.log('url', url,'statusCode', statusCode, 'response.data', response?.data)
if (code === 401) {
const currentUrl = getPageUrl()
--
2.49.1
From 253572002324108826e60d89767d9a694b973398 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Sat, 11 Oct 2025 15:37:16 +0800
Subject: [PATCH 18/51] =?UTF-8?q?=E7=BB=91=E5=AE=9A=E7=94=B5=E8=A1=A8?=
=?UTF-8?q?=E5=92=8C=E8=A7=A3=E7=BB=91=E7=94=B5=E8=A1=A8=E7=9A=84=E6=97=B6?=
=?UTF-8?q?=E5=80=99=E5=88=9D=E5=A7=8B=E4=BC=A0=E5=B0=96=E5=B3=B0=E5=B9=B3?=
=?UTF-8?q?=E8=B0=B7=E5=92=8C=E4=BF=9D=E5=AD=98=E7=9A=84=E6=97=B6=E5=80=99?=
=?UTF-8?q?=E4=BC=A0=E5=B9=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../workBenchTenement/components/bindMeter/index.js | 10 ++++++++--
.../workBenchTenement/components/bindMeter/index.wxml | 4 ++--
.../workBenchTenement/components/unBindMeter/index.js | 8 +++++++-
.../components/unBindMeter/index.wxml | 4 ++--
.../components/workBenchTenement/index.wxml | 2 ++
5 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
index 0ad9d61..caba95d 100644
--- a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
+++ b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
@@ -64,7 +64,7 @@ Component({
})
},
async onSubmit() {
- const { overall, critical, peak, valley, park, tenement, meter, readAt } = this.data;
+ const { overall, critical, peak, valley, park, tenement, meter, readAt, flat } = this.data;
const { code, message } = await bindMeter(
park,
tenement,
@@ -73,6 +73,7 @@ Component({
overall:overall? Number(overall) : overall,
critical : critical ? Number(critical) : critical,
peak: peak ? Number(peak) : peak,
+ flat: flat ? Number(flat) : flat,
valley : valley ? Number(valley) : valley,
readAt: readAt || dayjs().format('YYYY-MM-DD HH:mm:ss')
}
@@ -106,7 +107,12 @@ Component({
}
this.setData({
overall: Number(data?.overall || 0),
- status: data?.breakType ? '合闸' : "分闸"
+ critical: Number(data?.sharp || 0),
+ peak: Number(data?.peak || 0),
+ flat: Number(data?.flat || 0),
+ valley: Number(data?.valley || 0),
+ meter04kvType: data?.meter04kvType,
+ status: data?.breakType ? '合闸' : "分闸",
})
},
dateTimeConfirm(e) {
diff --git a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml
index 0e2ed30..42bd669 100644
--- a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml
+++ b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml
@@ -82,12 +82,12 @@
type="digit"
/>
diff --git a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js
index ebdda83..7ee64fc 100644
--- a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js
+++ b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js
@@ -56,6 +56,11 @@ Component({
}
this.setData({
overall: Number(data?.overall || 0),
+ critical: Number(data?.sharp || 0),
+ peak: Number(data?.peak || 0),
+ flat: Number(data?.flat || 0),
+ valley: Number(data?.valley || 0),
+ meter04kvType: data?.meter04kvType,
status: data?.breakType ? '合闸' : "分闸"
})
},
@@ -69,7 +74,7 @@ Component({
})
},
async onSubmit() {
- const { overall, critical, peak, valley, park, tenement, meterId,readAt } = this.data;
+ const { overall, critical, peak, valley, park, tenement, meterId,readAt, flat } = this.data;
const { code, message, } = await unbindMeter(
park,
tenement,
@@ -78,6 +83,7 @@ Component({
overall:overall? Number(overall) : overall,
critical : critical ? Number(critical) : critical,
peak: peak ? Number(peak) : peak,
+ flat: flat ? Number(flat) : flat,
valley : valley ? Number(valley) : valley,
readAt: readAt || dayjs().format('YYYY-MM-DD HH:mm:ss')
});
diff --git a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxml b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxml
index 7a9952f..a4c37fc 100644
--- a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxml
+++ b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxml
@@ -70,12 +70,12 @@
type="number"
/>
diff --git a/pages/workBenchNew/components/workBenchTenement/index.wxml b/pages/workBenchNew/components/workBenchTenement/index.wxml
index ab67b7e..bf34e00 100644
--- a/pages/workBenchNew/components/workBenchTenement/index.wxml
+++ b/pages/workBenchNew/components/workBenchTenement/index.wxml
@@ -118,6 +118,7 @@
Date: Tue, 28 Oct 2025 14:25:59 +0800
Subject: [PATCH 19/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A7=A3=E7=BB=91?=
=?UTF-8?q?=E8=A1=A8=E7=9A=84=E6=97=B6=E5=80=99=E8=AF=BB=E6=95=B0=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=EF=BC=8C=E6=8A=84=E8=A1=A8=E8=B7=AF=E7=BA=BF=E7=9A=84?=
=?UTF-8?q?=E6=8A=84=E8=A1=A8=E8=AE=B0=E5=BD=95=E5=8F=AF=E4=BB=A5=E6=9F=A5?=
=?UTF-8?q?=E7=9C=8B=E5=9B=BE=E7=89=87?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/searchSelect/index.js | 9 +--
.../components/detailModal/index.js | 30 +++++++++
.../components/detailModal/index.json | 9 +++
.../components/detailModal/index.wxml | 64 +++++++++++++++++++
.../components/detailModal/index.wxss | 1 +
pages/readingHistory/index.js | 7 ++
pages/readingHistory/index.json | 3 +-
pages/readingHistory/index.wxml | 14 ++--
.../components/workBenchReading/index.js | 38 ++++++++++-
.../components/bindMeter/index.js | 10 +--
.../components/bindMeter/index.wxml | 1 +
.../components/unBindMeter/index.js | 10 +--
pages/writeReading/components/photo/index.js | 4 +-
.../components/readingInfo/index.js | 8 ++-
project.private.config.json | 14 ++++
service/meter.js | 4 +-
16 files changed, 197 insertions(+), 29 deletions(-)
create mode 100644 pages/readingHistory/components/detailModal/index.js
create mode 100644 pages/readingHistory/components/detailModal/index.json
create mode 100644 pages/readingHistory/components/detailModal/index.wxml
create mode 100644 pages/readingHistory/components/detailModal/index.wxss
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index c75c854..b17ab7f 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -18,9 +18,10 @@ Component({
show: Boolean,
park: String,
isBack: Boolean,
+ filterBind: Boolean,
},
observers: {
- "show,type": function(newShow, newType) {
+ "show,type,filterBind": function(newShow, newType) {
if (newShow && newType) {
this.onSearch()
}
@@ -96,7 +97,7 @@ Component({
this.triggerEvent("confirm", { data: item, way: index, type } );
},
onSearch() {
- const { type } = this.data;
+ const { type, bind, filterBind } = this.data;
switch(type) {
case "park":
this.onSearchPark();
@@ -125,8 +126,8 @@ Component({
})
},
async onSearchMeter() {
- const { searchText = "", park } = this.data;
- const { code, message, data: parks = [] } = await getParkSimpleMeterList({keyword: searchText, park});
+ const { searchText = "", park, filterBind } = this.data;
+ const { code, message, data: parks = [] } = await getParkSimpleMeterList({keyword: searchText, park, isNeedBind: !filterBind});
if (code !== OK) {
alertInfo(message)
return
diff --git a/pages/readingHistory/components/detailModal/index.js b/pages/readingHistory/components/detailModal/index.js
new file mode 100644
index 0000000..b634b90
--- /dev/null
+++ b/pages/readingHistory/components/detailModal/index.js
@@ -0,0 +1,30 @@
+// pages/readingHistory/components/detailModal/index.js
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ visible: Boolean,
+ detail: Object,
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ showImage() {
+ this.setData({ show: true })
+ },
+ onClose() {
+ this.setData({ show: false })
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/readingHistory/components/detailModal/index.json b/pages/readingHistory/components/detailModal/index.json
new file mode 100644
index 0000000..e3239c8
--- /dev/null
+++ b/pages/readingHistory/components/detailModal/index.json
@@ -0,0 +1,9 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-dialog": "@vant/weapp/dialog/index",
+ "van-field": "@vant/weapp/field/index",
+ "van-image": "@vant/weapp/image/index",
+ "van-popup": "@vant/weapp/popup/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/readingHistory/components/detailModal/index.wxml b/pages/readingHistory/components/detailModal/index.wxml
new file mode 100644
index 0000000..18e1335
--- /dev/null
+++ b/pages/readingHistory/components/detailModal/index.wxml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/readingHistory/components/detailModal/index.wxss b/pages/readingHistory/components/detailModal/index.wxss
new file mode 100644
index 0000000..4da0fd5
--- /dev/null
+++ b/pages/readingHistory/components/detailModal/index.wxss
@@ -0,0 +1 @@
+/* pages/readingHistory/components/detailModal/index.wxss */
\ No newline at end of file
diff --git a/pages/readingHistory/index.js b/pages/readingHistory/index.js
index f118ece..69586c7 100644
--- a/pages/readingHistory/index.js
+++ b/pages/readingHistory/index.js
@@ -104,6 +104,13 @@ Page({
type: "edit",
})
},
+ handleDetail(e) {
+ const { data } = e.currentTarget.dataset;
+ this.setData({
+ detail: data,
+ detailVisible: true
+ })
+ },
handleDelete(e) {
const { data } = e.currentTarget.dataset;
const that = this;
diff --git a/pages/readingHistory/index.json b/pages/readingHistory/index.json
index ea7b734..aed3603 100644
--- a/pages/readingHistory/index.json
+++ b/pages/readingHistory/index.json
@@ -6,7 +6,8 @@
"van-icon": "@vant/weapp/icon/index",
"editModal": "./components/editModal/index",
"pagination": "/components/pagination/index",
- "empty": "/components/empty/index"
+ "empty": "/components/empty/index",
+ "detailModal": "./components/detailModal/index"
},
"navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/pages/readingHistory/index.wxml b/pages/readingHistory/index.wxml
index 3fb5403..e005fff 100644
--- a/pages/readingHistory/index.wxml
+++ b/pages/readingHistory/index.wxml
@@ -14,8 +14,8 @@
抄表时间
- 抄表读数
- 操作
+ 抄表读数
+ 操作
@@ -23,13 +23,14 @@
{{ item.readAt }}
-
+
{{ item.overall }}
-
+
+
@@ -58,4 +59,9 @@
bind:ok="onEditFinish"
startTime="{{startTime}}"
routeId="{{routeId}}"
+/>
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchReading/index.js b/pages/workBenchNew/components/workBenchReading/index.js
index 6f02a68..b19578d 100644
--- a/pages/workBenchNew/components/workBenchReading/index.js
+++ b/pages/workBenchNew/components/workBenchReading/index.js
@@ -1,5 +1,5 @@
// pages/workBenchNew/components/workBenchReading/index.js
-import { getMeterReadingRouteList, changeMeterRouteStatus } from "../../../../service/workBench"
+import { getMeterReadingRouteList, changeMeterRouteStatus, checkReadingFinish } from "../../../../service/workBench"
import { alertError, alertSuccess, loadingFunc } from "../../../../utils/index"
import request from "../../../../utils/request"
const { OK } = request
@@ -72,6 +72,10 @@ Page({
that.jumpToReading({ currentTarget: { dataset: { id } } })
}, 500)
},
+ // async checkFinish(id) {
+
+ // return {data, num};
+ // },
async changeEndStatus(e) {
const that = this;
wx.showModal({
@@ -83,10 +87,38 @@ Page({
}
if (res.confirm) {
- const { id, routeid: routeId } = e.currentTarget.dataset;
- const { code, message } = await changeMeterRouteStatus({ id, status: 0, routeId })
+ const { id, routeid: routeId } = e.currentTarget.dataset;
+ const { code, message, data, num } = await checkReadingFinish(id || this.data.routeId);
if (code !== OK) {
alertError(message)
+ return;
+ }
+ console.log("data", data, "num", num)
+ if (!data) {
+ wx.showModal({
+ title: '提示',
+ content: `该路线还有${num}块电表还没有抄完,是否确认结束结束抄表?`,
+ complete: async (res) => {
+ if (res.cancel) {
+
+ }
+
+ if (res.confirm) {
+ const { code: cd, message } = await changeMeterRouteStatus({ id, status: 0, routeId })
+ if (cd !== OK) {
+ alertError(message)
+ return
+ }
+ alertSuccess("操作成功")
+ that.init()
+ }
+ }
+ })
+ return
+ }
+ const { code: c, message: m } = await changeMeterRouteStatus({ id, status: 0, routeId })
+ if (c !== OK) {
+ alertError(m)
return
}
alertSuccess("操作成功")
diff --git a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
index caba95d..e95ab06 100644
--- a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
+++ b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
@@ -106,11 +106,11 @@ Component({
return;
}
this.setData({
- overall: Number(data?.overall || 0),
- critical: Number(data?.sharp || 0),
- peak: Number(data?.peak || 0),
- flat: Number(data?.flat || 0),
- valley: Number(data?.valley || 0),
+ overall: data?.overall ? Number(data?.overall || 0) : null,
+ critical: data?.overall ? Number(data?.sharp || 0) : null,
+ peak: data?.overall ? Number(data?.peak || 0) : null,
+ flat: data?.overall ? Number(data?.flat || 0) : null,
+ valley: data?.overall ? Number(data?.valley || 0) : null,
meter04kvType: data?.meter04kvType,
status: data?.breakType ? '合闸' : "分闸",
})
diff --git a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml
index 42bd669..e194707 100644
--- a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml
+++ b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml
@@ -112,6 +112,7 @@
park="{{park}}"
bindconfirm="onConfirm"
bindcancel="onCancel"
+ filterBind="{{true}}"
/>
{
- const { code, message, data } = await uploadOcrFile(tempFilePaths)
+ const { code, message, data, url } = await uploadOcrFile(tempFilePaths)
if (code !== OK) {
alertError(message)
return
}
setTimeout(() => {
- that.triggerEvent("finish", { number: data?.integer + "." + data?.decimal || 0, success: data?.integer != null && data?.integer !== "" })
+ that.triggerEvent("finish", { number: data?.integer + "." + data?.decimal || 0, success: data?.integer != null && data?.integer !== "", url })
}, 100)
})
diff --git a/pages/writeReading/components/readingInfo/index.js b/pages/writeReading/components/readingInfo/index.js
index bd56a56..95fcfa4 100644
--- a/pages/writeReading/components/readingInfo/index.js
+++ b/pages/writeReading/components/readingInfo/index.js
@@ -72,13 +72,14 @@ Component({
wx.navigateBack()
},
onPhotoFinish(e) {
- const { number, success } = e.detail;
+ const { number, success, url } = e.detail;
const { meterInfo } = this.data;
if (success) {
this.setData({
currentNumber: `${Number(number)}`,
calcNumber: isNaN(Number(number)) ? 0 : Number(number),
- diff: isNaN(Number(number)) ? "-" : (Number(number || 0) - Number(meterInfo.overall)).toFixed(2)
+ diff: isNaN(Number(number)) ? "-" : (Number(number || 0) - Number(meterInfo.overall)).toFixed(2),
+ url,
})
alertSuccess("获取成功")
} else {
@@ -86,13 +87,14 @@ Component({
}
},
async onSubmit() {
- const { meterInfo, currentNumber, routeId } = this.data;
+ const { meterInfo, currentNumber, routeId, url } = this.data;
const { parkId, id } = meterInfo;
const { code, message } = await createReading(parkId, id, routeId, {
overall: `${currentNumber}`,
flat: `${currentNumber}`,
readAt: dayjs().format("YYYY-MM-DD HH:mm:ss"),
source: 1,
+ url
})
if (code !== OK) {
alertError(message)
diff --git a/project.private.config.json b/project.private.config.json
index c2f655c..424d3b1 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -23,6 +23,20 @@
"condition": {
"miniprogram": {
"list": [
+ {
+ "name": "pages/readingHistory/index",
+ "pathName": "pages/readingHistory/index",
+ "query": "meter=METER00114674412879874&park=P00114672412196865&routeId=PR00121172392214529&disabled=false",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
+ "name": "pages/workBenchNew/components/workBenchTenement/index",
+ "pathName": "pages/workBenchNew/components/workBenchTenement/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
{
"name": "pages/workBenchNew/components/workBenchReading/index",
"pathName": "pages/workBenchNew/components/workBenchReading/index",
diff --git a/service/meter.js b/service/meter.js
index 14d3b57..eb864da 100644
--- a/service/meter.js
+++ b/service/meter.js
@@ -23,8 +23,8 @@ export const getParkMeterList = async function({park = "", keyword = "", page =
}
// 获取某一园区下的简洁电表列表
-export const getParkSimpleMeterList = async function({park = "", keyword = "", page = 1}) {
- return await GET(`/work/getWorkMeter?page=${page}&park=${park}&keyword=${replaceSpecialIcon(keyword)}`);
+export const getParkSimpleMeterList = async function({park = "", keyword = "", page = 1, isNeedBind}) {
+ return await GET(`/work/getWorkMeter?page=${page}&park=${park}&keyword=${replaceSpecialIcon(keyword)}&isNeedBind=${isNeedBind}`);
}
--
2.49.1
From 15393049996de97c590e5a13c3e66e27d16938ea Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Mon, 3 Nov 2025 16:26:30 +0800
Subject: [PATCH 20/51] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E8=81=94=E8=B0=83?=
=?UTF-8?q?=E8=A3=85=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app.json | 6 +-
components/searchSelect/index.js | 76 +++-
components/searchSelect/index.wxml | 10 +
components/searchSelectWrapper/index.js | 6 +-
components/searchSelectWrapper/index.wxml | 9 +-
components/searchSelectWrapper/index.wxss | 11 +-
.../components/installMeter/index.js | 379 ++++++++++++++++++
.../components/installMeter/index.json | 12 +
.../components/installMeter/index.wxml | 181 +++++++++
.../components/installMeter/index.wxss | 15 +
.../components/operateButton/index.js | 27 ++
.../components/operateButton/index.json | 4 +
.../components/operateButton/index.wxml | 2 +
.../components/operateButton/index.wxss | 12 +
.../workBenchNew/components/recharge/index.js | 192 +++++++++
.../components/recharge/index.json | 11 +
.../components/recharge/index.wxml | 51 +++
.../components/recharge/index.wxss | 1 +
.../components/uninstallMeter/index.js | 173 ++++++++
.../components/uninstallMeter/index.json | 11 +
.../components/uninstallMeter/index.wxml | 75 ++++
.../components/uninstallMeter/index.wxss | 15 +
.../components/workBenchApprove/index.wxml | 9 +-
pages/workBenchNew/index.js | 15 +
pages/workBenchNew/index.json | 3 +-
pages/workBenchNew/index.wxml | 59 ++-
pages/workBenchNew/index.wxss | 2 +-
pages/workBenchTodoList/index.js | 66 +++
pages/workBenchTodoList/index.json | 13 +
pages/workBenchTodoList/index.wxml | 12 +
pages/workBenchTodoList/index.wxss | 1 +
project.private.config.json | 85 +---
service/meter.js | 27 ++
service/public.js | 20 +
utils/data.js | 4 +-
35 files changed, 1495 insertions(+), 100 deletions(-)
create mode 100644 pages/workBenchNew/components/installMeter/index.js
create mode 100644 pages/workBenchNew/components/installMeter/index.json
create mode 100644 pages/workBenchNew/components/installMeter/index.wxml
create mode 100644 pages/workBenchNew/components/installMeter/index.wxss
create mode 100644 pages/workBenchNew/components/operateButton/index.js
create mode 100644 pages/workBenchNew/components/operateButton/index.json
create mode 100644 pages/workBenchNew/components/operateButton/index.wxml
create mode 100644 pages/workBenchNew/components/operateButton/index.wxss
create mode 100644 pages/workBenchNew/components/recharge/index.js
create mode 100644 pages/workBenchNew/components/recharge/index.json
create mode 100644 pages/workBenchNew/components/recharge/index.wxml
create mode 100644 pages/workBenchNew/components/recharge/index.wxss
create mode 100644 pages/workBenchNew/components/uninstallMeter/index.js
create mode 100644 pages/workBenchNew/components/uninstallMeter/index.json
create mode 100644 pages/workBenchNew/components/uninstallMeter/index.wxml
create mode 100644 pages/workBenchNew/components/uninstallMeter/index.wxss
create mode 100644 pages/workBenchTodoList/index.js
create mode 100644 pages/workBenchTodoList/index.json
create mode 100644 pages/workBenchTodoList/index.wxml
create mode 100644 pages/workBenchTodoList/index.wxss
diff --git a/app.json b/app.json
index eb05e51..3d9a873 100644
--- a/app.json
+++ b/app.json
@@ -42,7 +42,11 @@
"pages/workBenchNew/components/workBenchTenement/index",
"pages/workBenchNew/components/workBenchApprove/index",
"pages/workBenchNew/components/workBenchWxUser/index",
- "pages/workBenchNew/components/workBenchReading/index"
+ "pages/workBenchNew/components/workBenchReading/index",
+ "pages/workBenchNew/components/recharge/index",
+ "pages/workBenchNew/components/installMeter/index",
+ "pages/workBenchNew/components/uninstallMeter/index",
+ "pages/workBenchTodoList/index"
],
"subPackages": [
{
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index b17ab7f..65f64df 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -1,8 +1,8 @@
import { getLoginParkList, getParkBuildingList } from "../../service/park"
-import { getParkSimpleMeterList } from "../../service/meter"
+import { getParkSimpleMeterList, getParkBoxList, getCardList, getCollectionList, getInventoryMeter } from "../../service/meter"
import { alertInfo } from "../../utils/index";
import request from "../../utils/request"
-import { payWays, feeType } from "../../utils/data";
+import { payWays, feeType, meterType } from "../../utils/data";
import { getTenementList, getWxTenementList } from "../../service/tenement";
const { OK } = request;
@@ -35,6 +35,7 @@ Component({
searchText: "",
payWays,
feeType,
+ meterType
},
lifetimes: {
attached() {
@@ -96,6 +97,17 @@ Component({
})
this.triggerEvent("confirm", { data: item, way: index, type } );
},
+ onMeterTypeConfirm(event) {
+ const { index } = event.detail;
+ const { meterType = [], type } = this.data;
+ const item = meterType[index];
+ this.setData({
+ columns: [],
+ list: [],
+ searchText: ""
+ })
+ this.triggerEvent("confirm", { data: item, way: index, type } );
+ },
onSearch() {
const { type, bind, filterBind } = this.data;
switch(type) {
@@ -105,12 +117,24 @@ Component({
case "meter":
this.onSearchMeter();
return
+ case "inventoryMeter":
+ this.onSearchInventoryMeter();
+ return
case "tenement":
this.onSearchTenement();
return;
case "building":
this.onSearchBuilding();
return;
+ case "meterBox":
+ this.onSearchMeterBox();
+ return;
+ case "card":
+ this.onSearchCard();
+ return;
+ case "collection":
+ this.onSearchCollection();
+ return;
}
},
async onSearchPark() {
@@ -125,6 +149,18 @@ Component({
list: parks,
})
},
+ async onSearchCollection() {
+ const { searchText = "" } = this.data;
+ const { code, message, data: parks = [] } = await getCollectionList({keyword: searchText, page: 1});
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ this.setData({
+ columns: parks?.map(item => item?.name),
+ list: parks,
+ })
+ },
async onSearchMeter() {
const { searchText = "", park, filterBind } = this.data;
const { code, message, data: parks = [] } = await getParkSimpleMeterList({keyword: searchText, park, isNeedBind: !filterBind});
@@ -137,6 +173,18 @@ Component({
list: parks || [],
})
},
+ async onSearchInventoryMeter() {
+ const { searchText = "", park, filterBind } = this.data;
+ const { code, message, data: parks = [] } = await getInventoryMeter({keyword: searchText, park, isNeedBind: !filterBind});
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ this.setData({
+ columns: parks?.map(item => `${item.sn}`) || [],
+ list: parks || [],
+ })
+ },
async onSearchTenement() {
const { searchText = "", park, isBack } = this.data;
const { code, message, data = [] } = isBack ? await getWxTenementList({keyword: searchText, park}) : await getTenementList({keyword: searchText, park});
@@ -161,6 +209,30 @@ Component({
list: data,
})
},
+ async onSearchMeterBox() {
+ const { park } = this.data;
+ const { code, message, data = [] } = await getParkBoxList({park});
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ this.setData({
+ columns: data?.length ? data?.map(item => item?.address) : [],
+ list: data,
+ })
+ },
+ async onSearchCard() {
+ const { park } = this.data;
+ const { code, message, data = [] } = await getCardList({park});
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ this.setData({
+ columns: data?.length ? data?.map(item => item?.sim_number) : [],
+ list: data,
+ })
+ }
}
})
diff --git a/components/searchSelect/index.wxml b/components/searchSelect/index.wxml
index 6f4c8bc..55957fe 100644
--- a/components/searchSelect/index.wxml
+++ b/components/searchSelect/index.wxml
@@ -26,6 +26,16 @@
bind:confirm="onFeeTypeConfirm"
/>
+
+
+
- {{ label }}
+ *{{ label }}
{{placeholder}}
{{text}}
@@ -32,4 +32,11 @@
custom-style="padding: 0;font-size: 30rpx;line-height: 32rpx;"
/>
+
+
+
+ {{ label }}
+
+
+
\ No newline at end of file
diff --git a/components/searchSelectWrapper/index.wxss b/components/searchSelectWrapper/index.wxss
index cd7bdc4..523629c 100644
--- a/components/searchSelectWrapper/index.wxss
+++ b/components/searchSelectWrapper/index.wxss
@@ -8,7 +8,7 @@
.content {
flex: 1;
- margin-left: 30rpx;
+ margin-left: 20rpx;
margin-right: 30rpx;
display: flex;
padding: 10rpx 20rpx;
@@ -19,7 +19,7 @@
.inputContent {
flex: 1;
- margin-left: 30rpx;
+ margin-left: 20rpx;
margin-right: 30rpx;
display: flex;
padding: 0 20rpx;
@@ -33,5 +33,10 @@
}
.label {
- width: 120rpx;
+ width: 130rpx;
+}
+
+.required {
+ color: rgb(209, 83, 25);
+ font-size: 30rpx;
}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
new file mode 100644
index 0000000..48fc9e5
--- /dev/null
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -0,0 +1,379 @@
+// pages/workBenchNew/components/createMeter/index.js
+import dayjs from "../../../../utils/dayjs"
+import { alertInfo, alertSuccess, loadingFunc } from "../../../../utils/index"
+import { uploadInstallMeter } from "../../../../service/public"
+import request from "../../../../utils/request"
+import { installMeter } from "../../../../service/meter"
+const { OK } = request
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ time: "",
+ area: "",
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+ this.setData({
+ time: dayjs().format("YYYY-MM-DD HH:mm:ss")
+ })
+ },
+ onParkFocus(e) {
+ this.setData({
+ show: true,
+ title: "园区",
+ type: 'park'
+ })
+ },
+ onMeterFocus(e) {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "电表",
+ type: 'inventoryMeter'
+ })
+ },
+ onBuildingFocus() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "建筑",
+ type: 'building'
+ })
+ },
+ clearImage() {
+ this.setData({
+ url: ""
+ })
+ },
+ onMeterBoxFocus() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "电表箱",
+ type: 'meterBox'
+ })
+ },
+ onMeterTypeFocus() {
+ this.setData({
+ show: true,
+ title: "电表类型",
+ type: 'meterType'
+ })
+ },
+ onBindCard() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "卡",
+ type: 'card'
+ })
+ },
+ onBindCollectionA() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "采集器A",
+ type: 'collection',
+ collection: "A"
+ })
+ },
+ onBindCollectionB() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "采集器B",
+ type: 'collection',
+ collection: "B"
+ })
+ },
+ onBindCollectionC() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "采集器C",
+ type: 'collection',
+ collection: "C"
+ })
+ },
+ uploadImage() {
+ const that = this;
+ wx.chooseMedia({
+ count: 1,
+ mediaType: ['image'],
+ sourceType: ['album', 'camera'],
+ success: async function(res) {
+ console.log("res", res)
+ const path = res.tempFiles?.[0]?.tempFilePath.toLowerCase()
+ if (!/(\.jpg|\.png|\.jpeg)$/.test(path)) {
+ wx.showToast({
+ title: '请上传jpg、png或jpeg格式的图片',
+ icon: 'none',
+ });
+ return;
+ }
+ var tempFilePaths = path;
+ loadingFunc(async () => {
+ const { code, message, url } = await uploadInstallMeter(tempFilePaths)
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ that.setData({
+ url: url
+ })
+ })
+ }
+ })
+ },
+ onConfirm(e) {
+ const { type, data = {} } = e.detail;
+ const {collection} = this.data;
+ switch(type) {
+ case "park":
+ this.setData({
+ park: data.id,
+ parkName: data.name,
+ })
+ break;
+ case "tenement":
+ this.setData({
+ tenement: data.id,
+ tenementName: data.name,
+ })
+ break;
+ case "inventoryMeter":
+ this.setData({
+ meter: data.id,
+ meterName: data?.sn,
+ })
+ break;
+ case "building":
+ this.setData({
+ building: data.id,
+ buildingName: data.name,
+ });
+ break;
+ case "meterBox":
+ this.setData({
+ meterBox: data.id,
+ meterBoxName: data.address,
+ });
+ break;
+ case "tenement":
+ this.setData({
+ tenement: data.id,
+ tenementName: data.name,
+ })
+ break;
+ case "meterType":
+ this.setData({
+ meterType: data.way,
+ meterTypeName: data,
+ });
+ break;
+ case "meter":
+ this.setData({
+ meter: data.id,
+ meterName: data.address,
+ });
+ break;
+ case "card":
+ this.setData({
+ card: data.id,
+ cardName: data.sim_number,
+ });
+ break;
+ case "collection":
+ let newData = {}
+ if (collection === "A") {
+ newData = {
+ collectionA: data.id,
+ collectionAName: data.name,
+ }
+ }
+ if (collection === "B") {
+ newData = {
+ collectionB: data.id,
+ collectionBName: data.name,
+ }
+ }
+ if (collection === "C") {
+ newData = {
+ collectionC: data.id,
+ collectionCName: data.name,
+ }
+ }
+ this.setData(newData);
+ break;
+ }
+ this.onCancel();
+ },
+ changeAddress(e) {
+ this.setData({
+ address: e.detail
+ })
+ },
+ changeArea(e) {
+ this.setData({
+ area: e.detail
+ })
+ },
+ changeOverall(e) {
+ this.setData({
+ overall: e.detail
+ })
+ },
+ changeSharp(e) {
+ this.setData({
+ sharp: e.detail
+ })
+ },
+ changePeak(e) {
+ this.setData({
+ sharp: e.detail
+ })
+ },
+ changeFlat(e) {
+ this.setData({
+ flat: e.detail
+ })
+ },
+ changeValley(e) {
+ this.setData({
+ valley: e.detail
+ })
+ },
+ changeRatio(e) {
+ this.setData({
+ ratio: e.detail,
+ })
+ },
+ onCancel() {
+ this.setData({
+ show: false,
+ title: "",
+ type: "",
+ })
+ },
+ onTenementFocus(e) {
+ const { park } = this.data;
+ const that = this;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "商户",
+ type: 'tenement'
+ })
+ },
+ async handleSubmit() {
+ const {
+ park, meter, address, building, meterBox, meterType,
+ ratio, area, card, collectionA, collectionB, collectionC,
+ tenement, sharp, peak, flat, valley, overall, url
+ } = this.data;
+ if (!park || !meter || !address) {
+ alertInfo("请填写必填项后保存")
+ return;
+ }
+ console.log("data", this.data)
+ const { code, data, message } = await installMeter({
+ park, meter, address, building, meterBox, meterType,
+ ratio, area, card, collectionA, collectionB, collectionC,
+ tenement, sharp, peak, flat, valley, overall, url
+ })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("新增成功")
+ },
+ goback() {
+ wx.navigateBack()
+ },
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/installMeter/index.json b/pages/workBenchNew/components/installMeter/index.json
new file mode 100644
index 0000000..e28e099
--- /dev/null
+++ b/pages/workBenchNew/components/installMeter/index.json
@@ -0,0 +1,12 @@
+{
+ "usingComponents": {
+ "navigator": "/components/navigator/index",
+ "van-popup": "@vant/weapp/popup/index",
+ "search-select": "/components/searchSelect/index",
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "van-image": "@vant/weapp/image/index",
+ "searchSelectWrapper": "/components/searchSelectWrapper/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/installMeter/index.wxml b/pages/workBenchNew/components/installMeter/index.wxml
new file mode 100644
index 0000000..1390b99
--- /dev/null
+++ b/pages/workBenchNew/components/installMeter/index.wxml
@@ -0,0 +1,181 @@
+
+
+
+
+
+ {{time}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+ 清除
+
+
+
+
+
+
+
+ 提交
+ 返回
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/installMeter/index.wxss b/pages/workBenchNew/components/installMeter/index.wxss
new file mode 100644
index 0000000..9af2e92
--- /dev/null
+++ b/pages/workBenchNew/components/installMeter/index.wxss
@@ -0,0 +1,15 @@
+/* pages/workBenchNew/components/createMeter/index.wxss */
+
+.operate {
+ display: flex;
+ padding-top: 24rpx;
+ padding-bottom: 36rpx;
+}
+
+.submit, .cancel {
+ flex: 1;
+}
+
+.submit {
+ margin-right: 30rpx;
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/operateButton/index.js b/pages/workBenchNew/components/operateButton/index.js
new file mode 100644
index 0000000..8ad1d7e
--- /dev/null
+++ b/pages/workBenchNew/components/operateButton/index.js
@@ -0,0 +1,27 @@
+// pages/workBenchNew/components/operateButton/index.js
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ text: String,
+ style: String,
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ handleClick() {
+ this.triggerEvent("click")
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/operateButton/index.json b/pages/workBenchNew/components/operateButton/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/pages/workBenchNew/components/operateButton/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/operateButton/index.wxml b/pages/workBenchNew/components/operateButton/index.wxml
new file mode 100644
index 0000000..e58adc9
--- /dev/null
+++ b/pages/workBenchNew/components/operateButton/index.wxml
@@ -0,0 +1,2 @@
+
+ {{ text }}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/operateButton/index.wxss b/pages/workBenchNew/components/operateButton/index.wxss
new file mode 100644
index 0000000..9691159
--- /dev/null
+++ b/pages/workBenchNew/components/operateButton/index.wxss
@@ -0,0 +1,12 @@
+/* pages/workBenchNew/components/operateButton/index.wxss */
+
+.buttonWrapper {
+ height: 100rpx;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border: 1rpx solid #ccc;
+ border-radius: 10rpx;
+ margin-bottom: 24rpx;
+ margin-top: 24rpx;
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/recharge/index.js b/pages/workBenchNew/components/recharge/index.js
new file mode 100644
index 0000000..6c39e8e
--- /dev/null
+++ b/pages/workBenchNew/components/recharge/index.js
@@ -0,0 +1,192 @@
+// pages/workBenchNew/components/recharge/index.js
+import { handleRecharge } from "../../../../service/recharge";
+import { alertInfo, alertSuccess, loadingFunc } from "../../../../utils/index";
+import request from '../../../../utils/request'
+const { OK } = request;
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+ onParkFocus() {
+ this.setData({
+ show: true,
+ title: "园区",
+ type: 'park'
+ })
+ },
+ onMeterFocus() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "电表",
+ type: 'meter'
+ })
+ },
+ onConfirm(e) {
+ const { data, type, way } = e.detail;
+ switch(type) {
+ case "park":
+ this.setData({
+ parkName: data.name,
+ park: data.id,
+ })
+ break;
+ case "meter":
+ this.setData({
+ meterName: `${data.meterNo}-${data.address}${data.tenement?.name ? '-' + data.tenement?.name : ''}`,
+ meter: data.id,
+ })
+ break;
+ case "pay":
+ this.setData({
+ payName: data,
+ way: way,
+ });
+ break;
+ }
+ this.onCancel();
+ },
+ onCancel() {
+ this.setData({
+ show: false,
+ title: "",
+ type: "",
+ })
+ },
+ onPayFocus() {
+ this.setData({
+ show: true,
+ title: "付款方式",
+ type: 'pay'
+ })
+ },
+ onChangeMoney(e) {
+ this.setData({ money: e.detail })
+ },
+ onChangeVoucherNo(e) {
+ this.setData({ voucherNo: e.detail })
+ },
+ handleClear() {
+ this.setData({
+ park: "",
+ parkName: "",
+ meter: "",
+ meterName: "",
+ way: "",
+ payName: "",
+ show: false,
+ title: "",
+ type: "",
+ money: null,
+ voucherNo: null
+ })
+ },
+ async handleSubmit() {
+ const that = this;
+ const { park, meter, money, way, voucherNo } = this.data;
+ if (!park) {
+ alertInfo("请选择园区");
+ return;
+ }
+ if (!meter) {
+ alertInfo("请选择电表")
+ return;
+ }
+ if (!money) {
+ alertInfo("请输入金额")
+ return
+ }
+ if (!way && way !== 0) {
+ alertInfo("请选择付款方式")
+ return
+ }
+ if (!voucherNo) {
+ alertInfo("请输入凭证号")
+ return
+ }
+ loadingFunc(async () => {
+ const { code, message } = await handleRecharge(park, {
+ amount: `${money || ''}`,
+ meter,
+ paymentType: way,
+ voucherNo,
+ type: 0
+ })
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ alertSuccess("充值成功")
+ setTimeout(() => {
+ that.handleClear()
+ that.setData({
+
+ })
+ }, 500)
+ })
+
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/recharge/index.json b/pages/workBenchNew/components/recharge/index.json
new file mode 100644
index 0000000..4e12d5e
--- /dev/null
+++ b/pages/workBenchNew/components/recharge/index.json
@@ -0,0 +1,11 @@
+{
+ "usingComponents": {
+ "van-popup": "@vant/weapp/popup/index",
+ "search-select": "/components/searchSelect/index",
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "searchSelectWrapper": "/components/searchSelectWrapper/index",
+ "navigator": "/components/navigator"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/recharge/index.wxml b/pages/workBenchNew/components/recharge/index.wxml
new file mode 100644
index 0000000..868329b
--- /dev/null
+++ b/pages/workBenchNew/components/recharge/index.wxml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 确认
+ 清空
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/recharge/index.wxss b/pages/workBenchNew/components/recharge/index.wxss
new file mode 100644
index 0000000..b1ed3a3
--- /dev/null
+++ b/pages/workBenchNew/components/recharge/index.wxss
@@ -0,0 +1 @@
+/* pages/workBenchNew/components/recharge/index.wxss */
\ No newline at end of file
diff --git a/pages/workBenchNew/components/uninstallMeter/index.js b/pages/workBenchNew/components/uninstallMeter/index.js
new file mode 100644
index 0000000..0ae2e6a
--- /dev/null
+++ b/pages/workBenchNew/components/uninstallMeter/index.js
@@ -0,0 +1,173 @@
+// pages/workBenchNew/components/uninstallMeter/index.js
+import dayjs from "../../../../utils/dayjs"
+import { alertInfo, } from "../../../../utils/index"
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+ onParkFocus(e) {
+ this.setData({
+ show: true,
+ title: "园区",
+ type: 'park'
+ })
+ },
+ onMeterFocus(e) {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "电表",
+ type: 'meter'
+ })
+ },
+ onConfirm(e) {
+ const { type, data = {} } = e.detail;
+ const {collection} = this.data;
+ switch(type) {
+ case "park":
+ this.setData({
+ park: data.id,
+ parkName: data.name,
+ })
+ break;
+ case "tenement":
+ this.setData({
+ tenement: data.id,
+ tenementName: data.name,
+ })
+ break;
+ case "building":
+ this.setData({
+ building: data.id,
+ buildingName: data.name,
+ });
+ break;
+ case "meterBox":
+ this.setData({
+ meterBox: data.id,
+ meterBoxName: data.address,
+ });
+ break;
+ case "meterType":
+ this.setData({
+ meterType: data.way,
+ meterTypeName: data,
+ });
+ break;
+ case "meter":
+ this.setData({
+ meter: data.id,
+ meterName: data.address,
+ });
+ break;
+ case "card":
+ this.setData({
+ card: data.id,
+ cardName: data.sim_number,
+ });
+ break;
+ case "collection":
+ let newData = {}
+ if (collection === "A") {
+ newData = {
+ collectionA: data.id,
+ collectionAName: data.name,
+ }
+ }
+ if (collection === "B") {
+ newData = {
+ collectionB: data.id,
+ collectionBName: data.name,
+ }
+ }
+ if (collection === "C") {
+ newData = {
+ collectionC: data.id,
+ collectionCName: data.name,
+ }
+ }
+ this.setData(newData);
+ break;
+ }
+ this.onCancel();
+ },
+ onCancel() {
+ this.setData({
+ show: false,
+ title: "",
+ type: "",
+ })
+ },
+ goback() {
+ wx.navigateBack()
+ },
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+ this.setData({
+ time: dayjs().format("YYYY-MM-DD HH:mm:ss")
+ })
+ },
+ changeReason(e) {
+ this.setData({
+ reason: e.detail,
+ })
+ },
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/uninstallMeter/index.json b/pages/workBenchNew/components/uninstallMeter/index.json
new file mode 100644
index 0000000..a676309
--- /dev/null
+++ b/pages/workBenchNew/components/uninstallMeter/index.json
@@ -0,0 +1,11 @@
+{
+ "usingComponents": {
+ "navigator": "/components/navigator/index",
+ "van-popup": "@vant/weapp/popup/index",
+ "search-select": "/components/searchSelect/index",
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "searchSelectWrapper": "/components/searchSelectWrapper/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/uninstallMeter/index.wxml b/pages/workBenchNew/components/uninstallMeter/index.wxml
new file mode 100644
index 0000000..8941895
--- /dev/null
+++ b/pages/workBenchNew/components/uninstallMeter/index.wxml
@@ -0,0 +1,75 @@
+
+
+
+
+
+ {{time}}
+
+
+
+
+
+
+ 上传
+
+
+
+ 提交
+ 返回
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/uninstallMeter/index.wxss b/pages/workBenchNew/components/uninstallMeter/index.wxss
new file mode 100644
index 0000000..7d468e2
--- /dev/null
+++ b/pages/workBenchNew/components/uninstallMeter/index.wxss
@@ -0,0 +1,15 @@
+/* pages/workBenchNew/components/uninstallMeter/index.wxss */
+
+.operate {
+ display: flex;
+ padding-top: 24rpx;
+ padding-bottom: 36rpx;
+}
+
+.submit, .cancel {
+ flex: 1;
+}
+
+.submit {
+ margin-right: 30rpx;
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchApprove/index.wxml b/pages/workBenchNew/components/workBenchApprove/index.wxml
index 1339053..66420fb 100644
--- a/pages/workBenchNew/components/workBenchApprove/index.wxml
+++ b/pages/workBenchNew/components/workBenchApprove/index.wxml
@@ -1,17 +1,14 @@
-
+
-
+
待审核
-
+
已审核
-
- 充值
-
diff --git a/pages/workBenchNew/index.js b/pages/workBenchNew/index.js
index a5333ab..12c5b47 100644
--- a/pages/workBenchNew/index.js
+++ b/pages/workBenchNew/index.js
@@ -61,6 +61,21 @@ Page({
url: '/pages/home/index',
})
},
+ jumpToRecharge() {
+ wx.navigateTo({
+ url: '/pages/workBenchNew/components/recharge/index',
+ })
+ },
+ jumpToInstallMeter() {
+ wx.navigateTo({
+ url: '/pages/workBenchNew/components/installMeter/index',
+ })
+ },
+ jumpToUninstallMeter() {
+ wx.navigateTo({
+ url: '/pages/workBenchNew/components/uninstallMeter/index',
+ })
+ },
/**
* 生命周期函数--监听页面初次渲染完成
*/
diff --git a/pages/workBenchNew/index.json b/pages/workBenchNew/index.json
index de4f579..abce341 100644
--- a/pages/workBenchNew/index.json
+++ b/pages/workBenchNew/index.json
@@ -3,7 +3,8 @@
"navigator": "/components/navigator/index",
"van-row": "@vant/weapp/row/index",
"van-col": "@vant/weapp/col/index",
- "van-button": "@vant/weapp/button/index"
+ "van-button": "@vant/weapp/button/index",
+ "operate-button": "./components/operateButton/index"
},
"navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/pages/workBenchNew/index.wxml b/pages/workBenchNew/index.wxml
index 3bc02fb..8b8c62a 100644
--- a/pages/workBenchNew/index.wxml
+++ b/pages/workBenchNew/index.wxml
@@ -2,7 +2,7 @@
-
+
+
+ 通用操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 现场操作
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
回到首页
diff --git a/pages/workBenchNew/index.wxss b/pages/workBenchNew/index.wxss
index 421c238..c220f08 100644
--- a/pages/workBenchNew/index.wxss
+++ b/pages/workBenchNew/index.wxss
@@ -1,7 +1,7 @@
/* pages/workBench/index.wxss */
.wrapper {
- margin: 20rpx 0rpx;
+ margin:20rpx 0rpx;
}
.contentWrapper {
diff --git a/pages/workBenchTodoList/index.js b/pages/workBenchTodoList/index.js
new file mode 100644
index 0000000..4b9ffea
--- /dev/null
+++ b/pages/workBenchTodoList/index.js
@@ -0,0 +1,66 @@
+// pages/workBenchTodoList/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchTodoList/index.json b/pages/workBenchTodoList/index.json
new file mode 100644
index 0000000..aff1cbd
--- /dev/null
+++ b/pages/workBenchTodoList/index.json
@@ -0,0 +1,13 @@
+{
+ "usingComponents": {
+ "navigator": "/components/navigator/index",
+ "van-popup": "@vant/weapp/popup/index",
+ "van-row": "@vant/weapp/row/index",
+ "van-col": "@vant/weapp/col/index",
+ "search-select": "/components/searchSelect/index",
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "searchSelectWrapper": "/components/searchSelectWrapper/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchTodoList/index.wxml b/pages/workBenchTodoList/index.wxml
new file mode 100644
index 0000000..8603edb
--- /dev/null
+++ b/pages/workBenchTodoList/index.wxml
@@ -0,0 +1,12 @@
+
+
+
+
+
+ 1
+
+
+ 2
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchTodoList/index.wxss b/pages/workBenchTodoList/index.wxss
new file mode 100644
index 0000000..f05fa3a
--- /dev/null
+++ b/pages/workBenchTodoList/index.wxss
@@ -0,0 +1 @@
+/* pages/workBenchTodoList/index.wxss */
\ No newline at end of file
diff --git a/project.private.config.json b/project.private.config.json
index 424d3b1..422eecd 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -24,22 +24,15 @@
"miniprogram": {
"list": [
{
- "name": "pages/readingHistory/index",
- "pathName": "pages/readingHistory/index",
- "query": "meter=METER00114674412879874&park=P00114672412196865&routeId=PR00121172392214529&disabled=false",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "pages/workBenchNew/components/workBenchTenement/index",
- "pathName": "pages/workBenchNew/components/workBenchTenement/index",
+ "name": "pages/workBenchTodoList/index",
+ "pathName": "pages/workBenchTodoList/index",
"query": "",
"launchMode": "default",
"scene": null
},
{
- "name": "pages/workBenchNew/components/workBenchReading/index",
- "pathName": "pages/workBenchNew/components/workBenchReading/index",
+ "name": "pages/workBenchNew/components/uninstallMeter/index",
+ "pathName": "pages/workBenchNew/components/uninstallMeter/index",
"query": "",
"launchMode": "default",
"scene": null
@@ -50,76 +43,6 @@
"query": "",
"launchMode": "default",
"scene": null
- },
- {
- "name": "pages/writeReading/index",
- "pathName": "pages/writeReading/index",
- "query": "id=PR00118027286020097",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "pages/readingHistory/index",
- "pathName": "pages/readingHistory/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "pages/workBench/index",
- "pathName": "pages/workBench/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "pages/workBench/index",
- "pathName": "pages/workBench/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "childPackage/pages/electricQuery/index",
- "pathName": "childPackage/pages/electricQuery/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "pages/workBench/index",
- "pathName": "pages/workBench/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "childPackage/pages/electricQuery/index",
- "pathName": "childPackage/pages/electricQuery/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "pages/workBench/index",
- "pathName": "pages/workBench/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "childPackage/pages/electricQuery/index",
- "pathName": "childPackage/pages/electricQuery/index",
- "query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "childPackage/pages/electricQuery/index",
- "pathName": "childPackage/pages/electricQuery/index",
- "query": "",
- "launchMode": "default",
- "scene": null
}
]
}
diff --git a/service/meter.js b/service/meter.js
index eb864da..a610bcd 100644
--- a/service/meter.js
+++ b/service/meter.js
@@ -40,4 +40,31 @@ export const handleOperateMeterSwitch = async function({ ids = [], status }) {
// 绑定时获取电表的最新信息
export const getWorkMeterDetail = async function(code = '') {
return await GET(`/vx/getWorkMeterDetail?code=${code}`);
+}
+
+// 获取某一园区下的电表箱列表
+export const getParkBoxList = async function({park = "", keyword = "", page = 1}) {
+ return await GET(`/box/${park}?page=${page}&keyword=${replaceSpecialIcon(keyword)}`);
+}
+
+// 获取卡列表
+export const getCardList = async function({park = "", keyword = "", page = 1}) {
+ return await GET(`/equipment/getCardList?page=${page}&park=${park}&keyword=${replaceSpecialIcon(keyword)}`);
+}
+
+
+// 获取互感器列表
+export const getCollectionList = async function({park = "", keyword = "", page = 1}) {
+ return await GET(`/transformer/list/select?page=${page}&park=${park}&transformerId=${replaceSpecialIcon(keyword)}`);
+}
+
+
+// 获取库存电表列表
+export const getInventoryMeter = async function({park = "", keyword = "", page = 1}) {
+ return await GET(`/electricity/list?page=${page}&park=${park}&keyword=${replaceSpecialIcon(keyword)}`);
+}
+
+// 新装电表
+export const installMeter = async function(data) {
+ return await POST(`/wx/workBench/installMeter`, data);
}
\ No newline at end of file
diff --git a/service/public.js b/service/public.js
index 4b9d431..9a40ece 100644
--- a/service/public.js
+++ b/service/public.js
@@ -43,6 +43,26 @@ export const uploadOcrFile = (filePath) => {
})
}
+export const uploadInstallMeter = (filePath) => {
+ const { api } = getConfigByEnv();
+ return new Promise((resolve, reject) => {
+ wx.uploadFile({
+ filePath: filePath,
+ name: 'data',
+ url: `${api}/image/meter/reading`,
+ header: {
+ authorization: 'Bearer ' + wx.getStorageSync("token")
+ },
+ success: (res) => {
+ resolve(res?.data ? JSON.parse(res?.data) : res?.data);
+ },
+ fail: (err) => {
+ reject(err);
+ }
+ })
+ })
+}
+
export const uploadPublicFile = (filePath) => {
const { api } = getConfigByEnv();
return new Promise((resolve, reject) => {
diff --git a/utils/data.js b/utils/data.js
index 22c17b0..2156c41 100644
--- a/utils/data.js
+++ b/utils/data.js
@@ -9,4 +9,6 @@ export const getRechargeOperateWay = (num) => {
return payWays[num];
}
-export const feeType = ['华昌宝能收费', "物业代收1", "物业代收2", "物业代收线损"]
\ No newline at end of file
+export const feeType = ['华昌宝能收费', "物业代收1", "物业代收2", "物业代收线损"]
+
+export const meterType = ['商户电表', '园区电表', '公摊电表']
\ No newline at end of file
--
2.49.1
From 750f2d8d39360476170f057bfdf70d4d2c98191d Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Tue, 4 Nov 2025 15:24:33 +0800
Subject: [PATCH 21/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A3=85=E8=A1=A8?=
=?UTF-8?q?=E6=8F=90=E4=BA=A4=E7=9A=84=E6=97=B6=E5=80=99=E6=8F=90=E7=A4=BA?=
=?UTF-8?q?=E9=97=AE=E9=A2=98=E5=92=8C=E4=BA=92=E6=84=9F=E5=99=A8=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/searchSelect/index.js | 3 ++-
components/searchSelectWrapper/index.wxml | 6 +++---
pages/workBenchNew/components/installMeter/index.js | 8 ++++----
3 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index 65f64df..c30dd46 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -156,8 +156,9 @@ Component({
alertInfo(message)
return
}
+ console.log("parks", parks)
this.setData({
- columns: parks?.map(item => item?.name),
+ columns: parks?.map(item => `${item.transformerId}-倍率:${item.ratio}-${item.manufacturer}`),
list: parks,
})
},
diff --git a/components/searchSelectWrapper/index.wxml b/components/searchSelectWrapper/index.wxml
index 94888c1..cfcece7 100644
--- a/components/searchSelectWrapper/index.wxml
+++ b/components/searchSelectWrapper/index.wxml
@@ -8,7 +8,7 @@
- {{ label }}
+ *{{ label }}
搜索
- {{ label }}
+ *{{ label }}
- {{ label }}
+ *{{ label }}
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
index 48fc9e5..8118ae9 100644
--- a/pages/workBenchNew/components/installMeter/index.js
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -237,19 +237,19 @@ Page({
if (collection === "A") {
newData = {
collectionA: data.id,
- collectionAName: data.name,
+ collectionAName: `${item.transformerId}-倍率:${item.ratio}-${item.manufacturer}`,
}
}
if (collection === "B") {
newData = {
collectionB: data.id,
- collectionBName: data.name,
+ collectionBName: `${item.transformerId}-倍率:${item.ratio}-${item.manufacturer}`,
}
}
if (collection === "C") {
newData = {
collectionC: data.id,
- collectionCName: data.name,
+ collectionCName: `${item.transformerId}-倍率:${item.ratio}-${item.manufacturer}`,
}
}
this.setData(newData);
@@ -323,7 +323,7 @@ Page({
ratio, area, card, collectionA, collectionB, collectionC,
tenement, sharp, peak, flat, valley, overall, url
} = this.data;
- if (!park || !meter || !address) {
+ if (!park || !meter || !address || !meterType) {
alertInfo("请填写必填项后保存")
return;
}
--
2.49.1
From 5573c78b23f86fa4c3ef710aab65c60ef91c6468 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Tue, 4 Nov 2025 16:00:47 +0800
Subject: [PATCH 22/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/installMeter/index.js | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
index 8118ae9..f53ca81 100644
--- a/pages/workBenchNew/components/installMeter/index.js
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -176,13 +176,25 @@ Page({
},
onConfirm(e) {
const { type, data = {} } = e.detail;
- const {collection} = this.data;
+ const {collection, park, tenement} = this.data;
switch(type) {
case "park":
this.setData({
park: data.id,
parkName: data.name,
})
+ if (park !== data.id) {
+ this.setData({
+ tenement: null,
+ tenementName: null,
+ building: null,
+ buildingName: null,
+ meterBox: null,
+ meterBoxName: null,
+ meter: null,
+ meterName: null,
+ })
+ }
break;
case "tenement":
this.setData({
@@ -323,7 +335,7 @@ Page({
ratio, area, card, collectionA, collectionB, collectionC,
tenement, sharp, peak, flat, valley, overall, url
} = this.data;
- if (!park || !meter || !address || !meterType) {
+ if (!park || !meter || !address || meterType == null) {
alertInfo("请填写必填项后保存")
return;
}
--
2.49.1
From c5a8bdfd8120625f7680698ede3875f8695be123 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Tue, 4 Nov 2025 17:14:04 +0800
Subject: [PATCH 23/51] =?UTF-8?q?=E6=96=B0=E8=A3=85=E7=94=B5=E8=A1=A8?=
=?UTF-8?q?=E5=8F=82=E6=95=B0=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/searchSelect/index.js | 4 +-
.../components/installMeter/index.js | 60 +++++++++++++++----
.../components/installMeter/index.wxml | 17 ++++--
3 files changed, 65 insertions(+), 16 deletions(-)
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index c30dd46..88d9507 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -62,6 +62,7 @@ Component({
},
onConfirm(event) {
const { index } = event.detail;
+ console.log("index", index)
const { list = [], type } = this.data;
const item = list[index];
if (!item) {
@@ -73,7 +74,7 @@ Component({
list: [],
searchText: ""
})
- this.triggerEvent("confirm", { data: item, type } );
+ this.triggerEvent("confirm", { data: item, type, index } );
},
onPayConfirm(event) {
const { index } = event.detail;
@@ -156,7 +157,6 @@ Component({
alertInfo(message)
return
}
- console.log("parks", parks)
this.setData({
columns: parks?.map(item => `${item.transformerId}-倍率:${item.ratio}-${item.manufacturer}`),
list: parks,
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
index f53ca81..8fa9355 100644
--- a/pages/workBenchNew/components/installMeter/index.js
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -174,14 +174,21 @@ Page({
}
})
},
+ changeSn(e) {
+ this.setData({
+ sn: e.detail,
+ })
+ },
onConfirm(e) {
- const { type, data = {} } = e.detail;
+ console.log("e", e)
+ const { type, data = {}, way } = e.detail;
const {collection, park, tenement} = this.data;
switch(type) {
case "park":
this.setData({
park: data.id,
parkName: data.name,
+ selfManagement: data.selfManagement,
})
if (park !== data.id) {
this.setData({
@@ -193,6 +200,20 @@ Page({
meterBoxName: null,
meter: null,
meterName: null,
+ card: null,
+ cardName: null,
+ collectionA: null,
+ collectionAName: null,
+ collectionB: null,
+ collectionBName: null,
+ collectionB: null,
+ collectionBName: null,
+ address: null,
+ sharp: null,
+ peak: null,
+ flat: null,
+ valley: null,
+ area: null,
})
}
break;
@@ -228,7 +249,7 @@ Page({
break;
case "meterType":
this.setData({
- meterType: data.way,
+ meterType: way,
meterTypeName: data,
});
break;
@@ -249,19 +270,22 @@ Page({
if (collection === "A") {
newData = {
collectionA: data.id,
- collectionAName: `${item.transformerId}-倍率:${item.ratio}-${item.manufacturer}`,
+ collectionAName: `${data.transformerId}-倍率:${data.ratio}-${data.manufacturer}`,
+ collectionARatio: data.ratio,
}
}
if (collection === "B") {
newData = {
collectionB: data.id,
- collectionBName: `${item.transformerId}-倍率:${item.ratio}-${item.manufacturer}`,
+ collectionBName: `${data.transformerId}-倍率:${data.ratio}-${data.manufacturer}`,
+ collectionBRatio: data.ratio,
}
}
if (collection === "C") {
newData = {
collectionC: data.id,
- collectionCName: `${item.transformerId}-倍率:${item.ratio}-${item.manufacturer}`,
+ collectionCName: `${data.transformerId}-倍率:${data.ratio}-${data.manufacturer}`,
+ collectionCRatio: data.ratio,
}
}
this.setData(newData);
@@ -291,7 +315,7 @@ Page({
},
changePeak(e) {
this.setData({
- sharp: e.detail
+ peak: e.detail
})
},
changeFlat(e) {
@@ -333,17 +357,33 @@ Page({
const {
park, meter, address, building, meterBox, meterType,
ratio, area, card, collectionA, collectionB, collectionC,
- tenement, sharp, peak, flat, valley, overall, url
+ tenement, sharp, peak, flat, valley, overall, url, sn,
+ collectionARatio, collectionBRatio, collectionCRatio
} = this.data;
- if (!park || !meter || !address || meterType == null) {
+ if (!park || !(meter || sn) || !address || meterType == null) {
alertInfo("请填写必填项后保存")
return;
}
- console.log("data", this.data)
+ if (
+ (collectionA == collectionB && collectionA != null && collectionB != null) ||
+ (collectionA == collectionC&& collectionA != null && collectionC != null) ||
+ (collectionC == collectionB && collectionB != null && collectionC != null)
+ ) {
+ alertInfo("采集器不能重复选择")
+ return;
+ }
+ if (
+ (collectionARatio != collectionBRatio && collectionARatio != null && collectionBRatio != null) ||
+ (collectionARatio != collectionCRatio&& collectionARatio != null && collectionCRatio != null) ||
+ (collectionCRatio != collectionBRatio && collectionBRatio != null && collectionCRatio != null)
+ ) {
+ alertInfo("采集器倍率不一致")
+ return;
+ }
const { code, data, message } = await installMeter({
park, meter, address, building, meterBox, meterType,
ratio, area, card, collectionA, collectionB, collectionC,
- tenement, sharp, peak, flat, valley, overall, url
+ tenement, sharp, peak, flat, valley, overall, url, sn
})
if (code !== OK) {
alertInfo(message)
diff --git a/pages/workBenchNew/components/installMeter/index.wxml b/pages/workBenchNew/components/installMeter/index.wxml
index 1390b99..f01674a 100644
--- a/pages/workBenchNew/components/installMeter/index.wxml
+++ b/pages/workBenchNew/components/installMeter/index.wxml
@@ -25,8 +25,17 @@
text="{{meterName}}"
bind:search="onMeterFocus"
required="{{true}}"
+ wx:if="{{selfManagement === 0}}"
+/>
+
-
Date: Thu, 6 Nov 2025 16:15:34 +0800
Subject: [PATCH 24/51] =?UTF-8?q?=E5=88=9D=E6=AD=A5=E8=BF=9B=E8=A1=8C?=
=?UTF-8?q?=E6=96=B0=E8=A3=85=E8=B0=83=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app.json | 3 +-
components/searchSelect/index.js | 2 +-
.../components/installMeter/index.js | 12 +--
.../components/installMeter/index.wxml | 14 ++--
pages/workBenchNew/components/kaihu/index.js | 66 +++++++++++++++
.../workBenchNew/components/kaihu/index.json | 10 +++
.../workBenchNew/components/kaihu/index.wxml | 83 +++++++++++++++++++
.../workBenchNew/components/kaihu/index.wxss | 1 +
pages/workBenchNew/index.js | 5 ++
pages/workBenchNew/index.wxml | 2 +-
10 files changed, 183 insertions(+), 15 deletions(-)
create mode 100644 pages/workBenchNew/components/kaihu/index.js
create mode 100644 pages/workBenchNew/components/kaihu/index.json
create mode 100644 pages/workBenchNew/components/kaihu/index.wxml
create mode 100644 pages/workBenchNew/components/kaihu/index.wxss
diff --git a/app.json b/app.json
index 3d9a873..ffe9845 100644
--- a/app.json
+++ b/app.json
@@ -46,7 +46,8 @@
"pages/workBenchNew/components/recharge/index",
"pages/workBenchNew/components/installMeter/index",
"pages/workBenchNew/components/uninstallMeter/index",
- "pages/workBenchTodoList/index"
+ "pages/workBenchTodoList/index",
+ "pages/workBenchNew/components/kaihu/index"
],
"subPackages": [
{
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index 88d9507..3cadbc3 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -152,7 +152,7 @@ Component({
},
async onSearchCollection() {
const { searchText = "" } = this.data;
- const { code, message, data: parks = [] } = await getCollectionList({keyword: searchText, page: 1});
+ const { code, message, data: parks = [] } = await getCollectionList({keyword: searchText, page: 1, status: 1});
if (code !== OK) {
alertInfo(message)
return
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
index 8fa9355..72b9ae9 100644
--- a/pages/workBenchNew/components/installMeter/index.js
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -113,7 +113,7 @@ Page({
}
this.setData({
show: true,
- title: "采集器A",
+ title: "互感器A",
type: 'collection',
collection: "A"
})
@@ -126,7 +126,7 @@ Page({
}
this.setData({
show: true,
- title: "采集器B",
+ title: "互感器B",
type: 'collection',
collection: "B"
})
@@ -139,7 +139,7 @@ Page({
}
this.setData({
show: true,
- title: "采集器C",
+ title: "互感器C",
type: 'collection',
collection: "C"
})
@@ -360,7 +360,7 @@ Page({
tenement, sharp, peak, flat, valley, overall, url, sn,
collectionARatio, collectionBRatio, collectionCRatio
} = this.data;
- if (!park || !(meter || sn) || !address || meterType == null) {
+ if (!park || !(meter || sn) || !address || meterType == null || !building || !meterBox) {
alertInfo("请填写必填项后保存")
return;
}
@@ -369,7 +369,7 @@ Page({
(collectionA == collectionC&& collectionA != null && collectionC != null) ||
(collectionC == collectionB && collectionB != null && collectionC != null)
) {
- alertInfo("采集器不能重复选择")
+ alertInfo("互感器不能重复选择")
return;
}
if (
@@ -377,7 +377,7 @@ Page({
(collectionARatio != collectionCRatio&& collectionARatio != null && collectionCRatio != null) ||
(collectionCRatio != collectionBRatio && collectionBRatio != null && collectionCRatio != null)
) {
- alertInfo("采集器倍率不一致")
+ alertInfo("互感器倍率不一致")
return;
}
const { code, data, message } = await installMeter({
diff --git a/pages/workBenchNew/components/installMeter/index.wxml b/pages/workBenchNew/components/installMeter/index.wxml
index f01674a..39fc91d 100644
--- a/pages/workBenchNew/components/installMeter/index.wxml
+++ b/pages/workBenchNew/components/installMeter/index.wxml
@@ -41,6 +41,7 @@
placeholder="请选择建筑"
text="{{buildingName}}"
bind:search="onBuildingFocus"
+ required="{{true}}"
/>
diff --git a/pages/workBenchNew/components/kaihu/index.js b/pages/workBenchNew/components/kaihu/index.js
new file mode 100644
index 0000000..6c01e64
--- /dev/null
+++ b/pages/workBenchNew/components/kaihu/index.js
@@ -0,0 +1,66 @@
+// pages/workBenchNew/components/kaihu/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/kaihu/index.json b/pages/workBenchNew/components/kaihu/index.json
new file mode 100644
index 0000000..b46458f
--- /dev/null
+++ b/pages/workBenchNew/components/kaihu/index.json
@@ -0,0 +1,10 @@
+{
+ "usingComponents": {
+ "search-select": "/components/searchSelect/index",
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "navigator": "/components/navigator/index",
+ "van-dialog": "@vant/weapp/dialog/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/kaihu/index.wxml b/pages/workBenchNew/components/kaihu/index.wxml
new file mode 100644
index 0000000..71f2ddd
--- /dev/null
+++ b/pages/workBenchNew/components/kaihu/index.wxml
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+
+
+
+ 选择
+
+
+
+
+ 选择
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/kaihu/index.wxss b/pages/workBenchNew/components/kaihu/index.wxss
new file mode 100644
index 0000000..a604f74
--- /dev/null
+++ b/pages/workBenchNew/components/kaihu/index.wxss
@@ -0,0 +1 @@
+/* pages/workBenchNew/components/kaihu/index.wxss */
\ No newline at end of file
diff --git a/pages/workBenchNew/index.js b/pages/workBenchNew/index.js
index 12c5b47..aa4fd6b 100644
--- a/pages/workBenchNew/index.js
+++ b/pages/workBenchNew/index.js
@@ -76,6 +76,11 @@ Page({
url: '/pages/workBenchNew/components/uninstallMeter/index',
})
},
+ jumpToKaihu() {
+ wx.navigateTo({
+ url: 'pages/workBenchNew/components/kaihu/index',
+ })
+ },
/**
* 生命周期函数--监听页面初次渲染完成
*/
diff --git a/pages/workBenchNew/index.wxml b/pages/workBenchNew/index.wxml
index 8b8c62a..e237b49 100644
--- a/pages/workBenchNew/index.wxml
+++ b/pages/workBenchNew/index.wxml
@@ -111,7 +111,7 @@
-
+
--
2.49.1
From 639f92540f1c88cba7f71883f5079269ef829821 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Sun, 9 Nov 2025 17:33:32 +0800
Subject: [PATCH 25/51] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=8F=B0=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app.json | 4 +-
components/searchSelect/index.js | 44 ++-
components/searchSelect/index.wxml | 30 ++
components/searchSelectWrapper/index.wxml | 1 +
components/searchSelectWrapper/index.wxss | 5 +-
pages/workBenchNew/components/kaihu/index.js | 85 +++++-
.../workBenchNew/components/kaihu/index.wxml | 30 +-
.../components/uninstallMeter/index.js | 61 +++-
.../components/uninstallMeter/index.wxml | 12 +-
.../components/workBenchMeterControl/index.js | 276 ++++++++++++++++++
.../workBenchMeterControl/index.json | 20 ++
.../workBenchMeterControl/index.wxml | 163 +++++++++++
.../workBenchMeterControl/index.wxss | 78 +++++
.../components/workBenchTenement/index.js | 12 +-
pages/workBenchNew/index.js | 12 +-
pages/workBenchNew/index.wxml | 7 +-
pages/workBenchTodoList/index.js | 164 ++++++++++-
pages/workBenchTodoList/index.json | 12 +-
pages/workBenchTodoList/index.wxml | 105 ++++++-
pages/workBenchTodoList/index.wxss | 72 ++++-
pages/workOrderDetail/index.js | 66 +++++
pages/workOrderDetail/index.json | 3 +
pages/workOrderDetail/index.wxml | 2 +
pages/workOrderDetail/index.wxss | 1 +
service/meter.js | 5 +
service/workBench.js | 7 +
utils/data.js | 7 +-
27 files changed, 1257 insertions(+), 27 deletions(-)
create mode 100644 pages/workBenchNew/components/workBenchMeterControl/index.js
create mode 100644 pages/workBenchNew/components/workBenchMeterControl/index.json
create mode 100644 pages/workBenchNew/components/workBenchMeterControl/index.wxml
create mode 100644 pages/workBenchNew/components/workBenchMeterControl/index.wxss
create mode 100644 pages/workOrderDetail/index.js
create mode 100644 pages/workOrderDetail/index.json
create mode 100644 pages/workOrderDetail/index.wxml
create mode 100644 pages/workOrderDetail/index.wxss
diff --git a/app.json b/app.json
index ffe9845..09a5502 100644
--- a/app.json
+++ b/app.json
@@ -39,6 +39,7 @@
"pages/billMeterDetail/index",
"pages/meterBalanceRecord/index",
"pages/workBenchNew/components/workBenchMeter/index",
+ "pages/workBenchNew/components/workBenchMeterControl/index",
"pages/workBenchNew/components/workBenchTenement/index",
"pages/workBenchNew/components/workBenchApprove/index",
"pages/workBenchNew/components/workBenchWxUser/index",
@@ -47,7 +48,8 @@
"pages/workBenchNew/components/installMeter/index",
"pages/workBenchNew/components/uninstallMeter/index",
"pages/workBenchTodoList/index",
- "pages/workBenchNew/components/kaihu/index"
+ "pages/workBenchNew/components/kaihu/index",
+ "pages/workOrderDetail/index"
],
"subPackages": [
{
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index 3cadbc3..5702dcf 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -2,7 +2,9 @@ import { getLoginParkList, getParkBuildingList } from "../../service/park"
import { getParkSimpleMeterList, getParkBoxList, getCardList, getCollectionList, getInventoryMeter } from "../../service/meter"
import { alertInfo } from "../../utils/index";
import request from "../../utils/request"
-import { payWays, feeType, meterType } from "../../utils/data";
+import { payWays, feeType, meterType, noticeFlowType, noticeFlowStatus,
+ meterMode
+} from "../../utils/data";
import { getTenementList, getWxTenementList } from "../../service/tenement";
const { OK } = request;
@@ -23,6 +25,7 @@ Component({
observers: {
"show,type,filterBind": function(newShow, newType) {
if (newShow && newType) {
+ console.log("newShow", newShow,"newType", newType)
this.onSearch()
}
}
@@ -35,7 +38,10 @@ Component({
searchText: "",
payWays,
feeType,
- meterType
+ meterType,
+ noticeFlowType,
+ noticeFlowStatus,
+ meterMode,
},
lifetimes: {
attached() {
@@ -76,6 +82,17 @@ Component({
})
this.triggerEvent("confirm", { data: item, type, index } );
},
+ onMeterModeConfirm(event) {
+ const { index } = event.detail;
+ const { meterMode = [], type } = this.data;
+ const item = meterMode[index];
+ this.setData({
+ columns: [],
+ list: [],
+ searchText: ""
+ })
+ this.triggerEvent("confirm", { data: item, way: index, type } );
+ },
onPayConfirm(event) {
const { index } = event.detail;
const { payWays = [], type } = this.data;
@@ -87,6 +104,29 @@ Component({
})
this.triggerEvent("confirm", { data: item, way: index, type } );
},
+ onNoticeFlowTypeConfirm(event) {
+ const { index } = event.detail;
+ const { noticeFlowType = [], type } = this.data;
+ const item = noticeFlowType[index];
+ this.setData({
+ columns: [],
+ list: [],
+ searchText: ""
+ })
+ this.triggerEvent("confirm", { data: item, way: index + 1, type } );
+ },
+ onNoticeFlowStatusConfirm(event) {
+ const { index } = event.detail;
+ const { noticeFlowStatus = [], type } = this.data;
+ const item = noticeFlowStatus[index];
+ this.setData({
+ columns: [],
+ list: [],
+ searchText: ""
+ })
+ console.log("{ data: item, way: index + 1, type }", { data: item, way: index + 1, type })
+ this.triggerEvent("confirm", { data: item, way: index + 1, type } );
+ },
onFeeTypeConfirm(event) {
const { index } = event.detail;
const { feeType = [], type } = this.data;
diff --git a/components/searchSelect/index.wxml b/components/searchSelect/index.wxml
index 55957fe..bfef00f 100644
--- a/components/searchSelect/index.wxml
+++ b/components/searchSelect/index.wxml
@@ -36,6 +36,36 @@
bind:confirm="onMeterTypeConfirm"
/>
+
+
+
+
+
+
+
+
+
{{placeholder}}
{{text}}
+
diff --git a/components/searchSelectWrapper/index.wxss b/components/searchSelectWrapper/index.wxss
index 523629c..eafae3e 100644
--- a/components/searchSelectWrapper/index.wxss
+++ b/components/searchSelectWrapper/index.wxss
@@ -15,6 +15,7 @@
border-radius: 12rpx;
border: 1rpx solid #ccc;
background-color: #fff;
+ position: relative;
}
.inputContent {
@@ -26,6 +27,7 @@
border-radius: 12rpx;
border: 1rpx solid #ccc;
background-color: #fff;
+ position: relative;
}
.text {
@@ -39,4 +41,5 @@
.required {
color: rgb(209, 83, 25);
font-size: 30rpx;
-}
\ No newline at end of file
+}
+
diff --git a/pages/workBenchNew/components/kaihu/index.js b/pages/workBenchNew/components/kaihu/index.js
index 6c01e64..264a79b 100644
--- a/pages/workBenchNew/components/kaihu/index.js
+++ b/pages/workBenchNew/components/kaihu/index.js
@@ -1,4 +1,9 @@
// pages/workBenchNew/components/kaihu/index.js
+import { alertInfo, alertSuccess } from "../../../../utils/index"
+import { createBackTenement, updateTenementBackInfo } from "../../../../service/tenement"
+import request from "../../../../utils/request"
+import { payWays, feeType as feeTypeList } from "../../../../utils/data";
+const { OK } = request;
Page({
/**
@@ -7,7 +12,85 @@ Page({
data: {
},
-
+ onParkFocus(e) {
+ this.setData({
+ show: true,
+ title: "园区",
+ type: 'park'
+ })
+ },
+ onBuildingFocus() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "建筑",
+ type: 'building'
+ })
+ },
+ onChange(e) {
+ const { name } = e.currentTarget.dataset;
+ this.setData({
+ [name]: e.detail
+ })
+ },
+ onFeeTypeFocus() {
+ this.setData({
+ show: true,
+ title: "收费类型",
+ type: 'feeType'
+ })
+ },
+ onCancel() {
+ this.setData({ show: false })
+ },
+ async onSubmit() {
+ const { name, shortName, address, contact,
+ phone, building, feeType, park, editType, id, parkName,
+
+ } = this.data;
+ const { code, message } = await createBackTenement(park, { name, shortName, address, contact, phone, building, feeType })
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ alertSuccess("开户成功")
+ // wx.navigateBack()
+ wx.redirectTo({
+ url: `/pages/workBenchNew/components/workBenchTenement/index?park=${park}&parkName=${parkName}&name=${name}`,
+ })
+ },
+ handleBack() {
+ wx.navigateBack()
+ },
+ onConfirm(e) {
+ const { type, data, way } = e.detail;
+ switch(type) {
+ case "park":
+ this.setData({
+ park: data.id,
+ parkName: data.name,
+ show: false,
+ })
+ return;
+ case "building":
+ this.setData({
+ building: data.id,
+ buildingName: data.name,
+ show: false,
+ })
+ return;
+ case "feeType":
+ this.setData({
+ feeTypeName: data,
+ feeType: way,
+ show: false,
+ })
+ }
+ },
/**
* 生命周期函数--监听页面加载
*/
diff --git a/pages/workBenchNew/components/kaihu/index.wxml b/pages/workBenchNew/components/kaihu/index.wxml
index 71f2ddd..ff351a5 100644
--- a/pages/workBenchNew/components/kaihu/index.wxml
+++ b/pages/workBenchNew/components/kaihu/index.wxml
@@ -1,6 +1,19 @@
+
+
+ 选择
+
+
-
\ No newline at end of file
+
+
+
+ 保存
+ 返回
+
+
+
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/uninstallMeter/index.js b/pages/workBenchNew/components/uninstallMeter/index.js
index 0ae2e6a..f785687 100644
--- a/pages/workBenchNew/components/uninstallMeter/index.js
+++ b/pages/workBenchNew/components/uninstallMeter/index.js
@@ -1,6 +1,11 @@
// pages/workBenchNew/components/uninstallMeter/index.js
+import { uninstallMeter } from "../../../../service/meter";
import dayjs from "../../../../utils/dayjs"
-import { alertInfo, } from "../../../../utils/index"
+import request from "../../../../utils/request"
+import { alertInfo, alertSuccess, } from "../../../../utils/index"
+
+const { OK } = request;
+
Page({
/**
@@ -66,6 +71,7 @@ Page({
this.setData({
meter: data.id,
meterName: data.address,
+ meterInfo: data,
});
break;
case "card":
@@ -106,6 +112,59 @@ Page({
type: "",
})
},
+ async onSubmit() {
+ const { meter, } = this.data;
+ if (!meter) {
+ alertInfo("请选择表号")
+ return;
+ }
+ const { code, message } = await uninstallMeter(meter)
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ alertSuccess("拆除成功")
+ setTimeout(() => {
+ wx.navigateTo({
+ url: '/pages/workBenchTodoList/index',
+ })
+ }, 300)
+ },
+ uploadImage() {
+ const that = this;
+ wx.chooseMedia({
+ count: 1,
+ mediaType: ['image'],
+ sourceType: ['album', 'camera'],
+ success: async function(res) {
+ console.log("res", res)
+ const path = res.tempFiles?.[0]?.tempFilePath.toLowerCase()
+ if (!/(\.jpg|\.png|\.jpeg)$/.test(path)) {
+ wx.showToast({
+ title: '请上传jpg、png或jpeg格式的图片',
+ icon: 'none',
+ });
+ return;
+ }
+ var tempFilePaths = path;
+ loadingFunc(async () => {
+ const { code, message, url } = await uploadInstallMeter(tempFilePaths)
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ that.setData({
+ url: url
+ })
+ })
+ }
+ })
+ },
+ clearImage() {
+ this.setData({
+ url: ""
+ })
+ },
goback() {
wx.navigateBack()
},
diff --git a/pages/workBenchNew/components/uninstallMeter/index.wxml b/pages/workBenchNew/components/uninstallMeter/index.wxml
index 8941895..91330e9 100644
--- a/pages/workBenchNew/components/uninstallMeter/index.wxml
+++ b/pages/workBenchNew/components/uninstallMeter/index.wxml
@@ -39,11 +39,19 @@
type=""
hideBorder="{{true}}"
>
- 上传
+
+
+ 上传
+
+ 清除
+
+
+
+
- 提交
+ 提交
返回
diff --git a/pages/workBenchNew/components/workBenchMeterControl/index.js b/pages/workBenchNew/components/workBenchMeterControl/index.js
new file mode 100644
index 0000000..a148276
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchMeterControl/index.js
@@ -0,0 +1,276 @@
+// pages/workBenchNew/components/workBenchMeter/index.js
+
+import { alertInfo, alertSuccess, loadingFunc } from "../../../../utils/index";
+import { getParkMeterList, handleOperateMeterSwitch } from "../../../../service/meter"
+import request from "../../../../utils/request"
+const { OK } = request
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ keyword: "",
+ keywordTemp: "",
+ page: 1,
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+ onParkFocus(e) {
+ this.setData({
+ show: true,
+ title: "园区",
+ type: 'park'
+ })
+ },
+ onModeFocus(e) {
+ this.setData({
+ show: true,
+ title: "强控类型",
+ type: 'meterMode'
+ })
+ },
+ onMeterFocus(e) {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "电表",
+ type: 'meter'
+ })
+ },
+ onConfirm(e) {
+ const { data, type, way } = e.detail;
+ const that = this;
+ switch(type) {
+ case "park":
+ this.setData({
+ parkName: data.name,
+ park: data.id,
+ })
+ break;
+ case "meterMode":
+ this.setData({
+ modeName: data,
+ mode: way,
+ })
+ break;
+ case "meter":
+ this.setData({
+ meterName: data.address,
+ meter: data.id,
+ }, () => {
+ loadingFunc(async () => {
+ await that.init();
+ })
+ })
+ break;
+ }
+
+ this.onCancel();
+ },
+ onChangeKeyword(e) {
+ this.setData({ keywordTemp: e.detail })
+ },
+ changeDays(e) {
+ this.setData({
+ days: e.detail,
+ })
+ },
+ uploadImage() {
+ const that = this;
+ wx.chooseMedia({
+ count: 1,
+ mediaType: ['image'],
+ sourceType: ['album', 'camera'],
+ success: async function(res) {
+ console.log("res", res)
+ const path = res.tempFiles?.[0]?.tempFilePath.toLowerCase()
+ if (!/(\.jpg|\.png|\.jpeg)$/.test(path)) {
+ wx.showToast({
+ title: '请上传jpg、png或jpeg格式的图片',
+ icon: 'none',
+ });
+ return;
+ }
+ var tempFilePaths = path;
+ loadingFunc(async () => {
+ const { code, message, url } = await uploadInstallMeter(tempFilePaths)
+ if (code !== OK) {
+ alertError(message)
+ return
+ }
+ that.setData({
+ url: url
+ })
+ })
+ }
+ })
+ },
+ clearImage() {
+ this.setData({
+ url: ""
+ })
+ },
+ changeReason(e) {
+ this.setData({
+ reason: e.detail,
+ })
+ },
+ onSearch() {
+ const that = this;
+ that.setData({
+ keyword: that.data.keywordTemp
+ }, () => {
+ loadingFunc(async () => {
+ await that.init();
+ })
+ })
+ },
+ async init() {
+ const { page, park, meter } = this.data;
+ if (!park) {
+ return;
+ }
+ const { code, message, data, total } = await getParkMeterList({ park, keyword: meter, page })
+ if (code !== OK) {
+ alertInfo(message);
+ return;
+ }
+ this.setData({
+ list: data,
+ total: total,
+ totalPage: Math.ceil(total / 20)
+ })
+ },
+ async onChangePage(e) {
+ const page = e.detail.currentIndex;
+ const that = this;
+ this.setData({
+ page
+ }, () => {
+ loadingFunc(async () => {
+ await that.init();
+ })
+ })
+ },
+ onCancel() {
+ this.setData({
+ show: false,
+ title: "",
+ type: "",
+ })
+ },
+ onChangeSelectMeter(e) {
+ this.setData({
+ meter: e.detail
+ })
+ },
+ async handleMeterSwitchOn() {
+ const that = this;
+ const { meter, meterName } = this.data;
+ wx.showModal({
+ title: '提示',
+ content: `您确认要对${meterName || 当前电表}进行合闸吗?`,
+ complete: async (res) => {
+ if (res.cancel) {
+
+ }
+
+ if (res.confirm) {
+ loadingFunc(async () => {
+ const { code, message } = await handleOperateMeterSwitch({ ids: [meter], status: 0 })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("合闸成功")
+ that.init();
+ })
+
+ }
+ }
+ })
+ },
+ async handleMeterSwitchOff() {
+ const that = this;
+ const { meter, meterName } = this.data;
+ wx.showModal({
+ title: '提示',
+ content: `您确认要对${meterName || 当前电表}进行拉闸吗?`,
+ complete: async (res) => {
+ if (res.cancel) {
+ return;
+ }
+ if (res.confirm) {
+ loadingFunc(async () => {
+ const { code, message } = await handleOperateMeterSwitch({ ids: [meter], status: 1 })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("拉闸成功")
+ that.init();
+ })
+ }
+ }
+ })
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchMeterControl/index.json b/pages/workBenchNew/components/workBenchMeterControl/index.json
new file mode 100644
index 0000000..cf25777
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchMeterControl/index.json
@@ -0,0 +1,20 @@
+{
+ "usingComponents": {
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index",
+ "search-select": "/components/searchSelect/index",
+ "van-empty": "@vant/weapp/empty/index",
+ "table": "/components/table/table",
+ "pagination": "/components/pagination/index",
+ "empty": "/components/empty/index",
+ "van-radio": "@vant/weapp/radio/index",
+ "van-radio-group": "@vant/weapp/radio-group/index",
+ "van-tag": "@vant/weapp/tag/index",
+ "van-row": "@vant/weapp/row/index",
+ "van-col": "@vant/weapp/col/index",
+ "navigator": "/components/navigator/index",
+ "searchSelectWrapper": "/components/searchSelectWrapper/index",
+ "van-popup": "@vant/weapp/popup/index"
+ },
+ "navigationStyle": "custom"
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchMeterControl/index.wxml b/pages/workBenchNew/components/workBenchMeterControl/index.wxml
new file mode 100644
index 0000000..97a2091
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchMeterControl/index.wxml
@@ -0,0 +1,163 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{item.tenement.shortName}}
+
+ {{item.tenement.name}}
+
+
+
+
+
+
+
+
+ 商户电表
+
+ 公摊电表
+
+ 园区电表
+ 表号:{{item.meterNo}}
+
+
+
+
+
+
+
+ {{item.address}}
+
+ SN:{{item.meterSn}}
+
+
+
+
+
+
+
+ 表字:{{item.amount}}
+
+ 余额:{{item.money}}
+
+
+
+
+
+
+
+ 合闸
+ 拉闸
+
+
+
+ 在线
+ 预付费
+ 强控
+ 临时强控
+
+
+
+
+ 失联
+ 预付费
+ 强控
+ 临时强控
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传
+
+ 清除
+
+
+
+
+
+
+
+ 提交
+ 返回
+
+
+
+
+
+
+
+
diff --git a/pages/workBenchNew/components/workBenchMeterControl/index.wxss b/pages/workBenchNew/components/workBenchMeterControl/index.wxss
new file mode 100644
index 0000000..d259093
--- /dev/null
+++ b/pages/workBenchNew/components/workBenchMeterControl/index.wxss
@@ -0,0 +1,78 @@
+/* pages/workBench/components/record/index.wxss */
+.table {
+ width: 890rpx;
+
+}
+
+.classWrapper {
+ width: 100vw;
+ overflow-x: auto;
+}
+
+.thead {
+ display: flex;
+ flex-wrap: nowrap;
+ border-bottom: 1rpx solid #EEEEEE;
+}
+
+.thead .th {
+ padding: 20rpx;
+ white-space: nowrap;
+ text-align: center;
+ box-sizing: border-box;
+
+}
+
+.tbody {
+ width: 890rpx;
+}
+
+.tbody .tr {
+ padding: 20rpx;
+ border-bottom: 1rpx solid #EEEEEE;
+ display: flex;
+ align-items: center;
+ flex-wrap: nowrap;
+}
+
+.tbody .th {
+ word-break: break-all;
+ text-align: center;
+}
+
+.customTable {
+ margin: 20rpx;
+}
+
+.customTableTile {
+ background-color: var(--light-green);
+ padding: 16rpx;
+ box-sizing: border-box;
+ font-weight: 700;
+}
+
+.tableRow {
+ padding: 16rpx;
+ border: 1rpx solid #ccc;
+ border-top: 0rpx;
+}
+
+page {
+ background-color: rgb(228,240,236);
+ font-size: 32rpx;
+ }
+
+
+ .operate {
+ display: flex;
+ padding-top: 24rpx;
+ padding-bottom: 36rpx;
+}
+
+.submit, .cancel {
+ flex: 1;
+}
+
+.submit {
+ margin-right: 30rpx;
+}
diff --git a/pages/workBenchNew/components/workBenchTenement/index.js b/pages/workBenchNew/components/workBenchTenement/index.js
index 59f3cb2..ce91abd 100644
--- a/pages/workBenchNew/components/workBenchTenement/index.js
+++ b/pages/workBenchNew/components/workBenchTenement/index.js
@@ -20,7 +20,17 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
-
+ console.log("options", options)
+ const { park, parkName, name, id } = options
+ this.setData({
+ park,
+ parkName,
+ tenementName: name,
+ tenement: id
+ })
+ if (id) {
+ this.getTenementInfo();
+ }
},
onParkFocus(e) {
this.setData({
diff --git a/pages/workBenchNew/index.js b/pages/workBenchNew/index.js
index aa4fd6b..dfec314 100644
--- a/pages/workBenchNew/index.js
+++ b/pages/workBenchNew/index.js
@@ -78,7 +78,17 @@ Page({
},
jumpToKaihu() {
wx.navigateTo({
- url: 'pages/workBenchNew/components/kaihu/index',
+ url: '/pages/workBenchNew/components/kaihu/index',
+ })
+ },
+ jumpToMeterControl() {
+ wx.navigateTo({
+ url: '/pages/workBenchNew/components/workBenchMeterControl/index',
+ })
+ },
+ workOrder() {
+ wx.navigateTo({
+ url: '/pages/workBenchTodoList/index',
})
},
/**
diff --git a/pages/workBenchNew/index.wxml b/pages/workBenchNew/index.wxml
index e237b49..ec91b45 100644
--- a/pages/workBenchNew/index.wxml
+++ b/pages/workBenchNew/index.wxml
@@ -114,10 +114,13 @@
-
+
-
+
+
+
+
diff --git a/pages/workBenchTodoList/index.js b/pages/workBenchTodoList/index.js
index 4b9ffea..521b868 100644
--- a/pages/workBenchTodoList/index.js
+++ b/pages/workBenchTodoList/index.js
@@ -1,18 +1,178 @@
// pages/workBenchTodoList/index.js
+import request from "../../utils/request"
+import { getWorkOrderList } from "../../service/workBench"
+import { alertInfo, loadingFunc } from "../../utils/index";
+import { noticeFlowType } from "../../utils/data"
+const { OK } = request
Page({
/**
* 页面的初始数据
*/
data: {
-
+ page: 1,
+ size: 20,
+ noticeFlowType,
+ actionItems: [{
+ name: '确认',
+ value: 'status'
+ }],
},
+ showActionMenu(e) {
+ console.log("e", e)
+ this.setData({
+ currentActionSheet: e.currentTarget.dataset.id
+ });
+},
+hideActionMenu() {
+ this.setData({
+ currentActionSheet: null
+ });
+},
+onMenuSelect(e) {
+ const {
+ value
+ } = e.detail;
+ const id = e.currentTarget.dataset.id;
+ if (value === 'detail') {
+ this.jumpToDetail(id);
+ }
+},
+ jumpToDetail(id) {
+
+ // wx.navigateTo({
+ // url: '/pages/workOrderDetail/index?id=' + id,
+ // })
+ },
+ onConfirm(e) {
+ const { type, data = {}, way } = e.detail;
+ const that = this;
+ switch(type) {
+ case "park":
+ this.setData({
+ park: data.id,
+ parkName: data.name,
+ })
+ break;
+ case "tenement":
+ this.setData({
+ tenement: data.id,
+ tenementName: data.name,
+ })
+ break;
+
+ case "noticeFlowType":
+ this.setData({
+ noticeFlowType: data,
+ noticeFlowTypeName: data,
+ page: 1,
+ }, () => {
+ loadingFunc(async () => {
+ await that.init()
+ })
+ });
+ break;
+ case "noticeFlowStatus":
+ this.setData({
+ noticeFlowStatus: data,
+ noticeFlowStatusName: data,
+ page: 1,
+ }, () => {
+ loadingFunc(async () => {
+ await that.init()
+ })
+ });
+ break;
+ case "meter":
+ this.setData({
+ meter: data.id,
+ meterName: data.address,
+ meterInfo: data,
+ page: 1,
+ }, () => {
+ loadingFunc(async () => {
+ await that.init()
+ })
+ });
+ break;
+ }
+ this.onCancel();
+ },
+ onCancel() {
+ this.setData({
+ show: false,
+ title: "",
+ type: "",
+ })
+ },
+ onParkFocus(e) {
+ this.setData({
+ show: true,
+ title: "园区",
+ type: 'park'
+ })
+ },
+ onNoticeFlowFocus() {
+ this.setData({
+ show: true,
+ title: "类型",
+ type: 'noticeFlowType'
+ })
+ },
+ onNoticeFlowStatusFocus() {
+ this.setData({
+ show: true,
+ title: "确认状态",
+ type: 'noticeFlowStatus'
+ })
+ },
+ onMeterFocus(e) {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "电表",
+ type: 'meter'
+ })
+ },
+ onChangePage(e) {
+ const that = this;
+ this.setData({
+ page: e.detail.currentIndex,
+ }, () => {
+ loadingFunc(async () => {
+ await that.init()
+ })
+ })
+ console.log("e", e)
+ },
+ async init() {
+ const { page, size, park, tenement, meter, type, time, status } = this.data;
+ const { code, message, data, total } = await getWorkOrderList({ page, size, park, tenement, meter, type, time, status })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ this.setData({
+ list: data?.map(item => {
+ item.time = item?.created_at?.slice(0, 10)
+ item.address = item?.target?.meter_data?.address;
+ return item;
+ }),
+ totalPage: Math.ceil(total / size),
+ })
+ },
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
-
+ loadingFunc(async () => {
+ await this.init()
+ })
},
/**
diff --git a/pages/workBenchTodoList/index.json b/pages/workBenchTodoList/index.json
index aff1cbd..ede92dd 100644
--- a/pages/workBenchTodoList/index.json
+++ b/pages/workBenchTodoList/index.json
@@ -7,7 +7,17 @@
"search-select": "/components/searchSelect/index",
"van-field": "@vant/weapp/field/index",
"van-button": "@vant/weapp/button/index",
- "searchSelectWrapper": "/components/searchSelectWrapper/index"
+ "searchSelectWrapper": "/components/searchSelectWrapper/index",
+ "van-empty": "@vant/weapp/empty/index",
+ "table": "/components/table/table",
+ "pagination": "/components/pagination/index",
+ "empty": "/components/empty/index",
+ "van-radio": "@vant/weapp/radio/index",
+ "van-radio-group": "@vant/weapp/radio-group/index",
+ "van-dialog": "@vant/weapp/dialog/index",
+ "van-icon": "@vant/weapp/icon/index",
+ "van-action-sheet": "@vant/weapp/action-sheet/index"
+
},
"navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/pages/workBenchTodoList/index.wxml b/pages/workBenchTodoList/index.wxml
index 8603edb..0d26819 100644
--- a/pages/workBenchTodoList/index.wxml
+++ b/pages/workBenchTodoList/index.wxml
@@ -1,12 +1,99 @@
-
-
- 1
-
-
- 2
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+ 时间
+ 类型
+ 电表地址
+ 状态
+ 操作
+
+
+
+
+
+
+ {{ item.time }}
+
+
+ {{ noticeFlowType[item.types - 1] }}
+
+
+
+ {{ item.address }}
+
+
+ {{ item.flow_status === 1 ? "处理中" : "已确认" }}
+
+
+
+ 确认
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/workBenchTodoList/index.wxss b/pages/workBenchTodoList/index.wxss
index f05fa3a..ea6fa96 100644
--- a/pages/workBenchTodoList/index.wxss
+++ b/pages/workBenchTodoList/index.wxss
@@ -1 +1,71 @@
-/* pages/workBenchTodoList/index.wxss */
\ No newline at end of file
+/* pages/workBenchTodoList/index.wxss */
+
+.table {
+ width: 500rpx;
+
+}
+
+.tableWrapper {
+ width: 100vw;
+ overflow-x: auto;
+}
+
+.thead {
+
+ display: flex;
+ flex-wrap: nowrap;
+
+}
+
+.thead .th {
+ padding: 10rpx;
+ white-space: nowrap;
+ text-align: center;
+ box-sizing: border-box;
+}
+
+.primaryTextBtn {
+ color: #1989fa;
+ }
+
+.tbody {
+ width: 500rpx;
+}
+
+.tbody .tr {
+ padding: 10rpx;
+ border-bottom: 1rpx solid #EEEEEE;
+ display: flex;
+ align-items: center;
+ flex-wrap: nowrap;
+}
+
+.tbody .tr {
+ word-break: break-all;
+ text-align: center;
+}
+
+.more-icon {
+ padding: 20rpx;
+ color: #1989fa;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+
+/* 基础标签样式 */
+.tag {
+ display: inline-block;
+ padding: 4px 5px;
+ margin-right: 0px;
+ border-radius: 16px;
+ background: #07c160;
+ color: white;
+ font-size: 25rpx;
+ }
+
+ /* 激活状态样式 */
+ .tag.active {
+ background: #07c160;
+ color: white;
+ }
\ No newline at end of file
diff --git a/pages/workOrderDetail/index.js b/pages/workOrderDetail/index.js
new file mode 100644
index 0000000..9b339ba
--- /dev/null
+++ b/pages/workOrderDetail/index.js
@@ -0,0 +1,66 @@
+// pages/workOrderDetail/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/workOrderDetail/index.json b/pages/workOrderDetail/index.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/workOrderDetail/index.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/workOrderDetail/index.wxml b/pages/workOrderDetail/index.wxml
new file mode 100644
index 0000000..15d3210
--- /dev/null
+++ b/pages/workOrderDetail/index.wxml
@@ -0,0 +1,2 @@
+
+pages/workOrderDetail/index.wxml
\ No newline at end of file
diff --git a/pages/workOrderDetail/index.wxss b/pages/workOrderDetail/index.wxss
new file mode 100644
index 0000000..d1b82a2
--- /dev/null
+++ b/pages/workOrderDetail/index.wxss
@@ -0,0 +1 @@
+/* pages/workOrderDetail/index.wxss */
\ No newline at end of file
diff --git a/service/meter.js b/service/meter.js
index a610bcd..aa8dca4 100644
--- a/service/meter.js
+++ b/service/meter.js
@@ -67,4 +67,9 @@ export const getInventoryMeter = async function({park = "", keyword = "", page =
// 新装电表
export const installMeter = async function(data) {
return await POST(`/wx/workBench/installMeter`, data);
+}
+
+// 拆表
+export const uninstallMeter = async function(sn) {
+ return await DELETE(`/flow/doMeterRemoveApproval?sn=${sn}`);
}
\ No newline at end of file
diff --git a/service/workBench.js b/service/workBench.js
index a079d17..61f0169 100644
--- a/service/workBench.js
+++ b/service/workBench.js
@@ -49,4 +49,11 @@ export const checkReadingFinish = async function(id) {
// 获取工作台首页
export const getWorkBenchHome = async function() {
return await GET(`/workHome/mainPage`,);
+}
+
+// 获取工单列表
+export const getWorkOrderList = async function({
+ page, size, park = "", meter = "", tenement = "", status = "", type = "", time = ""
+}) {
+ return await GET(`/noticeFlow/getDisposeList?page=${page}&size=${size}&park=${park}&meter=${meter}&tenement=${tenement}&status=${status}&type=${type}&time=${time}`,);
}
\ No newline at end of file
diff --git a/utils/data.js b/utils/data.js
index 2156c41..b9c09b9 100644
--- a/utils/data.js
+++ b/utils/data.js
@@ -11,4 +11,9 @@ export const getRechargeOperateWay = (num) => {
export const feeType = ['华昌宝能收费', "物业代收1", "物业代收2", "物业代收线损"]
-export const meterType = ['商户电表', '园区电表', '公摊电表']
\ No newline at end of file
+export const meterType = ['商户电表', '园区电表', '公摊电表']
+
+export const noticeFlowType = ['拆表', '装表', '开户', "解绑", "绑定"]
+export const noticeFlowStatus = ["已确认", "待确认"]
+
+export const meterMode = ["预付费", "强控", "临时强控"]
\ No newline at end of file
--
2.49.1
From 07add888565b4bbf2c4bf793c42086804c4320c6 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Mon, 10 Nov 2025 16:09:38 +0800
Subject: [PATCH 26/51] =?UTF-8?q?=E8=81=94=E8=B0=83=E6=8B=86=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/uninstallMeter/index.js | 21 ++++++++++++++-----
.../components/uninstallMeter/index.json | 3 ++-
.../components/uninstallMeter/index.wxml | 2 +-
pages/workBenchTodoList/index.js | 5 ++---
service/meter.js | 4 ++--
service/public.js | 20 ++++++++++++++++++
6 files changed, 43 insertions(+), 12 deletions(-)
diff --git a/pages/workBenchNew/components/uninstallMeter/index.js b/pages/workBenchNew/components/uninstallMeter/index.js
index f785687..62ed294 100644
--- a/pages/workBenchNew/components/uninstallMeter/index.js
+++ b/pages/workBenchNew/components/uninstallMeter/index.js
@@ -1,8 +1,9 @@
// pages/workBenchNew/components/uninstallMeter/index.js
-import { uninstallMeter } from "../../../../service/meter";
+import { uninstallMeter, } from "../../../../service/meter";
import dayjs from "../../../../utils/dayjs"
import request from "../../../../utils/request"
-import { alertInfo, alertSuccess, } from "../../../../utils/index"
+import { alertInfo, alertSuccess, loadingFunc} from "../../../../utils/index"
+import { uploadUninstallMeter } from "../../../../service/public"
const { OK } = request;
@@ -113,12 +114,12 @@ Page({
})
},
async onSubmit() {
- const { meter, } = this.data;
+ const { meter, reason, url, meterInfo } = this.data;
if (!meter) {
alertInfo("请选择表号")
return;
}
- const { code, message } = await uninstallMeter(meter)
+ const { code, message } = await uninstallMeter({sn: meterInfo.meterSn, images: url, reason})
if (code !== OK) {
alertInfo(message)
return
@@ -148,7 +149,7 @@ Page({
}
var tempFilePaths = path;
loadingFunc(async () => {
- const { code, message, url } = await uploadInstallMeter(tempFilePaths)
+ const { code, message, url } = await uploadUninstallMeter(tempFilePaths)
if (code !== OK) {
alertError(message)
return
@@ -165,6 +166,16 @@ Page({
url: ""
})
},
+ showImage() {
+ this.setData({
+ imageShow: true
+ })
+ },
+ onClose() {
+ this.setData({
+ imageShow: false
+ })
+ },
goback() {
wx.navigateBack()
},
diff --git a/pages/workBenchNew/components/uninstallMeter/index.json b/pages/workBenchNew/components/uninstallMeter/index.json
index a676309..003c648 100644
--- a/pages/workBenchNew/components/uninstallMeter/index.json
+++ b/pages/workBenchNew/components/uninstallMeter/index.json
@@ -5,7 +5,8 @@
"search-select": "/components/searchSelect/index",
"van-field": "@vant/weapp/field/index",
"van-button": "@vant/weapp/button/index",
- "searchSelectWrapper": "/components/searchSelectWrapper/index"
+ "searchSelectWrapper": "/components/searchSelectWrapper/index",
+ "van-image": "@vant/weapp/image/index"
},
"navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/uninstallMeter/index.wxml b/pages/workBenchNew/components/uninstallMeter/index.wxml
index 91330e9..a3b5474 100644
--- a/pages/workBenchNew/components/uninstallMeter/index.wxml
+++ b/pages/workBenchNew/components/uninstallMeter/index.wxml
@@ -46,7 +46,7 @@
清除
-
+
diff --git a/pages/workBenchTodoList/index.js b/pages/workBenchTodoList/index.js
index 521b868..bedbce6 100644
--- a/pages/workBenchTodoList/index.js
+++ b/pages/workBenchTodoList/index.js
@@ -148,11 +148,10 @@ onMenuSelect(e) {
await that.init()
})
})
- console.log("e", e)
},
async init() {
- const { page, size, park, tenement, meter, type, time, status } = this.data;
- const { code, message, data, total } = await getWorkOrderList({ page, size, park, tenement, meter, type, time, status })
+ const { page, size, park, tenement, meter, noticeFlowType, noticeFlowStatus, time } = this.data;
+ const { code, message, data, total } = await getWorkOrderList({ page, size, park, tenement, meter, type: noticeFlowType, time, status: noticeFlowStatus })
if (code !== OK) {
alertInfo(message)
return;
diff --git a/service/meter.js b/service/meter.js
index aa8dca4..7718f03 100644
--- a/service/meter.js
+++ b/service/meter.js
@@ -70,6 +70,6 @@ export const installMeter = async function(data) {
}
// 拆表
-export const uninstallMeter = async function(sn) {
- return await DELETE(`/flow/doMeterRemoveApproval?sn=${sn}`);
+export const uninstallMeter = async function({sn, reason, images}) {
+ return await DELETE(`/flow/doMeterRemoveApproval`, { sn, reason, images });
}
\ No newline at end of file
diff --git a/service/public.js b/service/public.js
index 9a40ece..a7c1acd 100644
--- a/service/public.js
+++ b/service/public.js
@@ -63,6 +63,26 @@ export const uploadInstallMeter = (filePath) => {
})
}
+export const uploadUninstallMeter = (filePath) => {
+ const { api } = getConfigByEnv();
+ return new Promise((resolve, reject) => {
+ wx.uploadFile({
+ filePath: filePath,
+ name: 'data',
+ url: `${api}/image/meter/delete`,
+ header: {
+ authorization: 'Bearer ' + wx.getStorageSync("token")
+ },
+ success: (res) => {
+ resolve(res?.data ? JSON.parse(res?.data) : res?.data);
+ },
+ fail: (err) => {
+ reject(err);
+ }
+ })
+ })
+}
+
export const uploadPublicFile = (filePath) => {
const { api } = getConfigByEnv();
return new Promise((resolve, reject) => {
--
2.49.1
From 48f35e2e91b9822a4fec0e182bc9d51040168eee Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Mon, 10 Nov 2025 17:38:06 +0800
Subject: [PATCH 27/51] =?UTF-8?q?=E6=8B=86=E8=A1=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
service/meter.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/service/meter.js b/service/meter.js
index 7718f03..b1eaa9d 100644
--- a/service/meter.js
+++ b/service/meter.js
@@ -71,5 +71,5 @@ export const installMeter = async function(data) {
// 拆表
export const uninstallMeter = async function({sn, reason, images}) {
- return await DELETE(`/flow/doMeterRemoveApproval`, { sn, reason, images });
+ return await DELETE(`/flow/doMeterRemoveApproval?sn=${sn}&reason=${reason}&images=${images}`);
}
\ No newline at end of file
--
2.49.1
From ed5fea105f5521250899a74826568182f5e3723c Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 12 Nov 2025 08:49:16 +0800
Subject: [PATCH 28/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=82=E6=95=B0undef?=
=?UTF-8?q?ined=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
service/meter.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/service/meter.js b/service/meter.js
index b1eaa9d..276cc0e 100644
--- a/service/meter.js
+++ b/service/meter.js
@@ -70,6 +70,6 @@ export const installMeter = async function(data) {
}
// 拆表
-export const uninstallMeter = async function({sn, reason, images}) {
+export const uninstallMeter = async function({sn = "", reason = "", images = ""}) {
return await DELETE(`/flow/doMeterRemoveApproval?sn=${sn}&reason=${reason}&images=${images}`);
}
\ No newline at end of file
--
2.49.1
From 8af3586e22a3932e08bde46633086578042dc86c Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 12 Nov 2025 08:56:43 +0800
Subject: [PATCH 29/51] =?UTF-8?q?=E5=88=A0=E6=8E=89=E6=B3=A8=E9=87=8A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/meterBalanceRecord/index.wxml | 40 -------------------
.../components/workBenchMeterControl/index.js | 3 ++
2 files changed, 3 insertions(+), 40 deletions(-)
diff --git a/pages/meterBalanceRecord/index.wxml b/pages/meterBalanceRecord/index.wxml
index e22637d..81e16b7 100644
--- a/pages/meterBalanceRecord/index.wxml
+++ b/pages/meterBalanceRecord/index.wxml
@@ -11,46 +11,6 @@
-
Date: Wed, 12 Nov 2025 08:58:33 +0800
Subject: [PATCH 30/51] =?UTF-8?q?=E6=94=AF=E6=8C=81=E6=B7=B1=E8=B0=B7?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
childPackage/pages/billDetail/index.wxml | 2 ++
.../electricQuery/components/reading/index.wxml | 14 ++++++++++++++
childPackage/pages/electricQuery/index.js | 3 ++-
pages/billMeterDetail/index.js | 15 ++++++++-------
.../tenement/components/bindMeter/index.js | 3 ++-
.../tenement/components/bindMeter/index.wxml | 10 ++++++++++
.../tenement/components/unBindMeter/index.js | 3 ++-
.../tenement/components/unBindMeter/index.wxml | 10 ++++++++++
.../components/bindMeter/index.js | 4 +++-
.../components/bindMeter/index.wxml | 10 ++++++++++
.../components/unBindMeter/index.js | 4 +++-
.../components/unBindMeter/index.wxml | 10 ++++++++++
12 files changed, 76 insertions(+), 12 deletions(-)
diff --git a/childPackage/pages/billDetail/index.wxml b/childPackage/pages/billDetail/index.wxml
index 443e46a..f69d1a3 100644
--- a/childPackage/pages/billDetail/index.wxml
+++ b/childPackage/pages/billDetail/index.wxml
@@ -129,6 +129,7 @@
峰: {{ detail.comprehensive.peakAmount }}
平: {{ detail.comprehensive.flatAmount }}
谷: {{ detail.comprehensive.valleyAmount }}
+ 深谷: {{ detail.comprehensive.deepValleyAmount }}
@@ -141,6 +142,7 @@
峰: {{ detail.comprehensive.pricePeak }}
平: {{ detail.comprehensive.priceFlat }}
谷: {{ detail.comprehensive.priceValley }}
+ 深谷: {{ detail.comprehensive.priceDeepValley }}
diff --git a/childPackage/pages/electricQuery/components/reading/index.wxml b/childPackage/pages/electricQuery/components/reading/index.wxml
index 7aff417..01ca838 100644
--- a/childPackage/pages/electricQuery/components/reading/index.wxml
+++ b/childPackage/pages/electricQuery/components/reading/index.wxml
@@ -136,6 +136,13 @@
readonly
wx:if="{{park.meter04kvType === 1|| park.meter04kvType === 2}}"
/>
+
+
上次抄表记录起,至现在时间内的用电量
diff --git a/childPackage/pages/electricQuery/index.js b/childPackage/pages/electricQuery/index.js
index 2e15552..9ae7766 100644
--- a/childPackage/pages/electricQuery/index.js
+++ b/childPackage/pages/electricQuery/index.js
@@ -41,6 +41,7 @@ Page({
{ key: 'peak', title: '峰' },
{ key: 'flat', title: '平' },
{ key: 'valley', title: '谷' },
+ { key: 'deepValley', title: '深谷' },
],
list: [],
visible: false,
@@ -171,7 +172,7 @@ Page({
const newList = [...times].map(item => {
const exist = list.find(ele => ele.time === item)
if (exist) {
- return Number(exist.critical)+ Number(exist.peak)+Number(exist.flat)+Number(exist.valley);
+ return Number(exist.critical || 0)+ Number(exist.peak || 0)+Number(exist.flat || 0)+Number(exist.valley || 0)+Number(exist.deepValley || 0);
}
return null
})
diff --git a/pages/billMeterDetail/index.js b/pages/billMeterDetail/index.js
index a768265..6fd67ec 100644
--- a/pages/billMeterDetail/index.js
+++ b/pages/billMeterDetail/index.js
@@ -13,6 +13,7 @@ Page({
{ title: '峰',renderBody: (item) => { return item?.peak } },
{ title: '平',renderBody: (item) => { return item?.flat } },
{ title: '谷',renderBody: (item) => { return item?.valley } },
+ { title: '深谷',renderBody: (item) => { return item?.deepValley } },
],
list: []
},
@@ -25,13 +26,13 @@ Page({
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) },
+ { type: "起码", sharp: data.startSharp, peak: data.startPeak, flat: data.startFlat, valley: data.startValley, deepValley: data.startDeepValley },
+ { type: "止码", sharp: data.endSharp, peak: data.endPeak, flat: data.endFlat, valley: data.endValley, deepValley: data.endDeepValley },
+ { type: "退补电量", sharp: data.refundSharp, peak: data.refundPeak, flat: data.refundFlat, valley: data.refundValley, deepValley: data.refundDeepValley },
+ { type: "从表电量", sharp: getRoundNumber(data.nestSharp), peak: getRoundNumber(data.nestPeak), flat: getRoundNumber(data.nestFlat), valley: getRoundNumber(data.nestValley), deepValley: getRoundNumber(data.nestDeepValley) },
+ { type: "电度电量", sharp: getRoundNumber(data?.critical?.amount), peak: getRoundNumber(data.peak?.amount), flat: getRoundNumber(data.flat?.amount), valley: getRoundNumber(data.valley?.amount), deepValley: getRoundNumber(data?.deepValley?.amount) },
+ { type: "分时单价", sharp: data.critical?.price, peak: data.peak?.price, flat: data.flat?.price, valley: data.valley?.price , valley: data.valley?.price, deepValley: data.deepValley?.price},
+ { type: "电费", sharp: getRoundNumber(data.chargeSharp), peak: getRoundNumber(data.chargePeak), flat: getRoundNumber(data.chargeFlat), valley: getRoundNumber(data.chargeValley), deepValley: getRoundNumber(data.chargeDeepValley) },
]
})
},
diff --git a/pages/workBench/components/tenement/components/bindMeter/index.js b/pages/workBench/components/tenement/components/bindMeter/index.js
index 0ad9d61..3be41b4 100644
--- a/pages/workBench/components/tenement/components/bindMeter/index.js
+++ b/pages/workBench/components/tenement/components/bindMeter/index.js
@@ -64,7 +64,7 @@ Component({
})
},
async onSubmit() {
- const { overall, critical, peak, valley, park, tenement, meter, readAt } = this.data;
+ const { overall, critical, peak, valley, park, tenement, meter, readAt, deepValley } = this.data;
const { code, message } = await bindMeter(
park,
tenement,
@@ -74,6 +74,7 @@ Component({
critical : critical ? Number(critical) : critical,
peak: peak ? Number(peak) : peak,
valley : valley ? Number(valley) : valley,
+ deepValley : deepValley ? Number(deepValley) : deepValley,
readAt: readAt || dayjs().format('YYYY-MM-DD HH:mm:ss')
}
)
diff --git a/pages/workBench/components/tenement/components/bindMeter/index.wxml b/pages/workBench/components/tenement/components/bindMeter/index.wxml
index 0e2ed30..159812d 100644
--- a/pages/workBench/components/tenement/components/bindMeter/index.wxml
+++ b/pages/workBench/components/tenement/components/bindMeter/index.wxml
@@ -101,6 +101,16 @@
type="digit"
placeholder="请输入有功(谷)"
/>
+
diff --git a/pages/workBench/components/tenement/components/unBindMeter/index.js b/pages/workBench/components/tenement/components/unBindMeter/index.js
index ebdda83..f3d72e2 100644
--- a/pages/workBench/components/tenement/components/unBindMeter/index.js
+++ b/pages/workBench/components/tenement/components/unBindMeter/index.js
@@ -69,7 +69,7 @@ Component({
})
},
async onSubmit() {
- const { overall, critical, peak, valley, park, tenement, meterId,readAt } = this.data;
+ const { overall, critical, peak, valley, deepValley, park, tenement, meterId,readAt } = this.data;
const { code, message, } = await unbindMeter(
park,
tenement,
@@ -79,6 +79,7 @@ Component({
critical : critical ? Number(critical) : critical,
peak: peak ? Number(peak) : peak,
valley : valley ? Number(valley) : valley,
+ deepValley: deepValley ? Number(deepValley) : deepValley,
readAt: readAt || dayjs().format('YYYY-MM-DD HH:mm:ss')
});
if (code !== OK) {
diff --git a/pages/workBench/components/tenement/components/unBindMeter/index.wxml b/pages/workBench/components/tenement/components/unBindMeter/index.wxml
index 7a9952f..9a5ac1e 100644
--- a/pages/workBench/components/tenement/components/unBindMeter/index.wxml
+++ b/pages/workBench/components/tenement/components/unBindMeter/index.wxml
@@ -89,6 +89,16 @@
data-name="valley"
placeholder="请输入有功(谷)"
/>
+
diff --git a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
index caba95d..75f4d98 100644
--- a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
+++ b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
@@ -64,7 +64,7 @@ Component({
})
},
async onSubmit() {
- const { overall, critical, peak, valley, park, tenement, meter, readAt, flat } = this.data;
+ const { overall, critical, peak, valley, deepValley, park, tenement, meter, readAt, flat } = this.data;
const { code, message } = await bindMeter(
park,
tenement,
@@ -75,6 +75,7 @@ Component({
peak: peak ? Number(peak) : peak,
flat: flat ? Number(flat) : flat,
valley : valley ? Number(valley) : valley,
+ deepValley: deepValley ? Number(deepValley) : deepValley,
readAt: readAt || dayjs().format('YYYY-MM-DD HH:mm:ss')
}
)
@@ -111,6 +112,7 @@ Component({
peak: Number(data?.peak || 0),
flat: Number(data?.flat || 0),
valley: Number(data?.valley || 0),
+ deepValley: Number(data?.deepValley || 0),
meter04kvType: data?.meter04kvType,
status: data?.breakType ? '合闸' : "分闸",
})
diff --git a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml
index 42bd669..be4eea3 100644
--- a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml
+++ b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.wxml
@@ -101,6 +101,16 @@
type="digit"
placeholder="请输入有功(谷)"
/>
+
diff --git a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js
index 7ee64fc..89ef917 100644
--- a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js
+++ b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js
@@ -60,6 +60,7 @@ Component({
peak: Number(data?.peak || 0),
flat: Number(data?.flat || 0),
valley: Number(data?.valley || 0),
+ deepValley: Number(data?.deepValley || 0),
meter04kvType: data?.meter04kvType,
status: data?.breakType ? '合闸' : "分闸"
})
@@ -74,7 +75,7 @@ Component({
})
},
async onSubmit() {
- const { overall, critical, peak, valley, park, tenement, meterId,readAt, flat } = this.data;
+ const { overall, critical, peak, valley, deepValley, park, tenement, meterId,readAt, flat } = this.data;
const { code, message, } = await unbindMeter(
park,
tenement,
@@ -85,6 +86,7 @@ Component({
peak: peak ? Number(peak) : peak,
flat: flat ? Number(flat) : flat,
valley : valley ? Number(valley) : valley,
+ deepValley: deepValley ? Number(deepValley) : deepValley,
readAt: readAt || dayjs().format('YYYY-MM-DD HH:mm:ss')
});
if (code !== OK) {
diff --git a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxml b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxml
index a4c37fc..4c225f3 100644
--- a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxml
+++ b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.wxml
@@ -89,6 +89,16 @@
data-name="valley"
placeholder="请输入有功(谷)"
/>
+
--
2.49.1
From 422338f8165a29edecb6ec5d63cd2152d5ff1e38 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 12 Nov 2025 14:12:01 +0800
Subject: [PATCH 31/51] =?UTF-8?q?=E7=94=B5=E8=A1=A8=E5=BC=BA=E6=8E=A7?=
=?UTF-8?q?=EF=BC=8C=E5=B7=A5=E5=8D=95=E8=B7=B3=E8=BD=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/installMeter/index.js | 3 +
pages/workBenchNew/components/kaihu/index.js | 4 +-
.../components/uninstallMeter/index.js | 37 +++++++-
.../components/uninstallMeter/index.wxml | 42 ++++++++++
.../components/workBenchMeterControl/index.js | 84 +++++++------------
.../workBenchMeterControl/index.wxml | 2 +-
service/meter.js | 10 ++-
service/public.js | 19 +++++
8 files changed, 141 insertions(+), 60 deletions(-)
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
index 72b9ae9..2f00a38 100644
--- a/pages/workBenchNew/components/installMeter/index.js
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -390,6 +390,9 @@ Page({
return;
}
alertSuccess("新增成功")
+ wx.navigateTo({
+ url: '/pages/workBenchTodoList/index',
+ })
},
goback() {
wx.navigateBack()
diff --git a/pages/workBenchNew/components/kaihu/index.js b/pages/workBenchNew/components/kaihu/index.js
index 264a79b..71d2b19 100644
--- a/pages/workBenchNew/components/kaihu/index.js
+++ b/pages/workBenchNew/components/kaihu/index.js
@@ -52,7 +52,7 @@ Page({
phone, building, feeType, park, editType, id, parkName,
} = this.data;
- const { code, message } = await createBackTenement(park, { name, shortName, address, contact, phone, building, feeType })
+ const { code, message, tenement } = await createBackTenement(park, { name, shortName, address, contact, phone, building, feeType })
if (code !== OK) {
alertInfo(message)
return
@@ -60,7 +60,7 @@ Page({
alertSuccess("开户成功")
// wx.navigateBack()
wx.redirectTo({
- url: `/pages/workBenchNew/components/workBenchTenement/index?park=${park}&parkName=${parkName}&name=${name}`,
+ url: `/pages/workBenchNew/components/workBenchTenement/index?park=${park}&parkName=${parkName}&name=${name}&id=${tenement}`,
})
},
handleBack() {
diff --git a/pages/workBenchNew/components/uninstallMeter/index.js b/pages/workBenchNew/components/uninstallMeter/index.js
index 62ed294..0d14347 100644
--- a/pages/workBenchNew/components/uninstallMeter/index.js
+++ b/pages/workBenchNew/components/uninstallMeter/index.js
@@ -42,6 +42,9 @@ Page({
this.setData({
park: data.id,
parkName: data.name,
+ meter: null,
+ meterInfo: null,
+ meterName: null,
})
break;
case "tenement":
@@ -113,13 +116,43 @@ Page({
type: "",
})
},
+ changeCritical(e) {
+ this.setData({
+ critical: e.detail,
+ })
+ },
+ changePeak(e) {
+ this.setData({
+ peak: e.detail,
+ })
+ },
+ changeFlat(e) {
+ this.setData({
+ flat: e.detail,
+ })
+ },
+ changeValley(e) {
+ this.setData({
+ valley: e.detail,
+ })
+ },
+ changeOverall(e) {
+ this.setData({
+ overall: e.detail,
+ })
+ },
+ changeDeppValley(e) {
+ this.setData({
+ deepOverall: e.detail,
+ })
+ },
async onSubmit() {
- const { meter, reason, url, meterInfo } = this.data;
+ const { meter, reason, url, meterInfo, critical, peak, flat, valley, overall, deepOverall } = this.data;
if (!meter) {
alertInfo("请选择表号")
return;
}
- const { code, message } = await uninstallMeter({sn: meterInfo.meterSn, images: url, reason})
+ const { code, message } = await uninstallMeter({sn: meterInfo.meterSn, images: url, reason, tenement: meterInfo.tenement, critical, peak, flat, valley, overall, deepOverall})
if (code !== OK) {
alertInfo(message)
return
diff --git a/pages/workBenchNew/components/uninstallMeter/index.wxml b/pages/workBenchNew/components/uninstallMeter/index.wxml
index a3b5474..a1bb62c 100644
--- a/pages/workBenchNew/components/uninstallMeter/index.wxml
+++ b/pages/workBenchNew/components/uninstallMeter/index.wxml
@@ -50,6 +50,48 @@
+
+
+
+
+
+
提交
返回
diff --git a/pages/workBenchNew/components/workBenchMeterControl/index.js b/pages/workBenchNew/components/workBenchMeterControl/index.js
index 7238e8b..04b55de 100644
--- a/pages/workBenchNew/components/workBenchMeterControl/index.js
+++ b/pages/workBenchNew/components/workBenchMeterControl/index.js
@@ -1,7 +1,8 @@
// pages/workBenchNew/components/workBenchMeter/index.js
import { alertInfo, alertSuccess, loadingFunc } from "../../../../utils/index";
-import { getParkMeterList, handleOperateMeterSwitch } from "../../../../service/meter"
+import { getParkMeterList, handleOperateMeterMode } from "../../../../service/meter"
+import { uploadMeterForce } from "../../../../service/public"
import request from "../../../../utils/request"
const { OK } = request
@@ -87,7 +88,34 @@ Page({
})
},
handleSubmit() {
- const { } = this.data;
+ const that = this;
+ const { mode, days, reason, meter, meterName, url } = this.data;
+ if (mode === 2 && days == null) {
+ alertInfo("请填写天数")
+ return;
+ }
+ wx.showModal({
+ title: '提示',
+ content: `确定要对${meterName}进行${["预付费", "强控", "临时强控"][mode]}操作吗?`,
+ complete: async (res) => {
+ if (res.cancel) {
+
+ }
+
+ if (res.confirm) {
+ loadingFunc(async () => {
+ const { code, message } = await handleOperateMeterMode({ ids: [meter], mode, days: days == null ? undefined : Number(days), reason, images: url })
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ alertSuccess("操作成功")
+
+ await that.init();
+ })
+ }
+ }
+ })
},
uploadImage() {
const that = this;
@@ -107,7 +135,7 @@ Page({
}
var tempFilePaths = path;
loadingFunc(async () => {
- const { code, message, url } = await uploadInstallMeter(tempFilePaths)
+ const { code, message, url } = await uploadMeterForce(tempFilePaths)
if (code !== OK) {
alertError(message)
return
@@ -178,56 +206,6 @@ Page({
meter: e.detail
})
},
- async handleMeterSwitchOn() {
- const that = this;
- const { meter, meterName } = this.data;
- wx.showModal({
- title: '提示',
- content: `您确认要对${meterName || 当前电表}进行合闸吗?`,
- complete: async (res) => {
- if (res.cancel) {
-
- }
-
- if (res.confirm) {
- loadingFunc(async () => {
- const { code, message } = await handleOperateMeterSwitch({ ids: [meter], status: 0 })
- if (code !== OK) {
- alertInfo(message)
- return;
- }
- alertSuccess("合闸成功")
- that.init();
- })
-
- }
- }
- })
- },
- async handleMeterSwitchOff() {
- const that = this;
- const { meter, meterName } = this.data;
- wx.showModal({
- title: '提示',
- content: `您确认要对${meterName || 当前电表}进行拉闸吗?`,
- complete: async (res) => {
- if (res.cancel) {
- return;
- }
- if (res.confirm) {
- loadingFunc(async () => {
- const { code, message } = await handleOperateMeterSwitch({ ids: [meter], status: 1 })
- if (code !== OK) {
- alertInfo(message)
- return;
- }
- alertSuccess("拉闸成功")
- that.init();
- })
- }
- }
- })
- },
/**
* 生命周期函数--监听页面初次渲染完成
*/
diff --git a/pages/workBenchNew/components/workBenchMeterControl/index.wxml b/pages/workBenchNew/components/workBenchMeterControl/index.wxml
index 97a2091..498c469 100644
--- a/pages/workBenchNew/components/workBenchMeterControl/index.wxml
+++ b/pages/workBenchNew/components/workBenchMeterControl/index.wxml
@@ -143,7 +143,7 @@
- 提交
+ 确认
返回
diff --git a/service/meter.js b/service/meter.js
index 276cc0e..7a11a40 100644
--- a/service/meter.js
+++ b/service/meter.js
@@ -37,6 +37,12 @@ export const getBackTenementMeters = async function(park, tenement) {
export const handleOperateMeterSwitch = async function({ ids = [], status }) {
return await PUT(`/equipment/batchSwtich`, { ids, status });
}
+
+// 预付费模式
+export const handleOperateMeterMode = async function({ ids = [], mode, days, images, reason }) {
+ return await PUT(`/equipment/batchSetMode`, { ids, mode, days, images, reason });
+}
+
// 绑定时获取电表的最新信息
export const getWorkMeterDetail = async function(code = '') {
return await GET(`/vx/getWorkMeterDetail?code=${code}`);
@@ -70,6 +76,6 @@ export const installMeter = async function(data) {
}
// 拆表
-export const uninstallMeter = async function({sn = "", reason = "", images = ""}) {
- return await DELETE(`/flow/doMeterRemoveApproval?sn=${sn}&reason=${reason}&images=${images}`);
+export const uninstallMeter = async function(data) {
+ return await POST(`/flow/doMeterRemoveApproval`, data);
}
\ No newline at end of file
diff --git a/service/public.js b/service/public.js
index a7c1acd..731f413 100644
--- a/service/public.js
+++ b/service/public.js
@@ -63,6 +63,25 @@ export const uploadInstallMeter = (filePath) => {
})
}
+export const uploadMeterForce = (filePath) => {
+ const { api } = getConfigByEnv();
+ return new Promise((resolve, reject) => {
+ wx.uploadFile({
+ filePath: filePath,
+ name: 'data',
+ url: `${api}/image/meter/force`,
+ header: {
+ authorization: 'Bearer ' + wx.getStorageSync("token")
+ },
+ success: (res) => {
+ resolve(res?.data ? JSON.parse(res?.data) : res?.data);
+ },
+ fail: (err) => {
+ reject(err);
+ }
+ })
+ })
+}
export const uploadUninstallMeter = (filePath) => {
const { api } = getConfigByEnv();
return new Promise((resolve, reject) => {
--
2.49.1
From 391219bde1bdd0ea540094212274f9b3c3bc91f9 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 12 Nov 2025 15:38:00 +0800
Subject: [PATCH 32/51] =?UTF-8?q?=E5=BC=BA=E6=8E=A7=E5=92=8C=E8=A3=85?=
=?UTF-8?q?=E8=A1=A8=E5=AD=97=E6=AE=B5=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/searchSelect/index.js | 3 +--
pages/workBenchNew/components/workBenchMeterControl/index.js | 3 +++
pages/workBenchTodoList/index.js | 4 ++--
service/meter.js | 4 ++--
4 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index 5702dcf..947f2ef 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -124,7 +124,6 @@ Component({
list: [],
searchText: ""
})
- console.log("{ data: item, way: index + 1, type }", { data: item, way: index + 1, type })
this.triggerEvent("confirm", { data: item, way: index + 1, type } );
},
onFeeTypeConfirm(event) {
@@ -216,7 +215,7 @@ Component({
},
async onSearchInventoryMeter() {
const { searchText = "", park, filterBind } = this.data;
- const { code, message, data: parks = [] } = await getInventoryMeter({keyword: searchText, park, isNeedBind: !filterBind});
+ const { code, message, data: parks = [] } = await getInventoryMeter({keyword: searchText, park, isNeedBind: !filterBind, a : 1});
if (code !== OK) {
alertInfo(message)
return
diff --git a/pages/workBenchNew/components/workBenchMeterControl/index.js b/pages/workBenchNew/components/workBenchMeterControl/index.js
index 04b55de..707b588 100644
--- a/pages/workBenchNew/components/workBenchMeterControl/index.js
+++ b/pages/workBenchNew/components/workBenchMeterControl/index.js
@@ -147,6 +147,9 @@ Page({
}
})
},
+ goback() {
+ wx.navigateBack();
+ },
clearImage() {
this.setData({
url: ""
diff --git a/pages/workBenchTodoList/index.js b/pages/workBenchTodoList/index.js
index bedbce6..7fe55a9 100644
--- a/pages/workBenchTodoList/index.js
+++ b/pages/workBenchTodoList/index.js
@@ -64,7 +64,7 @@ onMenuSelect(e) {
case "noticeFlowType":
this.setData({
- noticeFlowType: data,
+ noticeFlowType: way,
noticeFlowTypeName: data,
page: 1,
}, () => {
@@ -75,7 +75,7 @@ onMenuSelect(e) {
break;
case "noticeFlowStatus":
this.setData({
- noticeFlowStatus: data,
+ noticeFlowStatus: way,
noticeFlowStatusName: data,
page: 1,
}, () => {
diff --git a/service/meter.js b/service/meter.js
index 7a11a40..15ac713 100644
--- a/service/meter.js
+++ b/service/meter.js
@@ -66,8 +66,8 @@ export const getCollectionList = async function({park = "", keyword = "", page =
// 获取库存电表列表
-export const getInventoryMeter = async function({park = "", keyword = "", page = 1}) {
- return await GET(`/electricity/list?page=${page}&park=${park}&keyword=${replaceSpecialIcon(keyword)}`);
+export const getInventoryMeter = async function({park = "", keyword = "", page = 1, status = 1}) {
+ return await GET(`/electricity/list?page=${page}&park=${park}&keyword=${replaceSpecialIcon(keyword)}&status=${status}`);
}
// 新装电表
--
2.49.1
From b940d7a6cc957a5547f835d9e772305161e5160e Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 12 Nov 2025 17:35:23 +0800
Subject: [PATCH 33/51] =?UTF-8?q?=E5=B0=8F=E7=A8=8B=E5=BA=8F=E5=B7=A5?=
=?UTF-8?q?=E5=8D=95=E8=81=94=E8=B0=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/searchSelectWrapper/index.js | 1 +
components/searchSelectWrapper/index.wxml | 8 ++++----
pages/workBenchNew/components/installMeter/index.js | 2 +-
.../components/workBenchMeterControl/index.js | 6 ++++++
.../components/workBenchMeterControl/index.json | 1 +
.../components/workBenchMeterControl/index.wxml | 4 +++-
pages/workBenchTodoList/index.js | 6 +++++-
pages/workBenchTodoList/index.wxml | 8 ++++----
8 files changed, 25 insertions(+), 11 deletions(-)
diff --git a/components/searchSelectWrapper/index.js b/components/searchSelectWrapper/index.js
index 643c6ff..842547d 100644
--- a/components/searchSelectWrapper/index.js
+++ b/components/searchSelectWrapper/index.js
@@ -19,6 +19,7 @@ Component({
useSlot: Boolean,
hideBorder: Boolean,
required: Boolean,
+ transparent: Boolean,
},
/**
diff --git a/components/searchSelectWrapper/index.wxml b/components/searchSelectWrapper/index.wxml
index 6d91201..c82c385 100644
--- a/components/searchSelectWrapper/index.wxml
+++ b/components/searchSelectWrapper/index.wxml
@@ -1,7 +1,7 @@
*{{ label }}
-
+
{{placeholder}}
{{text}}
@@ -10,7 +10,7 @@
*{{ label }}
-
+
*{{ label }}
-
+
*{{ label }}
-
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
index 2f00a38..a657f45 100644
--- a/pages/workBenchNew/components/installMeter/index.js
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -381,7 +381,7 @@ Page({
return;
}
const { code, data, message } = await installMeter({
- park, meter, address, building, meterBox, meterType,
+ park, meterSn: meter, address, building, meterBox, meterType,
ratio, area, card, collectionA, collectionB, collectionC,
tenement, sharp, peak, flat, valley, overall, url, sn
})
diff --git a/pages/workBenchNew/components/workBenchMeterControl/index.js b/pages/workBenchNew/components/workBenchMeterControl/index.js
index 707b588..da7e9f3 100644
--- a/pages/workBenchNew/components/workBenchMeterControl/index.js
+++ b/pages/workBenchNew/components/workBenchMeterControl/index.js
@@ -112,6 +112,12 @@ Page({
alertSuccess("操作成功")
await that.init();
+ this.setData({
+ mode: null,
+ days: null,
+ reason: null,
+ url: null,
+ })
})
}
}
diff --git a/pages/workBenchNew/components/workBenchMeterControl/index.json b/pages/workBenchNew/components/workBenchMeterControl/index.json
index cf25777..01fad66 100644
--- a/pages/workBenchNew/components/workBenchMeterControl/index.json
+++ b/pages/workBenchNew/components/workBenchMeterControl/index.json
@@ -4,6 +4,7 @@
"van-button": "@vant/weapp/button/index",
"search-select": "/components/searchSelect/index",
"van-empty": "@vant/weapp/empty/index",
+ "van-image": "@vant/weapp/image/index",
"table": "/components/table/table",
"pagination": "/components/pagination/index",
"empty": "/components/empty/index",
diff --git a/pages/workBenchNew/components/workBenchMeterControl/index.wxml b/pages/workBenchNew/components/workBenchMeterControl/index.wxml
index 498c469..c057ffe 100644
--- a/pages/workBenchNew/components/workBenchMeterControl/index.wxml
+++ b/pages/workBenchNew/components/workBenchMeterControl/index.wxml
@@ -117,6 +117,7 @@
text="{{days}}"
type="input"
bind:changeText="changeDays"
+ required="{{true}}"
/>
@@ -138,7 +140,7 @@
清除
-
+
diff --git a/pages/workBenchTodoList/index.js b/pages/workBenchTodoList/index.js
index 7fe55a9..a09da8c 100644
--- a/pages/workBenchTodoList/index.js
+++ b/pages/workBenchTodoList/index.js
@@ -35,8 +35,12 @@ onMenuSelect(e) {
} = e.detail;
const id = e.currentTarget.dataset.id;
- if (value === 'detail') {
+ switch(value) {
+ case "detail":
this.jumpToDetail(id);
+ break;
+ case "ok":
+ break;
}
},
jumpToDetail(id) {
diff --git a/pages/workBenchTodoList/index.wxml b/pages/workBenchTodoList/index.wxml
index 0d26819..e55bd96 100644
--- a/pages/workBenchTodoList/index.wxml
+++ b/pages/workBenchTodoList/index.wxml
@@ -55,7 +55,7 @@
{{ item.flow_status === 1 ? "处理中" : "已确认" }}
-
-
+
--
2.49.1
From 1a6071194aa701775e92bddd1fbb5f88e93999ee Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 12 Nov 2025 18:14:12 +0800
Subject: [PATCH 34/51] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E8=AF=A6=E6=83=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/workBenchTodoList/index.js | 14 ++++++--
pages/workBenchTodoList/index.json | 2 +-
pages/workOrderDetail/index.js | 52 +++++++++++++++++++++++++--
pages/workOrderDetail/index.json | 7 +++-
pages/workOrderDetail/index.wxml | 58 +++++++++++++++++++++++++++++-
pages/workOrderDetail/index.wxss | 17 ++++++++-
project.private.config.json | 7 ++++
service/workBench.js | 12 ++++++-
8 files changed, 159 insertions(+), 10 deletions(-)
diff --git a/pages/workBenchTodoList/index.js b/pages/workBenchTodoList/index.js
index a09da8c..b951c31 100644
--- a/pages/workBenchTodoList/index.js
+++ b/pages/workBenchTodoList/index.js
@@ -1,7 +1,7 @@
// pages/workBenchTodoList/index.js
import request from "../../utils/request"
-import { getWorkOrderList } from "../../service/workBench"
-import { alertInfo, loadingFunc } from "../../utils/index";
+import { getWorkOrderList, doNoticeFlow } from "../../service/workBench"
+import { alertInfo, alertSuccess, loadingFunc } from "../../utils/index";
import { noticeFlowType } from "../../utils/data"
const { OK } = request
Page({
@@ -40,9 +40,19 @@ onMenuSelect(e) {
this.jumpToDetail(id);
break;
case "ok":
+ this.handleDoNotice(id);
break;
}
},
+ async handleDoNotice(id) {
+ const { code, message } = await doNoticeFlow(id)
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ alertSuccess("确认成功")
+ this.init();
+ },
jumpToDetail(id) {
// wx.navigateTo({
diff --git a/pages/workBenchTodoList/index.json b/pages/workBenchTodoList/index.json
index ede92dd..8705131 100644
--- a/pages/workBenchTodoList/index.json
+++ b/pages/workBenchTodoList/index.json
@@ -1,11 +1,11 @@
{
"usingComponents": {
"navigator": "/components/navigator/index",
+ "van-field": "@vant/weapp/field/index",
"van-popup": "@vant/weapp/popup/index",
"van-row": "@vant/weapp/row/index",
"van-col": "@vant/weapp/col/index",
"search-select": "/components/searchSelect/index",
- "van-field": "@vant/weapp/field/index",
"van-button": "@vant/weapp/button/index",
"searchSelectWrapper": "/components/searchSelectWrapper/index",
"van-empty": "@vant/weapp/empty/index",
diff --git a/pages/workOrderDetail/index.js b/pages/workOrderDetail/index.js
index 9b339ba..646709d 100644
--- a/pages/workOrderDetail/index.js
+++ b/pages/workOrderDetail/index.js
@@ -1,3 +1,9 @@
+import { loadingFunc, alertSuccess, alertInfo } from "../../utils/index";
+import request from "../../utils/request"
+import { getNoticeFlowDetail, doNoticeFlow } from "../../service/workBench"
+
+const { OK } = request;
+
// pages/workOrderDetail/index.js
Page({
@@ -5,16 +11,56 @@ Page({
* 页面的初始数据
*/
data: {
-
+ detail: {}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
-
+ const { id } = options;
+ const that = this;
+ loadingFunc(async () => {
+ that.getDetail(id)
+ })
+ },
+ showImage() {
+ this.setData({
+ imageShow: true
+ })
+ },
+ onClose() {
+ this.setData({
+ imageShow: false
+ })
+ },
+ goback() {
+ wx.navigateBack();
+ },
+ async onSubmit() {
+ const {detail} = this.data;
+ const {id} = detail;
+ const { code, message } = await doNoticeFlow(id)
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ alertSuccess("确认成功")
+ const that = this;
+ loadingFunc(async () => {
+ that.getDetail(id)
+ })
+ },
+ async getDetail(id) {
+ const { code, data ,message } = await getNoticeFlowDetail(id)
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ this.setData({
+ detail: data
+ })
},
-
/**
* 生命周期函数--监听页面初次渲染完成
*/
diff --git a/pages/workOrderDetail/index.json b/pages/workOrderDetail/index.json
index 8835af0..357ff18 100644
--- a/pages/workOrderDetail/index.json
+++ b/pages/workOrderDetail/index.json
@@ -1,3 +1,8 @@
{
- "usingComponents": {}
+ "usingComponents": {
+ "navigator": "/components/navigator/index",
+ "van-popup": "@vant/weapp/popup/index",
+ "van-field": "@vant/weapp/field/index"
+ },
+ "navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/pages/workOrderDetail/index.wxml b/pages/workOrderDetail/index.wxml
index 15d3210..26e571b 100644
--- a/pages/workOrderDetail/index.wxml
+++ b/pages/workOrderDetail/index.wxml
@@ -1,2 +1,58 @@
-pages/workOrderDetail/index.wxml
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+ 提交
+ 返回
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/workOrderDetail/index.wxss b/pages/workOrderDetail/index.wxss
index d1b82a2..112aa5a 100644
--- a/pages/workOrderDetail/index.wxss
+++ b/pages/workOrderDetail/index.wxss
@@ -1 +1,16 @@
-/* pages/workOrderDetail/index.wxss */
\ No newline at end of file
+/* pages/workOrderDetail/index.wxss */
+
+
+.operate {
+ display: flex;
+ padding-top: 24rpx;
+ padding-bottom: 36rpx;
+}
+
+.submit, .cancel {
+ flex: 1;
+}
+
+.submit {
+ margin-right: 30rpx;
+}
\ No newline at end of file
diff --git a/project.private.config.json b/project.private.config.json
index 422eecd..1069557 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -23,6 +23,13 @@
"condition": {
"miniprogram": {
"list": [
+ {
+ "name": "pages/workOrderDetail/index",
+ "pathName": "pages/workOrderDetail/index",
+ "query": "id=NM00123091982548993",
+ "launchMode": "default",
+ "scene": null
+ },
{
"name": "pages/workBenchTodoList/index",
"pathName": "pages/workBenchTodoList/index",
diff --git a/service/workBench.js b/service/workBench.js
index 61f0169..a616200 100644
--- a/service/workBench.js
+++ b/service/workBench.js
@@ -56,4 +56,14 @@ export const getWorkOrderList = async function({
page, size, park = "", meter = "", tenement = "", status = "", type = "", time = ""
}) {
return await GET(`/noticeFlow/getDisposeList?page=${page}&size=${size}&park=${park}&meter=${meter}&tenement=${tenement}&status=${status}&type=${type}&time=${time}`,);
-}
\ No newline at end of file
+}
+
+// 确认当前流程
+export const doNoticeFlow = async function(id) {
+ return await PUT(`/noticeFlow/${id}/meter/dispose`,);
+}
+
+// 确认当前流程
+export const getNoticeFlowDetail = async function(id) {
+ return await GET(`/noticeFlow/${id}/detail`,);
+}
--
2.49.1
From 496d7fb7d6f4804391071d1583833bc815875484 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 12 Nov 2025 18:16:16 +0800
Subject: [PATCH 35/51] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E8=AF=A6=E6=83=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/workOrderDetail/index.json | 3 ++-
pages/workOrderDetail/index.wxml | 4 +++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/pages/workOrderDetail/index.json b/pages/workOrderDetail/index.json
index 357ff18..827f19a 100644
--- a/pages/workOrderDetail/index.json
+++ b/pages/workOrderDetail/index.json
@@ -2,7 +2,8 @@
"usingComponents": {
"navigator": "/components/navigator/index",
"van-popup": "@vant/weapp/popup/index",
- "van-field": "@vant/weapp/field/index"
+ "van-field": "@vant/weapp/field/index",
+ "van-button": "@vant/weapp/button/index"
},
"navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/pages/workOrderDetail/index.wxml b/pages/workOrderDetail/index.wxml
index 26e571b..ca8f202 100644
--- a/pages/workOrderDetail/index.wxml
+++ b/pages/workOrderDetail/index.wxml
@@ -36,10 +36,12 @@
-
-
+
+
提交
返回
+
--
2.49.1
From d7d536623020749edfbae34eda3f05928d19ff01 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Thu, 13 Nov 2025 11:07:16 +0800
Subject: [PATCH 36/51] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E7=A1=AE=E8=AE=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/workBenchTodoList/index.js | 16 +++++++++-------
pages/workBenchTodoList/index.wxml | 2 +-
pages/workOrderDetail/index.wxml | 2 +-
project.private.config.json | 7 +++++++
4 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/pages/workBenchTodoList/index.js b/pages/workBenchTodoList/index.js
index b951c31..4632cce 100644
--- a/pages/workBenchTodoList/index.js
+++ b/pages/workBenchTodoList/index.js
@@ -14,12 +14,14 @@ Page({
size: 20,
noticeFlowType,
actionItems: [{
- name: '确认',
- value: 'status'
- }],
+ name: '详情',
+ value: 'detail'
+ },{
+ name: '确认',
+ value: 'ok'
+}],
},
showActionMenu(e) {
- console.log("e", e)
this.setData({
currentActionSheet: e.currentTarget.dataset.id
});
@@ -55,9 +57,9 @@ onMenuSelect(e) {
},
jumpToDetail(id) {
- // wx.navigateTo({
- // url: '/pages/workOrderDetail/index?id=' + id,
- // })
+ wx.navigateTo({
+ url: '/pages/workOrderDetail/index?id=' + id,
+ })
},
onConfirm(e) {
const { type, data = {}, way } = e.detail;
diff --git a/pages/workBenchTodoList/index.wxml b/pages/workBenchTodoList/index.wxml
index e55bd96..9fb0913 100644
--- a/pages/workBenchTodoList/index.wxml
+++ b/pages/workBenchTodoList/index.wxml
@@ -55,7 +55,7 @@
{{ item.flow_status === 1 ? "处理中" : "已确认" }}
-
+
- 提交
+ 确认
返回
diff --git a/project.private.config.json b/project.private.config.json
index 1069557..485a980 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -23,6 +23,13 @@
"condition": {
"miniprogram": {
"list": [
+ {
+ "name": "pages/workBenchTodoList/index",
+ "pathName": "pages/workBenchTodoList/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
{
"name": "pages/workOrderDetail/index",
"pathName": "pages/workOrderDetail/index",
--
2.49.1
From edfd386e1b98a58777b265b46619ec4cf9adafc8 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Thu, 13 Nov 2025 17:10:33 +0800
Subject: [PATCH 37/51] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E6=89=93=E5=8D=B0?=
=?UTF-8?q?=EF=BC=8C=E6=8A=84=E8=A1=A8=E8=B7=AF=E7=BA=BF=E6=94=AF=E6=8C=81?=
=?UTF-8?q?=E6=89=80=E6=9C=89=E5=9B=AD=E5=8C=BA=EF=BC=8C=E6=94=AF=E6=8C=81?=
=?UTF-8?q?=E9=83=A8=E5=88=86=E9=80=89=E6=8B=A9=E6=A1=86=E6=B8=85=E9=99=A4?=
=?UTF-8?q?=E5=86=85=E5=AE=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/searchSelect/index.js | 2 -
components/searchSelectWrapper/index.js | 5 ++-
components/searchSelectWrapper/index.wxml | 2 +-
pages/login/index.js | 1 -
.../components/installMeter/index.js | 26 +++++++++++-
.../components/installMeter/index.wxml | 9 ++++
.../components/uninstallMeter/index.js | 1 -
.../components/workBenchMeterControl/index.js | 2 +-
.../components/workBenchReading/index.js | 5 ---
.../components/workBenchReading/index.wxml | 3 +-
.../components/workBenchTenement/index.js | 1 -
pages/workBenchTodoList/index.js | 41 ++++++++++++++++---
pages/workBenchTodoList/index.wxml | 10 ++++-
pages/workOrderDetail/index.js | 9 ++--
project.private.config.json | 7 ++++
utils/index.js | 4 +-
16 files changed, 100 insertions(+), 28 deletions(-)
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index 947f2ef..b27bdb6 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -25,7 +25,6 @@ Component({
observers: {
"show,type,filterBind": function(newShow, newType) {
if (newShow && newType) {
- console.log("newShow", newShow,"newType", newType)
this.onSearch()
}
}
@@ -68,7 +67,6 @@ Component({
},
onConfirm(event) {
const { index } = event.detail;
- console.log("index", index)
const { list = [], type } = this.data;
const item = list[index];
if (!item) {
diff --git a/components/searchSelectWrapper/index.js b/components/searchSelectWrapper/index.js
index 842547d..923f040 100644
--- a/components/searchSelectWrapper/index.js
+++ b/components/searchSelectWrapper/index.js
@@ -20,6 +20,7 @@ Component({
hideBorder: Boolean,
required: Boolean,
transparent: Boolean,
+ allowClear: Boolean,
},
/**
@@ -42,12 +43,14 @@ Component({
},
onChangeText(e) {
this.setData({ text: e.detail });
- console.log("----------")
this.triggerEvent("changeText", e.detail)
},
onSearchKeyword() {
this.triggerEvent("searchKeyword", this.data.keyword)
this.setData({ keyword: "" })
+ },
+ onClear() {
+ this.triggerEvent("clear")
}
}
})
\ No newline at end of file
diff --git a/components/searchSelectWrapper/index.wxml b/components/searchSelectWrapper/index.wxml
index c82c385..548d684 100644
--- a/components/searchSelectWrapper/index.wxml
+++ b/components/searchSelectWrapper/index.wxml
@@ -4,7 +4,7 @@
{{placeholder}}
{{text}}
-
+
diff --git a/pages/login/index.js b/pages/login/index.js
index 2dcd977..5e6b8c5 100644
--- a/pages/login/index.js
+++ b/pages/login/index.js
@@ -58,7 +58,6 @@ Page({
const { token, ...user } = data
wx.setStorageSync('user', user)
wx.setStorageSync('token', data?.token)
- console.log("user.workStatus", user.workStatus)
if (user.workStatus) {
wx.redirectTo({
url: '/pages/workBenchNew/index',
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
index a657f45..91f3904 100644
--- a/pages/workBenchNew/components/installMeter/index.js
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -14,6 +14,7 @@ Page({
data: {
time: "",
area: "",
+ placeholder: "",
},
/**
@@ -151,7 +152,6 @@ Page({
mediaType: ['image'],
sourceType: ['album', 'camera'],
success: async function(res) {
- console.log("res", res)
const path = res.tempFiles?.[0]?.tempFilePath.toLowerCase()
if (!/(\.jpg|\.png|\.jpeg)$/.test(path)) {
wx.showToast({
@@ -293,6 +293,30 @@ Page({
}
this.onCancel();
},
+ clearCard() {
+ this.setData({
+ card: null,
+ cardName: null,
+ })
+ },
+ clearCollectionA() {
+ this.setData({
+ collectionA: null,
+ collectionAName: null,
+ })
+ },
+ clearCollectionB() {
+ this.setData({
+ collectionB: null,
+ collectionBName: null,
+ })
+ },
+ clearCollectionC() {
+ this.setData({
+ collectionC: null,
+ collectionCName: null,
+ })
+ },
changeAddress(e) {
this.setData({
address: e.detail
diff --git a/pages/workBenchNew/components/installMeter/index.wxml b/pages/workBenchNew/components/installMeter/index.wxml
index 39fc91d..e3aafef 100644
--- a/pages/workBenchNew/components/installMeter/index.wxml
+++ b/pages/workBenchNew/components/installMeter/index.wxml
@@ -85,24 +85,32 @@
placeholder="请选择卡绑定(选填)"
text="{{cardName}}"
bind:search="onBindCard"
+ allowClear="{{true}}"
+ bind:clear="clearCard"
/>
diff --git a/pages/workBenchNew/components/uninstallMeter/index.js b/pages/workBenchNew/components/uninstallMeter/index.js
index 0d14347..38f91fb 100644
--- a/pages/workBenchNew/components/uninstallMeter/index.js
+++ b/pages/workBenchNew/components/uninstallMeter/index.js
@@ -171,7 +171,6 @@ Page({
mediaType: ['image'],
sourceType: ['album', 'camera'],
success: async function(res) {
- console.log("res", res)
const path = res.tempFiles?.[0]?.tempFilePath.toLowerCase()
if (!/(\.jpg|\.png|\.jpeg)$/.test(path)) {
wx.showToast({
diff --git a/pages/workBenchNew/components/workBenchMeterControl/index.js b/pages/workBenchNew/components/workBenchMeterControl/index.js
index da7e9f3..28ab80a 100644
--- a/pages/workBenchNew/components/workBenchMeterControl/index.js
+++ b/pages/workBenchNew/components/workBenchMeterControl/index.js
@@ -114,6 +114,7 @@ Page({
await that.init();
this.setData({
mode: null,
+ modeName: null,
days: null,
reason: null,
url: null,
@@ -130,7 +131,6 @@ Page({
mediaType: ['image'],
sourceType: ['album', 'camera'],
success: async function(res) {
- console.log("res", res)
const path = res.tempFiles?.[0]?.tempFilePath.toLowerCase()
if (!/(\.jpg|\.png|\.jpeg)$/.test(path)) {
wx.showToast({
diff --git a/pages/workBenchNew/components/workBenchReading/index.js b/pages/workBenchNew/components/workBenchReading/index.js
index b19578d..7cda274 100644
--- a/pages/workBenchNew/components/workBenchReading/index.js
+++ b/pages/workBenchNew/components/workBenchReading/index.js
@@ -93,7 +93,6 @@ Page({
alertError(message)
return;
}
- console.log("data", data, "num", num)
if (!data) {
wx.showModal({
title: '提示',
@@ -146,10 +145,6 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow() {
- const { parkName } = this.data;
- if (!parkName) {
- return
- }
this.init()
},
diff --git a/pages/workBenchNew/components/workBenchReading/index.wxml b/pages/workBenchNew/components/workBenchReading/index.wxml
index 2d6a964..f153059 100644
--- a/pages/workBenchNew/components/workBenchReading/index.wxml
+++ b/pages/workBenchNew/components/workBenchReading/index.wxml
@@ -23,9 +23,8 @@
bindcancel="onConcal"
/>
-
-
+
{
+ loadingFunc(async () => {
+ await that.init()
+ })
+ })
+},
+onClearMeter() {
+ const that = this;
+ this.setData({ meter: null, meterName: null }, () => {
+ loadingFunc(async () => {
+ await that.init()
+ })
+ })
+},
+onClearType() {
+ const that = this;
+ this.setData({ noticeFlowType: null, noticeFlowTypeName: null }, () => {
+ loadingFunc(async () => {
+ await that.init()
+ })
+ })
+},
+onClearStatus() {
+ const that = this;
+ this.setData({ noticeFlowStatus: null, noticeFlowStatusName: null }, () => {
+ loadingFunc(async () => {
+ await that.init()
+ })
+ })
+},
hideActionMenu() {
this.setData({
currentActionSheet: null
@@ -173,11 +202,11 @@ onMenuSelect(e) {
return;
}
this.setData({
- list: data?.map(item => {
+ list: Array.isArray(data) ? data?.map(item => {
item.time = item?.created_at?.slice(0, 10)
item.address = item?.target?.meter_data?.address;
return item;
- }),
+ }) : [],
totalPage: Math.ceil(total / size),
})
},
diff --git a/pages/workBenchTodoList/index.wxml b/pages/workBenchTodoList/index.wxml
index 9fb0913..e0d8955 100644
--- a/pages/workBenchTodoList/index.wxml
+++ b/pages/workBenchTodoList/index.wxml
@@ -6,6 +6,8 @@
placeholder="请选择园区"
text="{{parkName}}"
bind:search="onParkFocus"
+ allowClear="{{true}}"
+ bind:clear="onClearPark"
/>
@@ -52,7 +60,7 @@
{{ item.address }}
- {{ item.flow_status === 1 ? "处理中" : "已确认" }}
+ {{ item.current_user_audit_status === 0 ? "处理中" : "已确认" }}
diff --git a/pages/workOrderDetail/index.js b/pages/workOrderDetail/index.js
index 646709d..e514826 100644
--- a/pages/workOrderDetail/index.js
+++ b/pages/workOrderDetail/index.js
@@ -47,9 +47,12 @@ Page({
}
alertSuccess("确认成功")
const that = this;
- loadingFunc(async () => {
- that.getDetail(id)
- })
+ setTimeout(() => {
+ loadingFunc(async () => {
+ await that.getDetail(id)
+ })
+ }, 300)
+
},
async getDetail(id) {
const { code, data ,message } = await getNoticeFlowDetail(id)
diff --git a/project.private.config.json b/project.private.config.json
index 485a980..6409ae4 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -23,6 +23,13 @@
"condition": {
"miniprogram": {
"list": [
+ {
+ "name": "pages/workBenchNew/components/installMeter/index",
+ "pathName": "pages/workBenchNew/components/installMeter/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
{
"name": "pages/workBenchTodoList/index",
"pathName": "pages/workBenchTodoList/index",
diff --git a/utils/index.js b/utils/index.js
index 6d79893..037debd 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"
// TODO: 发布正式时使用此路径
- // api = "https://zgd.hbhcbn.com/wxApi"
+ api = "https://zgd.hbhcbn.com/wxApi"
// api = "http://127.0.0.1:4523/m1/4143821-0-default"
break;
// 体验版
--
2.49.1
From 3259eb2465ccb9149d7034bcb6399a255e8dd1b6 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Fri, 14 Nov 2025 14:17:57 +0800
Subject: [PATCH 38/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B7=A5=E5=8D=95?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/searchSelectWrapper/index.js | 1 +
components/searchSelectWrapper/index.wxml | 2 +-
.../components/recharge/index.wxml | 41 +++++++++++++++----
.../components/recharge/index.wxss | 18 +++++++-
.../components/workBenchMeterControl/index.js | 1 +
5 files changed, 54 insertions(+), 9 deletions(-)
diff --git a/components/searchSelectWrapper/index.js b/components/searchSelectWrapper/index.js
index 923f040..1f0b9e7 100644
--- a/components/searchSelectWrapper/index.js
+++ b/components/searchSelectWrapper/index.js
@@ -21,6 +21,7 @@ Component({
required: Boolean,
transparent: Boolean,
allowClear: Boolean,
+ hideMargin: Boolean,
},
/**
diff --git a/components/searchSelectWrapper/index.wxml b/components/searchSelectWrapper/index.wxml
index 548d684..d615ec9 100644
--- a/components/searchSelectWrapper/index.wxml
+++ b/components/searchSelectWrapper/index.wxml
@@ -37,7 +37,7 @@
*{{ label }}
-
+
\ No newline at end of file
diff --git a/pages/workBenchNew/components/recharge/index.wxml b/pages/workBenchNew/components/recharge/index.wxml
index 868329b..ec5e587 100644
--- a/pages/workBenchNew/components/recharge/index.wxml
+++ b/pages/workBenchNew/components/recharge/index.wxml
@@ -17,11 +17,23 @@
+ useSlot="{{true}}"
+ hideBorder="{{true}}"
+ hideMargin="{{true}}"
+ type=""
+ >
+
+
+
+
+ text="{{voucherNo}}"
+ fieldType="number"
+ bind:changeText="onChangeMoney"
+ useSlot="{{true}}"
+ hideBorder="{{true}}"
+ hideMargin="{{true}}"
+ type=""
+ >
+
+
+
+
diff --git a/pages/workBenchNew/components/recharge/index.wxss b/pages/workBenchNew/components/recharge/index.wxss
index b1ed3a3..c7e9761 100644
--- a/pages/workBenchNew/components/recharge/index.wxss
+++ b/pages/workBenchNew/components/recharge/index.wxss
@@ -1 +1,17 @@
-/* pages/workBenchNew/components/recharge/index.wxss */
\ No newline at end of file
+/* pages/workBenchNew/components/recharge/index.wxss */
+
+
+.inputContent {
+ flex: 1;
+ margin-right: 10rpx;
+ display: flex;
+ padding: 0 20rpx;
+ border-radius: 12rpx;
+ border: 1rpx solid #ccc;
+ background-color: #fff;
+ position: relative;
+}
+
+.text {
+ flex: 1;
+}
\ No newline at end of file
diff --git a/pages/workBenchNew/components/workBenchMeterControl/index.js b/pages/workBenchNew/components/workBenchMeterControl/index.js
index 28ab80a..9a5fe6d 100644
--- a/pages/workBenchNew/components/workBenchMeterControl/index.js
+++ b/pages/workBenchNew/components/workBenchMeterControl/index.js
@@ -107,6 +107,7 @@ Page({
const { code, message } = await handleOperateMeterMode({ ids: [meter], mode, days: days == null ? undefined : Number(days), reason, images: url })
if (code !== OK) {
alertInfo(message)
+ await that.init();
return
}
alertSuccess("操作成功")
--
2.49.1
From f138fabce996c620a76929577fabbf1b551d5d48 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Fri, 14 Nov 2025 14:23:28 +0800
Subject: [PATCH 39/51] =?UTF-8?q?=E5=85=85=E5=80=BC=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E5=95=86=E6=88=B7id?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/workBenchNew/components/recharge/index.js | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/pages/workBenchNew/components/recharge/index.js b/pages/workBenchNew/components/recharge/index.js
index 6c39e8e..71d0d16 100644
--- a/pages/workBenchNew/components/recharge/index.js
+++ b/pages/workBenchNew/components/recharge/index.js
@@ -50,6 +50,7 @@ Page({
this.setData({
meterName: `${data.meterNo}-${data.address}${data.tenement?.name ? '-' + data.tenement?.name : ''}`,
meter: data.id,
+ meterInfo: data,
})
break;
case "pay":
@@ -98,7 +99,7 @@ Page({
},
async handleSubmit() {
const that = this;
- const { park, meter, money, way, voucherNo } = this.data;
+ const { park, meter, money, way, voucherNo, meterInfo } = this.data;
if (!park) {
alertInfo("请选择园区");
return;
@@ -125,7 +126,8 @@ Page({
meter,
paymentType: way,
voucherNo,
- type: 0
+ type: 0 ,
+ tenement: meterInfo?.tenement,
})
if (code !== OK) {
alertInfo(message)
--
2.49.1
From 771bacdafaf7bd5e1894e4bf0afd5bea0d8eac23 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Fri, 14 Nov 2025 17:22:11 +0800
Subject: [PATCH 40/51] =?UTF-8?q?=E7=94=B5=E8=A1=A8=E7=AE=B1=E6=94=AF?=
=?UTF-8?q?=E6=8C=81=E6=8C=89=E5=BB=BA=E7=AD=91=E7=AD=9B=E9=80=89=EF=BC=8C?=
=?UTF-8?q?=E5=80=8D=E7=8E=87=E5=BF=85=E5=A1=AB=EF=BC=8C=E6=8B=86=E8=A1=A8?=
=?UTF-8?q?=E4=BC=A0id?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/searchSelect/index.js | 5 +++--
pages/workBenchNew/components/installMeter/index.js | 2 +-
pages/workBenchNew/components/installMeter/index.wxml | 3 +++
pages/workBenchNew/components/uninstallMeter/index.js | 2 +-
service/meter.js | 4 ++--
5 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index b27bdb6..1e86c61 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -19,6 +19,7 @@ Component({
type: String,
show: Boolean,
park: String,
+ building: String,
isBack: Boolean,
filterBind: Boolean,
},
@@ -248,8 +249,8 @@ Component({
})
},
async onSearchMeterBox() {
- const { park } = this.data;
- const { code, message, data = [] } = await getParkBoxList({park});
+ const { park, building } = this.data;
+ const { code, message, data = [] } = await getParkBoxList({park, building});
if (code !== OK) {
alertInfo(message)
return
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
index 91f3904..2c02fe7 100644
--- a/pages/workBenchNew/components/installMeter/index.js
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -384,7 +384,7 @@ Page({
tenement, sharp, peak, flat, valley, overall, url, sn,
collectionARatio, collectionBRatio, collectionCRatio
} = this.data;
- if (!park || !(meter || sn) || !address || meterType == null || !building || !meterBox) {
+ if (!park || !(meter || sn) || !address || meterType == null || !building || !meterBox || ratio == null) {
alertInfo("请填写必填项后保存")
return;
}
diff --git a/pages/workBenchNew/components/installMeter/index.wxml b/pages/workBenchNew/components/installMeter/index.wxml
index e3aafef..3a1be0c 100644
--- a/pages/workBenchNew/components/installMeter/index.wxml
+++ b/pages/workBenchNew/components/installMeter/index.wxml
@@ -49,6 +49,7 @@
placeholder="请选择电表箱"
text="{{meterBoxName}}"
bind:search="onMeterBoxFocus"
+
required="{{true}}"
/>
Date: Mon, 17 Nov 2025 15:51:41 +0800
Subject: [PATCH 41/51] =?UTF-8?q?=E8=A3=85=E8=A1=A8=E7=9A=84=E6=97=B6?=
=?UTF-8?q?=E5=80=99=E8=BF=87=E6=BB=A4=E5=B7=B2=E7=BB=8F=E9=80=89=E6=8B=A9?=
=?UTF-8?q?=E7=9A=84=E4=BA=92=E6=84=9F=E5=99=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/searchSelect/index.js | 14 +++-
.../components/installMeter/index.js | 74 +++++++++++++------
.../components/installMeter/index.wxml | 2 +
pages/workBenchTodoList/index.js | 18 ++++-
pages/workBenchTodoList/index.wxml | 3 +-
5 files changed, 81 insertions(+), 30 deletions(-)
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index 1e86c61..558a7ca 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -22,6 +22,8 @@ Component({
building: String,
isBack: Boolean,
filterBind: Boolean,
+ filterData: Array,
+ filterType: String
},
observers: {
"show,type,filterBind": function(newShow, newType) {
@@ -189,15 +191,21 @@ Component({
})
},
async onSearchCollection() {
- const { searchText = "" } = this.data;
+ const { searchText = "", filterData, filterType } = this.data;
const { code, message, data: parks = [] } = await getCollectionList({keyword: searchText, page: 1, status: 1});
if (code !== OK) {
alertInfo(message)
return
}
+ let columns = parks;
+ if (filterType === 'collection') {
+ columns = columns.filter(item => {
+ return !filterData.includes(item.id)
+ })
+ }
this.setData({
- columns: parks?.map(item => `${item.transformerId}-倍率:${item.ratio}-${item.manufacturer}`),
- list: parks,
+ columns: columns?.map(item => `${item.transformerId}-倍率:${item.ratio}-${item.manufacturer}`),
+ list: columns,
})
},
async onSearchMeter() {
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
index 2c02fe7..367a54e 100644
--- a/pages/workBenchNew/components/installMeter/index.js
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -15,6 +15,7 @@ Page({
time: "",
area: "",
placeholder: "",
+ collections: [],
},
/**
@@ -179,6 +180,33 @@ Page({
sn: e.detail,
})
},
+ clearData() {
+ this.setData({
+ tenement: null,
+ tenementName: null,
+ building: null,
+ buildingName: null,
+ meterBox: null,
+ meterBoxName: null,
+ meter: null,
+ meterName: null,
+ card: null,
+ cardName: null,
+ collectionA: null,
+ collectionAName: null,
+ collectionB: null,
+ collectionBName: null,
+ collectionB: null,
+ collectionBName: null,
+ address: null,
+ sharp: null,
+ peak: null,
+ flat: null,
+ valley: null,
+ area: null,
+ collections: [],
+ })
+ },
onConfirm(e) {
console.log("e", e)
const { type, data = {}, way } = e.detail;
@@ -191,30 +219,7 @@ Page({
selfManagement: data.selfManagement,
})
if (park !== data.id) {
- this.setData({
- tenement: null,
- tenementName: null,
- building: null,
- buildingName: null,
- meterBox: null,
- meterBoxName: null,
- meter: null,
- meterName: null,
- card: null,
- cardName: null,
- collectionA: null,
- collectionAName: null,
- collectionB: null,
- collectionBName: null,
- collectionB: null,
- collectionBName: null,
- address: null,
- sharp: null,
- peak: null,
- flat: null,
- valley: null,
- area: null,
- })
+ this.clearData()
}
break;
case "tenement":
@@ -266,26 +271,33 @@ Page({
});
break;
case "collection":
+ const newCollects = this.data.collections;
let newData = {}
if (collection === "A") {
+ newCollects[0] = data.id
newData = {
collectionA: data.id,
collectionAName: `${data.transformerId}-倍率:${data.ratio}-${data.manufacturer}`,
collectionARatio: data.ratio,
+ collections: newCollects
}
}
if (collection === "B") {
+ newCollects[1] = data.id
newData = {
collectionB: data.id,
collectionBName: `${data.transformerId}-倍率:${data.ratio}-${data.manufacturer}`,
collectionBRatio: data.ratio,
+ collections: newCollects
}
}
if (collection === "C") {
+ newCollects[2] = data.id
newData = {
collectionC: data.id,
collectionCName: `${data.transformerId}-倍率:${data.ratio}-${data.manufacturer}`,
collectionCRatio: data.ratio,
+ collections: newCollects
}
}
this.setData(newData);
@@ -300,21 +312,30 @@ Page({
})
},
clearCollectionA() {
+ const newCollects = this.data.collections;
+ newCollects[0] = null;
this.setData({
collectionA: null,
collectionAName: null,
+ collections: newCollects,
})
},
clearCollectionB() {
+ const newCollects = this.data.collections;
+ newCollects[1] = null;
this.setData({
collectionB: null,
collectionBName: null,
+ collections: newCollects,
})
},
clearCollectionC() {
+ const newCollects = this.data.collections;
+ newCollects[2] = null;
this.setData({
collectionC: null,
collectionCName: null,
+ collections: newCollects,
})
},
changeAddress(e) {
@@ -414,6 +435,11 @@ Page({
return;
}
alertSuccess("新增成功")
+ this.setData({
+ park: null,
+ parkName: null,
+ })
+ this.clearData()
wx.navigateTo({
url: '/pages/workBenchTodoList/index',
})
diff --git a/pages/workBenchNew/components/installMeter/index.wxml b/pages/workBenchNew/components/installMeter/index.wxml
index 3a1be0c..a103bd3 100644
--- a/pages/workBenchNew/components/installMeter/index.wxml
+++ b/pages/workBenchNew/components/installMeter/index.wxml
@@ -184,6 +184,8 @@
park="{{park}}"
building="{{building}}"
bindconfirm="onConfirm"
+ filterData="{{collections}}"
+ filterType="collection"
bindcancel="onCancel"
placeholder="{{placeholder}}"
wx:if="{{show}}"
diff --git a/pages/workBenchTodoList/index.js b/pages/workBenchTodoList/index.js
index 0373ea6..6294e96 100644
--- a/pages/workBenchTodoList/index.js
+++ b/pages/workBenchTodoList/index.js
@@ -19,8 +19,19 @@ Page({
}],
},
showActionMenu(e) {
+ const { id, status } = e.currentTarget.dataset;
this.setData({
- currentActionSheet: e.currentTarget.dataset.id
+ currentActionSheet: id,
+ actionItems: status === 0 ? [{
+ name: '详情',
+ value: 'detail'
+ }, {
+ name: '确认',
+ value: 'ok'
+ }] : [{
+ name: '详情',
+ value: 'detail'
+ }]
});
},
onClearPark() {
@@ -82,7 +93,10 @@ onMenuSelect(e) {
return
}
alertSuccess("确认成功")
- this.init();
+ const that = this;
+ setTimeout(() => {
+ that.init();
+ }, 300)
},
jumpToDetail(id) {
diff --git a/pages/workBenchTodoList/index.wxml b/pages/workBenchTodoList/index.wxml
index e0d8955..246edd4 100644
--- a/pages/workBenchTodoList/index.wxml
+++ b/pages/workBenchTodoList/index.wxml
@@ -63,13 +63,14 @@
{{ item.current_user_audit_status === 0 ? "处理中" : "已确认" }}
-
+
+
diff --git a/utils/index.js b/utils/index.js
index 037debd..dfaec5a 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"
// TODO: 发布正式时使用此路径
- api = "https://zgd.hbhcbn.com/wxApi"
+ // api = "https://zgd.hbhcbn.com/wxApi"
// api = "http://127.0.0.1:4523/m1/4143821-0-default"
break;
// 体验版
--
2.49.1
From c03d70b2219ac4a152d4335ac13f64dd5eefb0c7 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Tue, 18 Nov 2025 10:52:02 +0800
Subject: [PATCH 43/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AD=97=E7=AC=A6?=
=?UTF-8?q?=E4=B8=B2=E6=A0=BC=E5=BC=8F=E7=9A=84=E6=95=B0=E5=AD=97=E4=B8=BA?=
=?UTF-8?q?=E2=80=9C=E2=80=9D=E7=9A=84=E6=97=B6=E5=80=99=E6=8E=A5=E5=8F=A3?=
=?UTF-8?q?=E6=8A=A5=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98=E5=92=8C=E8=A3=85?=
=?UTF-8?q?=E8=A1=A8=E7=9A=84=E6=97=B6=E5=80=99=E6=9C=AA=E8=BF=87=E6=BB=A4?=
=?UTF-8?q?=E5=B7=B2=E8=A3=85=E7=94=B5=E8=A1=A8=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/searchSelect/index.js | 2 +-
.../tenement/components/bindMeter/index.js | 10 +++++-----
.../tenement/components/unBindMeter/index.js | 10 +++++-----
pages/workBenchNew/components/installMeter/index.js | 8 +++++++-
.../workBenchTenement/components/bindMeter/index.js | 12 ++++++------
.../components/unBindMeter/index.js | 12 ++++++------
6 files changed, 30 insertions(+), 24 deletions(-)
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index 558a7ca..b9b3870 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -222,7 +222,7 @@ Component({
},
async onSearchInventoryMeter() {
const { searchText = "", park, filterBind } = this.data;
- const { code, message, data: parks = [] } = await getInventoryMeter({keyword: searchText, park, isNeedBind: !filterBind, a : 1});
+ const { code, message, data: parks = [] } = await getInventoryMeter({keyword: searchText, park, isNeedBind: !filterBind, status: 1});
if (code !== OK) {
alertInfo(message)
return
diff --git a/pages/workBench/components/tenement/components/bindMeter/index.js b/pages/workBench/components/tenement/components/bindMeter/index.js
index 3be41b4..9710e08 100644
--- a/pages/workBench/components/tenement/components/bindMeter/index.js
+++ b/pages/workBench/components/tenement/components/bindMeter/index.js
@@ -70,11 +70,11 @@ Component({
tenement,
{
code: meter,
- overall:overall? Number(overall) : overall,
- critical : critical ? Number(critical) : critical,
- peak: peak ? Number(peak) : peak,
- valley : valley ? Number(valley) : valley,
- deepValley : deepValley ? Number(deepValley) : deepValley,
+ overall:overall? Number(overall) : (overall === "" ? null : overall),
+ critical : critical ? Number(critical) : (critical === "" ? null : critical),
+ peak: peak ? Number(peak) : (peak === "" ? null : peak),
+ valley : valley ? Number(valley) : (valley === "" ? null : valley),
+ deepValley : deepValley ? Number(deepValley) : (deepValley === "" ? null : deepValley),
readAt: readAt || dayjs().format('YYYY-MM-DD HH:mm:ss')
}
)
diff --git a/pages/workBench/components/tenement/components/unBindMeter/index.js b/pages/workBench/components/tenement/components/unBindMeter/index.js
index f3d72e2..87b9868 100644
--- a/pages/workBench/components/tenement/components/unBindMeter/index.js
+++ b/pages/workBench/components/tenement/components/unBindMeter/index.js
@@ -75,11 +75,11 @@ Component({
tenement,
meterId,
{
- overall:overall? Number(overall) : overall,
- critical : critical ? Number(critical) : critical,
- peak: peak ? Number(peak) : peak,
- valley : valley ? Number(valley) : valley,
- deepValley: deepValley ? Number(deepValley) : deepValley,
+ overall:overall? Number(overall) : (overall === "" ? null : overall),
+ critical : critical ? Number(critical) : (critical === "" ? null : critical),
+ peak: peak ? Number(peak) : (peak === "" ? null : peak),
+ valley : valley ? Number(valley) : (valley === "" ? null : valley),
+ deepValley: deepValley ? Number(deepValley) : (deepValley === "" ? null : deepValley),
readAt: readAt || dayjs().format('YYYY-MM-DD HH:mm:ss')
});
if (code !== OK) {
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
index 367a54e..b12503a 100644
--- a/pages/workBenchNew/components/installMeter/index.js
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -428,7 +428,13 @@ Page({
const { code, data, message } = await installMeter({
park, meterSn: meter, address, building, meterBox, meterType,
ratio, area, card, collectionA, collectionB, collectionC,
- tenement, sharp, peak, flat, valley, overall, url, sn
+ tenement,
+ sharp: sharp === "" ? null : sharp,
+ peak: peak === "" ? null : peak,
+ flat: flat === "" ? null : flat,
+ valley: valley === "" ? null : valley,
+ overall: overall === "" ? null : overall,
+ url, sn
})
if (code !== OK) {
alertInfo(message)
diff --git a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
index 9c14c04..086d5a5 100644
--- a/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
+++ b/pages/workBenchNew/components/workBenchTenement/components/bindMeter/index.js
@@ -70,12 +70,12 @@ Component({
tenement,
{
code: meter,
- overall:overall? Number(overall) : overall,
- critical : critical ? Number(critical) : critical,
- peak: peak ? Number(peak) : peak,
- flat: flat ? Number(flat) : flat,
- valley : valley ? Number(valley) : valley,
- deepValley: deepValley ? Number(deepValley) : deepValley,
+ overall:overall? Number(overall) : (overall === "" ? null : overall),
+ critical : critical ? Number(critical) : (critical === "" ? null : critical),
+ peak: peak ? Number(peak) : (peak === "" ? null : peak),
+ flat: flat ? Number(flat) : (flat === "" ? null : flat),
+ valley : valley ? Number(valley) : (valley === "" ? null : valley),
+ deepValley: deepValley ? Number(deepValley) : (deepValley === "" ? null : deepValley),
readAt: readAt || dayjs().format('YYYY-MM-DD HH:mm:ss')
}
)
diff --git a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js
index 9aebbd2..883c9e5 100644
--- a/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js
+++ b/pages/workBenchNew/components/workBenchTenement/components/unBindMeter/index.js
@@ -81,12 +81,12 @@ Component({
tenement,
meterId,
{
- overall:overall? Number(overall) : overall,
- critical : critical ? Number(critical) : critical,
- peak: peak ? Number(peak) : peak,
- flat: flat ? Number(flat) : flat,
- valley : valley ? Number(valley) : valley,
- deepValley: deepValley ? Number(deepValley) : deepValley,
+ overall:overall? Number(overall) : (overall === "" ? null : overall),
+ critical : critical ? Number(critical) : (critical === "" ? null : critical),
+ peak: peak ? Number(peak) : (peak === "" ? null : peak),
+ flat: flat ? Number(flat) : (flat === "" ? null : flat),
+ valley : valley ? Number(valley) : (valley === "" ? null : valley),
+ deepValley: deepValley ? Number(deepValley) : (deepValley === null ? "" : deepValley),
readAt: readAt || dayjs().format('YYYY-MM-DD HH:mm:ss')
});
if (code !== OK) {
--
2.49.1
From 4779cc1718ac42ef2a8b1c0dbc5b9d5b0aa94c35 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Tue, 18 Nov 2025 15:11:05 +0800
Subject: [PATCH 44/51] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E8=AF=A6=E6=83=85?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=83=A8=E5=88=86=E5=AD=97=E6=AE=B5,?=
=?UTF-8?q?=E8=A3=85=E8=A1=A8=E6=96=B0=E5=A2=9E=E9=87=87=E9=9B=86=E5=99=A8?=
=?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=B7=A5=E5=8D=95=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/searchSelect/index.js | 17 +++++++++-
.../components/installMeter/index.js | 33 +++++++++++++++++--
.../components/installMeter/index.wxml | 8 +++++
pages/workBenchTodoList/index.js | 4 +--
pages/workBenchTodoList/index.wxml | 2 +-
pages/workOrderDetail/index.js | 7 +++-
pages/workOrderDetail/index.json | 3 +-
pages/workOrderDetail/index.wxml | 33 +++++++++++++++++++
service/meter.js | 5 +++
9 files changed, 104 insertions(+), 8 deletions(-)
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index b9b3870..9b1c4bc 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -1,5 +1,5 @@
import { getLoginParkList, getParkBuildingList } from "../../service/park"
-import { getParkSimpleMeterList, getParkBoxList, getCardList, getCollectionList, getInventoryMeter } from "../../service/meter"
+import { getParkSimpleMeterList, getParkBoxList, getCardList, getCollectionList, getInventoryMeter, getCollectorList } from "../../service/meter"
import { alertInfo } from "../../utils/index";
import request from "../../utils/request"
import { payWays, feeType, meterType, noticeFlowType, noticeFlowStatus,
@@ -176,8 +176,23 @@ Component({
case "collection":
this.onSearchCollection();
return;
+ case "collector":
+ this.onSearchCollector();
+ break;
}
},
+ async onSearchCollector() {
+ const { searchText = "", } = this.data;
+ const { code, message, data = [] } = await getCollectorList(searchText);
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ this.setData({
+ columns: data?.map(item => `${item.collectorAddress}-${item.manufacturer}`),
+ list: data,
+ })
+ },
async onSearchPark() {
const { searchText = "" } = this.data;
const { code, message, data: parks = [] } = await getLoginParkList({keyword: searchText});
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
index b12503a..e69f17e 100644
--- a/pages/workBenchNew/components/installMeter/index.js
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -146,6 +146,27 @@ Page({
collection: "C"
})
},
+ onBindCollector() {
+ const { park } = this.data;
+ if (!park) {
+ alertInfo("请先选择园区")
+ return;
+ }
+ this.setData({
+ show: true,
+ title: "采集器",
+ type: 'collector',
+ })
+ },
+ clearCollector() {
+ this.setData({
+ show: false,
+ title: "",
+ type: 'collector',
+ collector: null,
+ collectorName: null,
+ })
+ },
uploadImage() {
const that = this;
wx.chooseMedia({
@@ -204,6 +225,8 @@ Page({
flat: null,
valley: null,
area: null,
+ collector: null,
+ collectorName: null,
collections: [],
})
},
@@ -258,6 +281,12 @@ Page({
meterTypeName: data,
});
break;
+ case "collector":
+ this.setData({
+ collector: data?.id,
+ collectorName: `${data.collectorAddress}-${data.manufacturer}`,
+ });
+ break;
case "meter":
this.setData({
meter: data.id,
@@ -403,7 +432,7 @@ Page({
park, meter, address, building, meterBox, meterType,
ratio, area, card, collectionA, collectionB, collectionC,
tenement, sharp, peak, flat, valley, overall, url, sn,
- collectionARatio, collectionBRatio, collectionCRatio
+ collectionARatio, collectionBRatio, collectionCRatio, collector,
} = this.data;
if (!park || !(meter || sn) || !address || meterType == null || !building || !meterBox || ratio == null) {
alertInfo("请填写必填项后保存")
@@ -434,7 +463,7 @@ Page({
flat: flat === "" ? null : flat,
valley: valley === "" ? null : valley,
overall: overall === "" ? null : overall,
- url, sn
+ url, sn, collector
})
if (code !== OK) {
alertInfo(message)
diff --git a/pages/workBenchNew/components/installMeter/index.wxml b/pages/workBenchNew/components/installMeter/index.wxml
index a103bd3..8d12cdb 100644
--- a/pages/workBenchNew/components/installMeter/index.wxml
+++ b/pages/workBenchNew/components/installMeter/index.wxml
@@ -90,6 +90,14 @@
allowClear="{{true}}"
bind:clear="clearCard"
/>
+
- {{ noticeFlowType[item.types - 1] }}
+ {{ noticeFlowTypeList[item.types - 1] }}
diff --git a/pages/workOrderDetail/index.js b/pages/workOrderDetail/index.js
index e514826..bc67909 100644
--- a/pages/workOrderDetail/index.js
+++ b/pages/workOrderDetail/index.js
@@ -11,7 +11,12 @@ Page({
* 页面的初始数据
*/
data: {
- detail: {}
+ detail: {},
+ header: [
+ // { key: 'address', title: '电表地址', renderBody: (item) => item.meter?.address },
+ { title: '操作人',renderBody: (item) => { return item.user_name } },
+ { title: '状态',renderBody: (item) => { return item.status === 0 ? "未确认" : "已确认" } },
+ ],
},
/**
diff --git a/pages/workOrderDetail/index.json b/pages/workOrderDetail/index.json
index 827f19a..c9ed298 100644
--- a/pages/workOrderDetail/index.json
+++ b/pages/workOrderDetail/index.json
@@ -3,7 +3,8 @@
"navigator": "/components/navigator/index",
"van-popup": "@vant/weapp/popup/index",
"van-field": "@vant/weapp/field/index",
- "van-button": "@vant/weapp/button/index"
+ "van-button": "@vant/weapp/button/index",
+ "custom-table": "/components/table/table"
},
"navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/pages/workOrderDetail/index.wxml b/pages/workOrderDetail/index.wxml
index a369acc..a4c5f9e 100644
--- a/pages/workOrderDetail/index.wxml
+++ b/pages/workOrderDetail/index.wxml
@@ -36,6 +36,39 @@
-
+
+
+
+
+
+
+
+
确认
diff --git a/service/meter.js b/service/meter.js
index ff1afe8..ab96a3a 100644
--- a/service/meter.js
+++ b/service/meter.js
@@ -78,4 +78,9 @@ export const installMeter = async function(data) {
// 拆表
export const uninstallMeter = async function(data) {
return await POST(`/flow/doMeterRemoveApproval`, data);
+}
+
+// 获取商户下的电表,后台
+export const getCollectorList = async function(keyword) {
+ return await GET(`/collector/list?collectorAddress=${replaceSpecialIcon(keyword)}`);
}
\ No newline at end of file
--
2.49.1
From 51a50fcd8d48ca9df19270b7c68f1a900d272f52 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Tue, 18 Nov 2025 16:04:56 +0800
Subject: [PATCH 45/51] =?UTF-8?q?=E7=A1=AE=E8=AE=A4=E5=B7=A5=E5=8D=95?=
=?UTF-8?q?=E5=8F=82=E6=95=B0=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/workBenchTodoList/index.js | 4 ++++
pages/workBenchTodoList/index.wxml | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/pages/workBenchTodoList/index.js b/pages/workBenchTodoList/index.js
index 6b8133b..84c5a6d 100644
--- a/pages/workBenchTodoList/index.js
+++ b/pages/workBenchTodoList/index.js
@@ -85,6 +85,10 @@ onMenuSelect(e) {
this.handleDoNotice(id);
break;
}
+},
+handleDoNoticeBtn(e) {
+ const id = e.currentTarget.dataset.id;
+ this.handleDoNotice(id)
},
async handleDoNotice(id) {
const { code, message } = await doNoticeFlow(id)
diff --git a/pages/workBenchTodoList/index.wxml b/pages/workBenchTodoList/index.wxml
index 2f31823..7655ff8 100644
--- a/pages/workBenchTodoList/index.wxml
+++ b/pages/workBenchTodoList/index.wxml
@@ -64,7 +64,7 @@
class="primaryTextBtn"
wx:if="{{item.flow_status === 1}}"
data-id="{{item.id}}"
- bind:tap="handleDoNotice"
+ bind:tap="handleDoNoticeBtn"
> 确认
已确认
--
2.49.1
From 7a33dad81bb2e9822588a500e869bec746d74ec2 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Tue, 18 Nov 2025 16:35:16 +0800
Subject: [PATCH 46/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B7=A5=E5=8D=95?=
=?UTF-8?q?=E7=8A=B6=E6=80=81=E9=94=99=E8=AF=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/workBenchTodoList/index.wxml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pages/workBenchTodoList/index.wxml b/pages/workBenchTodoList/index.wxml
index 7655ff8..2f96d6f 100644
--- a/pages/workBenchTodoList/index.wxml
+++ b/pages/workBenchTodoList/index.wxml
@@ -62,7 +62,7 @@
确认
--
2.49.1
From 972a267c367aea0b289381837f22b66692c61e08 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 19 Nov 2025 08:48:21 +0800
Subject: [PATCH 47/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B7=A5=E5=8D=95?=
=?UTF-8?q?=E8=AF=A6=E6=83=85=E4=B8=8D=E6=98=BE=E7=A4=BA=E5=9B=BE=E7=89=87?=
=?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/workOrderDetail/index.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/pages/workOrderDetail/index.json b/pages/workOrderDetail/index.json
index c9ed298..653d399 100644
--- a/pages/workOrderDetail/index.json
+++ b/pages/workOrderDetail/index.json
@@ -4,7 +4,8 @@
"van-popup": "@vant/weapp/popup/index",
"van-field": "@vant/weapp/field/index",
"van-button": "@vant/weapp/button/index",
- "custom-table": "/components/table/table"
+ "custom-table": "/components/table/table",
+ "van-image": "@vant/weapp/image/index"
},
"navigationStyle": "custom"
}
\ No newline at end of file
--
2.49.1
From 6fee2d0435de3ae7416efefe07f1632a3af26ec6 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 19 Nov 2025 10:28:20 +0800
Subject: [PATCH 48/51] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=94=B5=E8=A1=A8=E6=8E=A5=E5=8F=A3=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/searchSelect/index.js | 22 +++++++++++++++++++++-
pages/workBenchTodoList/index.js | 6 +++---
service/meter.js | 5 +++++
service/workBench.js | 3 ++-
4 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js
index 9b1c4bc..14279c1 100644
--- a/components/searchSelect/index.js
+++ b/components/searchSelect/index.js
@@ -1,5 +1,10 @@
import { getLoginParkList, getParkBuildingList } from "../../service/park"
-import { getParkSimpleMeterList, getParkBoxList, getCardList, getCollectionList, getInventoryMeter, getCollectorList } from "../../service/meter"
+import {
+ getParkSimpleMeterList, getParkBoxList,
+ getCardList, getCollectionList,
+ getInventoryMeter, getCollectorList,
+ getWorkOrderAllMeter,
+} from "../../service/meter"
import { alertInfo } from "../../utils/index";
import request from "../../utils/request"
import { payWays, feeType, meterType, noticeFlowType, noticeFlowStatus,
@@ -179,6 +184,9 @@ Component({
case "collector":
this.onSearchCollector();
break;
+ case "workOrderMeter":
+ this.onSearchWorkOrderMeter();
+ break;
}
},
async onSearchCollector() {
@@ -193,6 +201,18 @@ Component({
list: data,
})
},
+ async onSearchWorkOrderMeter() {
+ const { searchText = "", park } = this.data;
+ const { code, message, data = [] } = await getWorkOrderAllMeter({keyword: searchText, park: park, page: 1, size: 20});
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ this.setData({
+ columns: data?.map(item => `${item.address}-${item.meter_no}`),
+ list: data,
+ })
+ },
async onSearchPark() {
const { searchText = "" } = this.data;
const { code, message, data: parks = [] } = await getLoginParkList({keyword: searchText});
diff --git a/pages/workBenchTodoList/index.js b/pages/workBenchTodoList/index.js
index 84c5a6d..ecd4a4c 100644
--- a/pages/workBenchTodoList/index.js
+++ b/pages/workBenchTodoList/index.js
@@ -147,9 +147,9 @@ handleDoNoticeBtn(e) {
})
});
break;
- case "meter":
+ case "workOrderMeter":
this.setData({
- meter: data.id,
+ meter: data.meter_id,
meterName: data.address,
meterInfo: data,
page: 1,
@@ -199,7 +199,7 @@ handleDoNoticeBtn(e) {
this.setData({
show: true,
title: "电表",
- type: 'meter'
+ type: 'workOrderMeter'
})
},
onChangePage(e) {
diff --git a/service/meter.js b/service/meter.js
index ab96a3a..e5ed6af 100644
--- a/service/meter.js
+++ b/service/meter.js
@@ -83,4 +83,9 @@ export const uninstallMeter = async function(data) {
// 获取商户下的电表,后台
export const getCollectorList = async function(keyword) {
return await GET(`/collector/list?collectorAddress=${replaceSpecialIcon(keyword)}`);
+}
+
+// 微信工单列表查询所有电表
+export const getWorkOrderAllMeter = async function({ keyword, park, page = 1, size = 20 }) {
+ return await GET(`/vx/getAllMeter?keyword=${replaceSpecialIcon(keyword)}&pid=${park}&page=${page}&size=${size}`,);
}
\ No newline at end of file
diff --git a/service/workBench.js b/service/workBench.js
index a616200..e52212a 100644
--- a/service/workBench.js
+++ b/service/workBench.js
@@ -63,7 +63,8 @@ export const doNoticeFlow = async function(id) {
return await PUT(`/noticeFlow/${id}/meter/dispose`,);
}
-// 确认当前流程
+// 当前流程详情
export const getNoticeFlowDetail = async function(id) {
return await GET(`/noticeFlow/${id}/detail`,);
}
+
--
2.49.1
From 0ef96344cecd44d020ad3a7b6499b41ffb01a481 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Wed, 19 Nov 2025 10:58:16 +0800
Subject: [PATCH 49/51] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B7=A5=E5=8D=95?=
=?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/workBenchTodoList/index.js | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/pages/workBenchTodoList/index.js b/pages/workBenchTodoList/index.js
index ecd4a4c..801652b 100644
--- a/pages/workBenchTodoList/index.js
+++ b/pages/workBenchTodoList/index.js
@@ -36,7 +36,7 @@ Page({
},
onClearPark() {
const that = this;
- this.setData({ park: null, parkName: null, meter: null, meterName: null }, () => {
+ this.setData({ park: "", parkName: "", meter: "", meterName: "" }, () => {
loadingFunc(async () => {
await that.init()
})
@@ -44,7 +44,7 @@ onClearPark() {
},
onClearMeter() {
const that = this;
- this.setData({ meter: null, meterName: null }, () => {
+ this.setData({ meter: "", meterName: "" }, () => {
loadingFunc(async () => {
await that.init()
})
@@ -52,7 +52,7 @@ onClearMeter() {
},
onClearType() {
const that = this;
- this.setData({ noticeFlowType: null, noticeFlowTypeName: null }, () => {
+ this.setData({ noticeFlowType: "", noticeFlowTypeName: "" }, () => {
loadingFunc(async () => {
await that.init()
})
@@ -60,7 +60,7 @@ onClearType() {
},
onClearStatus() {
const that = this;
- this.setData({ noticeFlowStatus: null, noticeFlowStatusName: null }, () => {
+ this.setData({ noticeFlowStatus: "", noticeFlowStatusName: "" }, () => {
loadingFunc(async () => {
await that.init()
})
@@ -68,7 +68,7 @@ onClearStatus() {
},
hideActionMenu() {
this.setData({
- currentActionSheet: null
+ currentActionSheet: ""
});
},
onMenuSelect(e) {
@@ -114,8 +114,8 @@ handleDoNoticeBtn(e) {
switch(type) {
case "park":
this.setData({
- park: data.id,
- parkName: data.name,
+ park: data?.id,
+ parkName: data?.name,
})
break;
case "tenement":
@@ -149,8 +149,8 @@ handleDoNoticeBtn(e) {
break;
case "workOrderMeter":
this.setData({
- meter: data.meter_id,
- meterName: data.address,
+ meter: data?.meter_id,
+ meterName: data?.address,
meterInfo: data,
page: 1,
}, () => {
@@ -213,7 +213,8 @@ handleDoNoticeBtn(e) {
})
},
async init() {
- const { page, size, park, tenement, meter, noticeFlowType, noticeFlowStatus, time } = this.data;
+ const { page, size, park, tenement = "", meter = "", noticeFlowType, noticeFlowStatus, time } = this.data;
+
const { code, message, data, total } = await getWorkOrderList({ page, size, park, tenement, meter, type: noticeFlowType, time, status: noticeFlowStatus })
if (code !== OK) {
alertInfo(message)
--
2.49.1
From 990a3a17aa00a25b6d5c974bcd19fe08f1c8914d Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Fri, 21 Nov 2025 16:25:43 +0800
Subject: [PATCH 50/51] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=94=AF=E6=8C=81?=
=?UTF-8?q?=E7=82=B9=E5=87=BB=E5=88=97=E8=A1=A8=E8=BF=9B=E5=85=A5=E8=AF=A6?=
=?UTF-8?q?=E6=83=85=EF=BC=8C=E6=96=B0=E8=A3=85=E7=94=B5=E8=A1=A8=E7=9A=84?=
=?UTF-8?q?=E9=80=82=E5=90=88=E6=A0=B9=E6=8D=AE=E7=94=B5=E8=A1=A8=E7=B1=BB?=
=?UTF-8?q?=E5=9E=8B=E6=98=BE=E7=A4=BA=E5=95=86=E6=88=B7=E5=92=8C=E5=B0=96?=
=?UTF-8?q?=E5=B3=B0=E5=B9=B3=E8=B0=B7=EF=BC=8C=E6=8B=86=E8=A1=A8=E7=9A=84?=
=?UTF-8?q?=E6=97=B6=E5=80=99=E6=98=AF=E5=95=86=E6=88=B7=E8=A1=A8=E7=9A=84?=
=?UTF-8?q?=E6=97=B6=E5=80=99=E4=BA=8C=E6=AC=A1=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../components/installMeter/index.js | 26 +++++++++-
.../components/installMeter/index.wxml | 13 +++++
.../components/uninstallMeter/index.js | 49 ++++++++++++++-----
pages/workBenchTodoList/index.js | 6 +++
pages/workBenchTodoList/index.wxml | 13 +++--
pages/workOrderDetail/index.js | 1 -
pages/workOrderDetail/index.wxml | 4 +-
7 files changed, 89 insertions(+), 23 deletions(-)
diff --git a/pages/workBenchNew/components/installMeter/index.js b/pages/workBenchNew/components/installMeter/index.js
index e69f17e..d9ebac9 100644
--- a/pages/workBenchNew/components/installMeter/index.js
+++ b/pages/workBenchNew/components/installMeter/index.js
@@ -224,6 +224,7 @@ Page({
peak: null,
flat: null,
valley: null,
+ deepValley: null,
area: null,
collector: null,
collectorName: null,
@@ -233,7 +234,7 @@ Page({
onConfirm(e) {
console.log("e", e)
const { type, data = {}, way } = e.detail;
- const {collection, park, tenement} = this.data;
+ const {collection, park, meterType, tenement, tenementName, overall, sharp, flat, peak, valley, deepValley} = this.data;
switch(type) {
case "park":
this.setData({
@@ -276,9 +277,23 @@ Page({
})
break;
case "meterType":
+ let newMeterData = {};
+ if (way !== 0) {
+ newMeterData = {
+ tenement: null,
+ tenementName: null,
+ overall: null,
+ sharp: null,
+ peak: null,
+ flat: null,
+ valley: null,
+ deepValley: null,
+ }
+ }
this.setData({
meterType: way,
meterTypeName: data,
+ ...newMeterData,
});
break;
case "collector":
@@ -402,6 +417,11 @@ Page({
valley: e.detail
})
},
+ changeDeepValley(e) {
+ this.setData({
+ deepValley: e.detail
+ })
+ },
changeRatio(e) {
this.setData({
ratio: e.detail,
@@ -431,7 +451,7 @@ Page({
const {
park, meter, address, building, meterBox, meterType,
ratio, area, card, collectionA, collectionB, collectionC,
- tenement, sharp, peak, flat, valley, overall, url, sn,
+ tenement, sharp, peak, flat, valley, deepValley, overall, url, sn,
collectionARatio, collectionBRatio, collectionCRatio, collector,
} = this.data;
if (!park || !(meter || sn) || !address || meterType == null || !building || !meterBox || ratio == null) {
@@ -463,6 +483,8 @@ Page({
flat: flat === "" ? null : flat,
valley: valley === "" ? null : valley,
overall: overall === "" ? null : overall,
+ deepValley: deepValley == "" ? null : deepValley,
+
url, sn, collector
})
if (code !== OK) {
diff --git a/pages/workBenchNew/components/installMeter/index.wxml b/pages/workBenchNew/components/installMeter/index.wxml
index 8d12cdb..bde7fde 100644
--- a/pages/workBenchNew/components/installMeter/index.wxml
+++ b/pages/workBenchNew/components/installMeter/index.wxml
@@ -127,36 +127,49 @@
placeholder="请选择商户"
text="{{ tenementName }}"
bind:search="onTenementFocus"
+ wx:if="{{meterType === 0}}"
/>
+
{
+ wx.navigateTo({
+ url: '/pages/workBenchTodoList/index',
+ })
+ }, 300)
+ return;
}
- alertSuccess("拆除成功")
- setTimeout(() => {
- wx.navigateTo({
- url: '/pages/workBenchTodoList/index',
- })
- }, 300)
+ wx.showModal({
+ title: '提示',
+ content: '拆出后电表和商户关系,电表和卡的关系会自动解绑,是否拆出',
+ complete: async (res) => {
+ if (res.cancel) {
+
+ }
+
+ if (res.confirm) {
+ const { code, message } = await uninstallMeter({sn: meter, images: url, reason, tenement: meterInfo.tenement, critical, peak, flat, valley, overall, deepOverall})
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ alertSuccess("拆除成功")
+ setTimeout(() => {
+ wx.navigateTo({
+ url: '/pages/workBenchTodoList/index',
+ })
+ }, 300)
+ return;
+ }
+ }
+ })
},
uploadImage() {
const that = this;
diff --git a/pages/workBenchTodoList/index.js b/pages/workBenchTodoList/index.js
index 801652b..51ea683 100644
--- a/pages/workBenchTodoList/index.js
+++ b/pages/workBenchTodoList/index.js
@@ -108,6 +108,12 @@ handleDoNoticeBtn(e) {
url: '/pages/workOrderDetail/index?id=' + id,
})
},
+ listJumpToDetail(e) {
+ const { id } = e.currentTarget.dataset;
+ wx.navigateTo({
+ url: '/pages/workOrderDetail/index?id=' + id,
+ })
+ },
onConfirm(e) {
const { type, data = {}, way } = e.detail;
const that = this;
diff --git a/pages/workBenchTodoList/index.wxml b/pages/workBenchTodoList/index.wxml
index 2f96d6f..7cdcb55 100644
--- a/pages/workBenchTodoList/index.wxml
+++ b/pages/workBenchTodoList/index.wxml
@@ -46,8 +46,8 @@
操作
-
-
+
+
{{ item.time }}
@@ -62,14 +62,14 @@
确认
已确认
-
+
-
-
+
diff --git a/pages/workOrderDetail/index.js b/pages/workOrderDetail/index.js
index bc67909..f6e279e 100644
--- a/pages/workOrderDetail/index.js
+++ b/pages/workOrderDetail/index.js
@@ -6,7 +6,6 @@ const { OK } = request;
// pages/workOrderDetail/index.js
Page({
-
/**
* 页面的初始数据
*/
diff --git a/pages/workOrderDetail/index.wxml b/pages/workOrderDetail/index.wxml
index a4c5f9e..cedf8dc 100644
--- a/pages/workOrderDetail/index.wxml
+++ b/pages/workOrderDetail/index.wxml
@@ -48,12 +48,12 @@
readonly
title-width="132rpx"
/>
-
+ /> -->
Date: Thu, 27 Nov 2025 08:53:09 +0800
Subject: [PATCH 51/51] =?UTF-8?q?=E5=85=85=E5=80=BC=E5=92=8C=E5=BC=80?=
=?UTF-8?q?=E7=A5=A8=E9=99=90=E5=AE=9A?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pages/home/index.js | 17 ++++++++++++++++-
pages/invoiceList/components/notyet/index.js | 14 +++++++++++++-
project.private.config.json | 7 +++++++
3 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/pages/home/index.js b/pages/home/index.js
index cbea2c1..bcf3e81 100644
--- a/pages/home/index.js
+++ b/pages/home/index.js
@@ -1,6 +1,8 @@
// pages/home/index.js
import { getMeterDetail, getMeterList, getTenementMeterList } from "../../service/meter";
-import { getOwnTenementList, getTenementExceptionalCase } from "../../service/tenement";
+import { getOwnTenementList, getTenementExceptionalCase ,
+ getTenementBackInfo, getTenementDetail, getTenementInfoDetail,
+} from "../../service/tenement";
import { alertInfo, alertSuccess } from "../../utils/index";
import request from '../../utils/request';
import { getDot } from "../../utils/system";
@@ -159,6 +161,19 @@ Page({
alertInfo("账号存在异常,无法进行充值,请联系客服处理")
return;
}
+ const {
+ code: tenementDetailCode,
+ message: tenementDetailMessage,
+ tenement: tenementDetail,
+ } = await getTenementBackInfo(park?.id, tenement?.id)
+ if (tenementDetailCode !== OK) {
+ alertInfo(tenementDetailMessage)
+ return
+ }
+ if (tenementDetail?.stop_top) {
+ alertInfo("您暂不可使用此功能,可联系客服处理。")
+ return;
+ }
const that = this;
if (!user || !user.id) {
alertInfo("请先登录")
diff --git a/pages/invoiceList/components/notyet/index.js b/pages/invoiceList/components/notyet/index.js
index aa9fe41..6c10e41 100644
--- a/pages/invoiceList/components/notyet/index.js
+++ b/pages/invoiceList/components/notyet/index.js
@@ -1,5 +1,6 @@
// pages/invoiceList/components/notyet/index.js
import { getInvoiceList } from '../../../../service/invoice';
+import { getTenementBackInfo } from '../../../../service/tenement';
import { alertInfo, loadingFunc } from '../../../../utils/index';
import request from '../../../../utils/request';
const { OK } = request;
@@ -69,7 +70,18 @@ Component({
selectMoney: Number(selectMoney.toFixed(2))
})
},
- next() {
+ async next() {
+ const park = wx.getStorageSync("park")
+ const tenement = wx.getStorageSync("tenement")
+ const { code: detailCode, message: detailMessage, tenement: Detail } = await getTenementBackInfo(park?.id, tenement?.id)
+ if (detailCode !== OK) {
+ alertInfo(detailMessage)
+ return;
+ }
+ if (Detail?.stop_invoice) {
+ alertInfo("您暂不可使用此功能,可联系客服处理。")
+ return
+ }
const { selectList, list, selectMoney, selectCount } = this.data;
let tenementID = "";
let tenementName = "";
diff --git a/project.private.config.json b/project.private.config.json
index 6409ae4..edd72a1 100644
--- a/project.private.config.json
+++ b/project.private.config.json
@@ -23,6 +23,13 @@
"condition": {
"miniprogram": {
"list": [
+ {
+ "name": "pages/invoiceList/index",
+ "pathName": "pages/invoiceList/index",
+ "query": "",
+ "launchMode": "default",
+ "scene": null
+ },
{
"name": "pages/workBenchNew/components/installMeter/index",
"pathName": "pages/workBenchNew/components/installMeter/index",
--
2.49.1