diff --git a/components/searchSelect/index.js b/components/searchSelect/index.js index a11feac..bf3f103 100644 --- a/components/searchSelect/index.js +++ b/components/searchSelect/index.js @@ -133,8 +133,8 @@ Component({ return } this.setData({ - columns: parks?.map(item => `${item.meterNo}-${item.address}${item.shortName ? '-' + item.shortName : ''}`), - list: parks, + columns: parks?.map(item => `${item.meterNo}-${item.address}${item.shortName ? '-' + item.shortName : ''}`) || [], + list: parks || [], }) }, async onSearchTenement() { diff --git a/components/searchSelect/index.wxml b/components/searchSelect/index.wxml index 2030f47..6f4c8bc 100644 --- a/components/searchSelect/index.wxml +++ b/components/searchSelect/index.wxml @@ -4,6 +4,7 @@ bind:click="onClickHide" position="bottom" z-index="100000" + wx:if="{{show}}" > + + + + + + + \ No newline at end of file diff --git a/pages/workBench/components/account/components/updatePhoneModal/index.wxss b/pages/workBench/components/account/components/updatePhoneModal/index.wxss new file mode 100644 index 0000000..d296a65 --- /dev/null +++ b/pages/workBench/components/account/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/workBench/components/account/index.js b/pages/workBench/components/account/index.js index 6039a48..8324b71 100644 --- a/pages/workBench/components/account/index.js +++ b/pages/workBench/components/account/index.js @@ -102,6 +102,9 @@ Component({ this.initUserList() this.handleCancel(); }, + onUpdatePhoneConfirm() { + that.getTenementInfo(); + }, async getTenementInfo() { const { tenement, park } = this.data; const { code, message, tenement: data } = await getTenementBackInfo(park, tenement) @@ -132,20 +135,29 @@ Component({ }) }, handleChangeMain() { - const { list = [] } = this.data; - const main = list?.find(item => item.Permissions) - if (!main) { - alertInfo("没有主账号") - return - } - console.log("main", main) + // const { list = [] } = this.data; + // const main = list?.find(item => item.Permissions) + // if (!main) { + // alertInfo("没有主账号") + // return + // } + // console.log("main", main) this.setData({ - visible: true, + updatePhoneVisible: true, type: "update", title: "编辑管理员", - phone: main.WechatPhone, - name: main.WechatUserName, - id: main.WechatUserID, + // phone: main.WechatPhone, + // name: main.WechatUserName, + // id: main.WechatUserID, + }) + }, + handleUpdatePhoneCancel() { + this.setData({ + updatePhoneVisible: false, + type: "", + phone: "", + name: "", + id: "", }) }, handleCancel() { diff --git a/pages/workBench/components/account/index.json b/pages/workBench/components/account/index.json index 57b9106..6243554 100644 --- a/pages/workBench/components/account/index.json +++ b/pages/workBench/components/account/index.json @@ -11,6 +11,7 @@ "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" + "edit-modal": "./components/editModal/index", + "updatePhoneModal": "./components/updatePhoneModal/index" } } \ No newline at end of file diff --git a/pages/workBench/components/account/index.wxml b/pages/workBench/components/account/index.wxml index e5f1334..e5be4bd 100644 --- a/pages/workBench/components/account/index.wxml +++ b/pages/workBench/components/account/index.wxml @@ -83,7 +83,6 @@ - {{phone}} {{name}} \ No newline at end of file +/> + +{{updatePhoneVisible}} \ No newline at end of file diff --git a/pages/workBench/components/tenement/components/bindMeter/index.js b/pages/workBench/components/tenement/components/bindMeter/index.js index 5569bdb..f8be3e2 100644 --- a/pages/workBench/components/tenement/components/bindMeter/index.js +++ b/pages/workBench/components/tenement/components/bindMeter/index.js @@ -1,11 +1,21 @@ // pages/workBench/components/tenement/components/bindMeter/index.js +// 0015980101 +import { bindMeter, } from "../../../../../../service/tenement" +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, }, /** @@ -33,6 +43,38 @@ Component({ }, 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, meter } = 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: 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.name, + show: false, + }) + break; + } + }, } }) \ No newline at end of file diff --git a/pages/workBench/components/tenement/components/bindMeter/index.json b/pages/workBench/components/tenement/components/bindMeter/index.json index 953d7ac..b57afb9 100644 --- a/pages/workBench/components/tenement/components/bindMeter/index.json +++ b/pages/workBench/components/tenement/components/bindMeter/index.json @@ -3,6 +3,7 @@ "usingComponents": { "van-dialog": "@vant/weapp/dialog/index", "search-select": "/components/searchSelect/index", - "van-field": "@vant/weapp/field/index" + "van-field": "@vant/weapp/field/index", + "van-button": "@vant/weapp/button/index" } } \ 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 017d86b..0f8d716 100644 --- a/pages/workBench/components/tenement/components/bindMeter/index.wxml +++ b/pages/workBench/components/tenement/components/bindMeter/index.wxml @@ -2,14 +2,14 @@ + + + + - \ No newline at end of file + + + \ No newline at end of file diff --git a/pages/workBench/components/tenement/components/unBindMeter/index.js b/pages/workBench/components/tenement/components/unBindMeter/index.js new file mode 100644 index 0000000..f31513c --- /dev/null +++ b/pages/workBench/components/tenement/components/unBindMeter/index.js @@ -0,0 +1,71 @@ +// 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 + +Component({ + + /** + * 组件的属性列表 + */ + properties: { + tenement: String, + park: String, + tenementName: String, + meterId: String, + meterAddress: String, + visible:Boolean, + }, + + /** + * 组件的初始数据 + */ + data: { + + }, + + /** + * 组件的方法列表 + */ + methods: { + onMeterFocus(e) { + const { park } = this.data; + if (!park) { + alertInfo("请先选择园区") + return; + } + this.setData({ + show: true, + title: "电表", + type: 'meter' + }) + }, + 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 } = 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, + }); + if (code !== OK) { + alertInfo(message) + return + } + alertSuccess("解绑成功") + this.triggerEvent("ok") + } + } +}) \ No newline at end of file diff --git a/pages/workBench/components/tenement/components/unBindMeter/index.json b/pages/workBench/components/tenement/components/unBindMeter/index.json new file mode 100644 index 0000000..953d7ac --- /dev/null +++ b/pages/workBench/components/tenement/components/unBindMeter/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/workBench/components/tenement/components/unBindMeter/index.wxml b/pages/workBench/components/tenement/components/unBindMeter/index.wxml new file mode 100644 index 0000000..9bde749 --- /dev/null +++ b/pages/workBench/components/tenement/components/unBindMeter/index.wxml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/pages/workBench/components/tenement/components/unBindMeter/index.wxss b/pages/workBench/components/tenement/components/unBindMeter/index.wxss new file mode 100644 index 0000000..3fb490f --- /dev/null +++ b/pages/workBench/components/tenement/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/workBench/components/tenement/index.js b/pages/workBench/components/tenement/index.js index b85be1b..3385836 100644 --- a/pages/workBench/components/tenement/index.js +++ b/pages/workBench/components/tenement/index.js @@ -128,26 +128,50 @@ Component({ 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 - } - } + 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(); } } }) \ No newline at end of file diff --git a/pages/workBench/components/tenement/index.json b/pages/workBench/components/tenement/index.json index 8f84a70..4fea529 100644 --- a/pages/workBench/components/tenement/index.json +++ b/pages/workBench/components/tenement/index.json @@ -6,6 +6,7 @@ "search-select": "/components/searchSelect/index", "van-empty": "@vant/weapp/empty/index", "kaihu": "./components/kaihu/index", - "bindMeter": "./components/bindMeter/index" + "bindMeter": "./components/bindMeter/index", + "unBindMeter": "./components/unBindMeter/index" } } \ No newline at end of file diff --git a/pages/workBench/components/tenement/index.wxml b/pages/workBench/components/tenement/index.wxml index da11c81..baac791 100644 --- a/pages/workBench/components/tenement/index.wxml +++ b/pages/workBench/components/tenement/index.wxml @@ -29,8 +29,18 @@ - 绑定电表 - 修改信息 + 绑定电表 + 修改信息 开户 @@ -70,7 +80,12 @@ {{ item.address }} {{ item.meterSn }} - + 解绑 @@ -101,4 +116,20 @@ title="{{title}}" /> - \ 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 09ee29b..e257546 100644 --- a/pages/workBench/index.js +++ b/pages/workBench/index.js @@ -5,7 +5,7 @@ Page({ * 页面的初始数据 */ data: { - active: 1 + active: 3 }, /** diff --git a/service/tenement.js b/service/tenement.js index 20eb2d2..21270d1 100644 --- a/service/tenement.js +++ b/service/tenement.js @@ -40,8 +40,8 @@ export const updateTenement = async function(pid, data) { return await POST(`/vx/tenement/${pid}`, data) } // 解绑电表 -export const unbindMeter = async function(pid, tid, code) { - return await PUT(`/tenement/${pid}/${tid}/binding/${code}/unbind`) +export const unbindMeter = async function(pid, tid, code, data) { + return await PUT(`/vx/${pid}/${tid}/binding/${code}/unbind`,data) } // 获取b端用户 @@ -66,4 +66,14 @@ export const createBackTenement = async function(pid, data) { // 修改商户信息 export const updateTenementBackInfo = async function(pid, tid, data) { return await PUT(`/vx/${pid}/${tid}`, data) +} + +// c端给商户绑定一个表计 +export const bindMeter = async function(pid, tid, data) { + return await POST(`/vx/${pid}/${tid}/binding`,data) +} + +// 修改管理员手机号 +export const updateAdminPhone = async function(data) { + return await PUT(`/vx/updatePhone`, data) } \ No newline at end of file