Compare commits
7 Commits
master
...
d77af4b78f
| Author | SHA1 | Date | |
|---|---|---|---|
| d77af4b78f | |||
| 345a362c74 | |||
| aea85af0f9 | |||
| b61f3287fb | |||
| 49aeeb05a7 | |||
| 95e6937d06 | |||
| 4308096394 |
@@ -8,8 +8,19 @@ Component({
|
|||||||
*/
|
*/
|
||||||
properties: {
|
properties: {
|
||||||
show: Boolean,
|
show: Boolean,
|
||||||
|
// time: String,
|
||||||
},
|
},
|
||||||
|
// observers: {
|
||||||
|
// time: function(newValue) {
|
||||||
|
// console.log("time newValue", newValue)
|
||||||
|
// if (!newValue) {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// this.setData({
|
||||||
|
// currentDate: new Date(newValue).getTime(),
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
// },
|
||||||
/**
|
/**
|
||||||
* 组件的初始数据
|
* 组件的初始数据
|
||||||
*/
|
*/
|
||||||
@@ -20,7 +31,10 @@ Component({
|
|||||||
},
|
},
|
||||||
lifetimes: {
|
lifetimes: {
|
||||||
attached() {
|
attached() {
|
||||||
|
this.setData({
|
||||||
|
maxDate: new Date().getTime(),
|
||||||
|
currentDate: new Date().getTime(),
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
// pages/workBench/components/tenement/components/bindMeter/index.js
|
// pages/workBench/components/tenement/components/bindMeter/index.js
|
||||||
// 0015980101
|
// 0015980101
|
||||||
import { bindMeter, } from "../../../../service/tenement"
|
import { createReading, updateReading } from "../../../../service/workBench"
|
||||||
import { getWorkMeterDetail } from "../../../../service/meter"
|
import { getWorkMeterDetail } from "../../../../service/meter"
|
||||||
import { alertInfo, alertSuccess } from "../../../../utils/index";
|
import { alertInfo, alertSuccess, alertError } from "../../../../utils/index";
|
||||||
import request from "../../../../utils/request"
|
import request from "../../../../utils/request"
|
||||||
import dayjs from "../../../../utils/dayjs"
|
import dayjs from "../../../../utils/dayjs"
|
||||||
const { OK } = request
|
const { OK } = request
|
||||||
@@ -16,12 +16,16 @@ Component({
|
|||||||
title: String,
|
title: String,
|
||||||
timeProps: String,
|
timeProps: String,
|
||||||
numberProps: String,
|
numberProps: String,
|
||||||
id: String
|
idProps: String,
|
||||||
|
meter: String,
|
||||||
|
park: String
|
||||||
},
|
},
|
||||||
observers: {
|
observers: {
|
||||||
"timeProps": function(newValue) {
|
"timeProps": function(newValue) {
|
||||||
|
// console.log("newValue", newValue)
|
||||||
this.setData({
|
this.setData({
|
||||||
time: newValue
|
time: newValue,
|
||||||
|
// startTime: newValue
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
"numberProps": function(newValue) {
|
"numberProps": function(newValue) {
|
||||||
@@ -29,6 +33,9 @@ Component({
|
|||||||
number: newValue
|
number: newValue
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
"idProps": function(newValue) {
|
||||||
|
console.log("new id", newValue)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 组件的初始数据
|
* 组件的初始数据
|
||||||
@@ -63,12 +70,40 @@ Component({
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
async onSubmit() {
|
async onSubmit() {
|
||||||
const { time, number } = this.data;
|
const { time, number, idProps, park, meter, timeProps } = this.data;
|
||||||
if (time == null || number == null) {
|
if (time == null || number == null) {
|
||||||
alertInfo("请正确填写后保存")
|
alertInfo("请正确填写后保存")
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.triggerEvent("ok")
|
if (!idProps) {
|
||||||
|
const { code, message } = await createReading(park, meter, {
|
||||||
|
overall: `${number}`,
|
||||||
|
flat: `${number}`,
|
||||||
|
readAt: time
|
||||||
|
})
|
||||||
|
if (code !== OK) {
|
||||||
|
alertError(message)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
alertSuccess("录入成功")
|
||||||
|
this.setData({ number: null, time: null, startTime: null })
|
||||||
|
} else {
|
||||||
|
console.log("timeProps", timeProps)
|
||||||
|
const { code, message } = await updateReading(park, meter, new Date(timeProps).getTime() * 1000, {
|
||||||
|
overall: `${number}`,
|
||||||
|
flat: `${number}`,
|
||||||
|
})
|
||||||
|
if (code !== OK) {
|
||||||
|
alertError(message)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
alertSuccess("录入成功")
|
||||||
|
this.setData({ number: null, time: null, startTime: null })
|
||||||
|
}
|
||||||
|
const that = this;
|
||||||
|
setTimeout(() => {
|
||||||
|
that.triggerEvent("ok")
|
||||||
|
}, 300)
|
||||||
},
|
},
|
||||||
|
|
||||||
dateTimeConfirm(e) {
|
dateTimeConfirm(e) {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
use-button-slot
|
use-button-slot
|
||||||
title-width="100rpx"
|
title-width="100rpx"
|
||||||
>
|
>
|
||||||
<van-button slot="button" size="small" type="info" bind:click="onTimeFocus">
|
<van-button slot="button" size="small" type="info" bind:click="onTimeFocus" wx:if="{{!idProps}}">
|
||||||
选择
|
选择
|
||||||
</van-button>
|
</van-button>
|
||||||
</van-field>
|
</van-field>
|
||||||
@@ -25,6 +25,8 @@
|
|||||||
value="{{ number }}"
|
value="{{ number }}"
|
||||||
placeholder="请输入读数"
|
placeholder="请输入读数"
|
||||||
label="读数"
|
label="读数"
|
||||||
|
bind:change="onChange"
|
||||||
|
data-name="number"
|
||||||
type="digit"
|
type="digit"
|
||||||
border="{{ false }}"
|
border="{{ false }}"
|
||||||
title-width="100rpx"
|
title-width="100rpx"
|
||||||
@@ -44,7 +46,9 @@
|
|||||||
/>
|
/>
|
||||||
|
|
||||||
<date-time-picker
|
<date-time-picker
|
||||||
|
wx:if="{{dateTimeShow}}"
|
||||||
show="{{dateTimeShow}}"
|
show="{{dateTimeShow}}"
|
||||||
|
time="{{startTime}}"
|
||||||
bind:confirm="dateTimeConfirm"
|
bind:confirm="dateTimeConfirm"
|
||||||
bind:cancel="dateTimeCancal"
|
bind:cancel="dateTimeCancal"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -20,3 +20,7 @@
|
|||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
margin-bottom: 20rpx;
|
margin-bottom: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.status {
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// pages/readingHistory/index.js
|
// pages/readingHistory/index.js
|
||||||
import { getMeterReadingRouteMeterDetail } from "../../service/workBench"
|
import { getMeterReadingRouteMeterDetail, getReadingList, deleteReading } from "../../service/workBench"
|
||||||
import request from "../../utils/request"
|
import request from "../../utils/request"
|
||||||
import { alertInfo, alertSuccess, alertError } from "../../utils/index"
|
import { alertInfo, alertSuccess, alertError, loadingFunc } from "../../utils/index"
|
||||||
const { OK } = request;
|
const { OK } = request;
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
@@ -9,7 +9,9 @@ Page({
|
|||||||
* 页面的初始数据
|
* 页面的初始数据
|
||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
list: [{time: "2025-05-05 14:10:09", number: 90803.87}]
|
list: [],
|
||||||
|
page: 1,
|
||||||
|
size: 20,
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -17,12 +19,33 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
const { meter, park } = options;
|
const { meter, park } = options;
|
||||||
|
const that = this;
|
||||||
this.setData({
|
this.setData({
|
||||||
meter,
|
meter,
|
||||||
park
|
park
|
||||||
|
}, () => {
|
||||||
|
that.refresh();
|
||||||
})
|
})
|
||||||
this.getMeterInfo(meter);
|
this.getMeterInfo(meter);
|
||||||
},
|
},
|
||||||
|
refresh() {
|
||||||
|
const that = this;
|
||||||
|
loadingFunc(async () => {
|
||||||
|
await that.getList();
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onEditFinish() {
|
||||||
|
this.setData({
|
||||||
|
title: null,
|
||||||
|
visible: null,
|
||||||
|
time: null,
|
||||||
|
number: null,
|
||||||
|
id: null,
|
||||||
|
readAtTimestamp: null,
|
||||||
|
type: null,
|
||||||
|
})
|
||||||
|
this.refresh()
|
||||||
|
},
|
||||||
async getMeterInfo(id) {
|
async getMeterInfo(id) {
|
||||||
const { code, message, data } = await getMeterReadingRouteMeterDetail(id)
|
const { code, message, data } = await getMeterReadingRouteMeterDetail(id)
|
||||||
if (code !== OK) {
|
if (code !== OK) {
|
||||||
@@ -31,6 +54,27 @@ Page({
|
|||||||
}
|
}
|
||||||
this.setData({ meterInfo: data })
|
this.setData({ meterInfo: data })
|
||||||
},
|
},
|
||||||
|
async getList() {
|
||||||
|
const { meter, park, page, size } = this.data;
|
||||||
|
const { code, message, records: data } = await getReadingList(park, meter, page)
|
||||||
|
if (code !== OK) {
|
||||||
|
alertError(message)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.setData({
|
||||||
|
list: data,
|
||||||
|
totalPage: Math.ceil(data?.length / size)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
async onChangePage(e) {
|
||||||
|
const newPage = e.detail.currentIndex;
|
||||||
|
const that = this;
|
||||||
|
this.setData({
|
||||||
|
page: newPage
|
||||||
|
}, () => {
|
||||||
|
that.getList();
|
||||||
|
})
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面初次渲染完成
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
*/
|
*/
|
||||||
@@ -40,30 +84,46 @@ Page({
|
|||||||
handleCreate() {
|
handleCreate() {
|
||||||
this.setData({
|
this.setData({
|
||||||
title: "新增记录",
|
title: "新增记录",
|
||||||
visible: true
|
visible: true,
|
||||||
|
type: "create"
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleUpdate() {
|
handleUpdate(e) {
|
||||||
|
const { data } = e.currentTarget.dataset;
|
||||||
|
console.log("data", data);
|
||||||
this.setData({
|
this.setData({
|
||||||
title: "编辑记录",
|
title: "编辑记录",
|
||||||
visible: true,
|
visible: true,
|
||||||
time: "2025-09-11",
|
time: data.readAt,
|
||||||
number: 100,
|
number: data.overall,
|
||||||
id: ""
|
id: data.id,
|
||||||
|
readAtTimestamp: data.readAtTimestamp,
|
||||||
|
type: "edit",
|
||||||
|
}, () => {
|
||||||
|
console.log("this.data---------", this.data)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleDelete(e) {
|
handleDelete(e) {
|
||||||
const { id } = e.currentTarget.dataset;
|
const { data } = e.currentTarget.dataset;
|
||||||
|
const that = this;
|
||||||
wx.showModal({
|
wx.showModal({
|
||||||
title: '删除确认',
|
title: '删除确认',
|
||||||
content: '确认要删除这一项记录吗?',
|
content: '确认要删除这一项记录吗?',
|
||||||
complete: (res) => {
|
complete: async (res) => {
|
||||||
if (res.cancel) {
|
if (res.cancel) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
|
const { code, message } = await deleteReading(data?.id, data?.overall)
|
||||||
|
if (code !== OK) {
|
||||||
|
alertError(message)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
alertSuccess("删除成功")
|
||||||
|
setTimeout(() => {
|
||||||
|
that.refresh()
|
||||||
|
}, 300)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -4,7 +4,9 @@
|
|||||||
"meterInfo": "./components/meterInfo/index",
|
"meterInfo": "./components/meterInfo/index",
|
||||||
"van-button": "@vant/weapp/button/index",
|
"van-button": "@vant/weapp/button/index",
|
||||||
"van-icon": "@vant/weapp/icon/index",
|
"van-icon": "@vant/weapp/icon/index",
|
||||||
"editModal": "./components/editModal/index"
|
"editModal": "./components/editModal/index",
|
||||||
|
"pagination": "/components/pagination/index",
|
||||||
|
"empty": "/components/empty/index"
|
||||||
},
|
},
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
<!--pages/readingHistory/index.wxml-->
|
<!--pages/readingHistory/index.wxml-->
|
||||||
<navigator title="历史抄表记录" canBack="{{true}}" />
|
<navigator title="历史抄表记录" canBack="{{true}}" />
|
||||||
|
|
||||||
<view class="wrapper">
|
<view class="wrapper">
|
||||||
<meterInfo meterInfo="{{meterInfo}}" />
|
<meterInfo meterInfo="{{meterInfo}}" />
|
||||||
<view class="historyTitle">
|
<view class="historyTitle">
|
||||||
@@ -22,15 +21,15 @@
|
|||||||
<view wx:for="{{list}}" wx:for-index="itemIndex" wx:key="item">
|
<view wx:for="{{list}}" wx:for-index="itemIndex" wx:key="item">
|
||||||
<view class="tr" style="display: flex; align-items: center; ">
|
<view class="tr" style="display: flex; align-items: center; ">
|
||||||
<view class="th" style="width: 40%; text-align: center; font-size: 30rpx;">
|
<view class="th" style="width: 40%; text-align: center; font-size: 30rpx;">
|
||||||
{{ item.time }}
|
{{ item.readAt }}
|
||||||
</view>
|
</view>
|
||||||
<view class="th" style="width: 35%; text-align: center; font-size: 30rpx;">
|
<view class="th" style="width: 35%; text-align: center; font-size: 30rpx;">
|
||||||
{{ item.number }}
|
{{ item.overall }}
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="th" style="width: 25%; text-align: center; justify-content: center; display: flex; align-items: center;">
|
<view class="th" style="width: 25%; text-align: center; justify-content: center; display: flex; align-items: center;">
|
||||||
<van-icon name="edit" size="40rpx" bind:tap="handleUpdate" data-data="{{item}}" color="#15755e" />
|
<van-icon name="edit" size="40rpx" bind:tap="handleUpdate" data-data="{{item}}" color="#15755e" />
|
||||||
<van-icon name="delete" size="40rpx" bind:tap="handleDelete" data-id="{{item.id}}" color="#15755e" custom-style="margin-left: 20rpx" />
|
<van-icon name="delete" size="40rpx" bind:tap="handleDelete" data-data="{{item}}" color="#15755e" custom-style="margin-left: 20rpx" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@@ -41,9 +40,21 @@
|
|||||||
<pagination currentIndex="{{page}}" totalPage="{{totalPage}}" bind:pagingChange="onChangePage" />
|
<pagination currentIndex="{{page}}" totalPage="{{totalPage}}" bind:pagingChange="onChangePage" />
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
<empty bind:refresh="init" wx:else />
|
<empty bind:refresh="refresh" wx:else />
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<editModal title="{{title}}" visible="{{visible}}" timeProps="{{time}}" numberProps="{{number}}" id="{{id}}" />
|
<editModal
|
||||||
|
wx:if="{{visible}}"
|
||||||
|
title="{{title}}"
|
||||||
|
visible="{{visible}}"
|
||||||
|
timeProps="{{time}}"
|
||||||
|
timeStamp="{{readAtTimestamp}}"
|
||||||
|
numberProps="{{number}}"
|
||||||
|
idProps="{{id}}"
|
||||||
|
park="{{park}}"
|
||||||
|
meter="{{meter}}"
|
||||||
|
bind:ok="onEditFinish"
|
||||||
|
startTime="{{startTime}}"
|
||||||
|
/>
|
||||||
@@ -11,6 +11,11 @@ page {
|
|||||||
.historyTitle {
|
.historyTitle {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.historyTitle .text {
|
||||||
|
font-size: 32rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.table {
|
.table {
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ Component({
|
|||||||
alertSuccess("操作成功")
|
alertSuccess("操作成功")
|
||||||
this.init()
|
this.init()
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
that.jumpToReading()
|
that.jumpToReading({ currentTarget: { dataset: { id } } })
|
||||||
}, 500)
|
}, 500)
|
||||||
},
|
},
|
||||||
async changeEndStatus(e) {
|
async changeEndStatus(e) {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Page({
|
|||||||
* 页面的初始数据
|
* 页面的初始数据
|
||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
active: 4
|
active: 0
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
66
pages/workBenchOld/index.js
Normal file
66
pages/workBenchOld/index.js
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
// pages/workBench/index.js
|
||||||
|
Page({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面加载
|
||||||
|
*/
|
||||||
|
onLoad(options) {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
|
*/
|
||||||
|
onReady() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面显示
|
||||||
|
*/
|
||||||
|
onShow() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面隐藏
|
||||||
|
*/
|
||||||
|
onHide() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生命周期函数--监听页面卸载
|
||||||
|
*/
|
||||||
|
onUnload() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面相关事件处理函数--监听用户下拉动作
|
||||||
|
*/
|
||||||
|
onPullDownRefresh() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 页面上拉触底事件的处理函数
|
||||||
|
*/
|
||||||
|
onReachBottom() {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户点击右上角分享
|
||||||
|
*/
|
||||||
|
onShareAppMessage() {
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
6
pages/workBenchOld/index.json
Normal file
6
pages/workBenchOld/index.json
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"usingComponents": {
|
||||||
|
"navigator": "/components/navigator/index"
|
||||||
|
},
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
3
pages/workBenchOld/index.wxml
Normal file
3
pages/workBenchOld/index.wxml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<!--pages/workBench/index.wxml-->
|
||||||
|
<navigator title="工作台" canBack="{{true}}" />
|
||||||
|
|
||||||
1
pages/workBenchOld/index.wxss
Normal file
1
pages/workBenchOld/index.wxss
Normal file
@@ -0,0 +1 @@
|
|||||||
|
/* pages/workBench/index.wxss */
|
||||||
@@ -19,6 +19,11 @@ Component({
|
|||||||
* 组件的方法列表
|
* 组件的方法列表
|
||||||
*/
|
*/
|
||||||
methods: {
|
methods: {
|
||||||
|
jumpToHistory() {
|
||||||
|
const { meterInfo } = this.data;
|
||||||
|
wx.navigateTo({
|
||||||
|
url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.parkId}`,
|
||||||
|
})
|
||||||
|
},
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
"usingComponents": {
|
"usingComponents": {
|
||||||
"van-tag": "@vant/weapp/tag/index",
|
"van-tag": "@vant/weapp/tag/index",
|
||||||
"van-row": "@vant/weapp/row/index",
|
"van-row": "@vant/weapp/row/index",
|
||||||
"van-col": "@vant/weapp/col/index"
|
"van-col": "@vant/weapp/col/index",
|
||||||
|
"van-button": "@vant/weapp/button/index"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,12 +1,18 @@
|
|||||||
<!--pages/writeReading/components/meterInfo/index.wxml-->
|
<!--pages/writeReading/components/meterInfo/index.wxml-->
|
||||||
<view class="wrapper">
|
<view class="wrapper">
|
||||||
<view class="title">
|
<view class="title" style="display: flex; justify-content: space-between; align-items: center;">
|
||||||
<text> 电表列表 </text>
|
<text> 电表详情 </text>
|
||||||
|
<view class="time">
|
||||||
|
<!-- 2025年9月5日 -->
|
||||||
|
<van-button size="small" type="info" bind:click="jumpToHistory">
|
||||||
|
历史记录
|
||||||
|
</van-button>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="info">
|
<view class="info">
|
||||||
<view class="title">
|
<view class="title">
|
||||||
<view class="address">
|
<view class="address">
|
||||||
标1东-307
|
{{ meterInfo.address }}
|
||||||
</view>
|
</view>
|
||||||
<view class="meterType">
|
<view class="meterType">
|
||||||
<van-tag type="primary">华昌宝能收费</van-tag>
|
<van-tag type="primary">华昌宝能收费</van-tag>
|
||||||
@@ -17,7 +23,7 @@
|
|||||||
<van-row gutter="20">
|
<van-row gutter="20">
|
||||||
<van-col span="12">
|
<van-col span="12">
|
||||||
<view class="text">
|
<view class="text">
|
||||||
<view>
|
<view class="titleText">
|
||||||
编号
|
编号
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
@@ -27,7 +33,7 @@
|
|||||||
</van-col>
|
</van-col>
|
||||||
<van-col span="12">
|
<van-col span="12">
|
||||||
<view class="text">
|
<view class="text">
|
||||||
<view>
|
<view class="titleText">
|
||||||
类型
|
类型
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{meterInfo.meterBelongType === 0}}">
|
<view wx:if="{{meterInfo.meterBelongType === 0}}">
|
||||||
@@ -43,7 +49,7 @@
|
|||||||
</van-col>
|
</van-col>
|
||||||
<van-col span="12">
|
<van-col span="12">
|
||||||
<view class="text">
|
<view class="text">
|
||||||
<view>
|
<view class="titleText">
|
||||||
状态
|
状态
|
||||||
</view>
|
</view>
|
||||||
<view wx:if="{{meterInfo.enabled}}">
|
<view wx:if="{{meterInfo.enabled}}">
|
||||||
@@ -56,7 +62,7 @@
|
|||||||
</van-col>
|
</van-col>
|
||||||
<van-col span="12">
|
<van-col span="12">
|
||||||
<view class="text">
|
<view class="text">
|
||||||
<view>
|
<view class="titleText">
|
||||||
读数
|
读数
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
|
|||||||
@@ -31,3 +31,11 @@
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
font-size: 30rpx;
|
font-size: 30rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.wrapper > .title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titleText {
|
||||||
|
color: rgb(150, 137, 137);
|
||||||
|
}
|
||||||
@@ -12,7 +12,8 @@ Component({
|
|||||||
properties: {
|
properties: {
|
||||||
list: Array,
|
list: Array,
|
||||||
active: Number,
|
active: Number,
|
||||||
meterInfo: Object
|
meterInfo: Object,
|
||||||
|
finishNumber: Number,
|
||||||
},
|
},
|
||||||
observers: {
|
observers: {
|
||||||
"active,list": function(newActive, newList) {
|
"active,list": function(newActive, newList) {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<view class="wrapper">
|
<view class="wrapper">
|
||||||
<view class="title">
|
<view class="title">
|
||||||
<text> 电表列表 </text>
|
<text> 电表列表 (总计{{list.length}}块,已抄{{finishNumber}}块) </text>
|
||||||
</view>
|
</view>
|
||||||
<view style="display: flex; align-items: center;margin-top: 20rpx;">
|
<view style="display: flex; align-items: center;margin-top: 20rpx;">
|
||||||
<van-icon name="arrow-left" size="50rpx" bind:tap="scrollLeft" />
|
<van-icon name="arrow-left" size="50rpx" bind:tap="scrollLeft" />
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
.title {
|
.title {
|
||||||
margin-top: 20rpx;
|
margin-top: 20rpx;
|
||||||
|
font-size: 32rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.meterListScrollView {
|
.meterListScrollView {
|
||||||
|
|||||||
@@ -1,4 +1,8 @@
|
|||||||
// pages/writeReading/components/photo/index.js
|
// pages/writeReading/components/photo/index.js
|
||||||
|
import { uploadOcrFile } from "../../../../service/public"
|
||||||
|
import request from "../../../../utils/request"
|
||||||
|
import { alertError, alertInfo, alertSuccess, loadingFunc } from "../../../../utils/index"
|
||||||
|
const { OK } = request;
|
||||||
Component({
|
Component({
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -19,6 +23,28 @@ Component({
|
|||||||
* 组件的方法列表
|
* 组件的方法列表
|
||||||
*/
|
*/
|
||||||
methods: {
|
methods: {
|
||||||
|
chooseImage() {
|
||||||
|
const that = this;
|
||||||
|
wx.chooseMedia({
|
||||||
|
count: 1,
|
||||||
|
mediaType: ['image'],
|
||||||
|
sourceType: ['album', 'camera'],
|
||||||
|
success: async function(res) {
|
||||||
|
// console.log(res.tempFiles[0].tempFilePath)
|
||||||
|
// console.log(res.tempFiles[0].size)
|
||||||
|
loadingFunc(async () => {
|
||||||
|
const { code, message, data } = await uploadOcrFile(res.tempFiles[0].tempFilePath)
|
||||||
|
if (code !== OK) {
|
||||||
|
alertError(message)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
setTimeout(() => {
|
||||||
|
that.triggerEvent("finish", { number: data?.integer, success: data?.integer != null && data?.integer !== "" })
|
||||||
|
}, 100)
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -1,4 +1,6 @@
|
|||||||
{
|
{
|
||||||
"component": true,
|
"component": true,
|
||||||
"usingComponents": {}
|
"usingComponents": {
|
||||||
|
"van-button": "@vant/weapp/button/index"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,8 @@
|
|||||||
<!--pages/writeReading/components/photo/index.wxml-->
|
<!--pages/writeReading/components/photo/index.wxml-->
|
||||||
<view class="wrapper">
|
<view class="wrapper">
|
||||||
拍照
|
<van-button
|
||||||
|
type="info"
|
||||||
|
size="small"
|
||||||
|
bind:tap="chooseImage"
|
||||||
|
> 拍照 </van-button>
|
||||||
</view>
|
</view>
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
// pages/writeReading/components/readingInfo/index.js
|
// pages/writeReading/components/readingInfo/index.js
|
||||||
|
|
||||||
import { createReading } from "../../../../service/workBench"
|
import { createReading, checkReadingFinish, changeMeterRouteStatus } from "../../../../service/workBench"
|
||||||
import { alertError, alertInfo, alertSuccess } from "../../../../utils/index"
|
import { alertError, alertInfo, alertSuccess, wxModal } from "../../../../utils/index"
|
||||||
import request from "../../../../utils/request"
|
import request from "../../../../utils/request"
|
||||||
const { OK } = request
|
const { OK } = request
|
||||||
|
|
||||||
@@ -14,25 +14,32 @@ Component({
|
|||||||
meterInfo: Object,
|
meterInfo: Object,
|
||||||
showLeft: Boolean,
|
showLeft: Boolean,
|
||||||
showRight: Boolean,
|
showRight: Boolean,
|
||||||
|
routeId: String
|
||||||
|
},
|
||||||
|
observers: {
|
||||||
|
"routeId": function(newValue) {
|
||||||
|
if (!newValue) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.checkFinish(newValue)
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 组件的初始数据
|
* 组件的初始数据
|
||||||
*/
|
*/
|
||||||
data: {
|
data: {
|
||||||
currentNumber: null
|
currentNumber: null
|
||||||
},
|
},
|
||||||
|
lifetimes: {
|
||||||
|
attached() {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 组件的方法列表
|
* 组件的方法列表
|
||||||
*/
|
*/
|
||||||
methods: {
|
methods: {
|
||||||
jumpToHistory() {
|
|
||||||
const { meterInfo } = this.data;
|
|
||||||
wx.navigateTo({
|
|
||||||
url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.park}`,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
handlePrev() {
|
handlePrev() {
|
||||||
this.triggerEvent("prev")
|
this.triggerEvent("prev")
|
||||||
},
|
},
|
||||||
@@ -41,7 +48,8 @@ Component({
|
|||||||
},
|
},
|
||||||
onChange(e) {
|
onChange(e) {
|
||||||
this.setData({
|
this.setData({
|
||||||
currentNumber: e.detail ? Number(e.detail) : 0
|
currentNumber: e.detail,
|
||||||
|
calcNumber: isNaN(e.detail) ? 0 : Number(e.detail)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleClear() {
|
handleClear() {
|
||||||
@@ -49,6 +57,28 @@ Component({
|
|||||||
currentNumber: null,
|
currentNumber: null,
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
async changeEndStatus() {
|
||||||
|
const { routeId: id } = this.data;
|
||||||
|
const { code, message } = await changeMeterRouteStatus({ id, status: 0 })
|
||||||
|
if (code !== OK) {
|
||||||
|
alertError(message)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
alertSuccess("操作成功")
|
||||||
|
wx.navigateBack()
|
||||||
|
},
|
||||||
|
onPhotoFinish(e) {
|
||||||
|
const { number, success } = e.detail;
|
||||||
|
if (success) {
|
||||||
|
this.setData({
|
||||||
|
currentNumber: `${Number(number)}`,
|
||||||
|
calcNumber: isNaN(number) ? 0 : Number(number)
|
||||||
|
})
|
||||||
|
alertSuccess("获取成功")
|
||||||
|
} else {
|
||||||
|
alertInfo("未能获取到")
|
||||||
|
}
|
||||||
|
},
|
||||||
async onSubmit() {
|
async onSubmit() {
|
||||||
const { meterInfo, currentNumber } = this.data;
|
const { meterInfo, currentNumber } = this.data;
|
||||||
const { parkId, id } = meterInfo;
|
const { parkId, id } = meterInfo;
|
||||||
@@ -61,8 +91,40 @@ Component({
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
alertSuccess("录入成功")
|
alertSuccess("录入成功")
|
||||||
this.handleNext()
|
const that = this;
|
||||||
this.handleClear()
|
setTimeout(async () => {
|
||||||
|
const isFinished = await that.checkFinish()
|
||||||
|
if (isFinished) {
|
||||||
|
|
||||||
|
wx.showModal({
|
||||||
|
title: '提示',
|
||||||
|
content: '所有电表都已抄完,是否返回?',
|
||||||
|
complete: async (res) => {
|
||||||
|
if (res.cancel) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (res.confirm) {
|
||||||
|
// await that.changeEndStatus()
|
||||||
|
wx.navigateBack()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
that.handleNext()
|
||||||
|
that.handleClear()
|
||||||
|
}
|
||||||
|
}, 300)
|
||||||
|
|
||||||
|
},
|
||||||
|
async checkFinish(id) {
|
||||||
|
const { code, message, data, num } = await checkReadingFinish(id || this.data.routeId);
|
||||||
|
if (code !== OK) {
|
||||||
|
alertError(message)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.triggerEvent("finishNumber", num)
|
||||||
|
return data;
|
||||||
},
|
},
|
||||||
handleCreateReading() {
|
handleCreateReading() {
|
||||||
const { meterInfo, currentNumber } = this.data;
|
const { meterInfo, currentNumber } = this.data;
|
||||||
@@ -80,7 +142,7 @@ Component({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
if (meterInfo.consumption < currentNumber) {
|
if (meterInfo.consumption < currentNumber - meterInfo.overall) {
|
||||||
wx.showModal({
|
wx.showModal({
|
||||||
title: '提示',
|
title: '提示',
|
||||||
content: '本次用电量已抄过历史平均水平的100%,是否确认录入?',
|
content: '本次用电量已抄过历史平均水平的100%,是否确认录入?',
|
||||||
|
|||||||
@@ -1,24 +1,21 @@
|
|||||||
<!--pages/writeReading/components/readingInfo/index.wxml-->
|
<!--pages/writeReading/components/readingInfo/index.wxml-->
|
||||||
|
|
||||||
<view class="wrapper">
|
<view class="wrapper">
|
||||||
<view class="bodyTitle">
|
<!-- <view class="bodyTitle">
|
||||||
<view class="text">
|
<view class="text">
|
||||||
<!-- 电表数据记录器 -->
|
|
||||||
</view>
|
</view>
|
||||||
<view class="time" bind:tap="jumpToHistory">
|
|
||||||
<!-- 2025年9月5日 -->
|
</view> -->
|
||||||
历史记录
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="contentWrapper">
|
<view class="contentWrapper">
|
||||||
<view class="currentMeter">
|
<!-- <view class="currentMeter">
|
||||||
<view class="text">
|
<view class="text">
|
||||||
当前电表
|
当前电表
|
||||||
</view>
|
</view>
|
||||||
<view class="address">
|
<view class="address">
|
||||||
{{meterInfo.address}}
|
{{meterInfo.address}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
|
<view style="height: 10rpx;"></view>
|
||||||
<view class="change">
|
<view class="change">
|
||||||
<van-button wx:if="{{showLeft}}" type="info" size="small" bind:click="handlePrev">
|
<van-button wx:if="{{showLeft}}" type="info" size="small" bind:click="handlePrev">
|
||||||
<van-icon name="arrow-left" />
|
<van-icon name="arrow-left" />
|
||||||
@@ -31,7 +28,7 @@
|
|||||||
</van-button>
|
</van-button>
|
||||||
<view wx:else></view>
|
<view wx:else></view>
|
||||||
</view>
|
</view>
|
||||||
<van-divider />
|
<van-divider custom-style="margin: 20rpx 0;" />
|
||||||
<view class="readingNumber">
|
<view class="readingNumber">
|
||||||
<view class="lastNumber">
|
<view class="lastNumber">
|
||||||
<view class="title">
|
<view class="title">
|
||||||
@@ -52,36 +49,40 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="number">
|
<view class="number">
|
||||||
<van-field
|
<view style="flex: 1;">
|
||||||
value="{{currentNumber}}"
|
<van-field
|
||||||
placeholder="请输入本次读数"
|
value="{{currentNumber}}"
|
||||||
bind:change="onChange"
|
placeholder="请输入本次读数"
|
||||||
border="{{false}}"
|
bind:change="onChange"
|
||||||
custom-style="border: 1rpx solid #ccc; padding: 2px 14rpx; font-size: 32rpx; border-radius: 10rpx;"
|
border="{{false}}"
|
||||||
/>
|
custom-style="border: 1rpx solid #ccc; padding: 2px 14rpx; font-size: 32rpx; border-radius: 10rpx;flex: 1;"
|
||||||
|
/>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<photo bind:finish="onPhotoFinish" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="photo">
|
<!-- <view class="photo">
|
||||||
<photo />
|
|
||||||
</view>
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
<view class="calc">
|
<view class="calc">
|
||||||
<view class="title">
|
<view class="title">
|
||||||
表字差
|
表字差
|
||||||
</view>
|
</view>
|
||||||
<view class="rightNumber" wx:if="{{currentNumber - meterInfo.overall >= 0}}">
|
<view class="rightNumber" wx:if="{{calcNumber - meterInfo.overall >= 0}}">
|
||||||
{{(currentNumber || 0) - meterInfo.overall}}
|
{{(calcNumber || 0) - meterInfo.overall}}
|
||||||
</view>
|
</view>
|
||||||
<view class="wrongNumber" wx:else>
|
<view class="wrongNumber" wx:else>
|
||||||
{{(currentNumber || 0) - meterInfo.overall}}
|
{{(calcNumber || 0) - meterInfo.overall}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="operate">
|
<view class="operate">
|
||||||
<view style="flex: 1;">
|
<view style="flex: 1;">
|
||||||
<van-button size="small" type="info" block bind:click="handleCreateReading"> 确定录入 </van-button>
|
<van-button type="info" block bind:click="handleCreateReading"> 确定录入 </van-button>
|
||||||
</view>
|
</view>
|
||||||
<view style="flex: 1; margin-left: 20rpx;">
|
<view style="flex: 1; margin-left: 20rpx;">
|
||||||
<van-button size="small" block bind:click="handleClear"> 清除记录 </van-button>
|
<van-button block bind:click="handleClear"> 清除记录 </van-button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@@ -46,8 +46,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.change {
|
.change {
|
||||||
margin-top: 20rpx;
|
margin-top: 10rpx;
|
||||||
margin-bottom: 20rpx;
|
/* margin-bottom: 10rpx; */
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
@@ -65,6 +65,7 @@
|
|||||||
font-size: 42rpx;
|
font-size: 42rpx;
|
||||||
font-weight: 800;
|
font-weight: 800;
|
||||||
margin-top: 12rpx;
|
margin-top: 12rpx;
|
||||||
|
margin-bottom: 12rpx;
|
||||||
}
|
}
|
||||||
.readingNumber .lastTime {
|
.readingNumber .lastTime {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
@@ -72,7 +73,7 @@
|
|||||||
|
|
||||||
.nextReadingNumber {
|
.nextReadingNumber {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: bottom;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.nextReadingNumber .title {
|
.nextReadingNumber .title {
|
||||||
@@ -81,12 +82,19 @@
|
|||||||
|
|
||||||
.nextReadingNumber .number {
|
.nextReadingNumber .number {
|
||||||
margin-top: 12rpx;
|
margin-top: 12rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.currentNumber {
|
.currentNumber {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.currentNumber .title {
|
||||||
|
margin-bottom: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.calc {
|
.calc {
|
||||||
margin-top: 24rpx;
|
margin-top: 24rpx;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ Page({
|
|||||||
*/
|
*/
|
||||||
onLoad(options) {
|
onLoad(options) {
|
||||||
const { id } = options;
|
const { id } = options;
|
||||||
|
|
||||||
this.getMeterList(id)
|
this.getMeterList(id)
|
||||||
},
|
},
|
||||||
async getMeterList(id) {
|
async getMeterList(id) {
|
||||||
@@ -29,7 +30,8 @@ Page({
|
|||||||
}
|
}
|
||||||
this.setData({
|
this.setData({
|
||||||
meterList: data?.meterRouteDetail || [],
|
meterList: data?.meterRouteDetail || [],
|
||||||
meterInfo: data?.meterRouteDetail?.[0] || {}
|
meterInfo: data?.meterRouteDetail?.[0] || {},
|
||||||
|
routeId: id
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
changeMeter(e) {
|
changeMeter(e) {
|
||||||
@@ -46,7 +48,7 @@ Page({
|
|||||||
handleNext() {
|
handleNext() {
|
||||||
const { active = 0, meterList } = this.data;
|
const { active = 0, meterList } = this.data;
|
||||||
let newIndex = active + 1
|
let newIndex = active + 1
|
||||||
if (active > meterList?.length - 1) {
|
if (newIndex > meterList?.length - 1) {
|
||||||
newIndex = meterList?.length - 1
|
newIndex = meterList?.length - 1
|
||||||
}
|
}
|
||||||
this.setData({
|
this.setData({
|
||||||
@@ -58,6 +60,11 @@ Page({
|
|||||||
active: this.data.active === 0 ? 0 : this.data.active - 1
|
active: this.data.active === 0 ? 0 : this.data.active - 1
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
onSetFinishNumber(e) {
|
||||||
|
this.setData({
|
||||||
|
finishNumber: e.detail,
|
||||||
|
})
|
||||||
|
},
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面初次渲染完成
|
* 生命周期函数--监听页面初次渲染完成
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
bind:changeMeterAndIndex="changeMeterAndIndex"
|
bind:changeMeterAndIndex="changeMeterAndIndex"
|
||||||
active="{{active}}"
|
active="{{active}}"
|
||||||
meterInfo="{{meterInfo}}"
|
meterInfo="{{meterInfo}}"
|
||||||
|
finishNumber="{{onSetFinishNumber}}"
|
||||||
/>
|
/>
|
||||||
<meter-info meterInfo="{{meterInfo}}" />
|
<meter-info meterInfo="{{meterInfo}}" />
|
||||||
<reading-info
|
<reading-info
|
||||||
@@ -14,4 +15,6 @@
|
|||||||
showRight="{{active < meterList.length - 1}}"
|
showRight="{{active < meterList.length - 1}}"
|
||||||
bind:prev="handlePrev"
|
bind:prev="handlePrev"
|
||||||
bind:next="handleNext"
|
bind:next="handleNext"
|
||||||
|
routeId="{{routeId}}"
|
||||||
|
bind:finishNumber="onSetFinishNumber"
|
||||||
/>
|
/>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
{
|
{
|
||||||
"name": "pages/writeReading/index",
|
"name": "pages/writeReading/index",
|
||||||
"pathName": "pages/writeReading/index",
|
"pathName": "pages/writeReading/index",
|
||||||
"query": "id=PR00117566262804481",
|
"query": "id=PR00118027286020097",
|
||||||
"launchMode": "default",
|
"launchMode": "default",
|
||||||
"scene": null
|
"scene": null
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -22,6 +22,28 @@ export const uploadFile = (filePath) => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const uploadOcrFile = (filePath) => {
|
||||||
|
const { api } = getConfigByEnv();
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
wx.uploadFile({
|
||||||
|
|
||||||
|
filePath: filePath,
|
||||||
|
name: 'data',
|
||||||
|
url: `${api}/image/to/meter/reading`,
|
||||||
|
header: {
|
||||||
|
authorization: 'Bearer ' + wx.getStorageSync("token")
|
||||||
|
},
|
||||||
|
success: (res) => {
|
||||||
|
console.log("res", res)
|
||||||
|
resolve(res?.data ? JSON.parse(res?.data) : res?.data);
|
||||||
|
},
|
||||||
|
fail: (err) => {
|
||||||
|
reject(err);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export const uploadPublicFile = (filePath) => {
|
export const uploadPublicFile = (filePath) => {
|
||||||
const { api } = getConfigByEnv();
|
const { api } = getConfigByEnv();
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
|||||||
@@ -25,3 +25,23 @@ export const getMeterReadingRouteMeterDetail = async function(id) {
|
|||||||
export const createReading = async function(park, code, data) {
|
export const createReading = async function(park, code, data) {
|
||||||
return await POST(`/reading/${park}/${code}`, data);
|
return await POST(`/reading/${park}/${code}`, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 查询符合指定条件的抄表记录
|
||||||
|
export const getReadingList = async function(park, keyword, page) {
|
||||||
|
return await GET(`/reading/${park}?keyword=${keyword}&page=${page}`,);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除抄表记录
|
||||||
|
export const deleteReading = async function(id, overall) {
|
||||||
|
return await DELETE(`/meter/delete/records/${id}`, { overall });
|
||||||
|
}
|
||||||
|
|
||||||
|
// 修改抄表记录
|
||||||
|
export const updateReading = async function(park, code, read_at, data) {
|
||||||
|
return await PUT(`/reading/${park}/${code}/${read_at}`, data);
|
||||||
|
}
|
||||||
|
// 检查是否抄表完全
|
||||||
|
export const checkReadingFinish = async function(id) {
|
||||||
|
return await GET(`/park/meter/${id}/route/status`,);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user