From 6ae0924bdb44e8b1f569b6f1cdb6ff403e1d2ce3 Mon Sep 17 00:00:00 2001
From: zuoxiao <zuoxiao>
Date: 星期一, 28 四月 2025 10:15:33 +0800
Subject: [PATCH] 优化首页和灌溉页面的样式,添加当前项目显示;重构项目配置,确保项目登录需求一致性;更新登录页面逻辑,简化项目选择和信息展示,提升用户体验。

---
 pages/home/home.js |  613 +++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 474 insertions(+), 139 deletions(-)

diff --git a/pages/home/home.js b/pages/home/home.js
index ad54461..a997e2b 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -4,37 +4,13 @@
   get,
   post
 } = require('../../api/request.js');
+const config = require('../../api/config.js');
 const {
-  PROJECT_URLS
-} = require('../../api/config.js');
-
-// 椤圭洰閰嶇疆锛屽寘鍚悇椤圭洰鐨勪笓鏈夎缃�
-const PROJECT_CONFIG = {
-  JYG: {
-    tag: 'ym',
-    displayName: '鍢夊唱鍏抽」鐩�',
-    needLogin: true // 闇�瑕佺櫥褰�
-  },
-  MQ: {
-    tag: 'mq',
-    displayName: '姘戝嫟椤圭洰',
-    operatorId: '2025033115305200006', // 缁熶竴ID鐢ㄤ簬operator鍜宑lientId
-    needLogin: false // 涓嶉渶瑕佺櫥褰�
-  },
-  TEST: {
-    tag: 'ym',
-    displayName: '娴嬭瘯椤圭洰',
-    operatorId: '2025032411245000006', // 缁熶竴ID鐢ㄤ簬operator鍜宑lientId
-    vcId: '2024122617295800009',
-    needLogin: false // 涓嶉渶瑕佺櫥褰�
-  },
-  SCHOOL: {
-    tag: 'XX',
-    displayName: '瀛︽牎椤圭洰',
-    operatorId: '2025040215305200006', // 缁熶竴ID鐢ㄤ簬operator鍜宑lientId
-    needLogin: true // 涓嶉渶瑕佺櫥褰�
-  }
-};
+  PROJECT_CONFIG
+} = require('../../utils/projectConfig.js');
+const {
+  ENV
+} = require('../../api/env.js');
 
 Page({
 
@@ -66,7 +42,9 @@
     avatarTapCount: 0,
     isFromLogin: false,
     showTipDialog: '',
-    projectConfig: PROJECT_CONFIG // 娣诲姞椤圭洰閰嶇疆鍒癲ata涓�
+    projectConfig: PROJECT_CONFIG, // 娣诲姞椤圭洰閰嶇疆鍒癲ata涓�
+    showInfoDialog: false,
+    projectList: []
   },
 
   openValve: function (e) {
@@ -82,14 +60,14 @@
       })
     }
   },
