From a062db35a946c65352467a473990548987cd8b9e Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期二, 11 十一月 2025 09:59:25 +0800
Subject: [PATCH] fix:更新登录

---
 app/pages/task/create-emergency.vue |  102 +++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 79 insertions(+), 23 deletions(-)

diff --git a/app/pages/task/create-emergency.vue b/app/pages/task/create-emergency.vue
index 9621a62..a5876c9 100644
--- a/app/pages/task/create-emergency.vue
+++ b/app/pages/task/create-emergency.vue
@@ -342,6 +342,7 @@
           type="digit" 
           placeholder="璇疯緭鍏ヨ浆杩愬叕閲屾暟" 
           v-model="taskForm.transferDistance"
+          @blur="onDistanceChange"
         />
       </view>
       
@@ -507,8 +508,9 @@
 import { listAvailableVehicles, getUserBoundVehicle } from "@/api/vehicle"
 import { calculateDistance, baiduDistanceByAddress, baiduPlaceSuggestion } from "@/api/map"
 import { searchHospitals, getFrequentOutHospitals, getFrequentInHospitals, searchHospitalsByDeptRegion } from "@/api/hospital"
-import { listUser } from "@/api/system/user"
+import { listBranchUsers } from "@/api/system/user"
 import { searchIcd10 } from "@/api/icd10"
+import { calculateTransferPrice } from "@/api/price"
 
 import { getDicts } from "@/api/dict"
 import { getServiceOrdAreaTypes, getServiceOrderTypes, getHospitalDepartments } from "@/api/dictionary"
@@ -810,7 +812,7 @@
       switch(staffType){
         case "nurse":
           return "鎶ゅ+";
-        case "doctor":
+        case "doctor":          
           return "鍖荤敓";
         case "driver":
           return "鍙告満";
@@ -1246,24 +1248,14 @@
     
     // 鍔犺浇褰撳墠鐢ㄦ埛鎵�鍦ㄥ垎鍏徃鐨勬墍鏈変汉鍛�
     loadDeptStaff() {
-      const deptId = this.currentUser.deptId
-      if (!deptId) {
-        console.error('鏃犳硶鑾峰彇褰撳墠鐢ㄦ埛鎵�鍦ㄩ儴闂�')
-        this.$modal.showToast('鏃犳硶鑾峰彇鎵�鍦ㄩ儴闂ㄤ俊鎭�')
-        return
-      }
+      console.log('寮�濮嬪姞杞戒汉鍛樺垪琛�')
       
-      // 鐩存帴鏌ヨ褰撳墠鐢ㄦ埛閮ㄩ棬涓嬬殑鎵�鏈夌敤鎴�
-      // 鍚庣SQL浼氳嚜鍔ㄥ鐞嗭細濡傛灉浼犲叆鐨勬槸瀛愰儴闂紝浼氭煡鎵惧叾鎵�灞炵殑鍒嗗叕鍙稿強鍏舵墍鏈夊瓙閮ㄩ棬鐨勭敤鎴�
-      const queryParams = {
-        deptId: deptId,
-        status: '0', // 鍙煡璇㈡甯哥姸鎬佺殑鐢ㄦ埛
-        pageNum: 1,
-        pageSize: 10000 // 璁剧疆瓒冲澶х殑椤甸潰澶у皬锛岃幏鍙栨墍鏈夌敤鎴�
-      }
-      
-      listUser(queryParams).then(response => {
-        const userList = response.rows || response.data || []
+      // 璋冪敤鏂版帴鍙o紝鑷姩鏍规嵁褰撳墠鐢ㄦ埛鐨刼aOrderClass鑾峰彇鍒嗗叕鍙镐笅鐨勭敤鎴�
+      listBranchUsers().then(response => {
+        console.log('浜哄憳鍒楄〃API鍝嶅簲:', response)
+        const userList = response.data || []
+        console.log('瑙f瀽鍑虹殑鐢ㄦ埛鍒楄〃:', userList, '鏁伴噺:', userList.length)
+        
         this.allStaffList = userList.map(user => ({
           userId: user.userId,
           nickName: user.nickName,
@@ -1274,6 +1266,8 @@
           // 鏍规嵁宀椾綅鍚嶇О鎴栬鑹插悕绉板垽鏂被鍨�
           type: this.getUserType(user)
         }))
+        
+        console.log('澶勭悊鍚庣殑浜哄憳鍒楄〃:', this.allStaffList, '鏁伴噺:', this.allStaffList.length)
         
         // 鍒濆鍖栬繃婊ゅ垪琛�
         this.filterStaffList()
@@ -1293,14 +1287,18 @@
       if (postName.includes('鍙告満') || roleName.includes('鍙告満') || deptName.includes('杞﹂槦') || deptName.includes('鍙告満')) {
         return 'driver'
       }
-      // 鍒ゆ柇鏄惁涓哄尰鐢�
-      if (postName.includes('鍖荤敓') || roleName.includes('鍖荤敓') || deptName.includes('鍖荤敓')) {
-        return 'doctor'
-      }
       // 鍒ゆ柇鏄惁涓烘姢澹�
       if (postName.includes('鎶ゅ+') || roleName.includes('鎶ゅ+') || deptName.includes('鎶ゅ+')) {
         return 'nurse'
       }
+      // 鍒ゆ柇鏄惁涓哄尰鐢�
+      if (postName.includes('鍖荤敓') || roleName.includes('鍖荤敓') || deptName.includes('鍖荤敓') ) {
+        return 'doctor'
+      }
+      if( deptName.includes("鍖绘姢")){
+        return 'doctor'
+      }
+      
       // 鍏朵粬绫诲瀷锛岄粯璁や负鍙告満
       return 'driver'
     },
@@ -1332,6 +1330,7 @@
     
     // 杩囨护浜哄憳鍒楄〃
     filterStaffList() {
+      console.log('寮�濮嬭繃婊や汉鍛樺垪琛紝鍘熷鏁伴噺:', this.allStaffList.length)
       let list = [...this.allStaffList]
       
       // 鎸夌被鍨嬭繃婊�
@@ -1343,6 +1342,8 @@
         list = list.filter(staff => staff.type === 'nurse')
       }
       
+      console.log('鎸夌被鍨嬭繃婊ゅ悗:', this.staffFilterType, '鏁伴噺:', list.length)
+      
       // 鎸夊叧閿瘝鎼滅储
       if (this.staffSearchKeyword && this.staffSearchKeyword.trim() !== '') {
         const keyword = this.staffSearchKeyword.trim().toLowerCase()
@@ -1352,7 +1353,10 @@
         })
       }
       
+      console.log('鎸夊叧閿瘝杩囨护鍚庯紝鏁伴噺:', list.length)
+      
       this.filteredStaffList = list
+      console.log('鏈�缁堣繃婊ょ粨鏋�:', this.filteredStaffList)
     },
     
     // 鍒囨崲浜哄憳閫変腑鐘舵��
@@ -1590,6 +1594,9 @@
             
             console.log('璺濈璁$畻鎴愬姛:', distanceInKm, 'km')
             this.$modal.showToast(`璺濈: ${distanceInKm}鍏噷`)
+            
+            // 璺濈璁$畻鎴愬姛鍚庯紝鑷姩璁$畻鎴愪氦浠�
+            this.calculatePrice()
           } else {
             console.error('璺濈璁$畻澶辫触:', response.msg)
             this.$modal.showToast('璺濈璁$畻澶辫触,璇锋墜鍔ㄨ緭鍏�')
@@ -1600,6 +1607,52 @@
           console.error('璺濈璁$畻澶辫触:', error)
           this.$modal.showToast('璺濈璁$畻澶辫触,璇锋墜鍔ㄨ緭鍏�')
         })
