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