Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
b61f3287fb | |||
49aeeb05a7 | |||
95e6937d06 | |||
4308096394 |
@@ -8,8 +8,19 @@ Component({
|
||||
*/
|
||||
properties: {
|
||||
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: {
|
||||
attached() {
|
||||
|
||||
this.setData({
|
||||
maxDate: new Date().getTime(),
|
||||
currentDate: new Date().getTime(),
|
||||
})
|
||||
}
|
||||
},
|
||||
/**
|
||||
|
@@ -1,8 +1,8 @@
|
||||
// pages/workBench/components/tenement/components/bindMeter/index.js
|
||||
// 0015980101
|
||||
import { bindMeter, } from "../../../../service/tenement"
|
||||
import { createReading, updateReading } from "../../../../service/workBench"
|
||||
import { getWorkMeterDetail } from "../../../../service/meter"
|
||||
import { alertInfo, alertSuccess } from "../../../../utils/index";
|
||||
import { alertInfo, alertSuccess, alertError } from "../../../../utils/index";
|
||||
import request from "../../../../utils/request"
|
||||
import dayjs from "../../../../utils/dayjs"
|
||||
const { OK } = request
|
||||
@@ -16,12 +16,16 @@ Component({
|
||||
title: String,
|
||||
timeProps: String,
|
||||
numberProps: String,
|
||||
id: String
|
||||
idProps: String,
|
||||
meter: String,
|
||||
park: String
|
||||
},
|
||||
observers: {
|
||||
"timeProps": function(newValue) {
|
||||
// console.log("newValue", newValue)
|
||||
this.setData({
|
||||
time: newValue
|
||||
time: newValue,
|
||||
// startTime: newValue
|
||||
})
|
||||
},
|
||||
"numberProps": function(newValue) {
|
||||
@@ -29,6 +33,9 @@ Component({
|
||||
number: newValue
|
||||
})
|
||||
},
|
||||
"idProps": function(newValue) {
|
||||
console.log("new id", newValue)
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 组件的初始数据
|
||||
@@ -63,12 +70,40 @@ Component({
|
||||
})
|
||||
},
|
||||
async onSubmit() {
|
||||
const { time, number } = this.data;
|
||||
const { time, number, idProps, park, meter, timeProps } = this.data;
|
||||
if (time == null || number == null) {
|
||||
alertInfo("请正确填写后保存")
|
||||
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) {
|
||||
|
@@ -17,7 +17,7 @@
|
||||
use-button-slot
|
||||
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-field>
|
||||
@@ -25,6 +25,8 @@
|
||||
value="{{ number }}"
|
||||
placeholder="请输入读数"
|
||||
label="读数"
|
||||
bind:change="onChange"
|
||||
data-name="number"
|
||||
type="digit"
|
||||
border="{{ false }}"
|
||||
title-width="100rpx"
|
||||
@@ -44,7 +46,9 @@
|
||||
/>
|
||||
|
||||
<date-time-picker
|
||||
wx:if="{{dateTimeShow}}"
|
||||
show="{{dateTimeShow}}"
|
||||
time="{{startTime}}"
|
||||
bind:confirm="dateTimeConfirm"
|
||||
bind:cancel="dateTimeCancal"
|
||||
/>
|
||||
|
@@ -20,3 +20,7 @@
|
||||
font-size: 30rpx;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
.status {
|
||||
font-size: 30rpx;
|
||||
}
|
@@ -1,7 +1,7 @@
|
||||
// pages/readingHistory/index.js
|
||||
import { getMeterReadingRouteMeterDetail } from "../../service/workBench"
|
||||
import { getMeterReadingRouteMeterDetail, getReadingList, deleteReading } from "../../service/workBench"
|
||||
import request from "../../utils/request"
|
||||
import { alertInfo, alertSuccess, alertError } from "../../utils/index"
|
||||
import { alertInfo, alertSuccess, alertError, loadingFunc } from "../../utils/index"
|
||||
const { OK } = request;
|
||||
Page({
|
||||
|
||||
@@ -9,7 +9,9 @@ Page({
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
list: [{time: "2025-05-05 14:10:09", number: 90803.87}]
|
||||
list: [],
|
||||
page: 1,
|
||||
size: 20,
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -17,12 +19,33 @@ Page({
|
||||
*/
|
||||
onLoad(options) {
|
||||
const { meter, park } = options;
|
||||
const that = this;
|
||||
this.setData({
|
||||
meter,
|
||||
park
|
||||
}, () => {
|
||||
that.refresh();
|
||||
})
|
||||
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) {
|
||||
const { code, message, data } = await getMeterReadingRouteMeterDetail(id)
|
||||
if (code !== OK) {
|
||||
@@ -31,6 +54,27 @@ Page({
|
||||
}
|
||||
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() {
|
||||
this.setData({
|
||||
title: "新增记录",
|
||||
visible: true
|
||||
visible: true,
|
||||
type: "create"
|
||||
})
|
||||
},
|
||||
handleUpdate() {
|
||||
handleUpdate(e) {
|
||||
const { data } = e.currentTarget.dataset;
|
||||
console.log("data", data);
|
||||
this.setData({
|
||||
title: "编辑记录",
|
||||
visible: true,
|
||||
time: "2025-09-11",
|
||||
number: 100,
|
||||
id: ""
|
||||
time: data.readAt,
|
||||
number: data.overall,
|
||||
id: data.id,
|
||||
readAtTimestamp: data.readAtTimestamp,
|
||||
type: "edit",
|
||||
}, () => {
|
||||
console.log("this.data---------", this.data)
|
||||
})
|
||||
},
|
||||
handleDelete(e) {
|
||||
const { id } = e.currentTarget.dataset;
|
||||
const { data } = e.currentTarget.dataset;
|
||||
const that = this;
|
||||
wx.showModal({
|
||||
title: '删除确认',
|
||||
content: '确认要删除这一项记录吗?',
|
||||
complete: (res) => {
|
||||
complete: async (res) => {
|
||||
if (res.cancel) {
|
||||
|
||||
}
|
||||
|
||||
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,8 @@
|
||||
"meterInfo": "./components/meterInfo/index",
|
||||
"van-button": "@vant/weapp/button/index",
|
||||
"van-icon": "@vant/weapp/icon/index",
|
||||
"editModal": "./components/editModal/index"
|
||||
"editModal": "./components/editModal/index",
|
||||
"pagination": "/components/pagination/index"
|
||||
},
|
||||
"navigationStyle": "custom"
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
<!--pages/readingHistory/index.wxml-->
|
||||
<navigator title="历史抄表记录" canBack="{{true}}" />
|
||||
|
||||
{{id}}
|
||||
<view class="wrapper">
|
||||
<meterInfo meterInfo="{{meterInfo}}" />
|
||||
<view class="historyTitle">
|
||||
@@ -22,15 +22,15 @@
|
||||
<view wx:for="{{list}}" wx:for-index="itemIndex" wx:key="item">
|
||||
<view class="tr" style="display: flex; align-items: center; ">
|
||||
<view class="th" style="width: 40%; text-align: center; font-size: 30rpx;">
|
||||
{{ item.time }}
|
||||
{{ item.readAt }}
|
||||
</view>
|
||||
<view class="th" style="width: 35%; text-align: center; font-size: 30rpx;">
|
||||
{{ item.number }}
|
||||
{{ item.overall }}
|
||||
</view>
|
||||
|
||||
<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="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>
|
||||
@@ -46,4 +46,16 @@
|
||||
</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}}"
|
||||
/>
|
@@ -5,7 +5,7 @@ Page({
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
active: 4
|
||||
active: 1
|
||||
},
|
||||
|
||||
/**
|
||||
|
@@ -30,7 +30,7 @@ Component({
|
||||
jumpToHistory() {
|
||||
const { meterInfo } = this.data;
|
||||
wx.navigateTo({
|
||||
url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.park}`,
|
||||
url: `/pages/readingHistory/index?meter=${meterInfo?.id}&park=${meterInfo?.parkId}`,
|
||||
})
|
||||
},
|
||||
handlePrev() {
|
||||
|
@@ -25,3 +25,19 @@ export const getMeterReadingRouteMeterDetail = async function(id) {
|
||||
export const createReading = async function(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);
|
||||
}
|
Reference in New Issue
Block a user