-  calculateScrollViewHeight: function () {
-    wx.createSelectorQuery().selectAll('.list-item').boundingClientRect((rects) => {
-      let totalHeight = rects.reduce((sum, rect) => sum + rect.height, 0);
-      this.setData({
-        scrollViewHeight: totalHeight,
-      });
-    }).exec();
-  },
+  // calculateScrollViewHeight: function () {
+  //     wx.createSelectorQuery().selectAll('.list-item').boundingClientRect((rects) => {
+  //         let totalHeight = rects.reduce((sum, rect) => sum + rect.height, 0);
+  //         this.setData({
+  //             scrollViewHeight: totalHeight,
+  //         });
+  //     }).exec();
+  // },
   startPullDownRefresh() {
     if (getApp().globalData.isLoggedIn) {
       if (!this.data.isWXRefreshing) {
@@ -109,18 +87,6 @@
 
 
   },
-  //鑾峰彇鐢ㄦ埛鏁版嵁
-  getUserData() {
-    get('/items')
-      .then((data) => {
-        this.setData({
-          items: data
-        });
-      })
-      .catch((error) => {
-        console.error('Failed to fetch data:', error);
-      });
-  },
 
 
 
@@ -129,6 +95,10 @@
    */
   onLoad(options) {
     console.log('home椤甸潰onLoad寮�濮嬶紝鍙傛暟:', options);
+
+    // 鍒濆鍖栭」鐩垪琛ㄦ暟鎹�
+    this.initProjectList();
+
     //褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂�
     if (options.param === "1" || options.param === "2") {
       this.setData({
@@ -160,6 +130,44 @@
     }, 100);
   },
 
+  // 鍒濆鍖栭」鐩垪琛ㄦ暟鎹�
+  initProjectList() {
+    // 灏哖ROJECT_CONFIG瀵硅薄杞崲涓烘暟缁勶紝鏂逛究鍦ㄨ鍥句腑閬嶅巻
+    const projectList = Object.entries(PROJECT_CONFIG).map(([key, config]) => ({
+      key: key, // 浣跨敤key浣滀负椤圭洰鏍囪瘑(JYG銆丮Q绛�)
+      tag: config.tag, // 淇濈暀tag瀛楁锛堝師閰嶇疆涓凡鏈夌殑鏍囪瘑锛屽ym銆乵q绛夛級
+      displayName: config.displayName, // 鏄剧ず鍚嶇О
+      ...config // 鍏朵粬閰嶇疆灞炴��
+    }));
+
+    // 鑾峰彇褰撳墠宸查�夋嫨鐨勯」鐩紝榛樿涓篔YG
+    let currentSelectedProject = 'JYG';
+
+    // 灏濊瘯浠庡叏灞�鍙橀噺鑾峰彇
+    const app = getApp();
+    if (app && app.globalData && app.globalData.selectedProject) {
+      currentSelectedProject = app.globalData.selectedProject;
+    } else {
+      // 灏濊瘯浠庢湰鍦板瓨鍌ㄨ幏鍙�
+      try {
+        const savedProject = wx.getStorageSync('selectedProject');
+        if (savedProject) {
+          currentSelectedProject = savedProject;
+        }
+      } catch (e) {
+        console.error('浠庢湰鍦板瓨鍌ㄨ幏鍙栭」鐩け璐�:', e);
+      }
+    }
+
+    // 璁剧疆鍒伴〉闈㈡暟鎹腑
+    this.setData({
+      projectList,
+      selectedProject: currentSelectedProject
+    });
+
+    console.log('椤圭洰鍒楄〃宸插垵濮嬪寲:', projectList, '褰撳墠閫変腑椤圭洰:', currentSelectedProject);
+  },
+
   // 鏂板鐨勫垵濮嬪寲椤甸潰杈呭姪鍑芥暟锛屽垎绂诲嚭onLoad涓殑閫昏緫浠ヤ究寤惰繜鎵ц
   initializePage(options, fromLogin) {
     // 妫�鏌ユ槸鍚﹀凡閫夋嫨椤圭洰
@@ -178,17 +186,30 @@
           });
 
           // 璁剧疆 baseUrl
-          const baseUrl = PROJECT_URLS[project];
-          getApp().globalData.baseUrl = baseUrl;
-          getApp().globalData.selectedProject = project;
+          const serverUrl = PROJECT_CONFIG[project]?.serverUrl;
+          if (serverUrl) {
+            getApp().globalData.baseUrl = serverUrl;
+            getApp().globalData.selectedProject = project;
+            console.log('璁剧疆baseUrl:', serverUrl);
+          }
 
           // 鏍规嵁椤圭洰璁剧疆瀵瑰簲鐨則ag
           const projectConfig = PROJECT_CONFIG[project];
           if (projectConfig) {
             getApp().globalData.tag = projectConfig.tag;
-            this.setData({
-              userName: projectConfig.displayName
-            });
+            
+            // 鏍规嵁椤圭洰鏄惁闇�瑕佺櫥褰曪紝璁剧疆涓嶅悓鐨剈serName
+            if (projectConfig.needLogin === false) {
+              // 涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾樉绀洪」鐩悕绉�
+              this.setData({
+                userName: projectConfig.displayName
+              });
+            } else {
+              // 闇�瑕佺櫥褰曠殑椤圭洰锛屾樉绀�"璇风偣鍑荤櫥褰�"
+              this.setData({
+                userName: "璇风偣鍑荤櫥褰�"
+              });
+            }
           }
 
           // 鏍规嵁椤圭洰璁剧疆瀵瑰簲鐨刼perator鍜宑lientId
@@ -210,11 +231,11 @@
               isLoggedIn: true,
               sessionId: projectConfig.operatorId
             };
-            
+
             if (projectConfig.vcId) {
               params.vcId = projectConfig.vcId;
             }
-            
+
             storage.setItem(`${project}_params`, params);
           }
 
