修改解绑表的时候读数问题,抄表路线的抄表记录可以查看图片
This commit is contained in:
@@ -18,9 +18,10 @@ Component({
|
||||
show: Boolean,
|
||||
park: String,
|
||||
isBack: Boolean,
|
||||
filterBind: Boolean,
|
||||
},
|
||||
observers: {
|
||||
"show,type": function(newShow, newType) {
|
||||
"show,type,filterBind": function(newShow, newType) {
|
||||
if (newShow && newType) {
|
||||
this.onSearch()
|
||||
}
|
||||
@@ -96,7 +97,7 @@ Component({
|
||||
this.triggerEvent("confirm", { data: item, way: index, type } );
|
||||
},
|
||||
onSearch() {
|
||||
const { type } = this.data;
|
||||
const { type, bind, filterBind } = this.data;
|
||||
switch(type) {
|
||||
case "park":
|
||||
this.onSearchPark();
|
||||
@@ -125,8 +126,8 @@ Component({
|
||||
})
|
||||
},
|
||||
async onSearchMeter() {
|
||||
const { searchText = "", park } = this.data;
|
||||
const { code, message, data: parks = [] } = await getParkSimpleMeterList({keyword: searchText, park});
|
||||
const { searchText = "", park, filterBind } = this.data;
|
||||
const { code, message, data: parks = [] } = await getParkSimpleMeterList({keyword: searchText, park, isNeedBind: !filterBind});
|
||||
if (code !== OK) {
|
||||
alertInfo(message)
|
||||
return
|
||||
|
||||
30
pages/readingHistory/components/detailModal/index.js
Normal file
30
pages/readingHistory/components/detailModal/index.js
Normal file
@@ -0,0 +1,30 @@
|
||||
// pages/readingHistory/components/detailModal/index.js
|
||||
Component({
|
||||
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
visible: Boolean,
|
||||
detail: Object,
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
showImage() {
|
||||
this.setData({ show: true })
|
||||
},
|
||||
onClose() {
|
||||
this.setData({ show: false })
|
||||
}
|
||||
}
|
||||
})
|
||||
9
pages/readingHistory/components/detailModal/index.json
Normal file
9
pages/readingHistory/components/detailModal/index.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"van-dialog": "@vant/weapp/dialog/index",
|
||||
"van-field": "@vant/weapp/field/index",
|
||||
"van-image": "@vant/weapp/image/index",
|
||||
"van-popup": "@vant/weapp/popup/index"
|
||||
}
|
||||
}
|
||||
64
pages/readingHistory/components/detailModal/index.wxml
Normal file
64
pages/readingHistory/components/detailModal/index.wxml
Normal file
@@ -0,0 +1,64 @@
|
||||
<!--pages/readingHistory/components/detailModal/index.wxml-->
|
||||
<van-dialog
|
||||
use-slot
|
||||
title="详情"
|
||||
show="{{ visible }}"
|
||||
confirmButtonText="关闭"
|
||||
bind:close="onClose"
|
||||
>
|
||||
<view class="modalContentWrapper">
|
||||
<van-field
|
||||
value="{{ detail.readAt }}"
|
||||
label="时间"
|
||||
readonly
|
||||
border="{{ false }}"
|
||||
use-button-slot
|
||||
title-width="100rpx"
|
||||
>
|
||||
</van-field>
|
||||
<van-field
|
||||
value="{{ detail.overall }}"
|
||||
placeholder="请输入读数"
|
||||
label="读数"
|
||||
readonly
|
||||
type="digit"
|
||||
border="{{ false }}"
|
||||
title-width="100rpx"
|
||||
>
|
||||
</van-field>
|
||||
<van-field
|
||||
wx:if="{{!!detail.url}}"
|
||||
value="{{ detail.overall }}"
|
||||
label="图片"
|
||||
readonly
|
||||
border="{{ false }}"
|
||||
title-width="100rpx"
|
||||
use-button-slot
|
||||
>
|
||||
<view slot="input">
|
||||
<van-image
|
||||
width="100"
|
||||
height="100"
|
||||
fit="contain"
|
||||
src="{{detail.url}}"
|
||||
bind:click="showImage"
|
||||
/>
|
||||
</view>
|
||||
</van-field>
|
||||
</view>
|
||||
|
||||
</van-dialog>
|
||||
|
||||
<van-popup
|
||||
show="{{ show }}"
|
||||
bind:close="onClose"
|
||||
z-index="99999"
|
||||
>
|
||||
<van-image
|
||||
width="100vw"
|
||||
height="99.1vh"
|
||||
fit="contain"
|
||||
src="{{detail.url}}"
|
||||
bind:click="onClose"
|
||||
/>
|
||||
</van-popup>
|
||||
1
pages/readingHistory/components/detailModal/index.wxss
Normal file
1
pages/readingHistory/components/detailModal/index.wxss
Normal file
@@ -0,0 +1 @@
|
||||
/* pages/readingHistory/components/detailModal/index.wxss */
|
||||
@@ -104,6 +104,13 @@ Page({
|
||||
type: "edit",
|
||||
})
|
||||
},
|
||||
handleDetail(e) {
|
||||
const { data } = e.currentTarget.dataset;
|
||||
this.setData({
|
||||
detail: data,
|
||||
detailVisible: true
|
||||
})
|
||||
},
|
||||
handleDelete(e) {
|
||||
const { data } = e.currentTarget.dataset;
|
||||
const that = this;
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
"van-icon": "@vant/weapp/icon/index",
|
||||
"editModal": "./components/editModal/index",
|
||||
"pagination": "/components/pagination/index",
|
||||
"empty": "/components/empty/index"
|
||||
"empty": "/components/empty/index",
|
||||
"detailModal": "./components/detailModal/index"
|
||||
},
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
@@ -14,8 +14,8 @@
|
||||
<view class="table">
|
||||
<view class="thead">
|
||||
<view class="th" style="width: 40%; text-align: center;"> 抄表时间 </view>
|
||||
<view class="th" style="width: 35%; text-align: center;"> 抄表读数 </view>
|
||||
<view class="th" style="width: 25%; text-align: center;"> 操作 </view>
|
||||
<view class="th" style="width: 30%; text-align: center;"> 抄表读数 </view>
|
||||
<view class="th" style="width: 30%; text-align: center;"> 操作 </view>
|
||||
</view>
|
||||
<view class="tbody">
|
||||
<view wx:for="{{list}}" wx:for-index="itemIndex" wx:key="item">
|
||||
@@ -23,13 +23,14 @@
|
||||
<view class="th" style="width: 40%; text-align: center; font-size: 30rpx;">
|
||||
{{ item.readAt }}
|
||||
</view>
|
||||
<view class="th" style="width: 35%; text-align: center; font-size: 30rpx;">
|
||||
<view class="th" style="width: 30%; text-align: center; font-size: 30rpx;">
|
||||
{{ item.overall }}
|
||||
</view>
|
||||
|
||||
<view class="th" style="width: 25%; text-align: center; justify-content: center; display: flex; align-items: center;">
|
||||
<view class="th" style="width: 30%; text-align: center; justify-content: center; display: flex; align-items: center;">
|
||||
<van-icon wx:if="{{item.isDelete && disabled !== 'true'}}" name="edit" size="40rpx" bind:tap="handleUpdate" data-data="{{item}}" color="#15755e" />
|
||||
<van-icon wx:if="{{item.isDelete && disabled !== 'true'}}" name="delete" size="40rpx" bind:tap="handleDelete" data-data="{{item}}" color="#15755e" custom-style="margin-left: 20rpx" />
|
||||
<van-icon name="ellipsis" size="40rpx" data-data="{{item}}" color="#15755e" bind:tap="handleDetail" custom-style="margin-left: 20rpx" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -58,4 +59,9 @@
|
||||
bind:ok="onEditFinish"
|
||||
startTime="{{startTime}}"
|
||||
routeId="{{routeId}}"
|
||||
/>
|
||||
|
||||
<detailModal
|
||||
visible="{{detailVisible}}"
|
||||
detail="{{detail}}"
|
||||
/>
|
||||
@@ -1,5 +1,5 @@
|
||||
// pages/workBenchNew/components/workBenchReading/index.js
|
||||
import { getMeterReadingRouteList, changeMeterRouteStatus } from "../../../../service/workBench"
|
||||
import { getMeterReadingRouteList, changeMeterRouteStatus, checkReadingFinish } from "../../../../service/workBench"
|
||||
import { alertError, alertSuccess, loadingFunc } from "../../../../utils/index"
|
||||
import request from "../../../../utils/request"
|
||||
const { OK } = request
|
||||
@@ -72,6 +72,10 @@ Page({
|
||||
that.jumpToReading({ currentTarget: { dataset: { id } } })
|
||||
}, 500)
|
||||
},
|
||||
// async checkFinish(id) {
|
||||
|
||||
// return {data, num};
|
||||
// },
|
||||
async changeEndStatus(e) {
|
||||
const that = this;
|
||||
wx.showModal({
|
||||
@@ -83,10 +87,38 @@ Page({
|
||||
}
|
||||
|
||||
if (res.confirm) {
|
||||
const { id, routeid: routeId } = e.currentTarget.dataset;
|
||||
const { code, message } = await changeMeterRouteStatus({ id, status: 0, routeId })
|
||||
const { id, routeid: routeId } = e.currentTarget.dataset;
|
||||
const { code, message, data, num } = await checkReadingFinish(id || this.data.routeId);
|
||||
if (code !== OK) {
|
||||
alertError(message)
|
||||
return;
|
||||
}
|
||||
console.log("data", data, "num", num)
|
||||
if (!data) {
|
||||
wx.showModal({
|
||||
title: '提示',
|
||||
content: `该路线还有${num}块电表还没有抄完,是否确认结束结束抄表?`,
|
||||
complete: async (res) => {
|
||||
if (res.cancel) {
|
||||
|
||||
}
|
||||
|
||||
if (res.confirm) {
|
||||
const { code: cd, message } = await changeMeterRouteStatus({ id, status: 0, routeId })
|
||||
if (cd !== OK) {
|
||||
alertError(message)
|
||||
return
|
||||
}
|
||||
alertSuccess("操作成功")
|
||||
that.init()
|
||||
}
|
||||
}
|
||||
})
|
||||
return
|
||||
}
|
||||
const { code: c, message: m } = await changeMeterRouteStatus({ id, status: 0, routeId })
|
||||
if (c !== OK) {
|
||||
alertError(m)
|
||||
return
|
||||
}
|
||||
alertSuccess("操作成功")
|
||||
|
||||
@@ -106,11 +106,11 @@ Component({
|
||||
return;
|
||||
}
|
||||
this.setData({
|
||||
overall: Number(data?.overall || 0),
|
||||
critical: Number(data?.sharp || 0),
|
||||
peak: Number(data?.peak || 0),
|
||||
flat: Number(data?.flat || 0),
|
||||
valley: Number(data?.valley || 0),
|
||||
overall: data?.overall ? Number(data?.overall || 0) : null,
|
||||
critical: data?.overall ? Number(data?.sharp || 0) : null,
|
||||
peak: data?.overall ? Number(data?.peak || 0) : null,
|
||||
flat: data?.overall ? Number(data?.flat || 0) : null,
|
||||
valley: data?.overall ? Number(data?.valley || 0) : null,
|
||||
meter04kvType: data?.meter04kvType,
|
||||
status: data?.breakType ? '合闸' : "分闸",
|
||||
})
|
||||
|
||||
@@ -112,6 +112,7 @@
|
||||
park="{{park}}"
|
||||
bindconfirm="onConfirm"
|
||||
bindcancel="onCancel"
|
||||
filterBind="{{true}}"
|
||||
/>
|
||||
|
||||
<date-time-picker
|
||||
|
||||
@@ -55,11 +55,11 @@ Component({
|
||||
return;
|
||||
}
|
||||
this.setData({
|
||||
overall: Number(data?.overall || 0),
|
||||
critical: Number(data?.sharp || 0),
|
||||
peak: Number(data?.peak || 0),
|
||||
flat: Number(data?.flat || 0),
|
||||
valley: Number(data?.valley || 0),
|
||||
overall: data?.overall ? Number(data?.overall || 0) : null,
|
||||
critical: data?.overall ? Number(data?.sharp || 0) : null,
|
||||
peak: data?.overall ? Number(data?.peak || 0) : null,
|
||||
flat: data?.overall ? Number(data?.flat || 0) : null,
|
||||
valley: data?.overall ? Number(data?.valley || 0) : null,
|
||||
meter04kvType: data?.meter04kvType,
|
||||
status: data?.breakType ? '合闸' : "分闸"
|
||||
})
|
||||
|
||||
@@ -43,13 +43,13 @@ Component({
|
||||
}
|
||||
var tempFilePaths = res.tempFilePath;
|
||||
loadingFunc(async () => {
|
||||
const { code, message, data } = await uploadOcrFile(tempFilePaths)
|
||||
const { code, message, data, url } = await uploadOcrFile(tempFilePaths)
|
||||
if (code !== OK) {
|
||||
alertError(message)
|
||||
return
|
||||
}
|
||||
setTimeout(() => {
|
||||
that.triggerEvent("finish", { number: data?.integer + "." + data?.decimal || 0, success: data?.integer != null && data?.integer !== "" })
|
||||
that.triggerEvent("finish", { number: data?.integer + "." + data?.decimal || 0, success: data?.integer != null && data?.integer !== "", url })
|
||||
}, 100)
|
||||
})
|
||||
|
||||
|
||||
@@ -72,13 +72,14 @@ Component({
|
||||
wx.navigateBack()
|
||||
},
|
||||
onPhotoFinish(e) {
|
||||
const { number, success } = e.detail;
|
||||
const { number, success, url } = e.detail;
|
||||
const { meterInfo } = this.data;
|
||||
if (success) {
|
||||
this.setData({
|
||||
currentNumber: `${Number(number)}`,
|
||||
calcNumber: isNaN(Number(number)) ? 0 : Number(number),
|
||||
diff: isNaN(Number(number)) ? "-" : (Number(number || 0) - Number(meterInfo.overall)).toFixed(2)
|
||||
diff: isNaN(Number(number)) ? "-" : (Number(number || 0) - Number(meterInfo.overall)).toFixed(2),
|
||||
url,
|
||||
})
|
||||
alertSuccess("获取成功")
|
||||
} else {
|
||||
@@ -86,13 +87,14 @@ Component({
|
||||
}
|
||||
},
|
||||
async onSubmit() {
|
||||
const { meterInfo, currentNumber, routeId } = this.data;
|
||||
const { meterInfo, currentNumber, routeId, url } = this.data;
|
||||
const { parkId, id } = meterInfo;
|
||||
const { code, message } = await createReading(parkId, id, routeId, {
|
||||
overall: `${currentNumber}`,
|
||||
flat: `${currentNumber}`,
|
||||
readAt: dayjs().format("YYYY-MM-DD HH:mm:ss"),
|
||||
source: 1,
|
||||
url
|
||||
})
|
||||
if (code !== OK) {
|
||||
alertError(message)
|
||||
|
||||
@@ -23,6 +23,20 @@
|
||||
"condition": {
|
||||
"miniprogram": {
|
||||
"list": [
|
||||
{
|
||||
"name": "pages/readingHistory/index",
|
||||
"pathName": "pages/readingHistory/index",
|
||||
"query": "meter=METER00114674412879874&park=P00114672412196865&routeId=PR00121172392214529&disabled=false",
|
||||
"launchMode": "default",
|
||||
"scene": null
|
||||
},
|
||||
{
|
||||
"name": "pages/workBenchNew/components/workBenchTenement/index",
|
||||
"pathName": "pages/workBenchNew/components/workBenchTenement/index",
|
||||
"query": "",
|
||||
"launchMode": "default",
|
||||
"scene": null
|
||||
},
|
||||
{
|
||||
"name": "pages/workBenchNew/components/workBenchReading/index",
|
||||
"pathName": "pages/workBenchNew/components/workBenchReading/index",
|
||||
|
||||
@@ -23,8 +23,8 @@ export const getParkMeterList = async function({park = "", keyword = "", page =
|
||||
}
|
||||
|
||||
// 获取某一园区下的简洁电表列表
|
||||
export const getParkSimpleMeterList = async function({park = "", keyword = "", page = 1}) {
|
||||
return await GET(`/work/getWorkMeter?page=${page}&park=${park}&keyword=${replaceSpecialIcon(keyword)}`);
|
||||
export const getParkSimpleMeterList = async function({park = "", keyword = "", page = 1, isNeedBind}) {
|
||||
return await GET(`/work/getWorkMeter?page=${page}&park=${park}&keyword=${replaceSpecialIcon(keyword)}&isNeedBind=${isNeedBind}`);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user