Page({ /** * 页面的初始数据 */ data: { planCode: '', projectName: '', startTime: '', stopTime: '', isRefreshing: false, 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 = ''; // 根据计划的状态设置不同的文本和样式 // 注意:接口返回的是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, groupList: groupList, planStatusText: planStatusText, planStatusClass: planStatusClass }); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 下拉刷新处理函数 */ onPullDownRefresh: function () { this.setData({ isRefreshing: true }); this.fetchIrrigationData(this.data.planId); // 完成刷新 setTimeout(() => { this.setData({ isRefreshing: false }); }, 1000); }, /** * 页面上拉触底事件的处理函数 */ 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}` }); } })