管灌系统农户端微信小程序(嘉峪关应用)
pages/groupDetail/groupDetail.js
@@ -5,79 +5,174 @@
   * 页面的初始数据
   */
  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 () {