|  |  |  | 
|---|
|  |  |  | const app = getApp(); | 
|---|
|  |  |  | const { get } = require('../../api/request'); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Page({ | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 页面的初始数据 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | wx.setNavigationBarTitle({ | 
|---|
|  |  |  | title: this.data.groupName || '轮灌组详情' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | console.log('设置后的数据:', this.data); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 获取阀控器列表 | 
|---|
|  |  |  | this.fetchValveList(); | 
|---|
|  |  |  | this.loadWaterOutletData(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取阀控器列表 | 
|---|
|  |  |  | * 加载取水口数据 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | fetchValveList: function () { | 
|---|
|  |  |  | this.setData({ loading: true }); | 
|---|
|  |  |  | loadWaterOutletData: function() { | 
|---|
|  |  |  | this.setData({ | 
|---|
|  |  |  | refreshing: true | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 这里应该是实际的API请求 | 
|---|
|  |  |  | // 模拟API请求延迟 | 
|---|
|  |  |  | setTimeout(() => { | 
|---|
|  |  |  | this.setData({ loading: false }); | 
|---|
|  |  |  | // 实际数据已在data中初始化,这里只是模拟请求完成 | 
|---|
|  |  |  | }, 1000); | 
|---|
|  |  |  | get({ | 
|---|
|  |  |  | url: '/wx/irrigation/getGroupDetails', | 
|---|
|  |  |  | data: { | 
|---|
|  |  |  | groupId: this.data.groupId | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | isShowLoding: true | 
|---|
|  |  |  | }).then(res => { | 
|---|
|  |  |  | console.log('轮灌组详情接口返回:', res); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (res.success) { | 
|---|
|  |  |  | this.handleGroupDetailsResponse(res); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | wx.showToast({ | 
|---|
|  |  |  | title: res.msg || '获取数据失败', | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.setData({ | 
|---|
|  |  |  | refreshing: false | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }).catch(err => { | 
|---|
|  |  |  | console.error('请求失败:', err); | 
|---|
|  |  |  | wx.showToast({ | 
|---|
|  |  |  | title: '网络错误', | 
|---|
|  |  |  | icon: 'none' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | this.setData({ | 
|---|
|  |  |  | refreshing: false | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 处理轮灌组详情响应数据 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | handleGroupDetailsResponse: function(response) { | 
|---|
|  |  |  | const data = response.content; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 实际API请求示例 | 
|---|
|  |  |  | // wx.request({ | 
|---|
|  |  |  | //   url: 'your-api-url', | 
|---|
|  |  |  | //   data: { | 
|---|
|  |  |  | //     projectId: this.data.projectId, | 
|---|
|  |  |  | //     groupId: this.data.groupId | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   success: (res) => { | 
|---|
|  |  |  | //     this.setData({ | 
|---|
|  |  |  | //       valveList: res.data, | 
|---|
|  |  |  | //       loading: false | 
|---|
|  |  |  | //     }); | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | //   fail: () => { | 
|---|
|  |  |  | //     this.setData({ loading: false }); | 
|---|
|  |  |  | //     wx.showToast({ | 
|---|
|  |  |  | //       title: '获取数据失败', | 
|---|
|  |  |  | //       icon: 'none' | 
|---|
|  |  |  | //     }); | 
|---|
|  |  |  | //   } | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | // 处理取水口数据 | 
|---|
|  |  |  | const waterOutletList = data.intakes.map(item => { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | id: item.rtuAddr, // 使用rtuAddr作为ID | 
|---|
|  |  |  | name: item.intakeName, | 
|---|
|  |  |  | rtuAddr: item.rtuAddr, | 
|---|
|  |  |  | status: item.isOnLine ? 'online' : 'offline' | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.setData({ | 
|---|
|  |  |  | projectName: data.projectName || this.data.projectName, | 
|---|
|  |  |  | groupName: data.groupName || this.data.groupName, | 
|---|
|  |  |  | waterOutletList: waterOutletList, | 
|---|
|  |  |  | refreshing: false | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | console.log('设置取水口数据完成:', this.data.waterOutletList); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 下拉刷新处理函数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onRefresh: function() { | 
|---|
|  |  |  | this.loadWaterOutletData(); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生命周期函数--监听页面初次渲染完成 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onReady: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生命周期函数--监听页面显示 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onShow: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生命周期函数--监听页面隐藏 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onHide: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 生命周期函数--监听页面卸载 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onUnload: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 页面相关事件处理函数--监听用户下拉动作 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onPullDownRefresh: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 页面上拉触底事件的处理函数 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onReachBottom: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 用户点击右上角分享 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | onShareAppMessage: function () { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | }, | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|