From d0ba104b6ee00b03a3433e66384952c4a4a892c4 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期六, 12 十月 2024 09:21:15 +0800 Subject: [PATCH] 1.tag切换到test。2.优化首页显示内容 --- pages/openCard/openCard.js | 437 +++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 382 insertions(+), 55 deletions(-) diff --git a/pages/openCard/openCard.js b/pages/openCard/openCard.js index 9b73d8c..a3f47d4 100644 --- a/pages/openCard/openCard.js +++ b/pages/openCard/openCard.js @@ -10,7 +10,7 @@ */ data: { intakeId: 0, - showDialog: true, + showDialog: false, vcId: "", activeIndex: -1, datetimeVisible: false, @@ -21,9 +21,22 @@ dialog_mode: true, dialog_time: false, dialog_water: false, - group_time: false, - openTime: "", - isShowOpenTime: "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:"",//杈撳叆鐨勮嚜瀹氫箟姘撮噺 }, openValva(event) { const { @@ -36,53 +49,14 @@ }) } else if (item.inUse === false) { // 閫夋嫨铏氭嫙鍗″悗 + this.initDialogData(); this.setData({ vcId: item.vcId, - showDialog: true, - dialog_mode: true, - dialog_time: false, - dialog_water: false }) } }, handleAutoIrrigation() {}, - //绔嬪嵆寮�娉� - postOpenValva() { - const app = getApp(); - const data = { - intakeId: this.data.intakeId, //鍙栨按鍙D - vcId: this.data.vcId, //铏氭嫙鍗D - operator: app.globalData.sessionId //鎿嶄綔鍛� - }; - post({ - url: "wx/valve/open_wx", - data: data - }).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 === "1002") { - wx.showToast({ - title: '寮�娉靛け璐�', - icon: 'error', - duration: 3000 // 鎻愮ず鐨勬寔缁椂闂达紝鍗曚綅姣 - }) - } - }); - }, - postTimeOpen() {}, /** * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇 */ @@ -91,7 +65,7 @@ intakeId } = options; this.setData({ - intakeId + intakeId: intakeId }) console.log('intakeId:' + this.data.intakeId); this.getCardList(); @@ -108,7 +82,7 @@ * 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず */ onShow() { - + console.log("onShow>>>>" + this.data.isShowOpenTime) }, /** @@ -197,12 +171,34 @@ showDialog: false }) }, - handleMoneyWrapperTap: function (e) { + //閫夋嫨鏃堕棿鍚庣殑澶勭悊 + 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, + }); + } + }, + // 閫夋嫨姘撮噺鍚庣殑澶勭悊 + 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:"" }); } }, @@ -243,36 +239,57 @@ handleSetDuration() { this.getIrrigateProfileData(1); }, - onGroupChange(event) { + onGroupOpenTimeChange(event) { const { value } = event.detail; - console.log('Failed to add item:' + value); + console.log('onGroupOpenTimeChange:' + value); if (value == 1) { this.showPicker(); + this.setData({ + isOpenTiming: true, + radioValue: value, + }) } else { this.setData({ - isShowOpenTime: false + isShowOpenTime: false, + isOpenTiming: false, + radioValue: value, }) } }, + //鏄剧ず鏃堕棿閫夋嫨鍣� showPicker(e) { this.setData({ + datetime: new Date().getTime(), datetimeVisible: true, isShowOpenTime: true }); }, - onTimeInputChange() { - this.setData({ - group_time: true - }) + 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, + }) + } + }, onConfirm(e) { const { value } = e?.detail; + console.log(value); this.setData({ - openTime: "寮�闃�鏃堕棿锛�" + value + openTime: value, + openTimeText: "璁″垝寮�闃�鏃堕棿锛�" + value }) }, handleSetWaterVolume() { @@ -285,5 +302,315 @@ dialog_mode: true, group_time: false }) + }, + //绔嬪嵆寮�娉� + postOpenValva(isforce) { + wx.showLoading({ + title: '姝e湪寮�闃�璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧 + mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false + }); + const app = getApp(); + const data = { + intakeId: this.data.intakeId, //鍙栨按鍙D + vcId: this.data.vcId, //铏氭嫙鍗D + operator: app.globalData.sessionId, //鎿嶄綔鍛� + forceOpen: !!isforce // 浣跨敤閫昏緫闈炴搷浣滅 !! 鏉ョ‘淇� isForce 鏄竷灏斿�� + }; + post({ + url: "wx/valve/open_wx", + data: data + }).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({ + // showDialog: false, + // showForceConfirm: true + // }) + // } else { + this.setData({ + showErrorDialog: true, + errorData: error.msg + }) + // } + }); + }, + //瀹氭椂鍏抽榾寮忓紑闃� + timeClose() { + const app = getApp(); + wx.showLoading({ + title: '姝e湪寮�闃�璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧 + mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false + }); + const data = { + intakeId: this.data.intakeId, //鍙栨按鍙D + vcId: this.data.vcId, //铏氭嫙鍗D + minutes: this.data.postMinutes, //鍒嗛挓 + operator: app.globalData.sessionId //鎿嶄綔鍛� + }; + post({ + url: "wx/valve/timed_close", + data: data + }).then(response => { + // 澶勭悊鎴愬姛鍝嶅簲 + console.log('璇锋眰鎴愬姛:', response); + // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢� + wx.hideLoading(); + //瀹屾垚鍚庡洖鍒伴椤� + wx.reLaunch({ + url: '/pages/home/home?param=true' // 棣栭〉鐨勮矾寰勶紝鏍规嵁瀹為檯鎯呭喌濉啓 + }); + }).catch(error => { + // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢� + wx.hideLoading(); + // 澶勭悊閿欒鍝嶅簲 + console.error('璇锋眰澶辫触:', error); + this.setData({ + showErrorDialog: true, + errorData: error.msg + }) + }); + }, + //瀹氭椂鍏抽榾寮忚鍒掑紑闃� + timeClosePlaned() { + const app = getApp(); + wx.showLoading({ + title: '姝e湪閫氫俊璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧 + mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false + }); + const data = { + intakeId: this.data.intakeId, //鍙栨按鍙D + vcId: this.data.vcId, //铏氭嫙鍗D + minutes: this.data.postMinutes, //鍒嗛挓 + operator: app.globalData.sessionId, //鎿嶄綔鍛� + plannedOpenTime: this.data.openTime + }; + post({ + url: "wx/valve/timed_close", + data: data + }).then(response => { + // 澶勭悊鎴愬姛鍝嶅簲 + console.log('璇锋眰鎴愬姛:', response); + // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢� + wx.hideLoading(); + //瀹屾垚鍚庡洖鍒伴椤� + wx.reLaunch({ + url: '/pages/home/home?param=true' // 棣栭〉鐨勮矾寰勶紝鏍规嵁瀹為檯鎯呭喌濉啓 + }); + }).catch(error => { + // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢� + wx.hideLoading(); + // 澶勭悊閿欒鍝嶅簲 + console.error('璇锋眰澶辫触:', error); + this.setData({ + showErrorDialog: true, + errorData: error.msg + }) + }); + }, + //瀹氶噺寮�闃� + quantifyOpen() { + const app = getApp(); + wx.showLoading({ + title: '姝e湪寮�闃�璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧 + mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false + }); + const data = { + intakeId: this.data.intakeId, //鍙栨按鍙D + vcId: this.data.vcId, //铏氭嫙鍗D + minutes: this.data.waterAmount, //姘撮噺 + operator: app.globalData.sessionId //鎿嶄綔鍛� + }; + post({ + url: "/wx/valve/quantify_close", + data: data + }).then(response => { + // 澶勭悊鎴愬姛鍝嶅簲 + console.log('璇锋眰鎴愬姛:', response); + // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢� + wx.hideLoading(); + //瀹屾垚鍚庡洖鍒伴椤� + wx.reLaunch({ + url: '/pages/home/home?param=true' // 棣栭〉鐨勮矾寰勶紝鏍规嵁瀹為檯鎯呭喌濉啓 + }); + }).catch(error => { + // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢� + wx.hideLoading(); + // 澶勭悊閿欒鍝嶅簲 + console.error('璇锋眰澶辫触:', error); + this.setData({ + showErrorDialog: true, + errorData: error.msg + }) + }); + }, + //瀹氶噺寮�闃�寮忚鍒掑紑闃� + quantifyOpenTime() { + const app = getApp(); + wx.showLoading({ + title: '姝e湪閫氫俊璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧 + mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false + }); + const data = { + intakeId: this.data.intakeId, //鍙栨按鍙D + vcId: this.data.vcId, //铏氭嫙鍗D + waterAmount: this.data.waterAmount, //姘撮噺 + operator: app.globalData.sessionId, //鎿嶄綔鍛� + plannedOpenTime: this.data.openTime + }; + post({ + url: "/wx/valve/planed_open_quantify_close", + data: data + }).then(response => { + // 澶勭悊鎴愬姛鍝嶅簲 + console.log('璇锋眰鎴愬姛:', response); + // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢� + wx.hideLoading(); + //瀹屾垚鍚庡洖鍒伴椤� + wx.reLaunch({ + url: '/pages/home/home?param=true' // 棣栭〉鐨勮矾寰勶紝鏍规嵁瀹為檯鎯呭喌濉啓 + }); + }).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; + }, + //瀹氭椂寮�娉垫寜閽� + btnOpenOnTime() { + if (this.data.postMinutes > 0) { + if (this.data.isOpenTiming) { + this.timeClosePlaned(); + } else { + this.timeClose(); + } + } else { + wx.showToast({ + icon: 'error', + title: '璇烽�夋嫨鎴栬緭鍏ョ亴婧夋椂闂达紒', + }) + } + + }, + cancelDialog() { + this.setData({ + showForceConfirm: false + }); + }, + //寮哄埗寮�闃� + confirmForceDialog() { + this.postOpenValva(this.data.forceIntakeId, true); + }, + //鍏抽棴閿欒鎻愮ず + closeErrorDialog() { + this.setData({ + showErrorDialog: false + }) + }, + hidePicker() { + this.setData({ + isShowOpenTime: false, + isOpenTiming: false, + radioValue: "0" + }) + }, + //鍒濆鍖栨墍鏈夊紑娉电殑鍙傛暟 + 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: "" + }) + }, + //瀹氱亴婧夋椂闀胯嚜瀹氫箟杈撳叆鏃堕棿鏃朵慨鏀规椂闂村崟浣�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) + }) + } + }, + //杈撳叆鑷畾涔夋按閲忕殑鐩戝惉 + onWaterInputChange(data){ + console.log(data.detail.value) + if (data.detail.value !== "") { + this.setData({ + activeIndex: -1, + waterAmount: parseInt(data.detail.value) + }) + } else { + this.setData({ + waterAmount: 0, + }) + } + }, + // 瀹氶噺寮�娉垫寜閽� + btnOpenOnWater(){ + if (this.data.waterAmount > 0) { + if (this.data.isOpenTiming) { + this.quantifyOpenTime(); + } else { + this.quantifyOpen(); + } + } else { + wx.showToast({ + icon: 'error', + title: '璇烽�夋嫨鎴栬緭鍏ョ亴婧夋椂闂达紒', + }) + } } + + }) \ No newline at end of file -- Gitblit v1.8.0