| Page({ | 
|   /** | 
|    * 页面的初始数据 | 
|    */ | 
|   data: { | 
|     planCode: '', | 
|     projectName: '', | 
|     startTime: '', | 
|     stopTime: '', | 
|     isRefreshing: false, | 
|     groupList: [], | 
|     planId: '', | 
|     planStatusText: '', | 
|     planStatusClass: '', | 
|     failureCount: 0, | 
|     realStopTime: '', | 
|     originalStatus: '', | 
|     currentStatus: null | 
|   }, | 
|   | 
|   /** | 
|    * 生命周期函数--监听页面加载 | 
|    */ | 
|   onLoad: function (options) { | 
|     if (options.planId) { | 
|       this.setData({ | 
|         planId: options.planId | 
|       }); | 
|        | 
|       // 获取最新状态 | 
|       this.fetchPlanLatestState(options.planId).then(res => { | 
|         if (res.success) { | 
|           const currentStatus = res.content; | 
|           this.setData({ | 
|             currentStatus: currentStatus, | 
|             originalStatus: currentStatus | 
|           }); | 
|            | 
|           // 根据最新状态调用相应的接口 | 
|           if (currentStatus === 5) { | 
|             this.fetchTerminatedIrrigationData(options.planId); | 
|           } else { | 
|             this.fetchNormalIrrigationData(options.planId); | 
|           } | 
|         } else { | 
|           wx.showToast({ | 
|             title: res.msg || '获取状态失败', | 
|             icon: 'none' | 
|           }); | 
|         } | 
|       }).catch(err => { | 
|         console.error('获取状态失败:', err); | 
|         wx.showToast({ | 
|           title: '获取状态失败', | 
|           icon: 'none' | 
|         }); | 
|       }); | 
|     } else { | 
|       wx.showToast({ | 
|         title: '缺少计划ID', | 
|         icon: 'none' | 
|       }); | 
|       setTimeout(() => { | 
|         wx.navigateBack(); | 
|       }, 1500); | 
|     } | 
|   }, | 
|   | 
|   /** | 
|    * 获取常规灌溉计划详细数据 | 
|    */ | 
|   fetchNormalIrrigationData: 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' | 
|       }); | 
|     }); | 
|   }, | 
|   | 
|   /** | 
|    * 获取已终止灌溉计划详细数据 | 
|    */ | 
|   fetchTerminatedIrrigationData: function(planId) { | 
|     const { get } = require('../../api/request'); | 
|      | 
|     const data = { | 
|       planId: planId || this.data.planId, | 
|     }; | 
|      | 
|     get({ | 
|       url: 'wx/plan/getTerminateResults', | 
|       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' | 
|       }); | 
|     }); | 
|   }, | 
|   | 
|   /** | 
|    * 获取计划最新状态 | 
|    */ | 
|   fetchPlanLatestState: function(planId) { | 
|     const { get } = require('../../api/request'); | 
|      | 
|     const data = { | 
|       planId: planId || this.data.planId, | 
|     }; | 
|      | 
|     return get({ | 
|       url: 'wx/plan/getPlanLatestState', | 
|       isShowLoding: true, | 
|       useParams: true, | 
|       data: data | 
|     }); | 
|   }, | 
|   | 
|   /** | 
|    * 处理接口返回的数据 | 
|    */ | 
|   processIrrigationData: function(data) { | 
|     console.log('灌溉计划详情数据:', data); | 
|      | 
|     // 处理轮灌组状态 | 
|     const statusMap = { | 
|       2: {status: 'pending', statusText: '未开始'}, | 
|       3: {status: 'in_progress', statusText: '灌溉中'}, | 
|       4: {status: 'completed', statusText: '已结束'}, | 
|       5: {status: 'terminated', statusText: '中途关阀'}, | 
|       6: {status: 'canceled', statusText: '取消开阀'} | 
|     }; | 
|   | 
|     // 处理计划状态 | 
|     let planStatusText = ''; | 
|     let planStatusClass = ''; | 
|      | 
|     // 根据计划的状态设置不同的文本和样式 | 
|     // 注意:接口返回的是state而不是planState | 
|     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: data.planName, | 
|       projectName: data.projectName, | 
|       startTime: data.planStartTime, | 
|       stopTime: data.planStopTime, | 
|       realStopTime: data.realStopTime || '', | 
|       groupList: groupList, | 
|       planStatusText: planStatusText, | 
|       planStatusClass: planStatusClass, | 
|       failureCount: data.failureCount || 0 | 
|     }); | 
|   }, | 
|   | 
|   /** | 
|    * 生命周期函数--监听页面初次渲染完成 | 
|    */ | 
|   onReady: function () { | 
|   | 
|   }, | 
|   | 
|   /** | 
|    * 生命周期函数--监听页面显示 | 
|    */ | 
|   onShow: function () { | 
|   | 
|   }, | 
|   | 
|   /** | 
|    * 生命周期函数--监听页面隐藏 | 
|    */ | 
|   onHide: function () { | 
|   | 
|   }, | 
|   | 
|   /** | 
|    * 生命周期函数--监听页面卸载 | 
|    */ | 
|   onUnload: function () { | 
|   | 
|   }, | 
|   | 
|   /** | 
|    * 下拉刷新处理函数 | 
|    */ | 
|   onPullDownRefresh: function () { | 
|     this.setData({ | 
|       isRefreshing: true | 
|     }); | 
|      | 
|     // 获取最新状态并刷新数据 | 
|     this.fetchPlanLatestState(this.data.planId).then(res => { | 
|       if (res.success) { | 
|         const currentStatus = res.content; | 
|         this.setData({ | 
|           currentStatus: currentStatus | 
|         }); | 
|          | 
|         if (currentStatus === 5) { | 
|           this.fetchTerminatedIrrigationData(this.data.planId); | 
|         } else { | 
|           this.fetchNormalIrrigationData(this.data.planId); | 
|         } | 
|       } else { | 
|         wx.showToast({ | 
|           title: res.msg || '获取状态失败', | 
|           icon: 'none' | 
|         }); | 
|       } | 
|        | 
|       // 完成刷新 | 
|       this.setData({ | 
|         isRefreshing: false | 
|       }); | 
|     }).catch(err => { | 
|       console.error('获取状态失败:', err); | 
|       wx.showToast({ | 
|         title: '获取状态失败', | 
|         icon: 'none' | 
|       }); | 
|       this.setData({ | 
|         isRefreshing: false | 
|       }); | 
|     }); | 
|   }, | 
|   | 
|   /** | 
|    * 页面上拉触底事件的处理函数 | 
|    */ | 
|   onReachBottom: function () { | 
|   | 
|   }, | 
|   | 
|   /** | 
|    * 用户点击右上角分享 | 
|    */ | 
|   onShareAppMessage: function () { | 
|   | 
|   }, | 
|   | 
|   /** | 
|    * 导航到轮灌组详情页面 | 
|    */ | 
|   navigateToGroupDetail: function (e) { | 
|     const { projectName, groupName, groupId, status } = e.currentTarget.dataset; | 
|     wx.navigateTo({ | 
|       url: `/pages/groupDetail/groupDetail?projectName=${projectName}&groupName=${groupName}&groupId=${groupId}&status=${status}` | 
|     }); | 
|   } | 
| })  |