修改样式,修改不能输入负数的问题
This commit is contained in:
@@ -11,6 +11,11 @@ page {
|
||||
.historyTitle {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.historyTitle .text {
|
||||
font-size: 32rpx;
|
||||
}
|
||||
|
||||
.table {
|
||||
|
@@ -19,6 +19,11 @@ Component({
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
|
||||
jumpToHistory() {
|
||||
const { meterInfo } = this.data;
|
||||
wx.navigateTo({
|
||||
url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.parkId}`,
|
||||
})
|
||||
},
|
||||
}
|
||||
})
|
@@ -3,6 +3,7 @@
|
||||
"usingComponents": {
|
||||
"van-tag": "@vant/weapp/tag/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-->
|
||||
<view class="wrapper">
|
||||
<view class="title">
|
||||
<text> 电表列表 </text>
|
||||
<view class="title" style="display: flex; justify-content: space-between; align-items: center;">
|
||||
<text> 电表详情 </text>
|
||||
<view class="time">
|
||||
<!-- 2025年9月5日 -->
|
||||
<van-button size="small" type="info" bind:click="jumpToHistory">
|
||||
历史记录
|
||||
</van-button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="info">
|
||||
<view class="title">
|
||||
<view class="address">
|
||||
标1东-307
|
||||
{{ meterInfo.address }}
|
||||
</view>
|
||||
<view class="meterType">
|
||||
<van-tag type="primary">华昌宝能收费</van-tag>
|
||||
@@ -17,7 +23,7 @@
|
||||
<van-row gutter="20">
|
||||
<van-col span="12">
|
||||
<view class="text">
|
||||
<view>
|
||||
<view class="titleText">
|
||||
编号
|
||||
</view>
|
||||
<view>
|
||||
@@ -27,7 +33,7 @@
|
||||
</van-col>
|
||||
<van-col span="12">
|
||||
<view class="text">
|
||||
<view>
|
||||
<view class="titleText">
|
||||
类型
|
||||
</view>
|
||||
<view wx:if="{{meterInfo.meterBelongType === 0}}">
|
||||
@@ -43,7 +49,7 @@
|
||||
</van-col>
|
||||
<van-col span="12">
|
||||
<view class="text">
|
||||
<view>
|
||||
<view class="titleText">
|
||||
状态
|
||||
</view>
|
||||
<view wx:if="{{meterInfo.enabled}}">
|
||||
@@ -56,7 +62,7 @@
|
||||
</van-col>
|
||||
<van-col span="12">
|
||||
<view class="text">
|
||||
<view>
|
||||
<view class="titleText">
|
||||
读数
|
||||
</view>
|
||||
<view>
|
||||
|
@@ -34,4 +34,8 @@
|
||||
|
||||
.wrapper > .title {
|
||||
font-size: 32rpx;
|
||||
}
|
||||
|
||||
.titleText {
|
||||
color: rgb(150, 137, 137);
|
||||
}
|
@@ -12,7 +12,8 @@ Component({
|
||||
properties: {
|
||||
list: Array,
|
||||
active: Number,
|
||||
meterInfo: Object
|
||||
meterInfo: Object,
|
||||
finishNumber: Number,
|
||||
},
|
||||
observers: {
|
||||
"active,list": function(newActive, newList) {
|
||||
|
@@ -2,7 +2,7 @@
|
||||
|
||||
<view class="wrapper">
|
||||
<view class="title">
|
||||
<text> 电表列表 </text>
|
||||
<text> 电表列表 (总计{{list.length}}块,已抄{{finishNumber}}块) </text>
|
||||
</view>
|
||||
<view style="display: flex; align-items: center;margin-top: 20rpx;">
|
||||
<van-icon name="arrow-left" size="50rpx" bind:tap="scrollLeft" />
|
||||
|
@@ -1,4 +1,8 @@
|
||||
// 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({
|
||||
|
||||
/**
|
||||
@@ -19,6 +23,28 @@ Component({
|
||||
* 组件的方法列表
|
||||
*/
|
||||
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,
|
||||
"usingComponents": {}
|
||||
"usingComponents": {
|
||||
"van-button": "@vant/weapp/button/index"
|
||||
}
|
||||
}
|
@@ -1,4 +1,8 @@
|
||||
<!--pages/writeReading/components/photo/index.wxml-->
|
||||
<view class="wrapper">
|
||||
拍照
|
||||
<van-button
|
||||
type="info"
|
||||
size="small"
|
||||
bind:tap="chooseImage"
|
||||
> 拍照 </van-button>
|
||||
</view>
|
@@ -1,7 +1,7 @@
|
||||
// pages/writeReading/components/readingInfo/index.js
|
||||
|
||||
import { createReading } from "../../../../service/workBench"
|
||||
import { alertError, alertInfo, alertSuccess } from "../../../../utils/index"
|
||||
import { createReading, checkReadingFinish, changeMeterRouteStatus } from "../../../../service/workBench"
|
||||
import { alertError, alertInfo, alertSuccess, wxModal } from "../../../../utils/index"
|
||||
import request from "../../../../utils/request"
|
||||
const { OK } = request
|
||||
|
||||
@@ -14,25 +14,33 @@ Component({
|
||||
meterInfo: Object,
|
||||
showLeft: Boolean,
|
||||
showRight: Boolean,
|
||||
routeId: String
|
||||
},
|
||||
observers: {
|
||||
"routeId": function(newValue) {
|
||||
if (!newValue) {
|
||||
return;
|
||||
}
|
||||
console.log("newValue", newValue)
|
||||
this.checkFinish(newValue)
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
currentNumber: null
|
||||
},
|
||||
|
||||
lifetimes: {
|
||||
attached() {
|
||||
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
jumpToHistory() {
|
||||
const { meterInfo } = this.data;
|
||||
wx.navigateTo({
|
||||
url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.parkId}`,
|
||||
})
|
||||
},
|
||||
|
||||
handlePrev() {
|
||||
this.triggerEvent("prev")
|
||||
},
|
||||
@@ -41,7 +49,8 @@ Component({
|
||||
},
|
||||
onChange(e) {
|
||||
this.setData({
|
||||
currentNumber: e.detail ? Number(e.detail) : 0
|
||||
currentNumber: e.detail,
|
||||
calcNumber: isNaN(e.detail) ? 0 : Number(e.detail)
|
||||
})
|
||||
},
|
||||
handleClear() {
|
||||
@@ -49,6 +58,28 @@ Component({
|
||||
currentNumber: null,
|
||||
})
|
||||
},
|
||||
async changeEndStatus() {
|
||||
const { routeId: id } = this.data;
|
||||
const { code, message } = await changeMeterRouteStatus({ id, status: 0 })
|
||||
if (code !== OK) {
|
||||
alertError(message)
|
||||
return
|
||||
}
|
||||
alertSuccess("操作成功")
|
||||
this.init()
|
||||
},
|
||||
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() {
|
||||
const { meterInfo, currentNumber } = this.data;
|
||||
const { parkId, id } = meterInfo;
|
||||
@@ -61,8 +92,39 @@ Component({
|
||||
return
|
||||
}
|
||||
alertSuccess("录入成功")
|
||||
this.handleNext()
|
||||
this.handleClear()
|
||||
const that = this;
|
||||
setTimeout(() => {
|
||||
const isFinished = 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() {
|
||||
const { meterInfo, currentNumber } = this.data;
|
||||
@@ -80,7 +142,7 @@ Component({
|
||||
}
|
||||
|
||||
if (res.confirm) {
|
||||
if (meterInfo.consumption < currentNumber) {
|
||||
if (meterInfo.consumption < currentNumber - meterInfo.overall) {
|
||||
wx.showModal({
|
||||
title: '提示',
|
||||
content: '本次用电量已抄过历史平均水平的100%,是否确认录入?',
|
||||
|
@@ -1,24 +1,21 @@
|
||||
<!--pages/writeReading/components/readingInfo/index.wxml-->
|
||||
|
||||
<view class="wrapper">
|
||||
<view class="bodyTitle">
|
||||
<!-- <view class="bodyTitle">
|
||||
<view class="text">
|
||||
<!-- 电表数据记录器 -->
|
||||
</view>
|
||||
<view class="time" bind:tap="jumpToHistory">
|
||||
<!-- 2025年9月5日 -->
|
||||
历史记录
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view> -->
|
||||
<view class="contentWrapper">
|
||||
<view class="currentMeter">
|
||||
<!-- <view class="currentMeter">
|
||||
<view class="text">
|
||||
当前电表
|
||||
</view>
|
||||
<view class="address">
|
||||
{{meterInfo.address}}
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view style="height: 10rpx;"></view>
|
||||
<view class="change">
|
||||
<van-button wx:if="{{showLeft}}" type="info" size="small" bind:click="handlePrev">
|
||||
<van-icon name="arrow-left" />
|
||||
@@ -31,7 +28,7 @@
|
||||
</van-button>
|
||||
<view wx:else></view>
|
||||
</view>
|
||||
<van-divider />
|
||||
<van-divider custom-style="margin: 20rpx 0;" />
|
||||
<view class="readingNumber">
|
||||
<view class="lastNumber">
|
||||
<view class="title">
|
||||
@@ -52,36 +49,40 @@
|
||||
</view>
|
||||
|
||||
<view class="number">
|
||||
<van-field
|
||||
value="{{currentNumber}}"
|
||||
placeholder="请输入本次读数"
|
||||
bind:change="onChange"
|
||||
border="{{false}}"
|
||||
custom-style="border: 1rpx solid #ccc; padding: 2px 14rpx; font-size: 32rpx; border-radius: 10rpx;"
|
||||
/>
|
||||
<view style="flex: 1;">
|
||||
<van-field
|
||||
value="{{currentNumber}}"
|
||||
placeholder="请输入本次读数"
|
||||
bind:change="onChange"
|
||||
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 class="photo">
|
||||
<photo />
|
||||
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="calc">
|
||||
<view class="title">
|
||||
表字差
|
||||
</view>
|
||||
<view class="rightNumber" wx:if="{{currentNumber - meterInfo.overall >= 0}}">
|
||||
{{(currentNumber || 0) - meterInfo.overall}}
|
||||
<view class="rightNumber" wx:if="{{calcNumber - meterInfo.overall >= 0}}">
|
||||
{{(calcNumber || 0) - meterInfo.overall}}
|
||||
</view>
|
||||
<view class="wrongNumber" wx:else>
|
||||
{{(currentNumber || 0) - meterInfo.overall}}
|
||||
{{(calcNumber || 0) - meterInfo.overall}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="operate">
|
||||
<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 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>
|
||||
|
@@ -46,8 +46,8 @@
|
||||
}
|
||||
|
||||
.change {
|
||||
margin-top: 20rpx;
|
||||
margin-bottom: 20rpx;
|
||||
margin-top: 10rpx;
|
||||
/* margin-bottom: 10rpx; */
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
@@ -73,7 +73,7 @@
|
||||
|
||||
.nextReadingNumber {
|
||||
display: flex;
|
||||
align-items: bottom;
|
||||
|
||||
}
|
||||
|
||||
.nextReadingNumber .title {
|
||||
@@ -82,6 +82,9 @@
|
||||
|
||||
.nextReadingNumber .number {
|
||||
margin-top: 12rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.currentNumber {
|
||||
|
@@ -19,6 +19,7 @@ Page({
|
||||
*/
|
||||
onLoad(options) {
|
||||
const { id } = options;
|
||||
|
||||
this.getMeterList(id)
|
||||
},
|
||||
async getMeterList(id) {
|
||||
@@ -29,7 +30,8 @@ Page({
|
||||
}
|
||||
this.setData({
|
||||
meterList: data?.meterRouteDetail || [],
|
||||
meterInfo: data?.meterRouteDetail?.[0] || {}
|
||||
meterInfo: data?.meterRouteDetail?.[0] || {},
|
||||
routeId: id
|
||||
})
|
||||
},
|
||||
changeMeter(e) {
|
||||
@@ -46,7 +48,7 @@ Page({
|
||||
handleNext() {
|
||||
const { active = 0, meterList } = this.data;
|
||||
let newIndex = active + 1
|
||||
if (active > meterList?.length - 1) {
|
||||
if (newIndex > meterList?.length - 1) {
|
||||
newIndex = meterList?.length - 1
|
||||
}
|
||||
this.setData({
|
||||
@@ -58,6 +60,11 @@ Page({
|
||||
active: this.data.active === 0 ? 0 : this.data.active - 1
|
||||
})
|
||||
},
|
||||
onSetFinishNumber(e) {
|
||||
this.setData({
|
||||
finishNumber: e.detail,
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
|
@@ -6,6 +6,7 @@
|
||||
bind:changeMeterAndIndex="changeMeterAndIndex"
|
||||
active="{{active}}"
|
||||
meterInfo="{{meterInfo}}"
|
||||
finishNumber="{{onSetFinishNumber}}"
|
||||
/>
|
||||
<meter-info meterInfo="{{meterInfo}}" />
|
||||
<reading-info
|
||||
@@ -14,4 +15,6 @@
|
||||
showRight="{{active < meterList.length - 1}}"
|
||||
bind:prev="handlePrev"
|
||||
bind:next="handleNext"
|
||||
routeId="{{routeId}}"
|
||||
bind:finishNumber="onSetFinishNumber"
|
||||
/>
|
Reference in New Issue
Block a user