| | |
| | | * 页面的初始数据 |
| | | */ |
| | | 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请求延迟 |
| | | 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 () { |