管灌系统农户端微信小程序(嘉峪关应用)
zuoxiao
2024-07-04 c6ad105d1b743bcfd8aa6ee2781d39039f319a87
pages/waterIntake/waterIntake.js
@@ -1,11 +1,24 @@
// pages/waterIntake/waterIntake.js
const {
  get,
  post
} = require('../../api/request.js');
Page({
  data: {
    currentTab: 0, // 当前显示的表格,默认为第一个表格
    commonWaterPoints: [ "常用取水口2", "常用取水口3"], // 常用取水口数据
    allWaterPoints: ["所有取水口1", "所有取水口2", "所有取水口3"], // 所有取水口数据
    searchQuery: "",
    commonWaterPoints: [], // 常用取水口数据
    allWaterPoints: [], // 所有取水口数据
    isRefreshing_all: false,
    isRefreshing_common: false,
    showConfirm: false,
    waterIntakeName: "",
    choseItem: null,
    errorData: '', //错误内容
    showErrorDialog: false,
    confirmBtn: {
      content: '确认'
    },
  },
  // 切换 Tabs
@@ -15,19 +28,18 @@
      currentTab: tab
    });
  },
  onSearch: function() {
  onInput(e) {
    this.setData({
      searchQuery: e.detail.value // 将输入框的值存储到 inputValue
    });
  },
  onSearch: function () {
    const query = this.data.searchQuery;
    if (query) {
      wx.showToast({
        title: '搜索: ' + query,
        icon: 'success'
      });
      this.getallWaterPoints(query)
      // 在这里进行搜索操作,更新 allWaterPoints 数据
    } else {
      wx.showToast({
        title: '请输入搜索内容',
        icon: 'none'
      });
      this.getallWaterPoints(query)
    }
  },
@@ -35,12 +47,57 @@
   * 选择虚拟卡
   * @param {} event 
   */
  choseCard(event){
    wx.navigateTo({
      url: '/pages/openCard/openCard',
  choseCard(event) {
    this.setData({
      showConfirm: true,
      choseItem: event.currentTarget.dataset.item
    })
  },
    //  console.log(intakeId);
    //   wx.navigateTo({
    //     url: '/pages/openCard/openCard?intakeId='+intakeId,
    //   })
  },
  //开泵通信
  postOpenValva(intakeId) {
    wx.showLoading({
      title: '正在开阀请稍候...', // 加载提示文字
      mask: true // 是否显示透明蒙层,防止触摸穿透,默认为 false
    });
    const app = getApp();
    const data = {
      intakeId: intakeId, //取水口ID
      // vcId: vcId, //虚拟卡ID
      operator: app.globalData.sessionId //操作员
    };
    post({
      url: "wx/valve/open_wx",
      data: data,
      timeout: 180000
    }).then(response => {
      // 处理成功响应
      console.log('请求成功:', response);
      // 加载完成后隐藏加载动画
      wx.hideLoading();
      //完成后回到首页
      wx.reLaunch({
        url: '/pages/home/home?param=true' // 首页的路径,根据实际情况填写
      });
    }).catch(error => {
      // 加载完成后隐藏加载动画
      wx.hideLoading();
      // 处理错误响应
      console.error('请求失败:', error);
      this.setData({
        showErrorDialog: true,
        errorData: error.msg
      })
    });
  },
  /**
   * 生命周期函数--监听页面加载
@@ -53,7 +110,8 @@
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    this.getallWaterPoints();
    this.getcommonWaterPoints();
  },
  /**
@@ -77,12 +135,8 @@
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },
  /**
   * 页面上拉触底事件的处理函数
@@ -96,5 +150,105 @@
   */
  onShareAppMessage() {
  },
  /**
   * 获取所有取水口
   */
  getallWaterPoints: function (intakeNum) {
    let params = {
      url: 'wx/intake/all_intakes'
    };
    if (intakeNum) {
      params.data = {
        intakeNum: intakeNum
      };
    }
    get(params)
      .then((data) => {
        this.setData({
          isRefreshing_all: false
        });
        if (data.success && data.code === "0001") {
          this.setData({
            allWaterPoints: data.content.obj
          });
        } else {
          wx.showToast({
            title: data.msg,
          })
        }
        console.log('Failed to add item:');
      })
      .catch((error) => {
        this.setData({
          isRefreshing_all: false
        });
        wx.showToast({
          title: error.msg,
          icon: 'error',
          duration: 3000 // 提示的持续时间,单位毫秒
        })
        console.error('Failed to add item:', error);
      });
  },
  //获取常用取水口
  getcommonWaterPoints() {
    get({
        url: 'wx/intake/used_intakes',
        data: {
          operator: getApp().globalData.sessionId
        }
      })
      .then((data) => {
        this.setData({
          isRefreshing_common: false
        });
        if (data.success && data.code === "0001") {
          this.setData({
            commonWaterPoints: data.content
          });
        } else {
          wx.showToast({
            title: data.msg,
          })
        }
        console.log('Failed to add item:');
      })
      .catch((error) => {
        this.setData({
          isRefreshing_common: false
        });
        wx.showToast({
          title: error.msg,
          icon: 'error',
          duration: 3000 // 提示的持续时间,单位毫秒
        })
        console.error('Failed to add item:', error);
      });
  },
  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh_all() {
    this.getallWaterPoints();
  },
  onPullDownRefresh_common() {
    this.getcommonWaterPoints();
  },
  confirmDialog() {
    this.setData({
      showConfirm: false
    })
    this.postOpenValva(this.data.choseItem.intakeId);
  },
  closeDialog() {
    this.setData({
      showConfirm: false
    })
  },
  closeErrorDialog() {
    this.setData({
      showErrorDialog: false
    })
  }
})