|  |  |  | 
|---|
|  |  |  | * 页面的初始数据 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | projectId: '', | 
|---|
|  |  |  | projectName: '', | 
|---|
|  |  |  | groupId: '', | 
|---|
|  |  |  | groupName: '', | 
|---|
|  |  |  | valveList: [ | 
|---|
|  |  |  | // 模拟数据,实际应从API获取 | 
|---|
|  |  |  | { id: '1', name: '阀控器1', status: 'online', location: '位置A' }, | 
|---|
|  |  |  | { id: '2', name: '阀控器2', status: 'offline', location: '位置B' }, | 
|---|
|  |  |  | { id: '3', name: '阀控器3', status: 'online', location: '位置C' }, | 
|---|
|  |  |  | { id: '4', name: '阀控器4', status: 'online', location: '位置D' }, | 
|---|
|  |  |  | { id: '5', name: '阀控器5', status: 'offline', location: '位置E' } | 
|---|
|  |  |  | ], | 
|---|
|  |  |  | loading: false | 
|---|
|  |  |  | groupId: '', | 
|---|
|  |  |  | waterOutletList: [], | 
|---|
|  |  |  | refreshing: false, | 
|---|
|  |  |  | isIrrigating: false // 是否正在灌溉中 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生命周期函数--监听页面加载 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onLoad: function (options) { | 
|---|
|  |  |  | console.log('接收到的参数:', options); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (options) { | 
|---|
|  |  |  | // 直接使用传递的isIrrigating参数,而不是根据status判断 | 
|---|
|  |  |  | const isIrrigating = options.isIrrigating === 'true'; | 
|---|
|  |  |  | console.log('灌溉状态判断:', options.status, '是否正在灌溉:', isIrrigating); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 处理接收到的参数 | 
|---|
|  |  |  | this.setData({ | 
|---|
|  |  |  | projectId: options.projectId || '', | 
|---|
|  |  |  | projectName: options.projectName || '', | 
|---|
|  |  |  | groupName: options.groupName || '', | 
|---|
|  |  |  | groupId: options.groupId || '', | 
|---|
|  |  |  | groupName: options.groupName || '' | 
|---|
|  |  |  | isIrrigating: isIrrigating | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | console.log('设置后的数据:', this.data); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 设置导航栏标题 | 
|---|
|  |  |  | wx.setNavigationBarTitle({ | 
|---|
|  |  |  | title: this.data.groupName || '轮灌组详情' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取阀控器列表 | 
|---|
|  |  |  | this.fetchValveList(); | 
|---|
|  |  |  | this.loadWaterOutletData(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取阀控器列表 | 
|---|
|  |  |  | * 加载取水口数据 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | fetchValveList: function () { | 
|---|
|  |  |  | this.setData({ loading: true }); | 
|---|
|  |  |  | loadWaterOutletData: function() { | 
|---|
|  |  |  | this.setData({ | 
|---|
|  |  |  | refreshing: true | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 这里应该是实际的API请求 | 
|---|
|  |  |  | // 模拟API请求延迟 | 
|---|
|  |  |  | console.log('加载取水口数据,灌溉状态:', this.data.isIrrigating); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 模拟数据 | 
|---|
|  |  |  | let mockData = { | 
|---|
|  |  |  | waterOutlets: [] | 
|---|
|  |  |  | }; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 生成取水口数据,所有取水口都有命令状态 | 
|---|
|  |  |  | mockData.waterOutlets = [ | 
|---|
|  |  |  | { | 
|---|
|  |  |  | id: 1, | 
|---|
|  |  |  | name: '取水口 A-1', | 
|---|
|  |  |  | status: 'online', | 
|---|
|  |  |  | commandStatus: 'sent' // 命令已下发 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | id: 2, | 
|---|
|  |  |  | name: '取水口 A-2', | 
|---|
|  |  |  | status: 'online', | 
|---|
|  |  |  | commandStatus: 'unsent' // 命令未下发 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | id: 3, | 
|---|
|  |  |  | name: '取水口 A-3', | 
|---|
|  |  |  | status: 'offline', | 
|---|
|  |  |  | commandStatus: 'unsent' // 命令未下发 | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ]; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 模拟网络请求延迟 | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | this.setData({ loading: false }); | 
|---|
|  |  |  | // 实际数据已在data中初始化,这里只是模拟请求完成 | 
|---|
|  |  |  | this.setData({ | 
|---|
|  |  |  | waterOutletList: mockData.waterOutlets, | 
|---|
|  |  |  | refreshing: false | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | console.log('设置取水口数据完成:', this.data.waterOutletList); | 
|---|
|  |  |  | }, 1000); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 实际API请求示例 | 
|---|
|  |  |  | // 实际项目中应该使用wx.request获取数据 | 
|---|
|  |  |  | // wx.request({ | 
|---|
|  |  |  | //   url: 'your-api-url', | 
|---|
|  |  |  | //   data: { | 
|---|
|  |  |  | //     projectId: this.data.projectId, | 
|---|
|  |  |  | //     groupId: this.data.groupId | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   url: `https://your-api-url/groups/${this.data.groupId}/waterOutlets`, | 
|---|
|  |  |  | //   method: 'GET', | 
|---|
|  |  |  | //   success: (res) => { | 
|---|
|  |  |  | //     this.setData({ | 
|---|
|  |  |  | //       valveList: res.data, | 
|---|
|  |  |  | //       loading: false | 
|---|
|  |  |  | //     }); | 
|---|
|  |  |  | //     if (res.data && res.data.code === 0) { | 
|---|
|  |  |  | //       this.setData({ | 
|---|
|  |  |  | //         waterOutletList: res.data.data.waterOutlets, | 
|---|
|  |  |  | //         refreshing: false | 
|---|
|  |  |  | //       }); | 
|---|
|  |  |  | //     } else { | 
|---|
|  |  |  | //       wx.showToast({ | 
|---|
|  |  |  | //         title: '获取数据失败', | 
|---|
|  |  |  | //         icon: 'none' | 
|---|
|  |  |  | //       }); | 
|---|
|  |  |  | //       this.setData({ | 
|---|
|  |  |  | //         refreshing: false | 
|---|
|  |  |  | //       }); | 
|---|
|  |  |  | //     } | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   fail: () => { | 
|---|
|  |  |  | //     this.setData({ loading: false }); | 
|---|
|  |  |  | //     wx.showToast({ | 
|---|
|  |  |  | //       title: '获取数据失败', | 
|---|
|  |  |  | //       title: '网络错误', | 
|---|
|  |  |  | //       icon: 'none' | 
|---|
|  |  |  | //     }); | 
|---|
|  |  |  | //     this.setData({ | 
|---|
|  |  |  | //       refreshing: false | 
|---|
|  |  |  | //     }); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 下拉刷新处理函数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onRefresh: function() { | 
|---|
|  |  |  | this.loadWaterOutletData(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生命周期函数--监听页面初次渲染完成 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onReady: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生命周期函数--监听页面显示 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onShow: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生命周期函数--监听页面隐藏 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onHide: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生命周期函数--监听页面卸载 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onUnload: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 页面相关事件处理函数--监听用户下拉动作 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onPullDownRefresh: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 页面上拉触底事件的处理函数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onReachBottom: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 用户点击右上角分享 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onShareAppMessage: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 返回上一页 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | goBack: function () { | 
|---|