| | |
| | | showInfoDialog: false, |
| | | showTipDialog: false, |
| | | options: '', |
| | | showUnBind: false |
| | | showUnBind: false, |
| | | useTestData: false // 新增:是否使用测试数据的标志 |
| | | }, |
| | | |
| | | openValve: function (e) { |
| | |
| | | }).exec(); |
| | | }, |
| | | startPullDownRefresh() { |
| | | if (this.data.useTestData) { |
| | | this.setData({ |
| | | isRefreshing: true |
| | | }); |
| | | this.getOpenList(); |
| | | return; |
| | | } |
| | | |
| | | if (this.data.isLogin) { |
| | | if (!this.data.isWXRefreshing) { |
| | | var self = this; |
| | |
| | | * 生命周期函数--监听页面初次渲染完成 |
| | | */ |
| | | onReady() { |
| | | // 直接加载测试数据 |
| | | if (this.data.useTestData) { |
| | | this.setData({ |
| | | isLogin: true, // 设置为已登录状态以便能看到测试数据 |
| | | userName: "测试用户", |
| | | userPhone: "135****6789" |
| | | }); |
| | | this.getOpenList(); |
| | | return; |
| | | } |
| | | |
| | | //判断本地是否保存sessionId |
| | | if (storage.isHasKeySync("sessionId")) { |
| | | const app = getApp(); |
| | |
| | | }); |
| | | }, |
| | | /** |
| | | * 生成测试数据 - 新增函数 |
| | | */ |
| | | generateTestData() { |
| | | const now = new Date(); |
| | | const year = now.getFullYear(); |
| | | const month = String(now.getMonth() + 1).padStart(2, '0'); |
| | | const day = String(now.getDate()).padStart(2, '0'); |
| | | const hours = String(now.getHours()).padStart(2, '0'); |
| | | const minutes = String(now.getMinutes()).padStart(2, '0'); |
| | | const seconds = String(now.getSeconds()).padStart(2, '0'); |
| | | |
| | | const dateString = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; |
| | | const orderBase = `TEST-${year}${month}${day}-`; |
| | | |
| | | const testData = [ |
| | | { |
| | | intakeNum: "取水口1", |
| | | isOnLine: true, |
| | | dt: dateString, |
| | | waterInstant: "1.23", |
| | | orderNo: orderBase + "001", |
| | | rtuAddr: "TEST-RTU-001", |
| | | vcNum: "TEST-VC-001", |
| | | planned: false, |
| | | time: this.extractTime(dateString), |
| | | deleteText: "删除", |
| | | displayText: "关阀", |
| | | isOpen: true |
| | | }, |
| | | { |
| | | intakeNum: "取水口2", |
| | | isOnLine: false, |
| | | dt: dateString, |
| | | waterInstant: "2.45", |
| | | orderNo: orderBase + "002", |
| | | rtuAddr: "TEST-RTU-002", |
| | | vcNum: "TEST-VC-002", |
| | | planned: false, |
| | | time: this.extractTime(dateString), |
| | | deleteText: "删除", |
| | | displayText: "关阀", |
| | | isOpen: true |
| | | }, |
| | | { |
| | | intakeNum: "取水口3", |
| | | isOnLine: true, |
| | | dt: dateString, |
| | | waterInstant: "3.67", |
| | | orderNo: orderBase + "003", |
| | | rtuAddr: "TEST-RTU-003", |
| | | vcNum: "TEST-VC-003", |
| | | planned: true, |
| | | time: this.extractTime(dateString), |
| | | deleteText: "删除", |
| | | displayText: "取消", |
| | | isOpen: true |
| | | } |
| | | ]; |
| | | return testData; |
| | | }, |
| | | /** |
| | | * 获取为关阀记录 |
| | | */ |
| | | getOpenList() { |
| | | if (this.data.isLogin) { |
| | | // 如果设置了使用测试数据,则直接使用测试数据 |
| | | if (this.data.useTestData) { |
| | | const testData = this.generateTestData(); |
| | | this.setData({ |
| | | listData: testData, |
| | | isRefreshing: false, |
| | | isWXRefreshing: false, |
| | | }); |
| | | this.updateDisplayText(); |
| | | return; |
| | | } |
| | | |
| | | const app = getApp(); |
| | | const params = { |
| | | url: 'wx/valve/get', |
| | |
| | | this.setData({ |
| | | showConfirm: false |
| | | }); |
| | | if (this.data.useTestData) { |
| | | // 测试数据模式下,模拟关阀操作 |
| | | wx.showLoading({ |
| | | title: '正在关阀请稍候...', |
| | | mask: true |
| | | }); |
| | | |
| | | // 模拟请求延迟 |
| | | setTimeout(() => { |
| | | wx.hideLoading(); |
| | | |
| | | // 从列表中移除被关闭的阀门 |
| | | const updatedList = this.data.listData.filter(item => |
| | | item.orderNo !== this.data.myItem.orderNo |
| | | ); |
| | | |
| | | this.setData({ |
| | | listData: updatedList, |
| | | showTipDialog: true, |
| | | tipData: "关阀命令下发成功,约20-60秒后可刷新快速关阀列表查看执行结果。" |
| | | }); |
| | | }, 1500); |
| | | return; |
| | | } |
| | | this.postCloseValaue(this.data.myItem.orderNo, this.data.myItem.rtuAddr, this.data.myItem.vcNum); |
| | | }, |
| | | //根据session获取农户信息 |
| | |
| | | onDelete(e) { |
| | | const item = e.currentTarget.dataset.item; |
| | | const that = this; |
| | | |
| | | if (this.data.useTestData) { |
| | | // 测试数据模式下,模拟删除操作 |
| | | wx.showLoading({ |
| | | title: '正在强制删除请稍候...', |
| | | mask: true |
| | | }); |
| | | |
| | | // 模拟请求延迟 |
| | | setTimeout(() => { |
| | | wx.hideLoading(); |
| | | |
| | | // 从列表中移除被删除的项 |
| | | const updatedList = this.data.listData.filter(listItem => |
| | | listItem.orderNo !== item.orderNo |
| | | ); |
| | | |
| | | this.setData({ |
| | | listData: updatedList |
| | | }); |
| | | |
| | | wx.showToast({ |
| | | title: '删除成功', |
| | | icon: 'success', |
| | | duration: 2000 |
| | | }); |
| | | }, 1500); |
| | | return; |
| | | } |
| | | |
| | | wx.showLoading({ |
| | | title: '正在强制删除请稍候...', // 加载提示文字 |
| | | mask: true // 是否显示透明蒙层,防止触摸穿透,默认为 false |