暂存c端账号管理和商户信息

This commit is contained in:
2025-02-24 17:35:18 +08:00
parent 93ee759092
commit d6e93d9f36
22 changed files with 497 additions and 61 deletions

View File

@@ -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;
}
},
}
})

View File

@@ -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"
}
}

View File

@@ -2,14 +2,14 @@
<van-dialog
use-slot
title="绑定表计"
show="{{ show }}"
show="{{ visible }}"
show-cancel-button
bind:confirm="onSubmit"
bind:close="onClose"
>
<view class="modalContentWrapper">
<van-field
value=""
value="{{tenementName}}"
label="商户名称"
readonly
type="textarea"
@@ -31,12 +31,64 @@
</van-button>
</van-field>
<van-field
value="{{ money }}"
value="{{ overall }}"
label="表字"
readonly
title-width="132rpx"
border="{{false}}"
bind:change="onChange"
data-name="overall"
placeholder="请输入表字"
type="number"
/>
<van-field
value="{{ critical }}"
label="尖"
title-width="132rpx"
border="{{false}}"
bind:change="onChange"
data-name="critical"
placeholder="请输入有功(尖)"
type="number"
/>
<van-field
value="{{ peak }}"
label="峰"
title-width="132rpx"
border="{{false}}"
bind:change="onChange"
data-name="peak"
placeholder="请输入有功(峰)"
type="number"
/>
<van-field
value="{{ overall }}"
label="平"
title-width="132rpx"
border="{{false}}"
bind:change="onChange"
data-name="overall"
placeholder="请输入有功(平)"
type="number"
/>
<van-field
value="{{ valley }}"
label="谷"
title-width="132rpx"
border="{{false}}"
bind:change="onChange"
data-name="valley"
type="number"
placeholder="请输入有功(谷)"
/>
</view>
</van-dialog>
</van-dialog>
<search-select
show="{{show}}"
title="{{title}}"
type="{{type}}"
park="{{park}}"
bindconfirm="onConfirm"
bindcancel="onCancel"
/>

View File

@@ -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")
}
}
})

View File

@@ -0,0 +1,8 @@
{
"component": true,
"usingComponents": {
"van-dialog": "@vant/weapp/dialog/index",
"search-select": "/components/searchSelect/index",
"van-field": "@vant/weapp/field/index"
}
}

View File

@@ -0,0 +1,81 @@
<!--pages/workBench/components/tenement/components/bindMeter/index.wxml-->
<van-dialog
use-slot
title="解绑电表"
show="{{ visible }}"
show-cancel-button
bind:confirm="onSubmit"
bind:close="onClose"
>
<view class="modalContentWrapper">
<van-field
value="{{tenementName}}"
label="商户名称"
readonly
type="textarea"
autosize="{{true}}"
title-width="132rpx"
border="{{false}}"
/>
<van-field
value="{{meterAddress}}"
label="电表地址"
readonly
type="textarea"
autosize="{{true}}"
title-width="132rpx"
border="{{false}}"
/>
<van-field
value="{{ overall }}"
label="表字"
title-width="132rpx"
border="{{false}}"
bind:change="onChange"
data-name="overall"
placeholder="请输入表字"
type="number"
/>
<van-field
value="{{ critical }}"
label="尖"
title-width="132rpx"
border="{{false}}"
bind:change="onChange"
data-name="critical"
placeholder="请输入有功(尖)"
type="number"
/>
<van-field
value="{{ peak }}"
label="峰"
title-width="132rpx"
border="{{false}}"
bind:change="onChange"
data-name="peak"
placeholder="请输入有功(峰)"
type="number"
/>
<van-field
value="{{ overall }}"
label="平"
title-width="132rpx"
border="{{false}}"
bind:change="onChange"
data-name="overall"
type="number"
placeholder="请输入有功(平)"
/>
<van-field
value="{{ valley }}"
label="谷"
type="number"
title-width="132rpx"
border="{{false}}"
bind:change="onChange"
data-name="valley"
placeholder="请输入有功(谷)"
/>
</view>
</van-dialog>

View File

@@ -0,0 +1 @@
/* pages/workBench/components/tenement/components/bindMeter/index.wxss */

View File

@@ -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();
}
}
})

View File

@@ -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"
}
}

View File

@@ -29,8 +29,18 @@
</view>
<view style="display: flex; align-items: center;margin: 20rpx">
<view wx:if="{{tenement}}">
<van-button style="margin-right: 20rpx;" type="info" size="small" bind:click="startBind"> 绑定电表 </van-button>
<van-button style="margin-right: 20rpx;" type="info" size="small" bind:tap="startUpdateInfo"> 修改信息 </van-button>
<van-button
style="margin-right: 20rpx;"
type="info"
size="small"
bind:click="startBind"
> 绑定电表 </van-button>
<van-button
style="margin-right: 20rpx;"
type="info"
size="small"
bind:tap="startUpdateInfo"
> 修改信息 </van-button>
</view>
<van-button type="info" size="small" bind:click="startKh" wx:if="{{!!park}}"> 开户 </van-button>
</view>
@@ -70,7 +80,12 @@
<view class="th" style="width: 250rpx"> {{ item.address }} </view>
<view class="th" style="width: 250rpx"> {{ item.meterSn }} </view>
<view class="th" style="width: 200rpx">
<view class="primaryTextBtn" bind:tap="unbind" data-id="{{item.meterId}}" data-address="{{item.address}}">
<view
class="primaryTextBtn"
bind:tap="unbind"
data-id="{{item.meterId}}"
data-address="{{item.address}}"
>
解绑
</view>
</view>
@@ -101,4 +116,20 @@
title="{{title}}"
/>
<bindMeter />
<bindMeter
visible="{{bindVisible}}"
park="{{park}}"
tenement="{{tenement}}"
tenementName="{{tenementName}}"
bind:ok="onBindOk"
/>
<unBindMeter
visible="{{unbindVisible}}"
park="{{park}}"
tenement="{{tenement}}"
tenementName="{{tenementName}}"
meterId="{{meterId}}"
meterAddress="{{meterAddress}}"
bind:ok="onUnbindOk"
/>