From 6ae0924bdb44e8b1f569b6f1cdb6ff403e1d2ce3 Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期一, 28 四月 2025 10:15:33 +0800
Subject: [PATCH] 优化首页和灌溉页面的样式,添加当前项目显示;重构项目配置,确保项目登录需求一致性;更新登录页面逻辑,简化项目选择和信息展示,提升用户体验。
---
pages/irrigationDetail/irrigationDetail.js | 289 +++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 248 insertions(+), 41 deletions(-)
diff --git a/pages/irrigationDetail/irrigationDetail.js b/pages/irrigationDetail/irrigationDetail.js
index 5012c84..fff0558 100644
--- a/pages/irrigationDetail/irrigationDetail.js
+++ b/pages/irrigationDetail/irrigationDetail.js
@@ -4,52 +4,231 @@
*/
data: {
planCode: '',
+ projectName: '',
startTime: '',
+ stopTime: '',
isRefreshing: false,
- projects: []
+ groupList: [],
+ planId: '',
+ planStatusText: '',
+ planStatusClass: '',
+ failureCount: 0,
+ realStopTime: '',
+ originalStatus: '',
+ currentStatus: null
},
/**
* 鐢熷懡鍛ㄦ湡鍑芥暟--鐩戝惉椤甸潰鍔犺浇
*/
onLoad: function (options) {
- // 妯℃嫙鏁版嵁
- this.setData({
- planCode: 'IRR-2024-001',
- startTime: '2024-03-20 08:00',
- projects: [{
- id: 1,
- name: '绀轰緥椤圭洰',
- groups: [
- {
- id: 1,
- name: '杞亴缁�1',
- status: 'pending',
- statusText: '寰呯亴婧�',
- startTime: '08:00',
- endTime: '09:00',
- duration: 60
- },
- {
- id: 2,
- name: '杞亴缁�2',
- status: 'in_progress',
- statusText: '鐏屾簤涓�',
- startTime: '09:00',
- endTime: '10:00',
- duration: 60
- },
- {
- id: 3,
- name: '杞亴缁�3',
- status: 'completed',
- statusText: '宸插畬鎴�',
- startTime: '10:00',
- endTime: '11:00',
- duration: 60
+ if (options.planId) {
+ this.setData({
+ planId: options.planId
+ });
+
+ // 鑾峰彇鏈�鏂扮姸鎬�
+ this.fetchPlanLatestState(options.planId).then(res => {
+ if (res.success) {
+ const currentStatus = res.content;
+ this.setData({
+ currentStatus: currentStatus,
+ originalStatus: currentStatus
+ });
+
+ // 鏍规嵁鏈�鏂扮姸鎬佽皟鐢ㄧ浉搴旂殑鎺ュ彛
+ if (currentStatus === 5) {
+ this.fetchTerminatedIrrigationData(options.planId);
+ } else {
+ this.fetchNormalIrrigationData(options.planId);
}
- ]
- }]
+ } else {
+ wx.showToast({
+ title: res.msg || '鑾峰彇鐘舵�佸け璐�',
+ icon: 'none'
+ });
+ }
+ }).catch(err => {
+ console.error('鑾峰彇鐘舵�佸け璐ワ細', err);
+ wx.showToast({
+ title: '鑾峰彇鐘舵�佸け璐�',
+ icon: 'none'
+ });
+ });
+ } else {
+ wx.showToast({
+ title: '缂哄皯璁″垝ID',
+ icon: 'none'
+ });
+ setTimeout(() => {
+ wx.navigateBack();
+ }, 1500);
+ }
+ },
+
+ /**
+ * 鑾峰彇甯歌鐏屾簤璁″垝璇︾粏鏁版嵁
+ */
+ fetchNormalIrrigationData: function(planId) {
+ const { get } = require('../../api/request');
+
+ const data = {
+ planId: planId || this.data.planId,
+ };
+
+ get({
+ url: 'wx/plan/getPublishResults',
+ isShowLoding: true,
+ useParams: true,
+ data: data
+ }).then(res => {
+ if (res.success) {
+ this.processIrrigationData(res.content);
+ } else {
+ wx.showToast({
+ title: res.msg || '鑾峰彇鏁版嵁澶辫触',
+ icon: 'none'
+ });
+ }
+ }).catch(err => {
+ console.error('璇锋眰澶辫触锛�', err);
+ wx.showToast({
+ title: '璇锋眰澶辫触',
+ icon: 'none'
+ });
+ });
+ },
+
+ /**
+ * 鑾峰彇宸茬粓姝㈢亴婧夎鍒掕缁嗘暟鎹�
+ */
+ fetchTerminatedIrrigationData: function(planId) {
+ const { get } = require('../../api/request');
+
+ const data = {
+ planId: planId || this.data.planId,
+ };
+
+ get({
+ url: 'wx/plan/getTerminateResults',
+ isShowLoding: true,
+ useParams: true,
+ data: data
+ }).then(res => {
+ if (res.success) {
+ this.processIrrigationData(res.content);
+ } else {
+ wx.showToast({
+ title: res.msg || '鑾峰彇鏁版嵁澶辫触',
+ icon: 'none'
+ });
+ }
+ }).catch(err => {
+ console.error('璇锋眰澶辫触锛�', err);
+ wx.showToast({
+ title: '璇锋眰澶辫触',
+ icon: 'none'
+ });
+ });
+ },
+
+ /**
+ * 鑾峰彇璁″垝鏈�鏂扮姸鎬�
+ */
+ fetchPlanLatestState: function(planId) {
+ const { get } = require('../../api/request');
+
+ const data = {
+ planId: planId || this.data.planId,
+ };
+
+ return get({
+ url: 'wx/plan/getPlanLatestState',
+ isShowLoding: true,
+ useParams: true,
+ data: data
+ });
+ },
+
+ /**
+ * 澶勭悊鎺ュ彛杩斿洖鐨勬暟鎹�
+ */
+ processIrrigationData: function(data) {
+ console.log('鐏屾簤璁″垝璇︽儏鏁版嵁锛�', data);
+
+ // 澶勭悊杞亴缁勭姸鎬�
+ const statusMap = {
+ 2: {status: 'pending', statusText: '鏈紑濮�'},
+ 3: {status: 'in_progress', statusText: '鐏屾簤涓�'},
+ 4: {status: 'completed', statusText: '宸茬粨鏉�'},
+ 5: {status: 'terminated', statusText: '涓�斿叧闃�'},
+ 6: {status: 'canceled', statusText: '鍙栨秷寮�闃�'}
+ };
+
+ // 澶勭悊璁″垝鐘舵��
+ let planStatusText = '';
+ let planStatusClass = '';
+
+ // 鏍规嵁璁″垝鐨勭姸鎬佽缃笉鍚岀殑鏂囨湰鍜屾牱寮�
+ // 娉ㄦ剰锛氭帴鍙h繑鍥炵殑鏄痵tate鑰屼笉鏄痯lanState
+ console.log('璁″垝鐘舵�佸�硷細', data.state, '绫诲瀷锛�', typeof data.state);
+
+ // 纭繚state鏄暟瀛楃被鍨�
+ const planState = parseInt(data.state);
+
+ switch(planState) {
+ case 1:
+ planStatusText = '鑽夌';
+ planStatusClass = 'draft';
+ break;
+ case 2:
+ planStatusText = '鏈墽琛�';
+ planStatusClass = 'published';
+ break;
+ case 3:
+ planStatusText = '鎵ц涓�';
+ planStatusClass = 'executing';
+ break;
+ case 4:
+ planStatusText = '宸插畬鎴�';
+ planStatusClass = 'completed';
+ break;
+ case 5:
+ planStatusText = '宸茬粓姝�';
+ planStatusClass = 'terminated';
+ break;
+ default:
+ planStatusText = '鏈煡鐘舵��';
+ planStatusClass = 'draft';
+ console.log('鏈瘑鍒殑璁″垝鐘舵�佸�硷細', planState);
+ }
+
+ // 杞崲鏁版嵁鏍煎紡
+ const groupList = data.groups.map(group => {
+ const statusInfo = statusMap[group.state] || {status: 'unknown', statusText: '鏈煡鐘舵��'};
+
+ return {
+ id: group.groupId,
+ name: group.groupCode,
+ status: statusInfo.status,
+ statusText: statusInfo.statusText,
+ startTime: group.startTime,
+ endTime: group.stopTime,
+ duration: group.duration,
+ publishResult: group.publishResult || []
+ };
+ });
+
+ this.setData({
+ planCode: data.planName,
+ projectName: data.projectName,
+ startTime: data.planStartTime,
+ stopTime: data.planStopTime,
+ realStopTime: data.realStopTime || '',
+ groupList: groupList,
+ planStatusText: planStatusText,
+ planStatusClass: planStatusClass,
+ failureCount: data.failureCount || 0
});
},
@@ -88,13 +267,41 @@
this.setData({
isRefreshing: true
});
-
- // 妯℃嫙鍒锋柊鏁版嵁
- setTimeout(() => {
+
+ // 鑾峰彇鏈�鏂扮姸鎬佸苟鍒锋柊鏁版嵁
+ this.fetchPlanLatestState(this.data.planId).then(res => {
+ if (res.success) {
+ const currentStatus = res.content;
+ this.setData({
+ currentStatus: currentStatus
+ });
+
+ if (currentStatus === 5) {
+ this.fetchTerminatedIrrigationData(this.data.planId);
+ } else {
+ this.fetchNormalIrrigationData(this.data.planId);
+ }
+ } else {
+ wx.showToast({
+ title: res.msg || '鑾峰彇鐘舵�佸け璐�',
+ icon: 'none'
+ });
+ }
+
+ // 瀹屾垚鍒锋柊
this.setData({
isRefreshing: false
});
- }, 1000);
+ }).catch(err => {
+ console.error('鑾峰彇鐘舵�佸け璐ワ細', err);
+ wx.showToast({
+ title: '鑾峰彇鐘舵�佸け璐�',
+ icon: 'none'
+ });
+ this.setData({
+ isRefreshing: false
+ });
+ });
},
/**
--
Gitblit v1.8.0