From 4f2925f1974844b66225ac70ae35065b8262b315 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期四, 04 十二月 2025 13:26:11 +0800
Subject: [PATCH] feat:增加微信token缓存

---
 app/pagesTask/create-emergency.vue |  190 +++++-----------------------------------------
 1 files changed, 23 insertions(+), 167 deletions(-)

diff --git a/app/pagesTask/create-emergency.vue b/app/pagesTask/create-emergency.vue
index 8fb53ae..a752eda 100644
--- a/app/pagesTask/create-emergency.vue
+++ b/app/pagesTask/create-emergency.vue
@@ -23,6 +23,7 @@
       </view>
         <view class="form-item">
         <OrganizationSelector 
+          ref="organizationSelector"
           v-model="selectedOrganizationId"
           :required="true"
           :auto-select-user-dept="true"
@@ -65,6 +66,7 @@
         :required="false"
         :auto-add-current-user="true"
         :current-user-removable="false"
+        :branch-dept-ids="allOrganizationIds"
         @change="onStaffChange"
       />
       
@@ -266,7 +268,8 @@
     return {
       selectedVehicle: '',
       selectedVehicleId: null,
-      selectedOrganizationId: null, // 褰掑睘鏈烘瀯ID锛堥儴闂↖D锛�
+      selectedOrganizationId: null, // 褰撳墠閫変腑鐨勫綊灞炴満鏋処D
+      allOrganizationIds: [], // 鎵�鏈夊彲閫夋満鏋処D鏁扮粍
       selectedOrganizationServiceOrderClass: '', // 褰掑睘鏈烘瀯鐨勬湇鍔″崟缂栫爜
       selectedRegion: '', // 浠庡綊灞炴満鏋勪腑鎻愬彇鐨勫湴鍩熶俊鎭紙濡傦細骞垮窞銆佹繁鍦崇瓑锛�
       departureAddress: '', // 鍑哄彂鍦板湴鍧�
@@ -360,6 +363,8 @@
     this.loadEmergencyTaskTypes()
     // 鍔犺浇鍗曟嵁绫诲瀷鏁版嵁
     this.loadDocumentTypes()
+    // 鍔犺浇鎵�鏈夋満鏋処D
+    this.loadAllOrganizationIds()
   },
   methods: {
     // 鑾峰彇鐢ㄦ埛缁戝畾鐨勮溅杈嗕俊鎭�
@@ -445,6 +450,23 @@
     replaceRegion(region){
 		return region.replace(/(鍒嗗叕鍙竱鎬诲叕鍙竱鎬婚儴)$/g, '').trim();
 	},
+    
+    // 鍔犺浇鎵�鏈夋満鏋処D
+    loadAllOrganizationIds() {
+      // 閫氳繃 OrganizationSelector 缁勪欢鑾峰彇鎵�鏈夋満鏋�
+      const orgSelector = this.$refs.organizationSelector
+      if (orgSelector) {
+        orgSelector.reload().then(organizations => {
+          this.allOrganizationIds = organizations.map(org => org.deptId)
+          console.log('鎵�鏈夋満鏋処D:', this.allOrganizationIds)
+        })
+      } else {
+        // 濡傛灉缁勪欢杩樻湭鎸傝浇,绋嶅悗閲嶈瘯
+        setTimeout(() => {
+          this.loadAllOrganizationIds()
+        }, 100)
+      }
+    },
     
     // 鍔犺浇绉戝鏁版嵁锛堜粠 SQL Server 鍔ㄦ�佸姞杞斤級
     loadDepartments() {
@@ -1686,172 +1708,6 @@
           color: #999;
         }
       }
-    }
-  }
-}
-
-// 浜哄憳閫夋嫨寮圭獥鏍峰紡
-.staff-selector-popup {
-  background-color: white;
-  border-radius: 20rpx 20rpx 0 0;
-  max-height: 80vh;
-  display: flex;
-  flex-direction: column;
-  
-  .popup-header {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    padding: 30rpx;
-    border-bottom: 1rpx solid #f0f0f0;
-    flex-shrink: 0;
-    
-    .popup-title {
-      font-size: 32rpx;
-      font-weight: bold;
-      color: #333;
-    }
-    
-    .popup-close {
-      padding: 10rpx;
-    }
-  }
-  
-  .search-box {
-    display: flex;
-    align-items: center;
-    margin: 20rpx 30rpx;
-    padding: 15rpx 20rpx;
-    background-color: #f5f5f5;
-    border-radius: 10rpx;
-    flex-shrink: 0;
-    
-    .search-input {
-      flex: 1;
-      margin-left: 10rpx;
-      font-size: 28rpx;
-    }
-  }
-  
-  .staff-filter {
-    display: flex;
-    padding: 0 30rpx 20rpx;
-    gap: 20rpx;
-    flex-shrink: 0;
-    
-    .filter-item {
-      flex: 1;
-      text-align: center;
-      padding: 15rpx 0;
-      background-color: #f5f5f5;
-      border-radius: 10rpx;
-      font-size: 28rpx;
-      color: #666;
-      
-      &.active {
-        background-color: #007AFF;
-        color: white;
-      }
-    }
-  }
-  
-  .staff-list-popup {
-    flex: 1;
-    overflow-y: auto;
-    padding: 0 30rpx;
-    
-    .staff-item-popup {
-      display: flex;
-      justify-content: space-between;
-      align-items: center;
-      padding: 25rpx 20rpx;
-      border-bottom: 1rpx solid #f0f0f0;
-      
-      &:active {
-        background-color: #f5f5f5;
-      }
-      
-      .staff-info {
-        flex: 1;
-        
-        .staff-name-row {
-          display: flex;
-          align-items: center;
-          margin-bottom: 10rpx;
-          
-          .staff-name {
-            font-size: 30rpx;
-            font-weight: bold;
-            color: #333;
-            margin-right: 20rpx;
-          }
-          
-          .staff-phone {
-            font-size: 24rpx;
-            color: #999;
-          }
-        }
-        
-        .staff-detail-row {
-          display: flex;
-          align-items: center;
-          
-          .staff-dept {
-            font-size: 24rpx;
-            color: #666;
-            margin-right: 20rpx;
-          }
-          
-          .staff-post {
-            font-size: 24rpx;
-            color: #007AFF;
-          }
-        }
-      }
-      
-      .checkbox-empty {
-        width: 40rpx;
-        height: 40rpx;
-        border: 2rpx solid #ddd;
-        border-radius: 50%;
-      }
-    }
-    
-    .no-data {
-      text-align: center;
-      padding: 100rpx 0;
-      color: #999;
-      
-      text {
-        display: block;
-        margin-top: 20rpx;
-        font-size: 28rpx;
-      }
-    }
-  }
-  
-  .popup-footer {
-    display: flex;
-    padding: 20rpx 30rpx;
-    border-top: 1rpx solid #f0f0f0;
-    gap: 20rpx;
-    flex-shrink: 0;
-    
-    button {
-      flex: 1;
-      height: 80rpx;
-      border-radius: 10rpx;
-      font-size: 30rpx;
-    }
-    
-    .cancel-btn {
-      background-color: #f5f5f5;
-      color: #666;
-    }
-    
-    .confirm-btn {
-      background-color: #007AFF;
-      color: white;
     }
   }
 }

--
Gitblit v1.9.1