From 50433e86b718fab0d94ea1410724b29b5f53fa0a Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期三, 09 四月 2025 15:11:26 +0800
Subject: [PATCH] 更新SVG图标样式,优化灌溉计划和取水口页面逻辑,添加状态处理和信息提示功能;调整界面样式,提升用户体验。
---
pages/irrigation/irrigation.js | 301 +++++++++++++++++++++++++++++++++----------------
1 files changed, 200 insertions(+), 101 deletions(-)
diff --git a/pages/irrigation/irrigation.js b/pages/irrigation/irrigation.js
index 6ff0e20..61b0f3e 100644
--- a/pages/irrigation/irrigation.js
+++ b/pages/irrigation/irrigation.js
@@ -1,4 +1,7 @@
// pages/irrigation/irrigation.js
+const { get, post } = require('../../api/request');
+const app = getApp();
+
Page({
/**
* 椤甸潰鐨勫垵濮嬫暟鎹�
@@ -9,14 +12,22 @@
completedList: [], // 宸插畬鎴愮殑杞亴鍒楄〃
currentList: [], // 褰撳墠鏄剧ず鐨勫垪琛�
isRefreshing: false, // 鏄惁姝e湪鍒锋柊
- isWXRefreshing: false // 寰俊鍘熺敓涓嬫媺鍒锋柊鐘舵��
+ isWXRefreshing: false, // 寰俊鍘熺敓涓嬫媺鍒锋柊鐘舵��
+ projectId: null // Added to store projectId
},
/**
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
*/
onLoad: function (options) {
+ // 鑾峰彇椤圭洰ID
+ if (options.projectId) {
+ this.setData({
+ projectId: options.projectId
+ });
+ }
this.loadIrrigationData();
+ this.loadCompletedIrrigationData();
},
/**
@@ -24,100 +35,105 @@
*/
onShow: function () {
this.loadIrrigationData();
+ this.loadCompletedIrrigationData();
},
/**
* 鍔犺浇杞亴鏁版嵁
*/
loadIrrigationData: function () {
- // 杩欓噷搴旇璋冪敤API鑾峰彇鏁版嵁
- // 妯℃嫙鏁版嵁
- const mockData = {
- activeList: [
- {
- id: '1',
- title: 'LG-2023-001',
- status: '鏈彂甯�',
- irrigationTime: '2023-05-20 08:00 - 17:00'
- },
- {
- id: '2',
- title: 'LG-2023-002',
- status: '宸插彂甯�',
- irrigationTime: '2023-05-22 09:00 - 18:00'
- },
- {
- id: '2',
- title: 'LG-2023-002',
- status: '宸插彂甯�',
- irrigationTime: '2023-05-22 09:00 - 18:00'
- }, {
- id: '2',
- title: 'LG-2023-002',
- status: '宸插彂甯�',
- irrigationTime: '2023-05-22 09:00 - 18:00'
- }, {
- id: '2',
- title: 'LG-2023-002',
- status: '宸插彂甯�',
- irrigationTime: '2023-05-22 09:00 - 18:00'
- },
- {
- id: '3',
- title: 'LG-2023-003',
- status: '鎵ц涓�',
- irrigationTime: '2023-05-18 07:30 - 16:30',
- irrigatedTime: '3灏忔椂25鍒嗛挓',
- irrigatedGroups: '1缁勩��2缁勩��3缁�'
- }, {
- id: '2',
- title: 'LG-2023-002',
- status: '宸插彂甯�',
- irrigationTime: '2023-05-22 09:00 - 18:00'
- },
- {
- id: '3',
- title: 'LG-2023-003',
- status: '鎵ц涓�',
- irrigationTime: '2023-05-18 07:30 - 16:30',
- irrigatedTime: '3灏忔椂25鍒嗛挓',
- irrigatedGroups: '1缁勩��2缁勩��3缁�'
- }, {
- id: '2',
- title: 'LG-2023-002',
- status: '宸插彂甯�',
- irrigationTime: '2023-05-22 09:00 - 18:00'
- },
- {
- id: '3',
- title: 'LG-2023-003',
- status: '鎵ц涓�',
- irrigationTime: '2023-05-18 07:30 - 16:30',
- irrigatedTime: '3灏忔椂25鍒嗛挓',
- irrigatedGroups: '1缁勩��2缁勩��3缁�'
- }
-
- ]
- // completedList: [
- // {
- // id: '4',
- // title: 'LG-2023-004',
- // status: '宸插畬鎴�',
- // irrigationTime: '2023-05-10 10:00 - 19:00'
- // }
- // ]
- };
+ 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
+ };
+ });
- // 妯℃嫙缃戠粶璇锋眰寤惰繜
- setTimeout(() => {
- this.setData({
- activeList: mockData.activeList || [],
- completedList: mockData.completedList || [],
- currentList: this.data.currentTab === 0 ? mockData.activeList || [] : mockData.completedList || [],
- isRefreshing: false, // 缁撴潫鍒锋柊鐘舵��
- isWXRefreshing: false // 缁撴潫寰俊鍘熺敓涓嬫媺鍒锋柊鐘舵��
+ console.log('杞亴璁″垝鏁版嵁锛�', activeList);
+
+ 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'
});
- }, 1000);
+ this.setData({
+ isRefreshing: false,
+ isWXRefreshing: false
+ });
+ });
+ },
+
+ /**
+ * 鍔犺浇宸插畬鎴愮殑杞亴鏁版嵁
+ */
+ loadCompletedIrrigationData: function () {
+ get({
+ url: '/wx/plan/getCompletedPlans'
+ }).then(res => {
+ if (res.success) {
+ const completedList = 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('宸插畬鎴愯疆鐏岃鍒掓暟鎹細', completedList);
+
+ this.setData({
+ completedList: completedList,
+ currentList: this.data.currentTab === 1 ? completedList : this.data.activeList,
+ 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
+ });
+ });
},
/**
@@ -139,6 +155,32 @@
},
/**
+ * 鐐瑰嚮鍒楄〃椤�
+ */
+ onItemTap: function (e) {
+ 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?planId=${id}&fromList=true`
+ });
+ },
+
+ /**
* 鐐瑰嚮鍙戝竷鎸夐挳
*/
onPublish: function (e) {
@@ -148,13 +190,35 @@
content: '纭畾瑕佸彂甯冭杞亴璁″垝鍚楋紵',
success: (res) => {
if (res.confirm) {
- // 杩欓噷搴旇璋冪敤API鍙戝竷杞亴璁″垝
- wx.showToast({
- title: '鍙戝竷鎴愬姛',
- icon: 'success'
+ // 璋冪敤鍙戝竷鎺ュ彛
+ post({
+ url: '/wx/plan/publishPlan',
+ 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'
+ });
});
- // 鍒锋柊鏁版嵁
- this.loadIrrigationData();
}
}
});
@@ -170,17 +234,42 @@
content: '纭畾瑕佺粓姝㈣杞亴璁″垝鍚楋紵',
success: (res) => {
if (res.confirm) {
- // 杩欓噷搴旇璋冪敤API缁堟杞亴璁″垝
- wx.showToast({
- title: '宸茬粓姝�',
- icon: 'success'
- });
- // 鍒锋柊鏁版嵁
- this.loadIrrigationData();
+ this.postStop(id)
}
}
});
},
+ //缁堟杞亴璁″垝
+ 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'
+ });
+ });
+ },
/**
* 鐐瑰嚮绔嬪嵆鎵ц鎸夐挳
@@ -209,8 +298,16 @@
*/
onAddIrrigation: function () {
wx.navigateTo({
- url: '/pages/createIrrigation/createIrrigation'
+ url: '/pages/createIrrigation/createIrrigation?projectId=' + this.data.projectId
});
+ },
+
+ /**
+ * 闃绘浜嬩欢鍐掓场
+ */
+ stopPropagation: function (e) {
+ // 闃绘浜嬩欢鍐掓场
+ return false;
},
/**
@@ -222,6 +319,7 @@
isRefreshing: true
});
this.loadIrrigationData();
+ this.loadCompletedIrrigationData();
}
},
@@ -233,5 +331,6 @@
isWXRefreshing: true
});
this.loadIrrigationData();
+ this.loadCompletedIrrigationData();
}
})
\ No newline at end of file
--
Gitblit v1.8.0