| | |
| | | planId: '', |
| | | planStatusText: '', |
| | | planStatusClass: '', |
| | | failureCount: 0 |
| | | failureCount: 0, |
| | | realStopTime: '', |
| | | originalStatus: '', |
| | | currentStatus: null |
| | | }, |
| | | |
| | | /** |
| | |
| | | this.setData({ |
| | | planId: options.planId |
| | | }); |
| | | this.fetchIrrigationData(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', |
| | |
| | | }, |
| | | |
| | | /** |
| | | * 获取灌溉计划数据 |
| | | * 获取常规灌溉计划详细数据 |
| | | */ |
| | | fetchIrrigationData: function(planId) { |
| | | fetchNormalIrrigationData: function(planId) { |
| | | const { get } = require('../../api/request'); |
| | | |
| | | const data = { |
| | |
| | | }, |
| | | |
| | | /** |
| | | * 获取已终止灌溉计划详细数据 |
| | | */ |
| | | 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) { |
| | |
| | | const statusMap = { |
| | | 2: {status: 'pending', statusText: '未开始'}, |
| | | 3: {status: 'in_progress', statusText: '灌溉中'}, |
| | | 4: {status: 'completed', statusText: '已结束'} |
| | | 4: {status: 'completed', statusText: '已结束'}, |
| | | 5: {status: 'terminated', statusText: '中途关阀'}, |
| | | 6: {status: 'canceled', statusText: '取消开阀'} |
| | | }; |
| | | |
| | | // 处理计划状态 |
| | |
| | | projectName: data.projectName, |
| | | startTime: data.planStartTime, |
| | | stopTime: data.planStopTime, |
| | | realStopTime: data.realStopTime || '', |
| | | groupList: groupList, |
| | | planStatusText: planStatusText, |
| | | planStatusClass: planStatusClass, |
| | |
| | | isRefreshing: true |
| | | }); |
| | | |
| | | this.fetchIrrigationData(this.data.planId); |
| | | // 获取最新状态并刷新数据 |
| | | 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' |
| | | }); |
| | | } |
| | | |
| | | // 完成刷新 |
| | | setTimeout(() => { |
| | | this.setData({ |
| | | isRefreshing: false |
| | | }); |
| | | }, 1000); |
| | | }).catch(err => { |
| | | console.error('获取状态失败:', err); |
| | | wx.showToast({ |
| | | title: '获取状态失败', |
| | | icon: 'none' |
| | | }); |
| | | this.setData({ |
| | | isRefreshing: false |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | /** |