| | |
| | | // pages/irrigation/irrigation.js |
| | | const { get, post } = require('../../api/request'); |
| | | const app = getApp(); |
| | | |
| | | Page({ |
| | | /** |
| | | * 页面的初始数据 |
| | |
| | | completedList: [], // 已完成的轮灌列表 |
| | | currentList: [], // 当前显示的列表 |
| | | isRefreshing: false, // 是否正在刷新 |
| | | isWXRefreshing: false // 微信原生下拉刷新状态 |
| | | isWXRefreshing: false, // 微信原生下拉刷新状态 |
| | | projectId: null // Added to store projectId |
| | | }, |
| | | |
| | | /** |
| | | * 生命周期函数--监听页面加载 |
| | | */ |
| | | onLoad: function (options) { |
| | | // 获取项目ID |
| | | if (options.projectId) { |
| | | this.setData({ |
| | | projectId: options.projectId |
| | | }); |
| | | } |
| | | this.loadIrrigationData(); |
| | | this.loadCompletedIrrigationData(); |
| | | }, |
| | | |
| | | /** |
| | |
| | | */ |
| | | onShow: function () { |
| | | this.loadIrrigationData(); |
| | | this.loadCompletedIrrigationData(); |
| | | }, |
| | | |
| | | /** |
| | | * 加载轮灌数据 |
| | | */ |
| | | loadIrrigationData: function () { |
| | | // 这里应该调用API获取数据 |
| | | // 模拟数据 |
| | | const mockData = { |
| | | activeList: [ |
| | | { |
| | | id: '1', |
| | | title: 'LG-2023-001', |
| | | status: '未发布', |
| | | irrigationTime: '2023-05-20 08:00 - 17:00' |
| | | }, |
| | | { |
| | | id: '2', |
| | | title: 'LG-2023-002', |
| | | status: '已发布', |
| | | irrigationTime: '2023-05-22 09:00 - 18:00' |
| | | }, |
| | | { |
| | | id: '2', |
| | | title: 'LG-2023-002', |
| | | status: '已发布', |
| | | irrigationTime: '2023-05-22 09:00 - 18:00' |
| | | }, { |
| | | id: '2', |
| | | title: 'LG-2023-002', |
| | | status: '已发布', |
| | | irrigationTime: '2023-05-22 09:00 - 18:00' |
| | | }, { |
| | | id: '2', |
| | | title: 'LG-2023-002', |
| | | status: '已发布', |
| | | irrigationTime: '2023-05-22 09:00 - 18:00' |
| | | }, |
| | | { |
| | | id: '3', |
| | | title: 'LG-2023-003', |
| | | status: '执行中', |
| | | irrigationTime: '2023-05-18 07:30 - 16:30', |
| | | irrigatedTime: '3小时25分钟', |
| | | irrigatedGroups: '1组、2组、3组' |
| | | }, { |
| | | id: '2', |
| | | title: 'LG-2023-002', |
| | | status: '已发布', |
| | | irrigationTime: '2023-05-22 09:00 - 18:00' |
| | | }, |
| | | { |
| | | id: '3', |
| | | title: 'LG-2023-003', |
| | | status: '执行中', |
| | | irrigationTime: '2023-05-18 07:30 - 16:30', |
| | | irrigatedTime: '3小时25分钟', |
| | | irrigatedGroups: '1组、2组、3组' |
| | | }, { |
| | | id: '2', |
| | | title: 'LG-2023-002', |
| | | status: '已发布', |
| | | irrigationTime: '2023-05-22 09:00 - 18:00' |
| | | }, |
| | | { |
| | | id: '3', |
| | | title: 'LG-2023-003', |
| | | status: '执行中', |
| | | irrigationTime: '2023-05-18 07:30 - 16:30', |
| | | irrigatedTime: '3小时25分钟', |
| | | irrigatedGroups: '1组、2组、3组' |
| | | } |
| | | |
| | | ] |
| | | // completedList: [ |
| | | // { |
| | | // id: '4', |
| | | // title: 'LG-2023-004', |
| | | // status: '已完成', |
| | | // irrigationTime: '2023-05-10 10:00 - 19:00' |
| | | // } |
| | | // ] |
| | | }; |
| | | get({ |
| | | url: '/wx/plan/getNotCompletePlans' |
| | | }).then(res => { |
| | | if (res.success) { |
| | | const activeList = res.content.map(item => { |
| | | // 确保将planState转换为字符串 |
| | | const planState = String(item.planState); |
| | | return { |
| | | id: item.planId, |
| | | title: item.planName, |
| | | projectName: item.projectName || '未分配项目', |
| | | status: planState, |
| | | planStartTime: item.planStartTime, |
| | | planStopTime: item.planStopTime, |
| | | duration: item.duration, |
| | | startupMode: item.startupMode |
| | | }; |
| | | }); |
| | | |
| | | // 模拟网络请求延迟 |
| | | setTimeout(() => { |
| | | this.setData({ |
| | | activeList: mockData.activeList || [], |
| | | completedList: mockData.completedList || [], |
| | | currentList: this.data.currentTab === 0 ? mockData.activeList || [] : mockData.completedList || [], |
| | | isRefreshing: false, // 结束刷新状态 |
| | | isWXRefreshing: false // 结束微信原生下拉刷新状态 |
| | | console.log('轮灌计划数据:', activeList); |
| | | |
| | | this.setData({ |
| | | activeList: activeList, |
| | | currentList: this.data.currentTab === 0 ? activeList : this.data.completedList, |
| | | isRefreshing: false, |
| | | isWXRefreshing: false |
| | | }); |
| | | } else { |
| | | wx.showToast({ |
| | | title: res.msg || '加载失败', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }).catch(err => { |
| | | wx.showToast({ |
| | | title: '加载失败', |
| | | icon: 'none' |
| | | }); |
| | | }, 1000); |
| | | this.setData({ |
| | | isRefreshing: false, |
| | | isWXRefreshing: false |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 加载已完成的轮灌数据 |
| | | */ |
| | | loadCompletedIrrigationData: function () { |
| | | get({ |
| | | url: '/wx/plan/getCompletedPlans' |
| | | }).then(res => { |
| | | if (res.success) { |
| | | const completedList = res.content.map(item => { |
| | | // 确保将planState转换为字符串 |
| | | const planState = String(item.planState); |
| | | return { |
| | | id: item.planId, |
| | | title: item.planName, |
| | | projectName: item.projectName || '未分配项目', |
| | | status: planState, |
| | | planStartTime: item.planStartTime, |
| | | planStopTime: item.planStopTime, |
| | | duration: item.duration, |
| | | startupMode: item.startupMode |
| | | }; |
| | | }); |
| | | |
| | | console.log('已完成轮灌计划数据:', completedList); |
| | | |
| | | this.setData({ |
| | | completedList: completedList, |
| | | currentList: this.data.currentTab === 1 ? completedList : this.data.activeList, |
| | | isRefreshing: false, |
| | | isWXRefreshing: false |
| | | }); |
| | | } else { |
| | | wx.showToast({ |
| | | title: res.msg || '加载失败', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }).catch(err => { |
| | | wx.showToast({ |
| | | title: '加载失败', |
| | | icon: 'none' |
| | | }); |
| | | this.setData({ |
| | | isRefreshing: false, |
| | | isWXRefreshing: false |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | |
| | | const id = e.currentTarget.dataset.id; |
| | | const status = e.currentTarget.dataset.status; |
| | | |
| | | console.log('点击项目状态:', status, '类型:', typeof status); |
| | | |
| | | // 判断计划状态,如果是1(未发布),则提示用户 |
| | | if (status === '1' || status === 1) { |
| | | wx.showModal({ |
| | | title: '提示', |
| | | content: '当前计划未发布,请发布后查看', |
| | | showCancel: false, |
| | | confirmText: '确认' |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // 导航到灌溉详情页面,并传递参数 |
| | | wx.navigateTo({ |
| | | url: `/pages/irrigationDetail/irrigationDetail?id=${id}&fromList=true` |
| | | url: `/pages/irrigationDetail/irrigationDetail?planId=${id}&fromList=true` |
| | | }); |
| | | }, |
| | | |
| | |
| | | content: '确定要发布该轮灌计划吗?', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | // 这里应该调用API发布轮灌计划 |
| | | wx.showToast({ |
| | | title: '发布成功', |
| | | icon: 'success' |
| | | // 调用发布接口 |
| | | post({ |
| | | url: '/wx/plan/publishPlan', |
| | | data: { |
| | | planId: id, |
| | | operatorId: app.globalData.clientId |
| | | }, |
| | | isShowLoding: true |
| | | }).then(res => { |
| | | if (res.success) { |
| | | wx.showToast({ |
| | | title: '发布成功', |
| | | icon: 'success' |
| | | }); |
| | | // 刷新数据 |
| | | this.loadIrrigationData(); |
| | | } else { |
| | | wx.showToast({ |
| | | title: res.msg || '发布失败', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }).catch(err => { |
| | | console.error('发布失败:', err); |
| | | wx.showToast({ |
| | | title: '发布失败', |
| | | icon: 'none' |
| | | }); |
| | | }); |
| | | // 刷新数据 |
| | | this.loadIrrigationData(); |
| | | } |
| | | } |
| | | }); |
| | |
| | | content: '确定要终止该轮灌计划吗?', |
| | | success: (res) => { |
| | | if (res.confirm) { |
| | | // 这里应该调用API终止轮灌计划 |
| | | wx.showToast({ |
| | | title: '已终止', |
| | | icon: 'success' |
| | | }); |
| | | // 刷新数据 |
| | | this.loadIrrigationData(); |
| | | this.postStop(id) |
| | | } |
| | | } |
| | | }); |
| | | }, |
| | | //终止轮灌计划 |
| | | postStop(planID){ |
| | | post({ |
| | | url: '/wx/plan/terminatePlan', |
| | | data: { |
| | | planId: planID, |
| | | operatorId: app.globalData.clientId |
| | | }, |
| | | isShowLoding: true |
| | | }).then(res => { |
| | | if (res.success) { |
| | | wx.showToast({ |
| | | title: '终止成功', |
| | | icon: 'success' |
| | | }); |
| | | // 刷新数据 |
| | | this.loadIrrigationData(); |
| | | } else { |
| | | wx.showToast({ |
| | | title: res.msg || '终止失败', |
| | | icon: 'none' |
| | | }); |
| | | } |
| | | }).catch(err => { |
| | | console.error('终止失败:', err); |
| | | wx.showToast({ |
| | | title: '终止失败', |
| | | icon: 'none' |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | /** |
| | | * 点击立即执行按钮 |
| | |
| | | */ |
| | | onAddIrrigation: function () { |
| | | wx.navigateTo({ |
| | | url: '/pages/createIrrigation/createIrrigation' |
| | | url: '/pages/createIrrigation/createIrrigation?projectId=' + this.data.projectId |
| | | }); |
| | | }, |
| | | |
| | |
| | | isRefreshing: true |
| | | }); |
| | | this.loadIrrigationData(); |
| | | this.loadCompletedIrrigationData(); |
| | | } |
| | | }, |
| | | |
| | |
| | | isWXRefreshing: true |
| | | }); |
| | | this.loadIrrigationData(); |
| | | this.loadCompletedIrrigationData(); |
| | | } |
| | | }) |