@@ -376,13 +397,17 @@
     })
   },
   openValveList() {
-    // wx.navigateTo({
-    //   url: '/pages/valveList/valveList',
-    // })
-    wx.showToast({
-      title: '鏆傛湭寮�鏀�',
-      icon: 'none'
-    })
+    const app = getApp();
+    if (app.globalData.isLoggedIn) {
+      wx.navigateTo({
+        url: '/pages/valveList/valveList',
+      })
+    } else {
+      wx.showToast({
+        title: '璇峰厛鐧诲綍',
+        icon: 'error'
+      })
+    }
   },
   feedBack() {
     wx.showToast({
@@ -392,13 +417,40 @@
   },
   //瑙g粦鐢ㄦ埛
   unbind() {
+    // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+    const currentProject = getApp().globalData.selectedProject;
+    const projectConfig = PROJECT_CONFIG[currentProject];
+
+    // 濡傛灉褰撳墠椤圭洰閰嶇疆涓轰笉闇�瑕佺櫥褰曪紝鍒欐彁绀虹敤鎴峰苟鎵撳紑椤圭洰閫夋嫨寮圭獥
+    if (projectConfig && !projectConfig.needLogin) {
+      wx.showModal({
+        title: '鍒囨崲椤圭洰',
+        content: '鏄惁纭畾瑙g粦锛�',
+        confirmText: '纭',
+        cancelText: '鍙栨秷',
+        success: (res) => {
+          if (res.confirm) {
+            // 鏄剧ず椤圭洰閫夋嫨寮圭獥
+            this.setData({
+              showProjectDialog: true
+            });
+          }
+        }
+      });
+      return;
+    }
+
+    // 濡傛灉宸茬櫥褰曪紝鏄剧ず瑙g粦纭瀵硅瘽妗�
     if (getApp().globalData.isLoggedIn) {
       wx.showModal({
         title: '瑙g粦纭',
-        content: '纭畾瑕佽В缁戝綋鍓嶈处鍙峰悧锛�',
+        content: '纭畾瑕佽В缁戝綋鍓嶈处鍙峰悧锛熻В缁戝悗灏嗘棤娉曚娇鐢ㄧ浉鍏冲姛鑳斤紝闇�閲嶆柊缁戝畾銆�',
+        confirmText: '纭瑙g粦',
+        confirmColor: '#e34d59',
+        cancelText: '鍙栨秷',
         success: (res) => {
           if (res.confirm) {
-            this.unBindPost()
+            this.unBindPost();
           }
         }
       });
@@ -406,7 +458,7 @@
       wx.showToast({
         title: '杩樻湭缁戝畾',
         icon: 'error'
-      })
+      });
     }
   },
   //杞亴
