|  |  |  | 
|---|
|  |  |  | // 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 => ({ | 
|---|
|  |  |  | id: item.planId, | 
|---|
|  |  |  | title: item.planName, | 
|---|
|  |  |  | projectName: item.projectName || '未分配项目', | 
|---|
|  |  |  | status: item.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 => ({ | 
|---|
|  |  |  | id: item.planId, | 
|---|
|  |  |  | title: item.planName, | 
|---|
|  |  |  | projectName: item.projectName || '未分配项目', | 
|---|
|  |  |  | status: item.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 | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 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(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|