| | |
| | | */ |
| | | 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 = ''; |
| | | |
| | | // 根据计划的状态设置不同的文本和样式 |
| | | // 注意:接口返回的是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: '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 |
| | | }); |
| | | }, |
| | | |
| | |
| | | isRefreshing: true |
| | | }); |
| | | |
| | | // 模拟刷新数据 |
| | | this.fetchIrrigationData(this.data.planId); |
| | | |
| | | // 完成刷新 |
| | | setTimeout(() => { |
| | | this.setData({ |
| | | isRefreshing: false |