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 | 578 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 554 insertions(+), 24 deletions(-)
diff --git a/pages/waterIntake/waterIntake.js b/pages/waterIntake/waterIntake.js
index bcfb618..5ac5cb2 100644
--- a/pages/waterIntake/waterIntake.js
+++ b/pages/waterIntake/waterIntake.js
@@ -1,11 +1,68 @@
// 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: "",
+ //浠ヤ笅涓哄紑闃�寮圭獥鐩稿叧
+ 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
@@ -15,19 +72,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 +93,77 @@
* 閫夋嫨铏氭嫙鍗�
* @param {} event
*/
- choseCard(event){
- wx.navigateTo({
- url: '/pages/openCard/openCard',
+ choseCard(event) {
+ //鏄剧ず浜屾纭寮圭獥
+ this.setData({
+ // showConfirm: true,
+ choseItem: event.currentTarget.dataset.item,
+ allWaterPoints: []
+
})
- },
+ this.initDialogData();
+ // 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: 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,
+ 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 +176,7 @@
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚
*/
onReady() {
-
+ this.getcommonWaterPoints();
},
/**
@@ -77,12 +200,8 @@
},
- /**
- * 椤甸潰鐩稿叧浜嬩欢澶勭悊鍑芥暟--鐩戝惉鐢ㄦ埛涓嬫媺鍔ㄤ綔
- */
- onPullDownRefresh() {
- },
+
/**
* 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
@@ -96,5 +215,416 @@
*/
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: {
+ operatorId: getApp().globalData.clientId
+ }
+ })
+ .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);
+ this.setData({
+ showConfirm: false
+ })
+ 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