Compare commits

...

2 Commits

8 changed files with 93 additions and 15 deletions

View File

@ -129,6 +129,12 @@ Page({
devicePixelRatio: getPixelRatio(), devicePixelRatio: getPixelRatio(),
}); });
const ids = [...new Set(data?.map(item => item?.meter?.id))] const ids = [...new Set(data?.map(item => item?.meter?.id))]
const point = data?.[0]?.time?.slice(-1)
const times = [...new Set(data?.map(item => item.time))].
map(item => Number(item.replace(point, ""))).
sort((a, b) => a - b).
map(ele => `${ele}${point}`.padStart(2, "0"));
const options = { const options = {
tooltip: { tooltip: {
trigger: 'axis' trigger: 'axis'
@ -145,18 +151,25 @@ Page({
xAxis: { xAxis: {
type: 'category', type: 'category',
boundaryGap: false, boundaryGap: false,
data: [...new Set(data?.map(item => item.time))] data: times
}, },
yAxis: { yAxis: {
type: 'value' type: 'value'
}, },
series: ids?.map(item => { series: ids?.map(item => {
const element = data?.find(i => i?.meter?.id === item) const element = data?.find(i => i?.meter?.id === item)
const list = data?.filter(ele => ele?.meter?.id === item)
const newList = [...times].map(item => {
const exist = list.find(ele => ele.time === item)
if (exist) {
return exist.number;
}
return null
})
return { return {
name: element?.meter?.address, name: element?.meter?.address,
type: 'line', type: 'line',
stack: 'Total', data: newList
data: data?.filter(ele => ele?.meter?.id === item).map(item => item.number)
}}) }})
}; };

View File

@ -1,6 +1,7 @@
// pages/workBench/components/tenement/components/bindMeter/index.js // pages/workBench/components/tenement/components/bindMeter/index.js
// 0015980101 // 0015980101
import { bindMeter, } from "../../../../../../service/tenement" import { bindMeter, } from "../../../../../../service/tenement"
import { getWorkMeterDetail } from "../../../../../../service/meter"
import { alertInfo, alertSuccess } from "../../../../../../utils/index"; import { alertInfo, alertSuccess } from "../../../../../../utils/index";
import request from "../../../../../../utils/request" import request from "../../../../../../utils/request"
import dayjs from "../../../../../../utils/dayjs" import dayjs from "../../../../../../utils/dayjs"
@ -41,8 +42,20 @@ Component({
type: 'meter' type: 'meter'
}) })
}, },
onCancel() {
this.setData({
show: false,
title: "",
type: "",
})
// this.triggerEvent("close")
},
onClose() { onClose() {
this.triggerEvent("close") this.setData({
show: false,
title: "",
type: "",
})
}, },
onChange(e) { onChange(e) {
const { name } = e.currentTarget.dataset; const { name } = e.currentTarget.dataset;
@ -74,8 +87,20 @@ Component({
meterName: data.address, meterName: data.address,
show: false, show: false,
}) })
this.getMeterDetail(data.id);
break; 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 ? '合闸' : "分闸"
})
}
} }
}) })

View File

@ -30,6 +30,14 @@
选择 选择
</van-button> </van-button>
</van-field> </van-field>
<van-field
value="{{ status }}"
label="状态"
title-width="132rpx"
border="{{false}}"
readonly
type="digit"
/>
<van-field <van-field
value="{{ overall }}" value="{{ overall }}"
label="表字" label="表字"
@ -38,7 +46,7 @@
bind:change="onChange" bind:change="onChange"
data-name="overall" data-name="overall"
placeholder="请输入表字" placeholder="请输入表字"
type="number" type="digit"
/> />
<van-field <van-field
value="{{ critical }}" value="{{ critical }}"
@ -48,7 +56,7 @@
bind:change="onChange" bind:change="onChange"
data-name="critical" data-name="critical"
placeholder="请输入有功(尖)" placeholder="请输入有功(尖)"
type="number" type="digit"
/> />
<van-field <van-field
value="{{ peak }}" value="{{ peak }}"
@ -58,7 +66,7 @@
bind:change="onChange" bind:change="onChange"
data-name="peak" data-name="peak"
placeholder="请输入有功(峰)" placeholder="请输入有功(峰)"
type="number" type="digit"
/> />
<van-field <van-field
value="{{ overall }}" value="{{ overall }}"
@ -68,7 +76,7 @@
bind:change="onChange" bind:change="onChange"
data-name="overall" data-name="overall"
placeholder="请输入有功(平)" placeholder="请输入有功(平)"
type="number" type="digit"
/> />
<van-field <van-field
value="{{ valley }}" value="{{ valley }}"
@ -77,7 +85,7 @@
border="{{false}}" border="{{false}}"
bind:change="onChange" bind:change="onChange"
data-name="valley" data-name="valley"
type="number" type="digit"
placeholder="请输入有功(谷)" placeholder="请输入有功(谷)"
/> />
</view> </view>

