管灌系统农户端微信小程序(嘉峪关应用)
zuoxiao
2025-03-06 91751b1b9b16c0044e16ad80c237b7275a409046
pages/openCard/openCard.js
@@ -1,69 +1,79 @@
// pages/openCard/openCard.js
// 开卡选择虚拟卡
const {
  get,
  post
} = require('../../api/request.js');
Page({
  /**
   * 页面的初始数据
   */
  data: {
    allCardPoints: [{
        id: 511111111,
        balance: '30',
        state: 1
      },
      {
        id: 411111111,
        balance: '30',
        state: 0
      },
      {
        id: 31111111111,
        balance: '30',
        state: 1
      },
      {
        id: 2,
        balance: '30',
        state: 1
      },
      {
        id: 1,
        balance: '30',
        state: 1
      },
      {
        id: 0,
        balance: '30',
        state: 1
      },
    ] // 常用取水口数据
    intakeId: 0,
    allCardPoints: [] // 所有虚拟卡
  },
  openValva(event) {
    const {
      item
    } = event.currentTarget.dataset; // 获取当前点击的 item
    if (item.state === 1) {
    if (item.inUse === 0) {
      // 在页面加载时显示加载动画
      wx.showLoading({
        title: '正在开泵请稍后...', // 加载提示文字
        title: '正在开泵请稍候...', // 加载提示文字
        mask: true // 是否显示透明蒙层,防止触摸穿透,默认为 false
      });
      // 模拟加载数据
      setTimeout(() => {
        // 加载完成后隐藏加载动画
        wx.hideLoading();
        //完成后回到首页
        wx.reLaunch({
          url: '/pages/home/home?param=true' // 首页的路径,根据实际情况填写
        });
      }, 2000); // 延时 2 秒模拟加载数据
      this.postOpenValva(item.vcId);
    }
  },
  //开泵通信
  postOpenValva(vcId) {
    const app = getApp();
    const data = {
      intakeId: this.data.intakeId, //取水口ID
      vcId: vcId, //虚拟卡ID
      operator: app.globalData.operator //操作员
    };
    post({
      url: "8087/wx/valve/open_wx",
      data: data
    }).then(response => {
      // 处理成功响应
      console.log('请求成功:', response);
      // 加载完成后隐藏加载动画
      wx.hideLoading();
      //完成后回到首页
      wx.reLaunch({
        url: '/pages/home/home?param=true' // 首页的路径,根据实际情况填写
      });
    }).catch(error => {
      // 加载完成后隐藏加载动画
      wx.hideLoading();
      // 处理错误响应
      console.error('请求失败:', error);
      if (error.code === "1002") {
        wx.showToast({
          title: '开泵失败',
          icon: 'error',
          duration: 3000 // 提示的持续时间,单位毫秒
        })
      }
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const {
      intakeId
    } = options;
    this.setData({
      intakeId
    })
    console.log('intakeId:' + this.data.intakeId);
    this.getCardList();
  },
  /**
@@ -113,5 +123,31 @@
   */
  onShareAppMessage() {
  },
  //获取虚拟卡列表
  getCardList() {
    get({
        url: '8084/sell/virtual_card/get',
        data: {
          clientId: getApp().globalData.sessionId
        }
      })
      .then((data) => {
        if (data.success && data.code === "0001") {
          this.setData({
            allCardPoints: data.content
          });
        } else {
          wx.showToast({
            title: data.msg,
          })
        }
        console.log('Failed to add item:');
      })
      .catch((error) => {
        console.error('Failed to add item:', error);
      });
  }
})