@@ -483,14 +535,22 @@
       })
     }).catch(error => {
       wx.hideLoading();
-      this.setData({
-        showErrorDialog: true,
-        errorData: error.msg,
-        errorDialogTitle: "鍏抽榾閿欒"
-      })
       // 澶勭悊閿欒鍝嶅簲
       console.error('璇锋眰澶辫触:', error);
-
+      if (error.code === "ECONNABORTED" || error.message?.includes('timeout')) {
+        // 澶勭悊瓒呮椂閿欒
+        this.setData({
+          showErrorDialog: true,
+          errorData: "閫氫俊瓒呮椂锛岃绋嶅悗鍐嶈瘯",
+          errorDialogTitle: "鍏抽榾閿欒"
+        })
+      } else {
+        this.setData({
+          showErrorDialog: true,
+          errorData: error.msg,
+          errorDialogTitle: "鍏抽榾閿欒"
+        })
+      }
     });
   },
   /**
@@ -552,11 +612,8 @@
         isRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
         isWXRefreshing: false, // 灏唗riggered灞炴�ц缃负false锛岃〃绀轰笅鎷夊埛鏂板凡瀹屾垚
       });
+      this.updateDisplayText();
 
-      // 鎴愬姛鑾峰彇鏁版嵁鍚庡埛鏂癠I楂樺害
-      setTimeout(() => {
-        this.calculateScrollViewHeight();
-      }, 200);
     }).catch(err => {
       console.error('鑾峰彇鍒楄〃鏁版嵁澶辫触:', err);
       // 閿欒鍥炶皟
@@ -649,13 +706,6 @@
             duration: 3000
           });
         }
-      } else {
-        // 鍏朵粬閿欒锛屾樉绀洪敊璇俊鎭�
-        // wx.showToast({
-        //   title: err.msg || '鑾峰彇鐢ㄦ埛淇℃伅澶辫触',
-        //   icon: 'none',
-        //   duration: 3000
-        // });
       }
     });
   },
@@ -807,12 +857,33 @@
       return;
     }
 
+    // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
+    const currentProject = app.globalData.selectedProject;
+    const projectConfig = PROJECT_CONFIG[currentProject];
+    const needLogin = projectConfig && projectConfig.needLogin;
+
+    // 鏍规嵁椤圭洰鏄惁闇�瑕佺櫥褰曪紝璁剧疆涓嶅悓鐨剈serName
+    if (projectConfig && projectConfig.needLogin === false) {
+      // 涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾樉绀洪」鐩悕绉�
+      this.setData({
+        userName: projectConfig.displayName
+      });
+    }
+
     // 灏濊瘯鑾峰彇鐢ㄦ埛鏁版嵁鍜屽凡寮�闃�璁板綍
     try {
       // 浼樺厛妫�鏌ュ叏灞�鍙橀噺涓槸鍚︽湁sessionId
       if (app.globalData.sessionId) {
         console.log('initData: 浣跨敤鍏ㄥ眬sessionId鑾峰彇鏁版嵁');
-        this.getUserDataBySession();
+
+        // 鍙湁闇�瑕佺櫥褰曠殑椤圭洰鎵嶈皟鐢╣etUserDataBySession
+        if (needLogin) {
+          console.log('initData: 褰撳墠椤圭洰闇�瑕佺櫥褰曪紝鑾峰彇鐢ㄦ埛鏁版嵁');
+          this.getUserDataBySession();
+        } else {
+          console.log('initData: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰曪紝璺宠繃鑾峰彇鐢ㄦ埛鏁版嵁');
+        }
+
         this.getOpenList();
         return;
       }
@@ -835,8 +906,15 @@
                 console.error('userData瑙f瀽澶辫触:', e);
               }
             }
-            // 鏃犺濡備綍閮藉皾璇曡幏鍙栫敤鎴蜂俊鎭拰寮�闃�鍒楄〃
-            this.getUserDataBySession();
+
+            // 鍙湁闇�瑕佺櫥褰曠殑椤圭洰鎵嶈皟鐢╣etUserDataBySession
+            if (needLogin) {
+              console.log('initData: 褰撳墠椤圭洰闇�瑕佺櫥褰曪紝鑾峰彇鐢ㄦ埛鏁版嵁');
+              this.getUserDataBySession();
+            } else {
+              console.log('initData: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰曪紝璺宠繃鑾峰彇鐢ㄦ埛鏁版嵁');
+            }
+
             this.getOpenList();
           })
           .catch((err) => {
@@ -847,7 +925,14 @@
               console.log('initData:catch: 妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝鍙幏鍙栧紑闃�鍒楄〃');
               this.getOpenList();
             } else {
-              this.getUserDataBySession();
+              // 鍙湁闇�瑕佺櫥褰曠殑椤圭洰鎵嶈皟鐢╣etUserDataBySession
+              if (needLogin) {
+                console.log('initData:catch: 褰撳墠椤圭洰闇�瑕佺櫥褰曪紝鑾峰彇鐢ㄦ埛鏁版嵁');
+                this.getUserDataBySession();
+              } else {
+                console.log('initData:catch: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰曪紝璺宠繃鑾峰彇鐢ㄦ埛鏁版嵁');
+              }
+
               this.getOpenList();
             }
           });
@@ -859,7 +944,14 @@
           console.log('initData:else: 妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝鍙幏鍙栧紑闃�鍒楄〃');
           this.getOpenList();
         } else {
-          this.getUserDataBySession();
+          // 鍙湁闇�瑕佺櫥褰曠殑椤圭洰鎵嶈皟鐢╣etUserDataBySession
+          if (needLogin) {
+            console.log('initData:else: 褰撳墠椤圭洰闇�瑕佺櫥褰曪紝鑾峰彇鐢ㄦ埛鏁版嵁');
+            this.getUserDataBySession();
+          } else {
+            console.log('initData:else: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰曪紝璺宠繃鑾峰彇鐢ㄦ埛鏁版嵁');
+          }
+
           this.getOpenList();
         }
       }
@@ -871,8 +963,14 @@
         console.log('initData:error: 妫�娴嬪埌浠庣櫥褰曢〉杩斿洖鐨勬爣璁帮紝鍙幏鍙栧紑闃�鍒楄〃');
         this.getOpenList();
       } else {
-        // 鍑洪敊鏃朵粛灏濊瘯鑾峰彇鏁版嵁
-        this.getUserDataBySession();
+        // 鍙湁闇�瑕佺櫥褰曠殑椤圭洰鎵嶈皟鐢╣etUserDataBySession
+        if (needLogin) {
+          console.log('initData:error: 褰撳墠椤圭洰闇�瑕佺櫥褰曪紝鑾峰彇鐢ㄦ埛鏁版嵁');
+          this.getUserDataBySession();
+        } else {
+          console.log('initData:error: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰曪紝璺宠繃鑾峰彇鐢ㄦ埛鏁版嵁');
+        }
+
         this.getOpenList();
       }
     }
@@ -912,6 +1010,8 @@
 
   // 澶勭悊椤圭洰閫夋嫨纭
   handleProjectConfirm() {
+    console.log('寮�濮嬪鐞嗛」鐩�夋嫨纭', this.data.selectedProject, this.data.projectList);
+
     if (!this.data.selectedProject) {
       wx.showToast({
         title: '璇烽�夋嫨椤圭洰',
@@ -923,8 +1023,12 @@
     // 鑾峰彇褰撳墠宸查�夐」鐩拰鏂伴�夋嫨鐨勯」鐩�
     const currentProject = getApp().globalData.selectedProject;
     const newProject = this.data.selectedProject;
+    console.log('褰撳墠椤圭洰:', currentProject, '鏂伴�夋嫨椤圭洰:', newProject);
+    console.log('PROJECT_CONFIG 鍐呭:', PROJECT_CONFIG);
+
     const projectConfig = PROJECT_CONFIG[newProject];
-    
+    console.log('閫夋嫨鐨勯」鐩厤缃�:', projectConfig);
+
     if (!projectConfig) {
       wx.showToast({
         title: '椤圭洰閰嶇疆閿欒',
@@ -936,6 +1040,30 @@
     // 妫�鏌ユ槸鍚﹀垏鎹簡椤圭洰锛堝鏋滃綋鍓嶉」鐩笉鍚屼簬鏂伴�夋嫨鐨勯」鐩級
     const isProjectChanged = currentProject && currentProject !== newProject;
 
+    // 娣诲姞浜屾纭
+    const confirmText = isProjectChanged ?
+      `纭畾瑕佸皢椤圭洰浠�"${PROJECT_CONFIG[currentProject]?.displayName || '褰撳墠椤圭洰'}"鍒囨崲鍒�"${projectConfig.displayName}"鍚楋紵` :
+      `纭畾閫夋嫨"${projectConfig.displayName}"椤圭洰鍚楋紵`;
+
+    wx.showModal({
+      title: isProjectChanged ? '纭鍒囨崲椤圭洰' : '纭閫夋嫨椤圭洰',
+      content: confirmText,
+      confirmText: isProjectChanged ? '纭鍒囨崲' : '纭',
+      cancelText: '鍙栨秷',
+      success: (res) => {
+        if (res.confirm) {
+          // 鐢ㄦ埛纭閫夋嫨锛岀户缁鐞�
+          this.processProjectSelection(currentProject, newProject, projectConfig, isProjectChanged);
+        } else {
+          // 鐢ㄦ埛鍙栨秷锛屼笉杩涜浠讳綍鎿嶄綔
+          console.log('鐢ㄦ埛鍙栨秷浜嗛」鐩�夋嫨');
+        }
+      }
+    });
+  },
+
+  // 澶勭悊椤圭洰閫夋嫨鐨勫悗缁搷浣�
+  processProjectSelection(currentProject, newProject, projectConfig, isProjectChanged) {
     // 濡傛灉鍒囨崲浜嗛」鐩紝鍏堟竻闄ょ櫥褰曠姸鎬�
     if (isProjectChanged) {
       console.log(`姝e湪浠庨」鐩� ${currentProject} 鍒囨崲鍒� ${newProject}锛屽皢娓呴櫎鐧诲綍鐘舵�乣);
@@ -945,44 +1073,69 @@
       getApp().globalData.clientId = '';
       getApp().globalData.isLoggedIn = false;
       getApp().globalData.userInfo = null;
+      getApp().globalData.vcId = '';
+      getApp().globalData.operator = '';
 
       // 娓呴櫎瀛樺偍涓殑鐧诲綍鐘舵��
       try {
+        // 娓呴櫎鍩烘湰鐧诲綍鏁版嵁
         wx.removeStorageSync('sessionId');
         wx.removeStorageSync('clientId');
         wx.removeStorageSync('userData');
         wx.removeStorageSync('isLoggedIn');
+
+        // 娓呴櫎涔嬪墠椤圭洰鐨勭壒瀹氭暟鎹�
+        if (currentProject) {
+          wx.removeStorageSync(`${currentProject}_params`);
+        }
+
+        // 娓呴櫎鍏朵粬鍙兘鐨勭紦瀛樻暟鎹�
+        wx.removeStorageSync('_attempted_login_redirect');
+
         console.log('宸叉竻闄ょ櫥褰曠浉鍏崇殑瀛樺偍鏁版嵁');
       } catch (e) {
         console.error('娓呴櫎瀛樺偍鏁版嵁澶辫触:', e);
       }
 
       // 閲嶇疆UI鏄剧ず鐘舵��
-      this.setData({
-        userName: "璇风櫥褰�",
-        userPhone: "",
-        listData: []
-      });
+      if (projectConfig.needLogin === false) {
+        // 涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾樉绀洪」鐩悕绉颁綔涓簎serName
+        this.setData({
+          userName: projectConfig.displayName,
+          userPhone: "",
+          listData: []
+        });
+      } else {
+        // 闇�瑕佺櫥褰曠殑椤圭洰锛屾樉绀�"璇风偣鍑荤櫥褰�"
+        this.setData({
+          userName: "璇风偣鍑荤櫥褰�",
+          userPhone: "",
+          listData: []
+        });
+      }
     }
 
     // 淇濆瓨椤圭洰閫夋嫨鍒版湰鍦板瓨鍌�
     storage.setItem('selectedProject', newProject).then(() => {
-      // 鏇存柊 BASEURL
-      const baseUrl = PROJECT_URLS[newProject];
+      // 璋冪敤setBaseUrl鏉ユ洿鏂板熀纭�URL
+      try {
+        console.log('灏濊瘯璁剧疆鍩虹URL锛岄」鐩�:', newProject);
+        const result = config.setBaseUrl(newProject);
+        console.log('璁剧疆鍩虹URL缁撴灉:', result);
+      } catch (error) {
+        console.error('璁剧疆鍩虹URL鍑洪敊:', error);
+        // 缁х画鎵ц锛屼笉涓柇娴佺▼
+      }
 
       // 鏇存柊鍏ㄥ眬鍙橀噺
       getApp().globalData = getApp().globalData || {};
-      getApp().globalData.baseUrl = baseUrl;
       getApp().globalData.selectedProject = newProject;
+      getApp().globalData.baseUrl = projectConfig.serverUrl;
+      getApp().globalData.serverId = projectConfig.serverId;
 
       // 閫氳繃閰嶇疆瀵硅薄缁熶竴璁剧疆椤圭洰鍙傛暟
       getApp().globalData.tag = projectConfig.tag;
-      
-      // 璁剧疆鐢ㄦ埛鐣岄潰鏄剧ず鐨勯」鐩悕绉�
-      this.setData({
-        userName: projectConfig.displayName
-      });
-      
+
       // 瀵逛簬涓嶉渶瑕佺櫥褰曠殑椤圭洰锛岀洿鎺ヨ缃畂perator鍜宑lientId
       if (!projectConfig.needLogin && projectConfig.operatorId) {
         const operatorId = projectConfig.operatorId;
@@ -990,12 +1143,12 @@
         getApp().globalData.clientId = operatorId;
         getApp().globalData.isLoggedIn = true;
         getApp().globalData.sessionId = operatorId;
-        
+
         // 濡傛灉鏈塿cId锛屼篃璁剧疆
         if (projectConfig.vcId) {
           getApp().globalData.vcId = projectConfig.vcId;
         }
-        
+
         // 鎸佷箙鍖栧瓨鍌ㄩ」鐩弬鏁�
         const params = {
           operator: operatorId,
@@ -1003,15 +1156,15 @@
           isLoggedIn: true,
           sessionId: operatorId
         };
-        
+
         if (projectConfig.vcId) {
           params.vcId = projectConfig.vcId;
         }
-        
+
         storage.setItem(`${newProject}_params`, params);
       }
 
-      console.log('宸插垏鎹㈠埌椤圭洰:', projectConfig.displayName, '鍩熷悕:', baseUrl, 'tag:', getApp().globalData.tag);
+      console.log('宸插垏鎹㈠埌椤圭洰:', projectConfig.displayName, '鏈嶅姟鍣�:', projectConfig.serverId, 'tag:', getApp().globalData.tag);
 
       this.setData({
         showProjectDialog: false
@@ -1025,6 +1178,16 @@
       });
       setTimeout(() => {
         console.log('椤圭洰宸插垏鎹紝姝e湪鍒濆鍖栨暟鎹�');
+        // 纭繚鏄剧ず姝g‘鐨勭敤鎴峰悕
+        if (!projectConfig.needLogin) {
+          this.setData({
+            userName: projectConfig.displayName
+          });
+        } else {
+          this.setData({
+            userName: "璇风偣鍑荤櫥褰�"
+          });
+        }
         this.initData();
       }, 1000);
 
@@ -1209,13 +1372,6 @@
       console.log('continueInitPage: 浠庨〉闈㈡暟鎹腑妫�娴嬪埌isFromLogin=true');
       fromLogin = true;
     }
-
-    // 鍒ゆ柇鏈湴鏄惁淇濆瓨sessionId
-    // 浣跨敤 wx.nextTick 绛夊緟椤甸潰娓叉煋瀹屾垚
-    wx.nextTick(() => {
-      this.calculateScrollViewHeight();
-    });
-
     // 褰撳紑闃�鎴愬姛鍚庤皟鐢ㄥ埛鏂�
     if (options && options.param) {
       console.log("寮�闃�鎴愬姛鍙傛暟:", options.param);
@@ -1249,11 +1405,19 @@
   wxLogin() {
     // 妫�鏌ュ綋鍓嶉」鐩槸鍚﹂渶瑕佺櫥褰�
     const currentProject = getApp().globalData.selectedProject;
-    if (currentProject && PROJECT_CONFIG[currentProject] && !PROJECT_CONFIG[currentProject].needLogin) {
-      console.log('wxLogin: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject);
-      return;
+    if (currentProject && PROJECT_CONFIG[currentProject]) {
+      const projectConfig = PROJECT_CONFIG[currentProject];
+      
+      if (!projectConfig.needLogin) {
+        console.log('wxLogin: 褰撳墠椤圭洰涓嶉渶瑕佺櫥褰�:', currentProject);
+        // 涓嶉渶瑕佺櫥褰曠殑椤圭洰锛屾樉绀洪」鐩悕绉�
+        this.setData({
+          userName: projectConfig.displayName
+        });
+        return;
+      }
     }
-    
+
     if (!getApp().globalData.isLoggedIn) {
       wx.showLoading({
         title: '姝e湪鐧诲綍璇风◢鍊�...',
@@ -1273,10 +1437,11 @@
               wx.hideLoading();
               if (response.code === "0001") {
                 if (response.content.client.clientId === "") {
-                  // 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈�
-                  // wx.navigateTo({
-                  //   url: `/pages/login/login?project=${this.data.selectedProject}`
-                  // });
+                  // 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈㈠苟浼犻�掑綋鍓嶉」鐩俊鎭�
+                  const projectInfo = PROJECT_CONFIG[this.data.selectedProject];
+                  wx.navigateTo({
+                    url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
+                  });
                 } else {
                   this.setData({
                     userName: response.content.client.clientName,
@@ -1321,26 +1486,34 @@
                     });
 
                 }
+              } else if (response.code === "1003") {
+                // 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈㈠苟浼犻�掑綋鍓嶉」鐩俊鎭�
+                const projectInfo = PROJECT_CONFIG[this.data.selectedProject];
+                wx.navigateTo({
+                  url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
+                });
               } else {
                 wx.showToast({
                   title: '鐧诲綍澶辫触',
                   icon: 'error',
                   duration: 2000
                 });
-                // wx.navigateTo({
-                //   url: `/pages/login/login?project=${this.data.selectedProject}`
-                // });
               }
             }).catch(error => {
               wx.hideLoading();
               console.error('鐧诲綍璇锋眰澶辫触:', error);
-              wx.showToast({
-                title: '鐧诲綍澶辫触锛岃閲嶈瘯',
-                icon: 'none'
-              });
-              // wx.redirectTo({
-              //   url: `/pages/login/login?project=${this.data.selectedProject}`
-              // });
+              if(error.code==="1003"){
+                // 鏈粦瀹氳处鍙凤紝璺宠浆鍒扮櫥褰曢〉闈㈠苟浼犻�掑綋鍓嶉」鐩俊鎭�
+                const projectInfo = PROJECT_CONFIG[this.data.selectedProject];
+                wx.navigateTo({
+                  url: `/pages/login/login?project=${this.data.selectedProject}&projectName=${projectInfo.displayName}`
+                });
+              }else{
+                wx.showToast({
+                  title: '鐧诲綍澶辫触锛岃閲嶈瘯',
+                  icon: 'none'
+                });
+              }
             });
           } else {
             wx.hideLoading();
@@ -1459,5 +1632,167 @@
         // 鍒嗕韩澶辫触鐨勫洖璋冨嚱鏁�
       }
     };
-  }
+  },
+  //鐐瑰嚮鎻愮ず鎸夐挳
+  infoShow() {
+    this.setData({
+      showInfoDialog: true
+    })
+  },
+  //鎻愮ず绐楃‘璁ゆ寜閽�
+  confirmBtnInfoDialog() {
+    this.setData({
+      showInfoDialog: false
+    })
+  },
+  //寮哄埗鍒犻櫎
+  onDelete(e) {
+    const item = e.currentTarget.dataset.item;
+    const that = this;
+
+    if (this.data.useTestData) {
+      // 娴嬭瘯鏁版嵁妯″紡涓嬶紝妯℃嫙鍒犻櫎鎿嶄綔
+      wx.showLoading({
+        title: '姝e湪寮哄埗鍒犻櫎璇风◢鍊�...',
+        mask: true
+      });
+
+      // 妯℃嫙璇锋眰寤惰繜
+      setTimeout(() => {
+        wx.hideLoading();
+
+        // 浠庡垪琛ㄤ腑绉婚櫎琚垹闄ょ殑椤�
+        const updatedList = this.data.listData.filter(listItem =>
+          listItem.orderNo !== item.orderNo
+        );
+
+        this.setData({
+          listData: updatedList
+        });
+
+        wx.showToast({
+          title: '鍒犻櫎鎴愬姛',
+          icon: 'success',
+          duration: 2000
+        });
+      }, 1500);
+      return;
+    }
+
+    wx.showLoading({
+      title: '姝e湪寮哄埗鍒犻櫎璇风◢鍊�...', // 鍔犺浇鎻愮ず鏂囧瓧
+      mask: true // 鏄惁鏄剧ず閫忔槑钂欏眰锛岄槻姝㈣Е鎽哥┛閫忥紝榛樿涓� false
+    });
+    const data = {
+      vcNum: item.vcNum, //鍙栨按鍙D
+      rtuAddr: item.rtuAddr, //闃�鎺у櫒鍦板潃
+    };
+    post({
+      url: "wx/valve/deleteUnclosed",
+      data: data,
+      timeout: 180000
+    }).then(response => {
+      // 澶勭悊鎴愬姛鍝嶅簲
+      console.log('璇锋眰鎴愬姛:', response);
+      // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+      wx.hideLoading();
+      //閲嶆柊鑾峰彇鍒楄〃鍒锋柊鏁版嵁
+      this.getOpenList();
+    }).catch(error => {
+      // 鍔犺浇瀹屾垚鍚庨殣钘忓姞杞藉姩鐢�
+      wx.hideLoading();
+      // 澶勭悊閿欒鍝嶅簲
+      console.error('璇锋眰澶辫触:', error);
+    });
+  },
+  //淇敼鎸夐挳鏂囧瓧
+  updateDisplayText() {
+    const updatedList = this.data.listData.map(item => {
+      let displayText = '';
+      if (item.planned) {
+        displayText = '鍙栨秷';
+      } else {
+        displayText = "鍏抽榾"
+      }
+      let deleteText = "鍒犻櫎"
+      let time;
+      if (!item.dt) {
+        time = "鏆傛棤"
+      } else {
+        time = this.extractTime(item.dt)
+      }
+      if (item.waterInstant === null) {
+        item.waterInstant = "鏆傛棤"
+      }
+
+      return {
+        ...item,
+        displayText,
+        deleteText,
+        time
+      }; // 淇濈暀鎵�鏈夊叾浠栧瓧娈碉紝骞舵坊鍔� displayText 瀛楁
+    });
+    // 鏇存柊鍒楄〃鏁版嵁
+    this.setData({
+      listData: updatedList
+    });
+  },
+  //澶勭悊鏃堕棿鍘绘帀骞存湀鏃�
+  extractTime(datetimeString) {
+    const formattedDate = datetimeString.replace(" ", "T");
+    const date = new Date(formattedDate);
+    // 鑾峰彇灏忔椂銆佸垎閽熷拰绉�
+    const hours = date.getHours().toString().padStart(2, '0');
+    const minutes = date.getMinutes().toString().padStart(2, '0');
+    const seconds = date.getSeconds().toString().padStart(2, '0');
+    return `${hours}:${minutes}:${seconds}`;
+  },
+
+  // 鍒囨崲椤圭洰
+  switchProject(e) {
+    const project = e.currentTarget.dataset.project;
+
+    if (config.setBaseUrl(project)) {
+      this.setData({
+        selectedProject: project
+      });
+
+      // 淇濆瓨閫夋嫨鍒版湰鍦板瓨鍌�
+      try {
+        wx.setStorageSync('selectedProject', project);
+      } catch (e) {
+        console.error('淇濆瓨椤圭洰閫夋嫨澶辫触:', e);
+      }
+
+      // 鏇存柊鍏ㄥ眬鍙橀噺
+      const app = getApp();
+      if (app && app.globalData) {
+        app.globalData.selectedProject = project;
+
+        // 鏍规嵁椤圭洰閰嶇疆璁剧疆鐩稿叧鍙傛暟
+        const projectConfig = PROJECT_CONFIG[project];
+        if (projectConfig) {
+          app.globalData.tag = projectConfig.tag;
+          if (!projectConfig.needLogin) {
+            app.globalData.operator = projectConfig.operatorId;
+            app.globalData.clientId = projectConfig.operatorId;
+            app.globalData.isLoggedIn = true;
+            app.globalData.sessionId = projectConfig.operatorId;
+            // 濡傛灉鏈塿cId锛屼篃璁剧疆
+            if (projectConfig.vcId) {
+              app.globalData.vcId = projectConfig.vcId;
+            }
+          }
+        }
+      }
+
+      // 閲嶆柊鍔犺浇椤甸潰鏁版嵁
+      this.initData();
+    } else {
+      wx.showToast({
+        title: '鍒囨崲椤圭洰澶辫触',
+        icon: 'none'
+      });
+    }
+  },
 })
\ No newline at end of file

--
Gitblit v1.8.0