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

---
 pages/home/home.js |  198 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 167 insertions(+), 31 deletions(-)

diff --git a/pages/home/home.js b/pages/home/home.js
index e0509ad..dabd0d4 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -12,7 +12,7 @@
   data: {
     sessionId: "",
     showConfirm: false,
-    myItem:{},
+    myItem: {},
     waterIntakeName: "",
     image: "/images/ic_head_bg.jpg",
     userPhone: "158****0723",
@@ -20,7 +20,14 @@
     scrollViewHeight: 0,
     listData: [],
     isRefreshing: false,
-    isWXRefreshing: false
+    isWXRefreshing: false,
+    errorData: '', //閿欒鍐呭
+    showErrorDialog: false,
+    confirmBtn: {
+      content: '纭'
+    },
+    errorDialogTitle: "鍏抽榾閿欒",
+    showForceConfirm: false //鏄惁寮哄埗寮�闃�
   },
 
   openValve: function (e) {
@@ -44,7 +51,7 @@
         isRefreshing: true
       });
       this.getOpenList();
- 
+
     }
 
   },
@@ -73,14 +80,15 @@
     });
     //褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂�
     console.log("onLoad锛�" + options.param);
-    if(options.param){
+    if (options.param) {
       wx.showToast({
-        title: '寮�娉垫垚鍔�',
+        title: '寮�闃�鎴愬姛',
         icon: 'success',
-        duration: 2000
+        duration: 3000
       })
-      getOpenList() ;
+      this.getOpenList();
     }
+    this.getUserDataBySession();
   },
 
   /**
@@ -153,19 +161,26 @@
 
   },
   recharge() {
-    wx.navigateTo({
-      url: '/pages/rechargeCard/rechargeCard',
+    // wx.navigateTo({
+    //   url: '/pages/rechargeCard/rechargeCard',
+    // })
+    wx.showToast({
+      title: '鏆傛湭寮�鏀�',
+      icon: 'none'
     })
   },
   openValveList() {
+    // wx.navigateTo({
+    //   url: '/pages/valveList/valveList',
+    // })
     wx.showToast({
-      title: '姝e湪寮�鍙戜腑',
+      title: '鏆傛湭寮�鏀�',
       icon: 'none'
     })
   },
   feedBack() {
     wx.showToast({
-      title: '姝e湪寮�鍙戜腑',
+      title: '鏆傛湭寮�鏀�',
       icon: 'none'
     })
   },
@@ -175,11 +190,20 @@
     this.setData({
       showConfirm: true,
       waterIntakeName: item.intakeNum,
-      myItem:item
+      myItem: item
     });
   },
   closeDialog() {
+    console.log("closeDialog");
     this.setData({
+      showConfirm: false,
+      showErrorDialog: false,
+      showForceConfirm: false
+    });
+  },
+  cancelDialog(){
+    this.setData({
+      showForceConfirm: false,
       showConfirm: false
     });
   },
@@ -190,31 +214,45 @@
    * @param {*} vcNum 铏氭嫙鍗$紪鍙�
    */
   postCloseValaue(orderNo, rtuAddr, vcNum) {
+    wx.showLoading({
+      title: '姝e湪鍏抽榾璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
+      mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
+    });
     const app = getApp();
     const data = {
-      rtuAddr: rtuAddr, 
+      rtuAddr: rtuAddr,
       vcNum: vcNum, //铏氭嫙鍗D
-      orderNo:orderNo,
-      userType: 2, //鐢ㄦ埛绫诲瀷1-骞冲彴锛�2-App
+      orderNo: orderNo,
       operator: app.globalData.sessionId //鎿嶄綔鍛�
     };
-    console.log("postCloseValaue"+data);
+    console.log("postCloseValaue" + data);
     post({
-      url: "valve/close",
+      url: "wx/valve/close_wx",
       data: data,
-      isShowLoding:true
+      isShowLoding: false,
+      timeout: 185000
     }).then(response => {
+
       // 澶勭悊鎴愬姛鍝嶅簲
       console.log('璇锋眰鎴愬姛:', response);
       // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
       wx.hideLoading();
-      //瀹屾垚鍚庡洖鍒伴椤�
-      wx.reLaunch({
-        url: '/pages/home/home?param=true' // 棣栭〉鐨勮矾寰勶紝鏍规嵁瀹為檯鎯呭喌濉啓
-      });
+      this.getOpenList();
+      wx.showToast({
+        title: '鍏抽榾鎴愬姛',
+        icon: 'success',
+        duration: 3000
+      })
     }).catch(error => {
+      wx.hideLoading();
+      this.setData({
+        showErrorDialog: true,
+        errorData: error.msg,
+        errorDialogTitle: "鍏抽榾閿欒"
+      })
       // 澶勭悊閿欒鍝嶅簲
       console.error('璇锋眰澶辫触:', error);
+
     });
   },
   /**
@@ -223,7 +261,7 @@
   getOpenList() {
     const app = getApp();
     const params = {
-      url: 'valve/get',
+      url: 'wx/valve/get',
       data: {
         operator: app.globalData.sessionId
       }
@@ -236,9 +274,14 @@
       })
     }).catch(err => {
       // 閿欒鍥炶皟
-      
       this.setData({
         isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
+        isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
+      })
+      wx.showToast({
+        title: err.msg,
+        icon: 'error',
+        duration: 3000
       })
     });
   },
@@ -246,15 +289,108 @@
    * 纭鍏抽棴鍥炶皟
    * @param {} item 
    */