View File

@ -4,6 +4,7 @@ import { unbindMeter, } from "../../../../../../service/tenement"
import request from "../../../../../../utils/request" import request from "../../../../../../utils/request"
import { alertInfo, alertSuccess } from "../../../../../../utils/index"; import { alertInfo, alertSuccess } from "../../../../../../utils/index";
const { OK } = request const { OK } = request
import { getWorkMeterDetail } from "../../../../../../service/meter"
Component({ Component({
@ -18,7 +19,11 @@ Component({
meterAddress: String, meterAddress: String,
visible:Boolean, visible:Boolean,
}, },
observers: {
"meterId": function(newValue) {
this.getMeterDetail(newValue)
}
},
/** /**
* 组件的初始数据 * 组件的初始数据
*/ */
@ -42,6 +47,17 @@ Component({
type: 'meter' 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() { onClose() {
this.triggerEvent("close") this.triggerEvent("close")
}, },

View File

@ -51,6 +51,9 @@ Component({
}, },
async getTenementInfo() { async getTenementInfo() {
const { tenement, park } = this.data; const { tenement, park } = this.data;
if (!tenement || !park) {
return;
}
const { code, message, tenement: data } = await getTenementBackInfo(park, tenement) const { code, message, tenement: data } = await getTenementBackInfo(park, tenement)
if (code !== OK) { if (code !== OK) {
alertInfo(message) alertInfo(message)
@ -118,11 +121,18 @@ Component({
this.setData({ this.setData({
kaihuVisible: false, kaihuVisible: false,
defaultValue: {}, defaultValue: {},
title: "编辑" title: "编辑",
editType: "",
}) })
}, },
onKaihuConfirm() { onBindClose() {
// this.getTenementInfo(); console.log("-----------")
this.setData({
bindVisible: false,
})
},
async onKaihuConfirm() {
this.getTenementInfo();
this.onKaihuClose(); this.onKaihuClose();
}, },
unbind(e) { unbind(e) {

View File

@ -105,6 +105,7 @@
bindcancel="onCancel" bindcancel="onCancel"
/> />
<kaihu <kaihu
wx:if="{{kaihuVisible}}"
park="{{park}}" park="{{park}}"
visible="{{kaihuVisible}}" visible="{{kaihuVisible}}"
defaultValue="{{defaultValue}}" defaultValue="{{defaultValue}}"
@ -120,6 +121,7 @@
tenement="{{tenement}}" tenement="{{tenement}}"
tenementName="{{tenementName}}" tenementName="{{tenementName}}"
bind:ok="onBindOk" bind:ok="onBindOk"
bind:close="onBindClose"
/> />
<unBindMeter <unBindMeter

View File

@ -37,3 +37,7 @@ export const getBackTenementMeters = async function(park, tenement) {
export const handleOperateMeterSwitch = async function({ ids = [], status }) { export const handleOperateMeterSwitch = async function({ ids = [], status }) {
return await PUT(`/equipment/batchSwtich`, { ids, status }); return await PUT(`/equipment/batchSwtich`, { ids, status });
} }
// 绑定时获取电表的最新信息
export const getWorkMeterDetail = async function(code = '') {
return await GET(`/vx/getWorkMeterDetail?code=${code}`);
}

View File

@ -45,9 +45,9 @@ export function getConfigByEnv() {
switch (envVersion) { switch (envVersion) {
// 开发版 // 开发版
case 'develop': case 'develop':
api = "http://localhost:8000" // api = "http://localhost:8000"
// api = "https://zgd.hbhcbn.com/api3"
// api = "https://zgd.hbhcbn.com/api3" // api = "https://zgd.hbhcbn.com/api3"
api = "https://zgd.hbhcbn.com/api3"
// api = "https://zgd.hbhcbn.com/wxApi" // api = "https://zgd.hbhcbn.com/wxApi"
// api = "http://127.0.0.1:4523/m1/4143821-0-default" // api = "http://127.0.0.1:4523/m1/4143821-0-default"
break; break;