From 50433e86b718fab0d94ea1410724b29b5f53fa0a Mon Sep 17 00:00:00 2001 From: zuoxiao <zuoxiao> Date: 星期三, 09 四月 2025 15:11:26 +0800 Subject: [PATCH] 更新SVG图标样式,优化灌溉计划和取水口页面逻辑,添加状态处理和信息提示功能;调整界面样式,提升用户体验。 --- pages/irrigationDetail/irrigationDetail.js | 170 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 132 insertions(+), 38 deletions(-) diff --git a/pages/irrigationDetail/irrigationDetail.js b/pages/irrigationDetail/irrigationDetail.js index 5012c84..597a4c7 100644 --- a/pages/irrigationDetail/irrigationDetail.js +++ b/pages/irrigationDetail/irrigationDetail.js @@ -4,52 +4,144 @@ */ data: { planCode: '', + projectName: '', startTime: '', + stopTime: '', isRefreshing: false, - projects: [] + groupList: [], + planId: '', + planStatusText: '', + planStatusClass: '' }, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 */ onLoad: function (options) { - // 妯℃嫙鏁版嵁 + if (options.planId) { + this.setData({ + planId: options.planId + }); + this.fetchIrrigationData(options.planId); + } else { + wx.showToast({ + title: '缂哄皯璁″垝ID', + icon: 'none' + }); + setTimeout(() => { + wx.navigateBack(); + }, 1500); + } + }, + + /** + * 鑾峰彇鐏屾簤璁″垝鏁版嵁 + */ + fetchIrrigationData: function(planId) { + const { get } = require('../../api/request'); + + const data = { + planId: planId || this.data.planId, + }; + + get({ + url: 'wx/plan/getPublishResults', + isShowLoding: true, + useParams: true, + data: data + }).then(res => { + if (res.success) { + this.processIrrigationData(res.content); + } else { + wx.showToast({ + title: res.msg || '鑾峰彇鏁版嵁澶辫触', + icon: 'none' + }); + } + }).catch(err => { + console.error('璇锋眰澶辫触锛�', err); + wx.showToast({ + title: '璇锋眰澶辫触', + icon: 'none' + }); + }); + }, + + /** + * 澶勭悊鎺ュ彛杩斿洖鐨勬暟鎹� + */ + processIrrigationData: function(data) { + console.log('鐏屾簤璁″垝璇︽儏鏁版嵁锛�', data); + + // 澶勭悊杞亴缁勭姸鎬� + const statusMap = { + 2: {status: 'pending', statusText: '鏈紑濮�'}, + 3: {status: 'in_progress', statusText: '鐏屾簤涓�'}, + 4: {status: 'completed', statusText: '宸茬粨鏉�'} + }; + + // 澶勭悊璁″垝鐘舵�� + let planStatusText = ''; + let planStatusClass = ''; + + // 鏍规嵁璁″垝鐨勭姸鎬佽缃笉鍚岀殑鏂囨湰鍜屾牱寮� + // 娉ㄦ剰锛氭帴鍙h繑鍥炵殑鏄痵tate鑰屼笉鏄痯lanState + console.log('璁″垝鐘舵�佸�硷細', data.state, '绫诲瀷锛�', typeof data.state); + + // 纭繚state鏄暟瀛楃被鍨� + const planState = parseInt(data.state); + + switch(planState) { + case 1: + planStatusText = '鑽夌'; + planStatusClass = 'draft'; + break; + case 2: + planStatusText = '鏈墽琛�'; + planStatusClass = 'published'; + break; + case 3: + planStatusText = '鎵ц涓�'; + planStatusClass = 'executing'; + break; + case 4: + planStatusText = '宸插畬鎴�'; + planStatusClass = 'completed'; + break; + case 5: + planStatusText = '宸茬粓姝�'; + planStatusClass = 'terminated'; + break; + default: + planStatusText = '鏈煡鐘舵��'; + planStatusClass = 'draft'; + console.log('鏈瘑鍒殑璁″垝鐘舵�佸�硷細', planState); + } + + // 杞崲鏁版嵁鏍煎紡 + const groupList = data.groups.map(group => { + const statusInfo = statusMap[group.state] || {status: 'unknown', statusText: '鏈煡鐘舵��'}; + + return { + id: group.groupId, + name: group.groupCode, + status: statusInfo.status, + statusText: statusInfo.statusText, + startTime: group.startTime, + endTime: group.stopTime, + duration: group.duration, + publishResult: group.publishResult || [] + }; + }); + this.setData({ - planCode: 'IRR-2024-001', - startTime: '2024-03-20 08:00', - projects: [{ - id: 1, - name: '绀轰緥椤圭洰', - groups: [ - { - id: 1, - name: '杞亴缁�1', - status: 'pending', - statusText: '寰呯亴婧�', - startTime: '08:00', - endTime: '09:00', - duration: 60 - }, - { - id: 2, - name: '杞亴缁�2', - status: 'in_progress', - statusText: '鐏屾簤涓�', - startTime: '09:00', - endTime: '10:00', - duration: 60 - }, - { - id: 3, - name: '杞亴缁�3', - status: 'completed', - statusText: '宸插畬鎴�', - startTime: '10:00', - endTime: '11:00', - duration: 60 - } - ] - }] + planCode: data.planName, + projectName: data.projectName, + startTime: data.planStartTime, + stopTime: data.planStopTime, + groupList: groupList, + planStatusText: planStatusText, + planStatusClass: planStatusClass }); }, @@ -89,7 +181,9 @@ isRefreshing: true }); - // 妯℃嫙鍒锋柊鏁版嵁 + this.fetchIrrigationData(this.data.planId); + + // 瀹屾垚鍒锋柊 setTimeout(() => { this.setData({ isRefreshing: false -- Gitblit v1.8.0