From 93ee7590929bc32a6624216644139a87a66d6650 Mon Sep 17 00:00:00 2001 From: qiaomu <3520484422@qq.com> Date: Fri, 21 Feb 2025 15:47:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E5=AD=98=E5=95=86=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/searchSelect/index.js | 12 +++ components/searchSelect/index.wxml | 43 ++++----- pages/handleLogin/index.js | 4 +- pages/handleLogin/index.wxml | 2 +- .../account/components/editModal/index.js | 39 ++++---- pages/workBench/components/account/index.js | 13 +-- pages/workBench/components/account/index.json | 3 +- pages/workBench/components/account/index.wxml | 13 +-- .../recharge/components/approve/index.js | 4 +- .../recharge/components/approve/index.wxml | 2 +- .../recharge/components/reharge/index.js | 4 +- .../recharge/components/reharge/index.wxml | 2 +- pages/workBench/components/record/index.js | 4 +- pages/workBench/components/record/index.wxml | 2 +- .../tenement/components/bindMeter/index.js | 3 + .../tenement/components/bindMeter/index.wxml | 1 + .../components/createTenement/index.wxml | 2 +- .../tenement/components/kaihu/index.js | 89 ++++++++++++++++--- .../tenement/components/kaihu/index.wxml | 36 ++++++-- pages/workBench/components/tenement/index.js | 83 ++++++++++++++--- .../workBench/components/tenement/index.json | 3 +- .../workBench/components/tenement/index.wxml | 26 ++++-- .../workBench/components/tenement/index.wxss | 46 +++++++++- service/meter.js | 6 +- service/tenement.js | 11 ++- service/user.js | 4 +- 26 files changed, 339 insertions(+), 118 deletions(-) diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js index 00301d8..a11feac 100644 --- a/components/searchSelect/index.js +++ b/components/searchSelect/index.js @@ -33,6 +33,7 @@ Component({ columns: [], searchText: "", payWays, + feeType, }, lifetimes: { attached() { @@ -84,6 +85,17 @@ Component({ }) this.triggerEvent("confirm", { data: item, way: index, type } ); }, + onFeeTypeConfirm(event) { + const { index } = event.detail; + const { feeType = [], type } = this.data; + const item = feeType[index]; + this.setData({ + columns: [], + list: [], + searchText: "" + }) + this.triggerEvent("confirm", { data: item, way: index, type } ); + }, onSearch() { const { type } = this.data; switch(type) { diff --git a/components/searchSelect/index.wxml b/components/searchSelect/index.wxml index fd94b2e..2030f47 100644 --- a/components/searchSelect/index.wxml +++ b/components/searchSelect/index.wxml @@ -5,7 +5,27 @@ position="bottom" z-index="100000" > - + + + + + + + - - - - - - + diff --git a/pages/workBench/components/account/components/editModal/index.js b/pages/workBench/components/account/components/editModal/index.js index 090a41e..82a8853 100644 --- a/pages/workBench/components/account/components/editModal/index.js +++ b/pages/workBench/components/account/components/editModal/index.js @@ -15,23 +15,14 @@ Component({ onCancel: Function, park: String, tenement: String, + parentPhone:String, + parentName:String, + parentId:String, }, observers: { - "name": function(newValue) { - const newData = this.data; - newData.name = newValue - this.setData({ data: newData }) + "parentName,parentId,parentPhone": function(newName, newId, newPhone) { + this.setData({ data: { name: newName, id: newId, phone: newPhone } }) }, - "id": function(newValue) { - const newData = this.data; - newData.id = newValue - this.setData({ data: newData }) - }, - "phone": function(newValue) { - const newData = this.data; - newData.phone = newValue - this.setData({ data: newData }) - } }, /** * 组件的初始数据 @@ -45,7 +36,7 @@ Component({ */ methods: { async onSubmit() { - const { data = {}, tenement, park } = this.data; + const { data = {}, tenement, park, editType } = this.data; if (!data.phone) { alertInfo("请输入手机号") return @@ -54,18 +45,20 @@ Component({ alertInfo("请输入昵称") return } - - const { code, message } = await createTenementWxUser({ ...data, tenement, park }) - if (code !== OK) { - alertInfo(message) - this.triggerEvent("cancel") + if (editType === 'add') { + const { code, message } = await createTenementWxUser({ ...data, tenement, park }) + if (code !== OK) { + alertInfo(message) + this.triggerEvent("cancel") + return; + } + alertSuccess("操作成功") + this.triggerEvent("ok") return; } - alertSuccess("操作成功") - this.triggerEvent("ok") + }, onChange(e) { - console.log('e', e) const { name } = e.currentTarget.dataset; const newData = this.data.data; newData[name] = e.detail; diff --git a/pages/workBench/components/account/index.js b/pages/workBench/components/account/index.js index 470ba4a..6039a48 100644 --- a/pages/workBench/components/account/index.js +++ b/pages/workBench/components/account/index.js @@ -69,7 +69,7 @@ Component({ break; } }, - onConcal() { + onCancel() { this.setData({ show: false, }) @@ -133,21 +133,22 @@ Component({ }, handleChangeMain() { const { list = [] } = this.data; - const main = list?.find(item => item.isAdmin) + const main = list?.find(item => item.Permissions) if (!main) { + alertInfo("没有主账号") return } + console.log("main", main) this.setData({ visible: true, type: "update", title: "编辑管理员", - phone: main.phone, - name: main.name, - id: main.id, + phone: main.WechatPhone, + name: main.WechatUserName, + id: main.WechatUserID, }) }, handleCancel() { - console.log("-------------") this.setData({ visible: false, type: "", diff --git a/pages/workBench/components/account/index.json b/pages/workBench/components/account/index.json index 5f3de68..57b9106 100644 --- a/pages/workBench/components/account/index.json +++ b/pages/workBench/components/account/index.json @@ -11,7 +11,6 @@ "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", - "van-tag": "@vant/weapp/tag/index" + "edit-modal": "./components/editModal/index" } } \ No newline at end of file diff --git a/pages/workBench/components/account/index.wxml b/pages/workBench/components/account/index.wxml index 0b6ea3e..e5f1334 100644 --- a/pages/workBench/components/account/index.wxml +++ b/pages/workBench/components/account/index.wxml @@ -66,10 +66,10 @@ {{ itemIndex + 1 }} - {{ item.name }} - {{ item.phone }} + {{ item.WechatUserName }} + {{ item.WechatPhone }} - + 移除 管理员 @@ -83,7 +83,7 @@ - + {{phone}} {{name}} \ No newline at end of file diff --git a/pages/workBench/components/recharge/components/approve/index.js b/pages/workBench/components/recharge/components/approve/index.js index b4b2c3a..f489f24 100644 --- a/pages/workBench/components/recharge/components/approve/index.js +++ b/pages/workBench/components/recharge/components/approve/index.js @@ -49,7 +49,7 @@ Component({ await that.init(); }) }) - this.onConcal(); + this.onCancel(); }, onChangeKeyword(e) { this.setData({ keywordTemp: e.detail }) @@ -162,7 +162,7 @@ Component({ }) }) }, - onConcal() { + onCancel() { this.setData({ show: false, title: "", diff --git a/pages/workBench/components/recharge/components/approve/index.wxml b/pages/workBench/components/recharge/components/approve/index.wxml index 998179f..4707c73 100644 --- a/pages/workBench/components/recharge/components/approve/index.wxml +++ b/pages/workBench/components/recharge/components/approve/index.wxml @@ -93,7 +93,7 @@ type="{{type}}" park="{{park}}" bindconfirm="onConfirm" - bindcancel="onConcal" + bindcancel="onCancel" /> diff --git a/pages/workBench/components/record/index.js b/pages/workBench/components/record/index.js index 31ed2f9..3e2c0e7 100644 --- a/pages/workBench/components/record/index.js +++ b/pages/workBench/components/record/index.js @@ -66,7 +66,7 @@ Component({ break; } - this.onConcal(); + this.onCancel(); }, onChangeKeyword(e) { this.setData({ keywordTemp: e.detail }) @@ -108,7 +108,7 @@ Component({ }) }) }, - onConcal() { + onCancel() { this.setData({ show: false, title: "", diff --git a/pages/workBench/components/record/index.wxml b/pages/workBench/components/record/index.wxml index 8a077ff..6c85983 100644 --- a/pages/workBench/components/record/index.wxml +++ b/pages/workBench/components/record/index.wxml @@ -146,6 +146,6 @@ type="{{type}}" park="{{park}}" bindconfirm="onConfirm" - bindcancel="onConcal" + bindcancel="onCancel" wx:if="{{show}}" /> diff --git a/pages/workBench/components/tenement/components/bindMeter/index.js b/pages/workBench/components/tenement/components/bindMeter/index.js index f0cb820..5569bdb 100644 --- a/pages/workBench/components/tenement/components/bindMeter/index.js +++ b/pages/workBench/components/tenement/components/bindMeter/index.js @@ -31,5 +31,8 @@ Component({ type: 'meter' }) }, + onClose() { + this.triggerEvent("close") + } } }) \ No newline at end of file diff --git a/pages/workBench/components/tenement/components/bindMeter/index.wxml b/pages/workBench/components/tenement/components/bindMeter/index.wxml index 491582c..017d86b 100644 --- a/pages/workBench/components/tenement/components/bindMeter/index.wxml +++ b/pages/workBench/components/tenement/components/bindMeter/index.wxml @@ -5,6 +5,7 @@ show="{{ show }}" show-cancel-button bind:confirm="onSubmit" + bind:close="onClose" > \ No newline at end of file diff --git a/pages/workBench/components/tenement/components/kaihu/index.js b/pages/workBench/components/tenement/components/kaihu/index.js index 34326d4..f51c36d 100644 --- a/pages/workBench/components/tenement/components/kaihu/index.js +++ b/pages/workBench/components/tenement/components/kaihu/index.js @@ -1,6 +1,9 @@ // pages/workBench/components/tenement/components/kaihu/index.js -import { alertInfo } from "../../../../../../utils/index" - +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({ /** @@ -9,14 +12,21 @@ 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] + }) + } }, - // observers: { - // 'visible': function(newVisible) { - // this.setData({ - // show: newVisible - // }) - // } - // }, /** * 组件的初始数据 */ @@ -48,10 +58,67 @@ Component({ } this.setData({ show: true, - title: "建筑", - type: 'building' + 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/workBench/components/tenement/components/kaihu/index.wxml b/pages/workBench/components/tenement/components/kaihu/index.wxml index 2afba3b..8580103 100644 --- a/pages/workBench/components/tenement/components/kaihu/index.wxml +++ b/pages/workBench/components/tenement/components/kaihu/index.wxml @@ -1,56 +1,73 @@ @@ -58,9 +75,10 @@ @@ -77,5 +95,5 @@ type="{{type}}" park="{{park}}" bindconfirm="onConfirm" - bindcancel="onConcal" + bindcancel="onCancel" /> \ No newline at end of file diff --git a/pages/workBench/components/tenement/index.js b/pages/workBench/components/tenement/index.js index ec7c5da..b85be1b 100644 --- a/pages/workBench/components/tenement/index.js +++ b/pages/workBench/components/tenement/index.js @@ -1,5 +1,6 @@ -import { alertInfo } from "../../../../utils/index"; -import { getTenementBackInfo, } from "../../../../service/tenement" +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 // pages/workBench/components/tenement/index.js @@ -16,12 +17,10 @@ Component({ * 组件的初始数据 */ data: { - - }, - lifetimes: { - ready() { - console.log("this.data", this.data) - } + defaultValue: {}, + editType: "", + meterList: [], + // bindMeter }, /** * 组件的方法列表 @@ -79,18 +78,76 @@ Component({ show: false, } , () => { that.getTenementInfo(); + that.getTenementMeters(); }) break; } }, + onCancel() { + this.setData({ + show: false, + }) + }, startKh() { this.setData({ - kaihuVisible: true + kaihuVisible: true, + editType: "add", + title: "开户" + }) + }, + 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: "编辑" + }) + }, + onKaihuConfirm() { + this.getTenementInfo(); + this.onKaihuClose(); + }, + unbind(e) { + const that = this; + const { park, tenement } = this.data; + const { address, id } = e.currentTarget.dataset; + 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 + } + } }) - // const { park = '', parkName = '', tenement = '', tenementName = '' } = this.data; - // wx.navigateTo({ - // url: `/pages/workBench/components/tenement/components/createTenement/index?park=${park}&tenement=${tenement}&parkName=${parkName}&${tenementName}=${tenementName}`, - // }) } } }) \ No newline at end of file diff --git a/pages/workBench/components/tenement/index.json b/pages/workBench/components/tenement/index.json index 225bd8e..8f84a70 100644 --- a/pages/workBench/components/tenement/index.json +++ b/pages/workBench/components/tenement/index.json @@ -5,6 +5,7 @@ "van-button": "@vant/weapp/button/index", "search-select": "/components/searchSelect/index", "van-empty": "@vant/weapp/empty/index", - "kaihu": "./components/kaihu/index" + "kaihu": "./components/kaihu/index", + "bindMeter": "./components/bindMeter/index" } } \ No newline at end of file diff --git a/pages/workBench/components/tenement/index.wxml b/pages/workBench/components/tenement/index.wxml index 2f18178..da11c81 100644 --- a/pages/workBench/components/tenement/index.wxml +++ b/pages/workBench/components/tenement/index.wxml @@ -55,22 +55,22 @@ readonly title-width="140rpx" /> - + 电表地址 - SN + SN 操作 - + - {{ item.tenement.shortName }} - {{ item.money }} + {{ item.address }} + {{ item.meterSn }} - + 解绑 @@ -89,6 +89,16 @@ type="{{type}}" park="{{park}}" bindconfirm="onConfirm" - bindcancel="onConcal" + bindcancel="onCancel" /> - \ No newline at end of file + + + \ No newline at end of file diff --git a/pages/workBench/components/tenement/index.wxss b/pages/workBench/components/tenement/index.wxss index 5de07ae..0f66826 100644 --- a/pages/workBench/components/tenement/index.wxss +++ b/pages/workBench/components/tenement/index.wxss @@ -1 +1,45 @@ -/* pages/workBench/components/tenement/index.wxss */ \ No newline at end of file +/* 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 { + 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; +} + +.primaryTextBtn { + color: #1989fa; +} \ No newline at end of file diff --git a/service/meter.js b/service/meter.js index efea844..1a3f412 100644 --- a/service/meter.js +++ b/service/meter.js @@ -27,8 +27,10 @@ export const getParkSimpleMeterList = async function({park = "", keyword = "", p return await GET(`/work/getWorkMeter?page=${page}&park=${park}&keyword=${replaceSpecialIcon(keyword)}`); } - - +// 获取商户下的电表,后台 +export const getBackTenementMeters = async function(park, tenement) { + return await GET(`/vx/getWorkMeterDetails?park=${park}&tenement=${tenement}`); +} // 拉合闸 export const handleOperateMeterSwitch = async function({ ids = [], status }) { diff --git a/service/tenement.js b/service/tenement.js index 3401b24..20eb2d2 100644 --- a/service/tenement.js +++ b/service/tenement.js @@ -41,7 +41,7 @@ export const updateTenement = async function(pid, data) { } // 解绑电表 export const unbindMeter = async function(pid, tid, code) { - return await POST(`/tenement/${pid}/${tid}/binding/${code}/unbind`) + return await PUT(`/tenement/${pid}/${tid}/binding/${code}/unbind`) } // 获取b端用户 @@ -58,3 +58,12 @@ export const getTenementBackInfo = async (pid, tid) => { export const createTenementWxUser = async function(data) { return await POST(`/wx/createUser`, data) } + +// 创建商户 +export const createBackTenement = async function(pid, data) { + return await POST(`/vx/tenement/${pid}`, data) +} +// 修改商户信息 +export const updateTenementBackInfo = async function(pid, tid, data) { + return await PUT(`/vx/${pid}/${tid}`, data) +} \ No newline at end of file diff --git a/service/user.js b/service/user.js index 9f8199e..d72e803 100644 --- a/service/user.js +++ b/service/user.js @@ -71,6 +71,6 @@ export const getQuestionList = async function(page) { } // 获取扫描二维码的列表 -export const getBackApproveList = async function(tenement, status=0) { - return await GET(`/wx/getApproveList?status=${status}&tenement=${tenement}`); +export const getBackApproveList = async function(tenement) { + return await GET(`/wx/getWorkUserList?tenement=${tenement}`); } \ No newline at end of file