From 556464a10ec5f3946b738080428a848154d5b780 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期一, 12 八月 2024 09:06:39 +0800
Subject: [PATCH] 添加识别二维码切换地址的功能

---
 pages/waterIntake/waterIntake.js |  249 +++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 226 insertions(+), 23 deletions(-)

diff --git a/pages/waterIntake/waterIntake.js b/pages/waterIntake/waterIntake.js
index bcfb618..de10bb5 100644
--- a/pages/waterIntake/waterIntake.js
+++ b/pages/waterIntake/waterIntake.js
@@ -1,11 +1,32 @@
 // pages/waterIntake/waterIntake.js
+const {
+  get,
+  post
+} = require('../../api/request.js');
 Page({
-
-
   data: {
     currentTab: 0, // 褰撳墠鏄剧ず鐨勮〃鏍硷紝榛樿涓虹涓�涓〃鏍�
-    commonWaterPoints: [ "甯哥敤鍙栨按鍙�2", "甯哥敤鍙栨按鍙�3"], // 甯哥敤鍙栨按鍙f暟鎹�
-    allWaterPoints: ["鎵�鏈夊彇姘村彛1", "鎵�鏈夊彇姘村彛2", "鎵�鏈夊彇姘村彛3"], // 鎵�鏈夊彇姘村彛鏁版嵁
+    searchQuery: "",
+    commonWaterPoints: [], // 甯哥敤鍙栨按鍙f暟鎹�
+    allWaterPoints: [], // 鎵�鏈夊彇姘村彛鏁版嵁
+    searchData: [{
+      intakeNum: "1111111"
+    }, {
+      intakeNum: "2222222"
+    }],
+    isRefreshing_all: false,
+    isRefreshing_common: false,
+    showConfirm: false,
+    waterIntakeName: "",
+    choseItem: null,
+    errorData: '', //閿欒鍐呭
+    showErrorDialog: false,
+    confirmBtn: {
+      content: '纭'
+    },
+    showForceConfirm: false,
+    forceIntakeId: "", //寮哄埗寮�闃�鐨勫彇姘村彛id
+    inputValue:""
   },
 
   // 鍒囨崲 Tabs
@@ -15,19 +36,20 @@
       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.setData({
+        allWaterPoints: []
+      })
     }
   },
 
@@ -35,12 +57,74 @@
    * 閫夋嫨铏氭嫙鍗�
    * @param {} event 
    */
-  choseCard(event){
-    wx.navigateTo({
-      url: '/pages/openCard/openCard',
+  choseCard(event) {
+    //鏄剧ず浜屾纭寮圭獥
+    this.setData({
+      showConfirm: true,
+      choseItem: event.currentTarget.dataset.item,
+      allWaterPoints: []
     })
-  },
+    //  console.log(intakeId);
+    //   wx.navigateTo({
+    //     url: '/pages/openCard/openCard?intakeId='+intakeId,
+    //   })
 
+  },
+  //寮�娉甸�氫俊
+  /**
+   * 
+   * @param {*} intakeId 鍙栨按鍙d
+   * @param {*} isforce 鏄惁寮哄埗寮�闃�
+   */
+  postOpenValva(intakeId, isforce) {
+    this.setData({
+      inputValue:""
+    })
+    console.log("intakeId:" + intakeId + "   isforce:" + isforce)
+    wx.showLoading({
+      title: '姝e湪寮�闃�璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
+      mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
+    });
+    const app = getApp();
+    const data = {
+      intakeId: intakeId, //鍙栨按鍙D
+      // vcId: vcId, //铏氭嫙鍗D
+      operator: app.globalData.sessionId, //鎿嶄綔鍛�
+      forceOpen: !!isforce // 浣跨敤閫昏緫闈炴搷浣滅 !! 鏉ョ‘淇� isForce 鏄竷灏斿��  
+    };
+    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);
+      if (error.code === "10005") {
+        this.setData({
+          forceIntakeId: intakeId,
+          showForceConfirm: true
+        })
+      } else {
+        this.setData({
+          showErrorDialog: true,
+          errorData: error.msg
+        })
+      }
+    });
+  },
 
   /**
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
@@ -53,7 +137,7 @@
    * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
    */
   onReady() {
-
+    this.getcommonWaterPoints();
   },
 
   /**
@@ -77,12 +161,8 @@
 
   },
 
-  /**
-   * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
-   */
-  onPullDownRefresh() {
 
-  },
+
 
   /**
    * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
@@ -96,5 +176,128 @@
    */
   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") {
+          if (!data.content) {
+            wx.showToast({
+              title: '娌℃湁鎼滅储鍒板彇姘村彛',
+              icon: 'error',
+            })
+          }else{
+            this.setData({
+              allWaterPoints:[data.content]
+            });
+          }
+        
+        } 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
+    })
+  },
+  cancelDialog() {
+    this.setData({
+      showForceConfirm: false
+    });
+  },
+  //寮哄埗寮�闃�
+  confirmForceDialog() {
+    this.postOpenValva(this.data.forceIntakeId, true);
+  },
+  closeSearch(){
+    this.setData({
+      allWaterPoints:[],
+      inputValue:""
+    })
   }
 })
\ No newline at end of file

--
Gitblit v1.8.0