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