From 556464a10ec5f3946b738080428a848154d5b780 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 | 376 +++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 319 insertions(+), 57 deletions(-)
diff --git a/pages/home/home.js b/pages/home/home.js
index fb846ac..d0a7f0b 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -11,41 +11,24 @@
*/
data: {
sessionId: "",
+ showConfirm: false,
+ myItem: {},
+ waterIntakeName: "",
image: "/images/ic_head_bg.jpg",
userPhone: "158****0723",
userName: "寮犱笁",
scrollViewHeight: 0,
- listData: [{
- name: '鍙栨按鍙� 1',
- code: '1055201'
- },
- {
- name: '鍙栨按鍙� 2',
- code: '1055201'
- },
- {
- name: '鍙栨按鍙� 3',
- code: '1055201'
- },
- {
- name: '鍙栨按鍙� 3',
- code: '1055201'
- },
- {
- name: '鍙栨按鍙� 4',
- code: '1055201'
- },
- {
- name: '鍙栨按鍙� 5',
- code: '1055201'
- },
- {
- name: '鍙栨按鍙� 6',
- code: '1055201'
- }
- ],
+ listData: [],
isRefreshing: false,
- isWXRefreshing: false
+ isWXRefreshing: false,
+ errorData: '', //閿欒鍐呭
+ showErrorDialog: false,
+ confirmBtn: {
+ content: '纭'
+ },
+ errorDialogTitle: "鍏抽榾閿欒",
+ showForceConfirm: false, //鏄惁寮哄埗寮�闃�
+ lastIntakeName: ""
},
openValve: function (e) {
@@ -68,12 +51,8 @@
this.setData({
isRefreshing: true
});
- setTimeout(function () {
- self.setData({
- isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
- })
- console.log('涓嬫媺鍒锋柊宸插畬鎴�');
- }, 3000);
+ this.getOpenList();
+
}
},
@@ -96,32 +75,31 @@
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
*/
onLoad(options) {
+ //鍒ゆ柇鏈湴鏄惁淇濆瓨sessionId
+
+
// 浣跨敤 wx.nextTick 绛夊緟椤甸潰娓叉煋瀹屾垚
wx.nextTick(() => {
this.calculateScrollViewHeight();
});
+ //褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂�
console.log("onLoad锛�" + options.param);
+ if (options.param) {
+ wx.showToast({
+ title: '寮�闃�鎴愬姛',
+ icon: 'success',
+ duration: 3000
+ })
+ this.getOpenList();
+ }
+ this.initData();
},
/**
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
*/
onReady() {
- //鍒ゆ柇鏈湴鏄惁淇濆瓨sessionId
- if (storage.isHasKeySync("sessionId")) {
- storage.getItem('sessionId').then((data) => {
- this.setData({
- sessionId: data
- });
- if (sessionId !== "") {
- }
- }).catch((err) => {
- console.error('Failed to load parameter:', err);
- });
- } else {
- console.log('Failed to load parameter:false');
- }
},
/**
@@ -157,13 +135,7 @@
});
console.log(this.data.isRefreshing);
// 鏁版嵁璇锋眰瀹屾垚鍚庯紝鍋滄涓嬫媺鍒锋柊鐨勫姩鐢�
- var self = this;
- setTimeout(function () {
- self.setData({
- isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
- })
- console.log('涓嬫媺鍒锋柊宸插畬鎴�');
- }, 3000);
+ this.getOpenList();
},
/**
@@ -178,5 +150,295 @@
*/
onShareAppMessage() {
+ },
+ recharge() {
+ // wx.navigateTo({
+ // url: '/pages/rechargeCard/rechargeCard',
+ // })
+ wx.showToast({
+ title: '鏆傛湭寮�鏀�',
+ icon: 'none'
+ })
+ },
+ openValveList() {
+ // wx.navigateTo({
+ // url: '/pages/valveList/valveList',
+ // })
+ wx.showToast({
+ title: '鏆傛湭寮�鏀�',
+ icon: 'none'
+ })
+ },
+ feedBack() {
+ wx.showToast({
+ title: '鏆傛湭寮�鏀�',
+ icon: 'none'
+ })
+ },
+ handleChange(e) {
+ const item = e.currentTarget.dataset.item;
+ console.log(item);
+ this.setData({
+ showConfirm: true,
+ waterIntakeName: item.intakeNum,
+ myItem: item
+ });
+ },
+ closeDialog() {
+ console.log("closeDialog");
+ this.setData({
+ showConfirm: false,
+ showErrorDialog: false,
+ showForceConfirm: false
+ });
+ },
+ cancelDialog() {
+ this.setData({
+ showForceConfirm: false,
+ showConfirm: false
+ });
+ },
+ /**
+ * 鍏抽棴闃�闂�
+ * @param {*} orderNo 璁㈠崟鍙�
+ * @param {*} rtuAddr 闃�鎺у櫒鍦板潃
+ * @param {*} vcNum 铏氭嫙鍗$紪鍙�
+ */
+ postCloseValaue(orderNo, rtuAddr, vcNum) {
+ wx.showLoading({
+ title: '姝e湪鍏抽榾璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
+ mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
+ });
+ const app = getApp();
+ const data = {
+ rtuAddr: rtuAddr,
+ vcNum: vcNum, //铏氭嫙鍗D
+ orderNo: orderNo,
+ operator: app.globalData.sessionId //鎿嶄綔鍛�
+ };
+ console.log("postCloseValaue" + data);
+ post({
+ url: "wx/valve/close_wx",
+ data: data,
+ isShowLoding: false,
+ timeout: 185000
+ }).then(response => {
+
+ // 澶勭悊鎴愬姛鍝嶅簲
+ console.log('璇锋眰鎴愬姛:', response);
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ this.getOpenList();
+ wx.showToast({
+ title: '鍏抽榾鎴愬姛',
+ icon: 'success',
+ duration: 3000
+ })
+ }).catch(error => {
+ wx.hideLoading();
+ this.setData({
+ showErrorDialog: true,
+ errorData: error.msg,
+ errorDialogTitle: "鍏抽榾閿欒"
+ })
+ // 澶勭悊閿欒鍝嶅簲
+ console.error('璇锋眰澶辫触:', error);
+
+ });
+ },
+ /**
+ * 鑾峰彇涓哄叧闃�璁板綍
+ */
+ getOpenList() {
+ const app = getApp();
+ const params = {
+ url: 'wx/valve/get',
+ data: {
+ operator: app.globalData.sessionId
+ }
+ };
+ get(params).then(data => {
+ this.setData({
+ listData: data.content,
+ isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
+ isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
+ })
+ }).catch(err => {
+ // 閿欒鍥炶皟
+ this.setData({
+ isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
+ isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
+ })
+ wx.showToast({
+ title: err.msg,
+ icon: 'error',
+ duration: 3000
+ })
+ });
+ },
+ /**
+ * 纭鍏抽棴鍥炶皟
+ * @param {} item
+ */
+ confirmDialog() {
+ this.setData({
+ showConfirm: false
+ });
+ 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
+ if (res.result.startsWith("content://")) {
+ let jsonStr = res.result.replace("content://", "")
+ try {
+
+ that.saveData(jsonStr)
+ } catch (error) {
+ console.error('Error parsing JSON:', error);
+ }
+
+ } else {
+ that.postOppenValva(res.result)
+ }
+
+ },
+ fail(err) {
+ console.error(err);
+ }
+ })
+ },
+ confirmForceDialog() {
+ console.log("confirmForceDialog");
+ this.setData({
+ showForceConfirm: false
+ })
+ this.postOppenValva(this.data.lastIntakeName, true)
+ },
+ /**
+ *
+ * @param {*} intakeName
+ */
+ postOppenValva(intakeName, isforce) {
+ const that = this;
+ wx.showLoading({
+ title: '姝e湪寮�闃�璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
+ mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
+ });
+ const app = getApp();
+ that.setData({
+ lastIntakeName: intakeName
+ })
+ const data = {
+ intakeName: intakeName, //鍙栨按鍙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") {
+ that.setData({
+ showForceConfirm: true
+ })
+ } else {
+ that.setData({
+ showErrorDialog: true,
+ errorData: error.msg,
+ errorDialogTitle: "寮�闃�閿欒"
+ })
+ }
+ });
+ },
+ /**
+ * 鎵弿鍚庝繚瀛樼敤鎴穒d鍜宼ag
+ */
+ saveData(userData) {
+ storage.setItem("userData", userData).then(() => {
+ this.initData();
+ }).catch((error) => {});
+
+ },
+ //杩涘叆鐣岄潰鑾峰彇鐣岄潰鏁版嵁
+ initData() {
+ const app = getApp();
+ console.log("tag>>>>:" +app.globalData.tag)
+
+ if (storage.isHasKeySync("userData")) {
+ storage.getItem('userData').then((data) => {
+ let jsonObj = JSON.parse(data);
+ app.globalData.sessionId = jsonObj.sessionId;
+ app.globalData.tag = jsonObj.tag;
+ this.getUserDataBySession();
+ this.getOpenList();
+ console.log("userData>>>>>>>" + data)
+ }).catch((err) => {
+ console.error('Failed to load parameter:', err);
+ });
+ } else {
+ this.getUserDataBySession();
+ this.getOpenList();
+ console.log('Failed to load parameter:false');
+ }
+
}
})
\ No newline at end of file
--
Gitblit v1.8.0