-  confirmDialog(){
+  confirmDialog() {
     this.setData({
       showConfirm: false
     });
-    this.postCloseValaue(this.data.myItem.orderNo,this.data.myItem.rtuAddr,this.data.myItem.vcNum);
+    this.postCloseValaue(this.data.myItem.orderNo, this.data.myItem.rtuAddr, this.data.myItem.vcNum);
+  },
+  //鏍规嵁session鑾峰彇鍐滄埛淇℃伅
+  getUserDataBySession() {
+    const app = getApp();
+    const params = {
+      url: 'wx/client/simple_info',
+      data: {
+        sessionId: app.globalData.sessionId
+      }
+    };
+    get(params).then(data => {
+      this.setData({
+        userName: data.content.clientName,
+        userPhone: this.maskPhoneNumber(data.content.phone)
+      })
+    }).catch(err => {
+      // 閿欒鍥炶皟
+      wx.showToast({
+        title: err.msg,
+        icon: 'error',
+        duration: 3000
+      })
+    })
+  },
+  maskPhoneNumber(phoneNumber) {
+    if (phoneNumber.length !== 11) {
+      throw new Error("Phone number must be 11 digits");
+    }
+    // 浣跨敤姝e垯琛ㄨ揪寮忔浛鎹腑闂村洓浣嶆暟瀛椾负鏄熷彿
+    const maskedPhoneNumber = phoneNumber.replace(/^(\d{3})\d{4}(\d{4})$/, "$1****$2");
+    return maskedPhoneNumber;
+  },
+
+  closeDialog() {
+    this.setData({
+      showErrorDialog: false
+    })
+  },
+  /**
+   * 鎵爜寮�闃�
+   */
+  scenCode() {
+    const that = this;
+    wx.scanCode({
+      success(res) {
+        console.log(res.result); // 褰撲笖浠呭綋鎵爜涓洪潪寰俊浜岀淮鐮佹椂锛屼細杩斿洖result  
+        wx.showLoading({
+          title: '姝e湪寮�闃�璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
+          mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
+        });
+        const app = getApp();
+        const data = {
+          intakeName: res.result, //鍙栨按鍙D
+          // vcId: vcId, //铏氭嫙鍗D
+          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);
+          if (error.code==="1003") {
+            that.setData({
+              showForceConfirm:true
+            })
+          } else {
+            that.setData({
+              showErrorDialog: true,
+              errorData: error.msg,
+              errorDialogTitle: "寮�闃�閿欒"
+            })
+          }
+    
+
+        });
+      },
+      fail(err) {
+        console.error(err);
+      }
+
+    })
+  },
+  confirmForceDialog(){
+    console.log("confirmForceDialog");
   }
-
-
-
-
-
 })
\ No newline at end of file

--
Gitblit v1.8.0