From 4a33335da6f6ccbb13427d317d23b0c74d019fbb Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 14 四月 2025 17:56:16 +0800
Subject: [PATCH] 新增测试数据功能,允许在首页和取水口页面使用模拟数据进行测试,优化用户体验。
---
pages/home/home.js | 149 +++++++++++++++++++++++++++++++++++++
pages/waterIntake/waterIntake.js | 72 +++++++++++++++++
2 files changed, 219 insertions(+), 2 deletions(-)
diff --git a/pages/home/home.js b/pages/home/home.js
index b20556c..f6cf3e9 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -34,7 +34,8 @@
showInfoDialog: false,
showTipDialog: false,
options: '',
- showUnBind: false
+ showUnBind: false,
+ useTestData: false // 鏂板锛氭槸鍚︿娇鐢ㄦ祴璇曟暟鎹殑鏍囧織
},
openValve: function (e) {
@@ -58,6 +59,14 @@
}).exec();
},
startPullDownRefresh() {
+ if (this.data.useTestData) {
+ this.setData({
+ isRefreshing: true
+ });
+ this.getOpenList();
+ return;
+ }
+
if (this.data.isLogin) {
if (!this.data.isWXRefreshing) {
var self = this;
@@ -105,6 +114,17 @@
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
*/
onReady() {
+ // 鐩存帴鍔犺浇娴嬭瘯鏁版嵁
+ if (this.data.useTestData) {
+ this.setData({
+ isLogin: true, // 璁剧疆涓哄凡鐧诲綍鐘舵�佷互渚胯兘鐪嬪埌娴嬭瘯鏁版嵁
+ userName: "娴嬭瘯鐢ㄦ埛",
+ userPhone: "135****6789"
+ });
+ this.getOpenList();
+ return;
+ }
+
//鍒ゆ柇鏈湴鏄惁淇濆瓨sessionId
if (storage.isHasKeySync("sessionId")) {
const app = getApp();
@@ -344,10 +364,83 @@
});
},
/**
+ * 鐢熸垚娴嬭瘯鏁版嵁 - 鏂板鍑芥暟
+ */
+ 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',
@@ -394,6 +487,30 @@
this.setData({
showConfirm: false
});
+ if (this.data.useTestData) {
+ // 娴嬭瘯鏁版嵁妯″紡涓嬶紝妯℃嫙鍏抽榾鎿嶄綔
+ wx.showLoading({
+ title: '姝e湪鍏抽榾璇风◢鍊�...',
+ 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鑾峰彇鍐滄埛淇℃伅
@@ -563,6 +680,36 @@
onDelete(e) {
const item = e.currentTarget.dataset.item;
const that = this;
+
+ if (this.data.useTestData) {
+ // 娴嬭瘯鏁版嵁妯″紡涓嬶紝妯℃嫙鍒犻櫎鎿嶄綔
+ wx.showLoading({
+ title: '姝e湪寮哄埗鍒犻櫎璇风◢鍊�...',
+ 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: '姝e湪寮哄埗鍒犻櫎璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
diff --git a/pages/waterIntake/waterIntake.js b/pages/waterIntake/waterIntake.js
index 5bccf6d..61de8d0 100644
--- a/pages/waterIntake/waterIntake.js
+++ b/pages/waterIntake/waterIntake.js
@@ -27,7 +27,8 @@
},
showForceConfirm: false,
forceIntakeId: "", //寮哄埗寮�闃�鐨勫彇姘村彛id
- inputValue:""
+ inputValue:"",
+ useTestData: false // 鏂板: 鏄惁浣跨敤娴嬭瘯鏁版嵁鐨勬爣蹇�
},
// 鍒囨崲 Tabs
@@ -176,6 +177,25 @@
*鍦ㄦ墍鏈夊彇姘村彛鎼滅储
*/
getallWaterPoints: function (intakeNum) {
+ // 濡傛灉璁剧疆浜嗕娇鐢ㄦ祴璇曟暟鎹紝鍒欑洿鎺ヤ娇鐢ㄦ祴璇曟暟鎹�
+ if (this.data.useTestData) {
+ if (intakeNum) {
+ // 妯℃嫙鎼滅储鍔熻兘锛岃繑鍥炲尮閰嶇殑娴嬭瘯鏁版嵁
+ const testData = this.generateTestSearchData(intakeNum);
+ if (testData) {
+ this.setData({
+ allWaterPoints: [testData]
+ });
+ } else {
+ wx.showToast({
+ title: '娌℃湁鎼滅储鍒板彇姘村彛',
+ icon: 'error',
+ });
+ }
+ }
+ return;
+ }
+
let params = {
url: 'wx/intake/all_intakes'
};
@@ -220,8 +240,38 @@
console.error('Failed to add item:', error);
});
},
+
+ /**
+ * 鐢熸垚妯℃嫙鐨勬悳绱㈢粨鏋滄暟鎹�
+ * @param {string} intakeNum 鎼滅储鐨勫彇姘村彛缂栧彿
+ * @returns {object|null} 鍖归厤鐨勫彇姘村彛瀵硅薄锛屽鏋滄病鏈夊尮閰嶅垯杩斿洖null
+ */
+ generateTestSearchData(intakeNum) {
+ // 鍒涘缓涓�涓祴璇曟暟鎹暟缁�
+ const testDataArray = [
+ { intakeId: "test001", intakeNum: "1001", isOnLine: true },
+ { intakeId: "test002", intakeNum: "1002", isOnLine: false },
+ { intakeId: "test003", intakeNum: "1003", isOnLine: true },
+ { intakeId: "test004", intakeNum: "2001", isOnLine: true },
+ { intakeId: "test005", intakeNum: "2002", isOnLine: false }
+ ];
+
+ // 鏌ユ壘鍖归厤鐨勬暟鎹�
+ return testDataArray.find(item => item.intakeNum.includes(intakeNum));
+ },
+
//鑾峰彇甯哥敤鍙栨按鍙�
getcommonWaterPoints() {
+ // 濡傛灉璁剧疆浜嗕娇鐢ㄦ祴璇曟暟鎹紝鍒欑洿鎺ヤ娇鐢ㄦ祴璇曟暟鎹�
+ if (this.data.useTestData) {
+ const testData = this.generateTestCommonWaterPoints();
+ this.setData({
+ commonWaterPoints: testData,
+ isRefreshing_common: false
+ });
+ return;
+ }
+
get({
url: 'wx/intake/used_intakes',
data: {
@@ -255,6 +305,26 @@
console.error('Failed to add item:', error);
});
},
+
+ /**
+ * 鐢熸垚娴嬭瘯鐨勫父鐢ㄥ彇姘村彛鏁版嵁
+ * @returns {Array} 甯哥敤鍙栨按鍙f祴璇曟暟鎹暟缁�
+ */
+ generateTestCommonWaterPoints() {
+ return [
+ { intakeId: "test001", intakeNum: "鍙栨按鍙", isOnLine: true },
+ { intakeId: "test002", intakeNum: "鍙栨按鍙", isOnLine: false },
+ { intakeId: "test003", intakeNum: "鍙栨按鍙", isOnLine: true },
+ { intakeId: "test004", intakeNum: "鍙栨按鍙", isOnLine: false },
+ { intakeId: "test005", intakeNum: "鍙栨按鍙", isOnLine: true },
+ { intakeId: "test005", intakeNum: "鍙栨按鍙�1", isOnLine: true },
+ { intakeId: "test005", intakeNum: "鍙栨按鍙�2", isOnLine: true },
+ { intakeId: "test005", intakeNum: "鍙栨按鍙�3", isOnLine: true },
+ { intakeId: "test005", intakeNum: "鍙栨按鍙�4", isOnLine: true }
+
+ ];
+ },
+
/**
* 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
*/
--
Gitblit v1.8.0