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