准备联调抄表记录
This commit is contained in:
84
pages/readingHistory/components/editModal/index.js
Normal file
84
pages/readingHistory/components/editModal/index.js
Normal file
@@ -0,0 +1,84 @@
|
||||
// pages/workBench/components/tenement/components/bindMeter/index.js
|
||||
// 0015980101
|
||||
import { bindMeter, } from "../../../../service/tenement"
|
||||
import { getWorkMeterDetail } from "../../../../service/meter"
|
||||
import { alertInfo, alertSuccess } from "../../../../utils/index";
|
||||
import request from "../../../../utils/request"
|
||||
import dayjs from "../../../../utils/dayjs"
|
||||
const { OK } = request
|
||||
Component({
|
||||
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
visible: Boolean,
|
||||
title: String,
|
||||
timeProps: String,
|
||||
numberProps: String,
|
||||
id: String
|
||||
},
|
||||
observers: {
|
||||
"timeProps": function(newValue) {
|
||||
this.setData({
|
||||
time: newValue
|
||||
})
|
||||
},
|
||||
"numberProps": function(newValue) {
|
||||
this.setData({
|
||||
number: newValue
|
||||
})
|
||||
},
|
||||
},
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
dateTimeShow: false,
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
onCancel() {
|
||||
this.setData({
|
||||
show: false,
|
||||
title: "",
|
||||
type: "",
|
||||
})
|
||||
// this.triggerEvent("close")
|
||||
},
|
||||
onClose() {
|
||||
this.setData({
|
||||
show: false,
|
||||
title: "",
|
||||
type: "",
|
||||
})
|
||||
},
|
||||
onChange(e) {
|
||||
const { name } = e.currentTarget.dataset;
|
||||
this.setData({
|
||||
[name]: e.detail
|
||||
})
|
||||
},
|
||||
async onSubmit() {
|
||||
const { time, number } = this.data;
|
||||
if (time == null || number == null) {
|
||||
alertInfo("请正确填写后保存")
|
||||
return;
|
||||
}
|
||||
this.triggerEvent("ok")
|
||||
},
|
||||
|
||||
dateTimeConfirm(e) {
|
||||
this.setData({ time: e.detail.time, dateTimeShow: false })
|
||||
},
|
||||
dateTimeCancal(e) {
|
||||
this.setData({ dateTimeShow: false })
|
||||
},
|
||||
onTimeFocus() {
|
||||
this.setData({ dateTimeShow: true })
|
||||
}
|
||||
}
|
||||
})
|
||||
10
pages/readingHistory/components/editModal/index.json
Normal file
10
pages/readingHistory/components/editModal/index.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"van-dialog": "@vant/weapp/dialog/index",
|
||||
"search-select": "/components/searchSelect/index",
|
||||
"van-field": "@vant/weapp/field/index",
|
||||
"van-button": "@vant/weapp/button/index",
|
||||
"date-time-picker": "/components/DateTimePicker/index"
|
||||
}
|
||||
}
|
||||
50
pages/readingHistory/components/editModal/index.wxml
Normal file
50
pages/readingHistory/components/editModal/index.wxml
Normal file
@@ -0,0 +1,50 @@
|
||||
<!--pages/workBench/components/tenement/components/bindMeter/index.wxml-->
|
||||
<van-dialog
|
||||
use-slot
|
||||
title="{{title}}"
|
||||
show="{{ visible }}"
|
||||
show-cancel-button
|
||||
bind:confirm="onSubmit"
|
||||
bind:close="onClose"
|
||||
>
|
||||
<view class="modalContentWrapper">
|
||||
<van-field
|
||||
value="{{ time }}"
|
||||
placeholder="请选择绑定时间"
|
||||
label="时间"
|
||||
readonly
|
||||
border="{{ false }}"
|
||||
use-button-slot
|
||||
title-width="100rpx"
|
||||
>
|
||||
<van-button slot="button" size="small" type="info" bind:click="onTimeFocus">
|
||||
选择
|
||||
</van-button>
|
||||
</van-field>
|
||||
<van-field
|
||||
value="{{ number }}"
|
||||
placeholder="请输入读数"
|
||||
label="读数"
|
||||
type="digit"
|
||||
border="{{ false }}"
|
||||
title-width="100rpx"
|
||||
>
|
||||
</van-field>
|
||||
</view>
|
||||
|
||||
</van-dialog>
|
||||
|
||||
<search-select
|
||||
show="{{show}}"
|
||||
title="{{title}}"
|
||||
type="{{type}}"
|
||||
park="{{park}}"
|
||||
bindconfirm="onConfirm"
|
||||
bindcancel="onCancel"
|
||||
/>
|
||||
|
||||
<date-time-picker
|
||||
show="{{dateTimeShow}}"
|
||||
bind:confirm="dateTimeConfirm"
|
||||
bind:cancel="dateTimeCancal"
|
||||
/>
|
||||
1
pages/readingHistory/components/editModal/index.wxss
Normal file
1
pages/readingHistory/components/editModal/index.wxss
Normal file
@@ -0,0 +1 @@
|
||||
/* pages/workBench/components/tenement/components/bindMeter/index.wxss */
|
||||
@@ -5,7 +5,7 @@ Component({
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
|
||||
meterInfo: Object,
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,10 +2,15 @@
|
||||
<view class="wrapper">
|
||||
<view class="title">
|
||||
<view class="address">
|
||||
标1东-307
|
||||
{{meterInfo.address}}
|
||||
</view>
|
||||
<view class="status">
|
||||
正常运行中
|
||||
<view wx:if="{{meterInfo.enabled}}">
|
||||
正常
|
||||
</view>
|
||||
<view wx:else>
|
||||
停用
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail">
|
||||
@@ -16,7 +21,7 @@
|
||||
设备编号
|
||||
</view>
|
||||
<view>
|
||||
1202312423524
|
||||
{{meterInfo.meterSn}}
|
||||
</view>
|
||||
</view>
|
||||
</van-col>
|
||||
@@ -26,7 +31,15 @@
|
||||
电表类型
|
||||
</view>
|
||||
<view>
|
||||
1202312423524
|
||||
<view wx:if="{{meterInfo.meterBelongType === 0}}">
|
||||
商户电表
|
||||
</view>
|
||||
<view wx:elif="{{meterInfo.meterBelongType === 1}}">
|
||||
公区电表
|
||||
</view>
|
||||
<view wx:elif="{{meterInfo.meterBelongType === 2}}">
|
||||
公摊电表
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</van-col>
|
||||
@@ -36,7 +49,7 @@
|
||||
最近读数
|
||||
</view>
|
||||
<view>
|
||||
1202312423524
|
||||
{{meterInfo.overall}}
|
||||
</view>
|
||||
</view>
|
||||
</van-col>
|
||||
@@ -46,7 +59,7 @@
|
||||
读数日期
|
||||
</view>
|
||||
<view>
|
||||
1202312423524
|
||||
{{meterInfo.readAt}}
|
||||
</view>
|
||||
</view>
|
||||
</van-col>
|
||||
|
||||
@@ -1,27 +1,73 @@
|
||||
// pages/readingHistory/index.js
|
||||
import { getMeterReadingRouteMeterDetail } from "../../service/workBench"
|
||||
import request from "../../utils/request"
|
||||
import { alertInfo, alertSuccess, alertError } from "../../utils/index"
|
||||
const { OK } = request;
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
list: [{time: "2025-05-05 14:10:09", number: 90803.87}]
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
|
||||
const { meter, park } = options;
|
||||
this.setData({
|
||||
meter,
|
||||
park
|
||||
})
|
||||
this.getMeterInfo(meter);
|
||||
},
|
||||
async getMeterInfo(id) {
|
||||
const { code, message, data } = await getMeterReadingRouteMeterDetail(id)
|
||||
if (code !== OK) {
|
||||
alertError(message)
|
||||
return;
|
||||
}
|
||||
this.setData({ meterInfo: data })
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
handleCreate() {
|
||||
this.setData({
|
||||
title: "新增记录",
|
||||
visible: true
|
||||
})
|
||||
},
|
||||
handleUpdate() {
|
||||
this.setData({
|
||||
title: "编辑记录",
|
||||
visible: true,
|
||||
time: "2025-09-11",
|
||||
number: 100,
|
||||
id: ""
|
||||
})
|
||||
},
|
||||
handleDelete(e) {
|
||||
const { id } = e.currentTarget.dataset;
|
||||
wx.showModal({
|
||||
title: '删除确认',
|
||||
content: '确认要删除这一项记录吗?',
|
||||
complete: (res) => {
|
||||
if (res.cancel) {
|
||||
|
||||
}
|
||||
|
||||
if (res.confirm) {
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
"usingComponents": {
|
||||
"navigator": "/components/navigator/index",
|
||||
"meterInfo": "./components/meterInfo/index",
|
||||
"van-button": "@vant/weapp/button/index"
|
||||
"van-button": "@vant/weapp/button/index",
|
||||
"van-icon": "@vant/weapp/icon/index",
|
||||
"editModal": "./components/editModal/index"
|
||||
},
|
||||
"navigationStyle": "custom"
|
||||
}
|
||||
@@ -2,11 +2,48 @@
|
||||
<navigator title="历史抄表记录" canBack="{{true}}" />
|
||||
|
||||
<view class="wrapper">
|
||||
<meterInfo />
|
||||
<meterInfo meterInfo="{{meterInfo}}" />
|
||||
<view class="historyTitle">
|
||||
<view class="text">
|
||||
抄表记录历史
|
||||
</view>
|
||||
<van-button type="info" size="small" icon="plus" > 新增记录 </van-button>
|
||||
<van-button type="info" size="small" icon="plus" bind:tap="handleCreate"> 新增记录 </van-button>
|
||||
</view>
|
||||
<view>
|
||||
<view wx:if="{{list.length}}">
|
||||
<view class="tableWrapper">
|
||||
<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>
|
||||
<view class="tbody">
|
||||
<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 }}
|
||||
</view>
|
||||
<view class="th" style="width: 35%; text-align: center; font-size: 30rpx;">
|
||||
{{ item.number }}
|
||||
</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" />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<pagination currentIndex="{{page}}" totalPage="{{totalPage}}" bind:pagingChange="onChangePage" />
|
||||
|
||||
</view>
|
||||
<empty bind:refresh="init" wx:else />
|
||||
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<editModal title="{{title}}" visible="{{visible}}" timeProps="{{time}}" numberProps="{{number}}" id="{{id}}" />
|
||||
@@ -3,7 +3,70 @@ page {
|
||||
background-color: #ebedf0;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
padding: 0 20rpx 20rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.historyTitle {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
width: 100%;
|
||||
|
||||
}
|
||||
|
||||
.tableWrapper {
|
||||
width: 100%;
|
||||
margin-top: 30rpx;
|
||||
background-color: #fff;
|
||||
overflow-x: auto;
|
||||
padding: 20rpx 12rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.thead {
|
||||
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
|
||||
}
|
||||
|
||||
.thead .th {
|
||||
padding: 10rpx;
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.primaryTextBtn {
|
||||
color: #1989fa;
|
||||
}
|
||||
|
||||
.tbody {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.tbody .tr {
|
||||
padding: 10rpx;
|
||||
border-bottom: 1rpx solid #EEEEEE;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
|
||||
.tbody .tr {
|
||||
word-break: break-all;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.more-icon {
|
||||
padding: 20rpx;
|
||||
color: #1989fa;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user