From fb805f6ff1d167951e94198b6e9fc320649e8643 Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期五, 11 四月 2025 17:57:20 +0800
Subject: [PATCH] Merge branch 'doing' of http://8.140.179.55:20000/r/wm/pipIrr into doing
---
pages/irrigation/irrigation.js | 464 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 378 insertions(+), 86 deletions(-)
diff --git a/pages/irrigation/irrigation.js b/pages/irrigation/irrigation.js
index 248efcc..18aac0c 100644
--- a/pages/irrigation/irrigation.js
+++ b/pages/irrigation/irrigation.js
@@ -13,7 +13,12 @@
currentList: [], // 褰撳墠鏄剧ず鐨勫垪琛�
isRefreshing: false, // 鏄惁姝e湪鍒锋柊
isWXRefreshing: false, // 寰俊鍘熺敓涓嬫媺鍒锋柊鐘舵��
- projectId: null // Added to store projectId
+ projectId: null, // Added to store projectId
+ // 娣诲姞鍒嗛〉鐩稿叧鏁版嵁
+ pageCurr: 1, // 褰撳墠椤电爜锛屼粠1寮�濮�
+ pageSize: 10, // 姣忛〉璁板綍鏁�
+ hasMoreData: true, // 鏄惁杩樻湁鏇村鏁版嵁
+ loadingMore: false // 鏄惁姝e湪鍔犺浇鏇村
},
/**
@@ -26,59 +31,116 @@
projectId: options.projectId
});
}
- this.loadIrrigationData();
- this.loadCompletedIrrigationData();
+
+ // 璁剧疆鍔犺浇鐘舵��
+ wx.showLoading({
+ title: '鍔犺浇涓�',
+ mask: true
+ });
+
+ // 榛樿鍏堝姞杞藉綋鍓嶇亴婧夎鍒�
+ this.loadIrrigationData()
+ .then(() => {
+ wx.hideLoading();
+ })
+ .catch(() => {
+ wx.hideLoading();
+ });
},
/**
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鏄剧ず
*/
- onShow: function () {
- this.loadIrrigationData();
- this.loadCompletedIrrigationData();
- },
+ // onShow: function () {
+ // // 璁剧疆椤甸潰涓哄姞杞戒腑鐘舵��
+ // wx.showLoading({
+ // title: '鍔犺浇涓�',
+ // mask: true
+ // });
+
+ // // 鍏堝姞杞藉綋鍓嶉〉闈㈡墍闇�鐨勬暟鎹�
+ // const currentTab = this.data.currentTab;
+ // if (currentTab === 0) {
+ // // 褰撳墠鏍囩鏄�"褰撳墠鐏屾簤璁″垝"锛屽姞杞借繖涓�
+ // this.loadIrrigationData()
+ // .then(() => {
+ // wx.hideLoading();
+ // })
+ // .catch(() => {
+ // wx.hideLoading();
+ // });
+ // } else {
+ // // 褰撳墠鏍囩鏄�"鍘嗗彶璁″垝"
+ // // 鍙姞杞界涓�椤垫暟鎹紝淇濈暀鍒嗛〉鐘舵��
+ // if (this.data.completedList.length === 0) {
+ // // 濡傛灉鍘嗗彶鍒楄〃涓虹┖锛岄噸缃垎椤电姸鎬�
+ // this.setData({
+ // pageCurr: 1,
+ // hasMoreData: true
+ // });
+ // }
+
+ // this.loadCompletedIrrigationData()
+ // .then(() => {
+ // wx.hideLoading();
+ // })
+ // .catch(() => {
+ // wx.hideLoading();
+ // });
+ // }
+ // },
/**
* 鍔犺浇杞亴鏁版嵁
*/
loadIrrigationData: function () {
- get({
- url: '/wx/plan/getNotCompletePlans'
- }).then(res => {
- if (res.success) {
- const activeList = res.content.map(item => ({
- id: item.planId,
- title: item.planName,
- projectName: item.projectName || '鏈垎閰嶉」鐩�',
- status: item.planState,
- planStartTime: item.planStartTime,
- planStopTime: item.planStopTime,
- duration: item.duration,
- startupMode: item.startupMode
- }));
+ return new Promise((resolve, reject) => {
+ get({
+ url: '/wx/plan/getNotCompletePlans'
+ }).then(res => {
+ if (res.success) {
+ const activeList = res.content.map(item => {
+ // 纭繚灏唒lanState杞崲涓哄瓧绗︿覆
+ const planState = String(item.planState);
+ return {
+ id: item.planId,
+ title: item.planName,
+ projectName: item.projectName || '鏈垎閰嶉」鐩�',
+ status: planState,
+ planStartTime: item.planStartTime,
+ planStopTime: item.planStopTime,
+ duration: item.duration,
+ startupMode: item.startupMode
+ };
+ });
- console.log('杞亴璁″垝鏁版嵁锛�', activeList);
+ console.log('杞亴璁″垝鏁版嵁锛�', activeList);
+ this.setData({
+ activeList: activeList,
+ currentList: this.data.currentTab === 0 ? activeList : this.data.completedList,
+ isRefreshing: false,
+ isWXRefreshing: false
+ });
+ resolve();
+ } else {
+ wx.showToast({
+ title: res.msg || '鍔犺浇澶辫触',
+ icon: 'none'
+ });
+ reject();
+ }
+ }).catch(err => {
+ console.error('鍔犺浇澶辫触:', err);
+ wx.showToast({
+ title: '鍔犺浇澶辫触',
+ icon: 'none'
+ });
this.setData({
- activeList: activeList,
- currentList: this.data.currentTab === 0 ? activeList : this.data.completedList,
isRefreshing: false,
isWXRefreshing: false
});
- } else {
- wx.showToast({
- title: res.msg || '鍔犺浇澶辫触',
- icon: 'none'
- });
- }
- }).catch(err => {
- wx.showToast({
- title: '鍔犺浇澶辫触',
- icon: 'none'
- });
- this.setData({
- isRefreshing: false,
- isWXRefreshing: false
+ reject();
});
});
},
@@ -87,43 +149,85 @@
* 鍔犺浇宸插畬鎴愮殑杞亴鏁版嵁
*/
loadCompletedIrrigationData: function () {
- get({
- url: '/wx/plan/getCompletedPlans'
- }).then(res => {
- if (res.success) {
- const completedList = res.content.map(item => ({
- id: item.planId,
- title: item.planName,
- projectName: item.projectName || '鏈垎閰嶉」鐩�',
- status: item.planState,
- planStartTime: item.planStartTime,
- planStopTime: item.planStopTime,
- duration: item.duration,
- startupMode: item.startupMode
- }));
+ // 濡傛灉姝e湪鍔犺浇鎴栨病鏈夋洿澶氭暟鎹紝鍒欎笉鍐嶈姹�
+ if (this.data.loadingMore && !this.data.hasMoreData) {
+ return Promise.resolve();
+ }
+
+ // 璁剧疆鍔犺浇鐘舵��
+ this.setData({
+ loadingMore: true
+ });
+
+ return new Promise((resolve, reject) => {
+ get({
+ url: '/wx/plan/getCompletedPlans',
+ data: {
+ pageCurr: this.data.pageCurr,
+ pageSize: this.data.pageSize
+ }
+ }).then(res => {
+ if (res.success) {
+ const newCompletedList = res.content.obj ? res.content.obj.map(item => {
+ // 纭繚灏唒lanState杞崲涓哄瓧绗︿覆
+ const planState = String(item.planState);
+ return {
+ id: item.planId,
+ title: item.planName,
+ projectName: item.projectName || '鏈垎閰嶉」鐩�',
+ status: planState,
+ planStartTime: item.planStartTime,
+ planStopTime: item.planStopTime,
+ duration: item.duration,
+ startupMode: item.startupMode
+ };
+ }) : [];
- console.log('宸插畬鎴愯疆鐏岃鍒掓暟鎹細', completedList);
+ console.log('宸插畬鎴愯疆鐏岃鍒掓暟鎹細', newCompletedList);
+
+ // 鑾峰彇鍒嗛〉淇℃伅
+ const pageInfo = {
+ itemTotal: res.content.itemTotal || 0, // 鎬昏褰曟暟
+ pageCurr: res.content.pageCurr || 1, // 褰撳墠椤电爜
+ pageSize: res.content.pageSize || 20, // 姣忛〉澶у皬
+ pageTotal: res.content.pageTotal || 1 // 鎬婚〉鏁�
+ };
+
+ console.log('鍒嗛〉淇℃伅锛�', pageInfo);
+ // 鍒ゆ柇鏄惁杩樻湁鏇村鏁版嵁 - 褰撳墠椤靛皬浜庢�婚〉鏁�
+ const hasMoreData = pageInfo.pageCurr < pageInfo.pageTotal;
+
+ // 鍚堝苟鏁版嵁锛岀涓�椤电洿鎺ユ浛鎹紝涔嬪悗鐨勯〉闈㈣拷鍔�
+ const completedList = this.data.pageCurr === 1 ?
+ newCompletedList : [...this.data.completedList, ...newCompletedList];
+
+ this.setData({
+ completedList: completedList,
+ currentList: this.data.currentTab === 1 ? completedList : this.data.activeList,
+ isRefreshing: false,
+ isWXRefreshing: false,
+ loadingMore: false,
+ hasMoreData: hasMoreData
+ });
+ resolve();
+ } else {
+ this.setData({
+ loadingMore: false
+ });
+ // 涓嶆樉绀烘彁绀猴紝鍥犱负鍙兘鏄湪鍚庡彴鍔犺浇
+ console.error('鍘嗗彶璁″垝鍔犺浇澶辫触:', res.msg);
+ reject();
+ }
+ }).catch(err => {
+ console.error('鍘嗗彶璁″垝鍔犺浇澶辫触:', err);
this.setData({
- completedList: completedList,
- currentList: this.data.currentTab === 1 ? completedList : this.data.activeList,
isRefreshing: false,
- isWXRefreshing: false
+ isWXRefreshing: false,
+ loadingMore: false
});
- } else {
- wx.showToast({
- title: res.msg || '鍔犺浇澶辫触',
- icon: 'none'
- });
- }
- }).catch(err => {
- wx.showToast({
- title: '鍔犺浇澶辫触',
- icon: 'none'
- });
- this.setData({
- isRefreshing: false,
- isWXRefreshing: false
+ // 涓嶆樉绀烘彁绀猴紝鍥犱负鍙兘鏄湪鍚庡彴鍔犺浇
+ reject();
});
});
},
@@ -140,10 +244,58 @@
const activeList = this.data.activeList || [];
const completedList = this.data.completedList || [];
- this.setData({
- currentTab: index,
- currentList: index === 0 ? activeList : completedList
- });
+ // 鍒囨崲鏍囩椤垫椂锛岀洿鎺ヤ娇鐢ㄥ凡鍔犺浇鐨勬暟鎹紝涓嶉噸鏂拌姹�
+ if (index === 1) {
+ // 鍒囨崲鍒板巻鍙茶鍒掓爣绛�
+ this.setData({
+ currentTab: index,
+ currentList: completedList
+ });
+
+ // 濡傛灉鍘嗗彶鍒楄〃涓虹┖锛屾墠杩涜鍔犺浇
+ if (completedList.length === 0) {
+ wx.showLoading({
+ title: '鍔犺浇涓�',
+ mask: true
+ });
+
+ this.setData({
+ pageCurr: 1,
+ hasMoreData: true,
+ loadingMore: true // 鏄剧ず鍔犺浇鎸囩ず鍣�
+ });
+
+ this.loadCompletedIrrigationData()
+ .then(() => {
+ wx.hideLoading();
+ })
+ .catch(() => {
+ wx.hideLoading();
+ });
+ }
+ } else {
+ // 鍒囨崲鍒板綋鍓嶇亴婧夎鍒掓爣绛�
+ this.setData({
+ currentTab: index,
+ currentList: activeList
+ });
+
+ // 濡傛灉褰撳墠鐏屾簤璁″垝鍒楄〃涓虹┖锛屾墠杩涜鍔犺浇
+ if (activeList.length === 0) {
+ wx.showLoading({
+ title: '鍔犺浇涓�',
+ mask: true
+ });
+
+ this.loadIrrigationData()
+ .then(() => {
+ wx.hideLoading();
+ })
+ .catch(() => {
+ wx.hideLoading();
+ });
+ }
+ }
},
/**
@@ -153,9 +305,22 @@
const id = e.currentTarget.dataset.id;
const status = e.currentTarget.dataset.status;
+ console.log('鐐瑰嚮椤圭洰鐘舵��:', status, '绫诲瀷:', typeof status);
+
+ // 鍒ゆ柇璁″垝鐘舵�侊紝濡傛灉鏄�1(鏈彂甯�)锛屽垯鎻愮ず鐢ㄦ埛
+ if (status === '1' || status === 1) {
+ wx.showModal({
+ title: '鎻愮ず',
+ content: '褰撳墠璁″垝鏈彂甯冿紝璇峰彂甯冨悗鏌ョ湅',
+ showCancel: false,
+ confirmText: '纭'
+ });
+ return;
+ }
+
// 瀵艰埅鍒扮亴婧夎鎯呴〉闈紝骞朵紶閫掑弬鏁�
wx.navigateTo({
- url: `/pages/irrigationDetail/irrigationDetail?id=${id}&fromList=true`
+ url: `/pages/irrigationDetail/irrigationDetail?planId=${id}&fromList=true`
});
},
@@ -213,17 +378,87 @@
content: '纭畾瑕佺粓姝㈣杞亴璁″垝鍚楋紵',
success: (res) => {
if (res.confirm) {
- // 杩欓噷搴旇璋冪敤API缁堟杞亴璁″垝
- wx.showToast({
- title: '宸茬粓姝�',
- icon: 'success'
- });
- // 鍒锋柊鏁版嵁
- this.loadIrrigationData();
+ this.postStop(id)
}
}
});
},
+
+ /**
+ * 鐐瑰嚮鍒犻櫎鎸夐挳
+ */
+ onDelete: function (e) {
+ const id = e.currentTarget.dataset.id;
+ wx.showModal({
+ title: '纭鍒犻櫎',
+ content: '纭畾瑕佸垹闄よ杞亴璁″垝鍚楋紵',
+ success: (res) => {
+ if (res.confirm) {
+ // 璋冪敤鍒犻櫎鎺ュ彛
+ post({
+ url: '/wx/plan/deletePlan',
+ data: {
+ planId: id,
+ operatorId: app.globalData.clientId
+ },
+ isShowLoding: true
+ }).then(res => {
+ if (res.success) {
+ wx.showToast({
+ title: '鍒犻櫎鎴愬姛',
+ icon: 'success'
+ });
+ // 鍒锋柊鏁版嵁
+ this.loadIrrigationData();
+ } else {
+ wx.showToast({
+ title: res.msg || '鍒犻櫎澶辫触',
+ icon: 'none'
+ });
+ }
+ }).catch(err => {
+ console.error('鍒犻櫎澶辫触锛�', err);
+ wx.showToast({
+ title: '鍒犻櫎澶辫触',
+ icon: 'none'
+ });
+ });
+ }
+ }
+ });
+ },
+
+ //缁堟杞亴璁″垝
+ postStop(planID){
+ post({
+ url: '/wx/plan/terminatePlan',
+ data: {
+ planId: planID,
+ operatorId: app.globalData.clientId
+ },
+ isShowLoding: true
+ }).then(res => {
+ if (res.success) {
+ wx.showToast({
+ title: '缁堟鎴愬姛',
+ icon: 'success'
+ });
+ // 鍒锋柊鏁版嵁
+ this.loadIrrigationData();
+ } else {
+ wx.showToast({
+ title: res.msg || '缁堟澶辫触',
+ icon: 'none'
+ });
+ }
+ }).catch(err => {
+ console.error('缁堟澶辫触锛�', err);
+ wx.showToast({
+ title: '缁堟澶辫触',
+ icon: 'none'
+ });
+ });
+ },
/**
* 鐐瑰嚮绔嬪嵆鎵ц鎸夐挳
@@ -272,8 +507,27 @@
this.setData({
isRefreshing: true
});
- this.loadIrrigationData();
- this.loadCompletedIrrigationData();
+
+ // 鏍规嵁褰撳墠鏍囩椤靛彧鍒锋柊瀵瑰簲鐨勬暟鎹�
+ const currentTab = this.data.currentTab;
+ if (currentTab === 0) {
+ // 褰撳墠鏍囩鏄�"褰撳墠鐏屾簤璁″垝"锛屽彧鍒锋柊杩欎釜
+ this.loadIrrigationData()
+ .finally(() => {
+ this.setData({ isRefreshing: false });
+ });
+ } else {
+ // 褰撳墠鏍囩鏄�"鍘嗗彶璁″垝"锛屽皢鍒嗛〉閲嶇疆鍒扮涓�椤靛苟鍒锋柊
+ this.setData({
+ pageCurr: 1,
+ hasMoreData: true
+ });
+
+ this.loadCompletedIrrigationData()
+ .finally(() => {
+ this.setData({ isRefreshing: false });
+ });
+ }
}
},
@@ -284,7 +538,45 @@
this.setData({
isWXRefreshing: true
});
- this.loadIrrigationData();
- this.loadCompletedIrrigationData();
+
+ // 鏍规嵁褰撳墠鏍囩椤靛彧鍒锋柊瀵瑰簲鐨勬暟鎹�
+ const currentTab = this.data.currentTab;
+ if (currentTab === 0) {
+ // 褰撳墠鏍囩鏄�"褰撳墠鐏屾簤璁″垝"锛屽彧鍒锋柊杩欎釜
+ this.loadIrrigationData()
+ .finally(() => {
+ this.setData({ isWXRefreshing: false });
+ });
+ } else {
+ // 褰撳墠鏍囩鏄�"鍘嗗彶璁″垝"锛屽皢鍒嗛〉閲嶇疆鍒扮涓�椤靛苟鍒锋柊
+ this.setData({
+ pageCurr: 1,
+ hasMoreData: true
+ });
+
+ this.loadCompletedIrrigationData()
+ .finally(() => {
+ this.setData({ isWXRefreshing: false });
+ });
+ }
+ },
+
+ /**
+ * 椤甸潰涓婃媺瑙﹀簳浜嬩欢鐨勫鐞嗗嚱鏁�
+ */
+ onReachBottom: function() {
+ console.log('瑙﹀簳鍔犺浇鏇村, 褰撳墠鏍囩:', this.data.currentTab);
+ // 褰撳墠鏄凡瀹屾垚鍒楄〃涓旇繕鏈夋洿澶氭暟鎹椂鍔犺浇鏇村
+ if (this.data.currentTab === 1 && this.data.hasMoreData && !this.data.loadingMore) {
+ this.setData({
+ pageCurr: this.data.pageCurr + 1
+ });
+
+ // 鍔犺浇鏇村鍘嗗彶鏁版嵁
+ this.loadCompletedIrrigationData()
+ .catch(err => {
+ console.error('鍔犺浇鏇村鍘嗗彶鏁版嵁澶辫触:', err);
+ });
+ }
}
})
\ No newline at end of file
--
Gitblit v1.8.0