From 90612989855f6849fd94b0665168c3bb7619ff32 Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期一, 07 四月 2025 18:08:01 +0800
Subject: [PATCH] 更新项目配置,添加多个项目的专有设置,包括登录需求和统一ID;优化用户数据获取逻辑,确保根据项目需求进行登录状态检查;调整界面显示项目名称和提示信息,增强用户体验。
---
pages/waterIntake/waterIntake.js | 442 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 416 insertions(+), 26 deletions(-)
diff --git a/pages/waterIntake/waterIntake.js b/pages/waterIntake/waterIntake.js
index 81ded95..5ac5cb2 100644
--- a/pages/waterIntake/waterIntake.js
+++ b/pages/waterIntake/waterIntake.js
@@ -9,11 +9,60 @@
searchQuery: "",
commonWaterPoints: [], // 甯哥敤鍙栨按鍙f暟鎹�
allWaterPoints: [], // 鎵�鏈夊彇姘村彛鏁版嵁
+ searchData: [{
+ intakeNum: "1111111"
+ }, {
+ intakeNum: "2222222"
+ }],
isRefreshing_all: false,
isRefreshing_common: false,
showConfirm: false,
waterIntakeName: "",
- choseItem: null
+ choseItem: null,
+ errorData: '', //閿欒鍐呭
+ showErrorDialog: false,
+ confirmBtn: {
+ content: '纭'
+ },
+ showForceConfirm: false,
+ forceIntakeId: "", //寮哄埗寮�闃�鐨勫彇姘村彛id
+ inputValue: "",
+ //浠ヤ笅涓哄紑闃�寮圭獥鐩稿叧
+ isShowOpenTime: "false",
+ isOpenTiming: false, //鏄惁鏄鍒掑紑闃�鏃堕棿鏍峰紡鐨勫紑闃�
+ postMinutes: 0, //瀹氱亴婧夋椂闀跨殑鏃堕棿
+ showForceConfirm: false,
+ showErrorDialog: false, //閿欒鎻愮ず
+ showDialog: false,
+ dialog_mode: false,
+ dialog_time: false,
+ dialog_water: false,
+ openTimeText: "",
+ openTime: "",
+ irrigateProfile: [], //鑾峰彇鎵�閫夌亴婧夋柟寮忕殑璇︾粏鏁版嵁
+ dialog_mode: true,
+ dialog_time: false,
+ dialog_water: false,
+ group_time: false, //鏄惁鏄剧ず閫夋嫨鍒嗛挓鎴栧皬鏃剁殑鍗曢�夋
+ openTime: "", //璁″垝寮�娉电殑寮�濮嬫椂闂�
+ openTimeText: "",
+ isShowOpenTime: "false",
+ isOpenTiming: false, //鏄惁鏄鍒掑紑闃�鏃堕棿鏍峰紡鐨勫紑闃�
+ postMinutes: 0, //瀹氱亴婧夋椂闀跨殑鏃堕棿
+ showForceConfirm: false,
+ showErrorDialog: false, //閿欒鎻愮ず
+ errorData: "",
+ confirmBtn: {
+ content: '纭'
+ },
+ radioValue: "0", //寮�闃�鏂瑰紡閫変腑鐨勭被鍨�
+ costiomTime: "", //鑷畾涔夌亴婧夋椂闂�
+ waterAmount: 0, //瀹氶噺寮�闃�鐨勬按閲�
+ costiomWater: "", //杈撳叆鐨勮嚜瀹氫箟姘撮噺
+ isWXRefreshing: false,
+ irrigateProfile: [], //鑾峰彇鎵�閫夌亴婧夋柟寮忕殑璇︾粏鏁版嵁
+ datetimeVisible: false,
+
},
// 鍒囨崲 Tabs
@@ -34,7 +83,9 @@
this.getallWaterPoints(query)
// 鍦ㄨ繖閲岃繘琛屾悳绱㈡搷浣滐紝鏇存柊 allWaterPoints 鏁版嵁
} else {
- this.getallWaterPoints(query)
+ this.setData({
+ allWaterPoints: []
+ })
}
},
@@ -43,10 +94,15 @@
* @param {} event
*/
choseCard(event) {
+ //鏄剧ず浜屾纭寮圭獥
this.setData({
- showConfirm: true,
- choseItem: event.currentTarget.dataset.item
+ // showConfirm: true,
+ choseItem: event.currentTarget.dataset.item,
+ allWaterPoints: []
+
})
+ this.initDialogData();
+
// console.log(intakeId);
// wx.navigateTo({
// url: '/pages/openCard/openCard?intakeId='+intakeId,
@@ -54,20 +110,31 @@
},
//寮�娉甸�氫俊
- postOpenValva(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 //鎿嶄綔鍛�
+ intakeId: this.data.choseItem.intakeId, //鍙栨按鍙D
+ // vcId: app.globalData.vcId, //铏氭嫙鍗D
+ operator: app.globalData.clientId, //鎿嶄綔鍛�
+ forceOpen: !!isforce // 浣跨敤閫昏緫闈炴搷浣滅 !! 鏉ョ‘淇� isForce 鏄竷灏斿��
};
post({
url: "wx/valve/open_wx",
- data: data
+ data: data,
+ timeout: 180000
}).then(response => {
// 澶勭悊鎴愬姛鍝嶅簲
@@ -84,11 +151,15 @@
wx.hideLoading();
// 澶勭悊閿欒鍝嶅簲
console.error('璇锋眰澶辫触:', error);
- if (error.code === "1002") {
- wx.showToast({
- title: '寮�闃�澶辫触',
- icon: 'error',
- duration: 3000 // 鎻愮ず鐨勬寔缁椂闂达紝鍗曚綅姣
+ if (error.code === "10005") {
+ this.setData({
+ forceIntakeId: intakeId,
+ showForceConfirm: true
+ })
+ } else {
+ this.setData({
+ showErrorDialog: true,
+ errorData: error.msg
})
}
});
@@ -105,7 +176,6 @@
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
*/
onReady() {
- this.getallWaterPoints();
this.getcommonWaterPoints();
},
@@ -147,11 +217,11 @@
},
/**
- * 鑾峰彇鎵�鏈夊彇姘村彛
+ *鍦ㄦ墍鏈夊彇姘村彛鎼滅储
*/
getallWaterPoints: function (intakeNum) {
let params = {
- url: 'project/intake/all_intakes'
+ url: 'wx/intake/all_intakes'
};
if (intakeNum) {
params.data = {
@@ -164,9 +234,17 @@
isRefreshing_all: false
});
if (data.success && data.code === "0001") {
- this.setData({
- allWaterPoints: data.content.obj
- });
+ if (!data.content) {
+ wx.showToast({
+ title: '娌℃湁鎼滅储鍒板彇姘村彛',
+ icon: 'error',
+ })
+ } else {
+ this.setData({
+ allWaterPoints: [data.content]
+ });
+ }
+
} else {
wx.showToast({
title: data.msg,
@@ -178,15 +256,20 @@
this.setData({
isRefreshing_all: false
});
+ wx.showToast({
+ title: error.msg,
+ icon: 'error',
+ duration: 3000 // 鎻愮ず鐨勬寔缁椂闂达紝鍗曚綅姣
+ })
console.error('Failed to add item:', error);
});
},
//鑾峰彇甯哥敤鍙栨按鍙�
getcommonWaterPoints() {
get({
- url: 'project/intake/used_intakes',
+ url: 'wx/intake/used_intakes',
data: {
- operator: getApp().globalData.sessionId
+ operatorId: getApp().globalData.clientId
}
})
.then((data) => {
@@ -209,7 +292,7 @@
isRefreshing_common: false
});
wx.showToast({
- title: error.code,
+ title: error.msg,
icon: 'error',
duration: 3000 // 鎻愮ず鐨勬寔缁椂闂达紝鍗曚綅姣
})
@@ -226,15 +309,322 @@
this.getcommonWaterPoints();
},
confirmDialog() {
+ // this.setData({
+ // showConfirm: false
+ // })
+ // this.postOpenValva(this.data.choseItem.intakeId);
this.setData({
- showConfirm:false
+ showConfirm: false
})
- this.postOpenValva(this.data.choseItem.intakeId);
+ this.initDialogData();
},
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: ""
+ })
+ },
+ //浠ヤ笅涓哄畾鏃跺畾閲忕浉鍏充唬鐮�
+ //鍒濆鍖栨墍鏈夊紑娉电殑鍙傛暟
+ initDialogData() {
+ this.setData({
+ isShowOpenTime: "false",
+ isOpenTiming: false, //鏄惁鏄鍒掑紑闃�鏃堕棿鏍峰紡鐨勫紑闃�
+ postMinutes: 0, //瀹氱亴婧夋椂闀跨殑鏃堕棿
+ showForceConfirm: false,
+ showErrorDialog: false, //閿欒鎻愮ず
+ showDialog: true,
+ dialog_mode: true,
+ dialog_time: false,
+ dialog_water: false,
+ openTimeText: "",
+ openTime: ""
+ })
+ },
+ handleClost() {
+ this.setData({
+ showDialog: false
+ })
+ },
+ handleSetDuration() {
+ this.getIrrigateProfileData(1);
+ },
+ //鑾峰彇甯哥敤鐢ㄦ按鏃堕暱鍙婄敤姘撮噺
+ getIrrigateProfileData(type) {
+ get({
+ url: 'wx/valve/irrigate_profile',
+ data: {
+ type: type
+ }
+ })
+ .then((data) => {
+ if (data.success && data.code === "0001") {
+ const items = data.content.obj.map(item => {
+ return {
+ defaultValue: item.defaultValue,
+ unit: item.unit,
+ unitText: item.unit === "1" ? "灏忔椂" : item.unit === "2" ? "鍒嗛挓" : "绔嬫柟绫�"
+ };
+ });
+ this.setData({
+ dialog_mode: false,
+ dialog_time: type === 1,
+ dialog_water: type === 2,
+ irrigateProfile: items
+ });
+ } else {
+ wx.showToast({
+ title: data.msg,
+ })
+ }
+ console.log('Failed to add item:');
+ })
+ .catch((error) => {
+ console.error('Failed to add item:', error);
+ });
+ },
+ handleSetWaterVolume() {
+ this.getIrrigateProfileData(2);
+ },
+ dialogBack() {
+ this.setData({
+ dialog_time: false,
+ dialog_water: false,
+ dialog_mode: true,
+ group_time: false,
+ activeIndex: -1
+ })
+ },
+ //閫夋嫨鏃堕棿鍚庣殑澶勭悊
+ handleTimeWrapperTap(e) {
+ const index = e.currentTarget.dataset.index;
+ console.log(index)
+ if (index !== undefined) {
+ let minutes;
+ if (this.data.irrigateProfile[index].unit === "1") {
+ minutes = this.hourToMinutes(this.data.irrigateProfile[index].defaultValue)
+ } else {
+ minutes = this.data.irrigateProfile[index].defaultValue;
+ }
+ this.setData({
+ activeIndex: parseInt(index),
+ postMinutes: minutes,
+ costiomTime: "",
+ group_time: false,
+ });
+ }
+ },
+ onTimeInputChange(data) {
+ console.log(data.detail.value)
+ if (data.detail.value !== "") {
+ this.setData({
+ group_time: true,
+ activeIndex: -1,
+ postMinutes: parseInt(data.detail.value)
+ })
+ } else {
+ this.setData({
+ group_time: false,
+ postMinutes: 0,
+ })
+ }
+
+ },
+ //瀹氱亴婧夋椂闀胯嚜瀹氫箟杈撳叆鏃堕棿鏃朵慨鏀规椂闂村崟浣�0锛氬垎閽燂紝1锛氬皬鏃�
+ onGroupOpenTimeTypeChange(event) {
+ let value = event.detail.value;
+ if (value === "1") {
+ this.setData({
+ postMinutes: this.hourToMinutes(this.data.postMinutes)
+ })
+ } else {
+ this.setData({
+ postMinutes: this.minutesToHours(this.data.postMinutes)
+ })
+ }
+ },
+ onGroupOpenTimeChange(event) {
+ const {
+ value
+ } = event.detail;
+ console.log('onGroupOpenTimeChange:' + value);
+ if (value == 1) {
+ this.showPicker();
+ this.setData({
+ isOpenTiming: true,
+ radioValue: value,
+ dateStartTime: new Date().getTime()
+ })
+ } else {
+ this.setData({
+ isShowOpenTime: false,
+ isOpenTiming: false,
+ radioValue: value,
+ })
+ }
+ },
+ //瀹氭椂寮�娉垫寜閽�
+ btnOpenOnTime() {
+ if (this.data.postMinutes > 0) {
+ if (this.data.isOpenTiming) {
+ this.timeClosePlaned();
+ } else {
+ this.timeClose();
+ }
+ } else {
+ wx.showToast({
+ icon: 'error',
+ title: '璇烽�夋嫨鎴栬緭鍏ョ亴婧夋椂闂达紒',
+ })
+ }
+ },
+ //瀹氭椂鍏抽榾寮忚鍒掑紑闃�
+ timeClosePlaned() {
+ const app = getApp();
+ wx.showLoading({
+ title: '姝e湪閫氫俊璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
+ mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
+ });
+ const data = {
+ intakeId: this.data.choseItem.intakeId, //鍙栨按鍙D
+ // vcId: app.globalData.vcId, //铏氭嫙鍗D
+ minutes: this.data.postMinutes, //鍒嗛挓
+ operator: app.globalData.clientId, //鎿嶄綔鍛�
+ plannedOpenTime: this.data.openTime
+ };
+ post({
+ url: "wx/valve/planed_open_timed_close",
+ data: data
+ }).then(response => {
+ // 澶勭悊鎴愬姛鍝嶅簲
+ console.log('璇锋眰鎴愬姛:', response);
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ //瀹屾垚鍚庡洖鍒伴椤�
+ wx.reLaunch({
+ url: '/pages/home/home?param=2' // 棣栭〉鐨勮矾寰勶紝鏍规嵁瀹為檯鎯呭喌濉啓
+ });
+ }).catch(error => {
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ // 澶勭悊閿欒鍝嶅簲
+ console.error('璇锋眰澶辫触:', error);
+ this.setData({
+ showErrorDialog: true,
+ errorData: error.msg
+ })
+ });
+ },
+ //瀹氭椂鍏抽榾寮忓紑闃�
+ timeClose() {
+ const app = getApp();
+ wx.showLoading({
+ title: '姝e湪寮�闃�璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
+ mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
+ });
+ const data = {
+ intakeId: this.data.choseItem.intakeId, //鍙栨按鍙D
+ // vcId: app.globalData.vcId, //铏氭嫙鍗D
+ minutes: this.data.postMinutes, //鍒嗛挓
+ operator: app.globalData.clientId //鎿嶄綔鍛�
+ };
+ post({
+ url: "wx/valve/timed_close",
+ data: data
+ }).then(response => {
+ // 澶勭悊鎴愬姛鍝嶅簲
+ console.log('璇锋眰鎴愬姛:', response);
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ //瀹屾垚鍚庡洖鍒伴椤�
+ wx.reLaunch({
+ url: '/pages/home/home?param=1' // 棣栭〉鐨勮矾寰勶紝鏍规嵁瀹為檯鎯呭喌濉啓
+ });
+ }).catch(error => {
+ // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+ wx.hideLoading();
+ // 澶勭悊閿欒鍝嶅簲
+ console.error('璇锋眰澶辫触:', error);
+ this.setData({
+ showErrorDialog: true,
+ errorData: error.msg
+ })
+ });
+ },
+ // 閫氳繃灏忔椂杞崲鎴愬垎閽�
+ hourToMinutes(hours) {
+ // 妫�鏌ヨ緭鍏ユ槸鍚﹀悎娉�
+ if (isNaN(hours) || hours < 0) {
+ console.error('璇疯緭鍏ユ湁鏁堢殑灏忔椂鏁�');
+ return null;
+ }
+ // 灏嗗皬鏃惰浆鎹负鍒嗛挓
+ const minutes = hours * 60;
+ return minutes;
+ },
+ minutesToHours(minutes) {
+ // 妫�鏌ヨ緭鍏ユ槸鍚﹀悎娉�
+ if (isNaN(minutes) || hours < 0) {
+ console.error('璇疯緭鍏ユ湁鏁堢殑灏忔椂鏁�');
+ return null;
+ }
+ // 灏嗗皬鏃惰浆鎹负鍒嗛挓
+ const hours = minutes / 60;
+ return hours;
+ },
+ // 閫夋嫨姘撮噺鍚庣殑澶勭悊
+ handleWaterWrapperTap(e) {
+ const index = e.currentTarget.dataset.index;
+ console.log(index)
+ if (index !== undefined) {
+ this.data.waterAmount = parseInt(this.data.irrigateProfile[index].defaultValue)
+ this.setData({
+ activeIndex: parseInt(index),
+ costiomWater: ""
+ });
+ }
+ }, //鏄剧ず鏃堕棿閫夋嫨鍣�
+ showPicker(e) {
+ this.setData({
+ datetime: new Date().getTime(),
+ datetimeVisible: true,
+ isShowOpenTime: true
+ });
+ },
+ onConfirm(e) {
+ const {
+ value
+ } = e?.detail;
+ console.log(value);
+ this.setData({
+ openTime: value,
+ openTimeText: "璁″垝寮�闃�鏃堕棿锛�" + value
+ })
+ }, hidePicker() {
+ this.setData({
+ isShowOpenTime: false,
+ isOpenTiming: false,
+ radioValue: "0"
+ })
+ },
})
\ No newline at end of file
--
Gitblit v1.8.0