+    },
+    
+    // 璺濈杈撳叆妗嗗け鐒︽椂瑙﹀彂鎴愪氦浠疯绠�
+    onDistanceChange() {
+      this.calculatePrice()
+    },
+    
+    // 璁$畻鎴愪氦浠�
+    calculatePrice() {
+      const fromAddress = this.taskForm.hospitalOut.address
+      const toAddress = this.taskForm.hospitalIn.address
+      const distance = this.taskForm.transferDistance
+      
+      // 濡傛灉鍦板潃鎴栬窛绂讳笉瀹屾暣锛屼笉杩涜璁$畻
+      if (!fromAddress || !toAddress || !distance || parseFloat(distance) <= 0) {
+        console.log('鍦板潃鎴栬窛绂讳俊鎭笉瀹屾暣锛岃烦杩囨垚浜や环璁$畻')
+        return
+      }
+      
+      console.log('寮�濮嬭绠楁垚浜や环:', fromAddress, '->', toAddress, '璺濈:', distance)
+      
+      // 璋冪敤鎴愪氦浠疯绠楁帴鍙�
+      calculateTransferPrice({
+        fromAddress: fromAddress,
+        toAddress: toAddress,
+        distance: parseFloat(distance),
+        region: this.selectedRegion || ''
+      }).then(response => {
+        if (response.code === 200 && response.data) {
+          const price = response.data.price
+          
+          // 鍙湁褰撹繑鍥炵殑浠锋牸澶т簬0鏃讹紝鎵嶈嚜鍔ㄥ~鍏呮垚浜や环
+          if (price && price > 0) {
+            this.taskForm.price = price.toFixed(2)
+            console.log('鎴愪氦浠疯绠楁垚鍔�:', price)
+            this.$modal.showToast(`鎴愪氦浠�: 楼${price.toFixed(2)}`)
+          } else {
+            console.log('鎴愪氦浠蜂负0锛屼笉鑷姩濉厖')
+          }
+        } else {
+          console.log('鎴愪氦浠疯绠楀け璐ワ紝淇濇寔鎵嬪姩杈撳叆')
+        }
+      }).catch(error => {
+        console.error('鎴愪氦浠疯绠楀け璐�:', error)
+        // 璁$畻澶辫触鏃朵笉鎻愮ず鐢ㄦ埛锛屽厑璁哥敤鎴锋墜鍔ㄨ緭鍏�
+      })
     },
     
     // ==================== 鐥呮儏閫夋嫨鐩稿叧鏂规硶 ====================
@@ -1952,6 +2005,9 @@
             
             console.log('璺濈璁$畻鎴愬姛:', distanceInKm, 'km')
             // this.$modal.showToast(`璺濈璁$畻鎴愬姛: ${distanceInKm}鍏噷`)
+            
+            // 璺濈璁$畻鎴愬姛鍚庯紝鑷姩璁$畻鎴愪氦浠�
+            this.calculatePrice()
           } else {
             console.error('璺濈璁$畻澶辫触:', response.msg)
             this.$modal.showToast('璺濈璁$畻澶辫触锛岃鎵嬪姩杈撳叆')

--
Gitblit v1.9.1