From fe33646ee6e2d1e57f2b51812e94983a0e9efb04 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 14 十二月 2025 16:51:28 +0800
Subject: [PATCH] feat: 修复统计
---
app/pagesTask/edit-emergency.vue | 135 ++++++++++++++++++++++++++++++++++++++++----
1 files changed, 121 insertions(+), 14 deletions(-)
diff --git a/app/pagesTask/edit-emergency.vue b/app/pagesTask/edit-emergency.vue
index cb0d7dc..4790118 100644
--- a/app/pagesTask/edit-emergency.vue
+++ b/app/pagesTask/edit-emergency.vue
@@ -19,7 +19,8 @@
/>
<view class="form-item">
- <OrganizationSelector
+ <OrganizationSelector
+ ref="organizationSelector"
v-model="selectedOrganizationId"
:required="true"
:auto-select-user-dept="false"
@@ -53,6 +54,7 @@
:required="false"
:auto-add-current-user="false"
:current-user-removable="true"
+ :branch-dept-ids="allOrganizationIds"
@change="onStaffChange"
/>
@@ -117,25 +119,61 @@
<view class="form-section-title">杞嚭鍖婚櫌淇℃伅</view>
<HospitalSelector
- label="鍖洪櫌鍚嶇О"
+ label="鍖婚櫌鍚嶇О"
address-label="杞嚭鍦板潃"
:required="true"
+ :show-department="false"
v-model="taskForm.hospitalOut"
:dept-id="selectedOrganizationId"
@change="onHospitalOutChange"
@address-selected="onHospitalOutAddressSelected"
/>
+ <DepartmentSelector
+ label="杞嚭绉戝"
+ :required="true"
+ v-model="taskForm.hospitalOut.department"
+ :department-id="taskForm.hospitalOut.departmentId"
+ :is-home="taskForm.hospitalOut.name === '瀹朵腑'"
+ @change="onHospitalOutDepartmentChange"
+ />
+
+ <view class="form-item">
+ <view class="form-label">搴婂彿</view>
+ <input
+ class="form-input"
+ placeholder="璇疯緭鍏ュ簥鍙�"
+ v-model="taskForm.hospitalOut.bedNumber"
+ />
+ </view>
<view class="form-section-title">杞叆鍖婚櫌淇℃伅</view>
<HospitalSelector
label="鍖婚櫌鍚嶇О"
address-label="杞叆鍦板潃"
:required="true"
+ :show-department="false"
v-model="taskForm.hospitalIn"
:dept-id="selectedOrganizationId"
@change="onHospitalInChange"
@address-selected="onHospitalInAddressSelected"
/>
+ <DepartmentSelector
+ label="杞叆绉戝"
+ :required="true"
+ v-model="taskForm.hospitalIn.department"
+ :department-id="taskForm.hospitalIn.departmentId"
+ :is-home="taskForm.hospitalIn.name === '瀹朵腑'"
+ @change="onHospitalInDepartmentChange"
+ />
+
+ <view class="form-item">
+ <view class="form-label">搴婂彿</view>
+ <input
+ class="form-input"
+ placeholder="璇疯緭鍏ュ簥鍙�"
+ v-model="taskForm.hospitalIn.bedNumber"
+ />
+ </view>
<view class="form-item">
<view class="form-label">杞繍璺濈</view>
@@ -202,6 +240,7 @@
import DiseaseSelector from './components/DiseaseSelector.vue'
import DepartureSelector from './components/DepartureSelector.vue'
import StaffSelector from './components/StaffSelector.vue'
+import DepartmentSelector from './components/DepartmentSelector.vue'
import distanceCalculator from '@/mixins/distanceCalculator.js'
export default {
@@ -214,7 +253,8 @@
HospitalSelector,
DiseaseSelector,
DepartureSelector,
- StaffSelector
+ StaffSelector,
+ DepartmentSelector
},
mixins: [distanceCalculator],
data() {
@@ -224,6 +264,7 @@
taskDetail: null,
selectedVehicleId: null,
selectedOrganizationId: null,
+ allOrganizationIds: [], // 鎵�鏈夊彲閫夋満鏋処D鏁扮粍
selectedRegion: '',
mapSelectorType: '',
// 鎵╁睍 addressCoordinates 鏀寔澶氱閿悕
@@ -292,6 +333,11 @@
}, 1500)
}
},
+
+ mounted() {
+ // 椤甸潰鎸傝浇鍚庡姞杞芥墍鏈夋満鏋処D
+ this.loadAllOrganizationIds()
+ },
methods: {
// 鍔犺浇浠诲姟璇︽儏
loadTaskDetail() {
@@ -320,8 +366,9 @@
const info = this.taskDetail.emergencyInfo
console.log('杞繍浠诲姟淇℃伅:', info)
- // 杞繍鏃堕棿
- this.taskForm.transferTime = this.taskDetail.plannedStartTime || ''
+ // 杞繍鏃堕棿锛堜慨澶嶏細1900骞寸殑鏃ユ湡鏄剧ず涓虹┖锛�
+ const transferTime = this.taskDetail.plannedStartTime || ''
+ this.taskForm.transferTime = transferTime && transferTime.startsWith('1900') ? '' : transferTime
// 鎮h�呬俊鎭�
this.taskForm.patient.contact = info.patientContact || ''
@@ -376,7 +423,8 @@
} else {
console.warn('浠诲姟璇︽儏涓病鏈塭mergencyInfo瀛楁锛屽皾璇曚粠涓诲璞¤幏鍙栨暟鎹�')
// 鍏煎澶勭悊锛氬鏋渆mergencyInfo涓嶅瓨鍦紝灏濊瘯浠庝富瀵硅薄鑾峰彇
- this.taskForm.transferTime = this.taskDetail.plannedStartTime || ''
+ const transferTime = this.taskDetail.plannedStartTime || ''
+ this.taskForm.transferTime = transferTime && transferTime.startsWith('1900') ? '' : transferTime
this.taskForm.transferDistance = this.taskDetail.estimatedDistance ? String(this.taskDetail.estimatedDistance) : ''
}
@@ -421,16 +469,24 @@
console.log('璁剧疆鐩爣鍦板潗鏍�:', this.taskDetail.destinationLongitude, this.taskDetail.destinationLatitude)
}
- // 璁剧疆鎵ц浜哄憳锛堜慨澶嶏細纭繚 assignees 涓嶄负 null锛�
+ // 璁剧疆鎵ц浜哄憳锛堜慨澶嶏細纭繚 assignees 涓嶄负 null锛屽苟姝g‘鏄犲皠瀛楁锛�
if (this.taskDetail.assignees && Array.isArray(this.taskDetail.assignees) && this.taskDetail.assignees.length > 0) {
console.log('鍘熷鎵ц浜哄憳鏁版嵁:', this.taskDetail.assignees)
- this.selectedStaff = this.taskDetail.assignees.map(assignee => ({
- userId: assignee.userId,
- nickName: assignee.userName,
- type: assignee.userType || 'driver',
- phonenumber: '',
- deptName: ''
- }))
+ this.selectedStaff = this.taskDetail.assignees.map(assignee => {
+ console.log('澶勭悊鎵ц浜哄憳:', assignee)
+ console.log(' - userName:', assignee.userName)
+ console.log(' - nickName:', assignee.nickName)
+ console.log(' - phonenumber:', assignee.phonenumber)
+ console.log(' - phone:', assignee.phone)
+
+ return {
+ userId: assignee.userId,
+ nickName: assignee.userName || assignee.nickName || '',
+ type: assignee.userType || 'driver',
+ phonenumber: assignee.phonenumber || assignee.phone || '',
+ deptName: assignee.deptName || ''
+ }
+ })
console.log('澶勭悊鍚庣殑鎵ц浜哄憳鍒楄〃:', this.selectedStaff)
} else {
console.warn('浠诲姟娌℃湁鍒嗛厤鎵ц浜哄憳鎴朼ssignees涓虹┖')
@@ -453,6 +509,23 @@
// 杞﹁締閫夋嫨鍙樺寲
onVehicleChange(vehicle) {
console.log('閫変腑杞﹁締:', vehicle)
+ },
+
+ // 鍔犺浇鎵�鏈夋満鏋処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)
+ }
},
// 褰掑睘鏈烘瀯閫夋嫨鍙樺寲
@@ -491,6 +564,12 @@
console.log('杞嚭鍖婚櫌鍙樺寲:', hospitalData)
// 缁勪欢宸茬粡閫氳繃 v-model 鏇存柊浜� taskForm.hospitalOut
+ // 濡傛灉閫夋嫨鐨勬槸"瀹朵腑"锛岃嚜鍔ㄨ缃瀹や负"鍏跺畠"
+ if (hospitalData.name === '瀹朵腑') {
+ this.taskForm.hospitalOut.department = '鍏跺畠'
+ this.taskForm.hospitalOut.departmentId = null
+ }
+
// 濡傛灉杞叆鍦板潃宸插~鍐�,鑷姩璁$畻璺濈
if (this.taskForm.hospitalIn.address) {
// 濡傛灉涓や釜閮戒笉鏄�"瀹朵腑",浣跨敤鍖婚櫌璺濈璁$畻
@@ -515,6 +594,12 @@
console.log('杞叆鍖婚櫌鍙樺寲:', hospitalData)
// 缁勪欢宸茬粡閫氳繃 v-model 鏇存柊浜� taskForm.hospitalIn
+ // 濡傛灉閫夋嫨鐨勬槸"瀹朵腑"锛岃嚜鍔ㄨ缃瀹や负"鍏跺畠"
+ if (hospitalData.name === '瀹朵腑') {
+ this.taskForm.hospitalIn.department = '鍏跺畠'
+ this.taskForm.hospitalIn.departmentId = null
+ }
+
// 濡傛灉杞嚭鍦板潃宸插~鍐�,鑷姩璁$畻璺濈
if (this.taskForm.hospitalOut.address) {
// 濡傛灉涓や釜閮戒笉鏄�"瀹朵腑",浣跨敤鍖婚櫌璺濈璁$畻
@@ -534,6 +619,28 @@
}
},
+ // 杞嚭绉戝鍙樺寲
+ onHospitalOutDepartmentChange(data) {
+ if (data && typeof data === 'object') {
+ this.taskForm.hospitalOut.department = data.department
+ this.taskForm.hospitalOut.departmentId = data.departmentId
+ } else {
+ this.taskForm.hospitalOut.department = data
+ this.taskForm.hospitalOut.departmentId = null
+ }
+ },
+
+ // 杞叆绉戝鍙樺寲
+ onHospitalInDepartmentChange(data) {
+ if (data && typeof data === 'object') {
+ this.taskForm.hospitalIn.department = data.department
+ this.taskForm.hospitalIn.departmentId = data.departmentId
+ } else {
+ this.taskForm.hospitalIn.department = data
+ this.taskForm.hospitalIn.departmentId = null
+ }
+ },
+
// 鐥呮儏鍙樺寲
onDiseaseChange(diseases) {
console.log('鐥呮儏鍙樺寲:', diseases)
--
Gitblit v1.9.1