From f08739f46afe856f60ebb1d21ab23d72947629ed Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 21 十二月 2025 00:03:12 +0800
Subject: [PATCH] feat:优化任务搜索查询 app
---
app/pagesTask/detail.vue | 82 ++++++++++++++++++++++++++++------------
1 files changed, 57 insertions(+), 25 deletions(-)
diff --git a/app/pagesTask/detail.vue b/app/pagesTask/detail.vue
index 022152d..771094a 100644
--- a/app/pagesTask/detail.vue
+++ b/app/pagesTask/detail.vue
@@ -12,7 +12,11 @@
<view class="section-title">鍩烘湰淇℃伅</view>
<view class="info-item">
<view class="label">浠诲姟缂栧彿</view>
- <view class="value">{{ taskDetail.showTaskCode }}</view>
+ <view class="value">
+ {{ taskDetail.showTaskCode }}
+ <text v-if="taskDetail.emergencyInfo && taskDetail.emergencyInfo.serviceOrdVip === '1'" class="vip-tag">VIP</text>
+ <text v-if="taskDetail.emergencyInfo && taskDetail.emergencyInfo.fromHq2Is === '1'" class="hq-tag">骞挎��</text>
+ </view>
</view>
<view class="info-item">
<view class="label">浠诲姟绫诲瀷</view>
@@ -51,21 +55,12 @@
<view class="assignee-role">
<view
class="role-tag"
- :class="{
- 'role-driver': assignee.userType === 'driver',
- 'role-doctor': assignee.userType === 'doctor',
- 'role-nurse': assignee.userType === 'nurse'
- }"
- >
+ :class="{'role-driver': assignee.userType === 'driver','role-doctor': assignee.userType === 'doctor','role-nurse': assignee.userType === 'nurse'}">
{{ getUserTypeLabel(assignee.userType) }}
</view>
<view
class="ready-badge"
- :class="{
- 'ready': isAssigneeReady(assignee),
- 'unready': !isAssigneeReady(assignee)
- }"
- >
+ :class="{'ready': isAssigneeReady(assignee),'unready': !isAssigneeReady(assignee)}">
{{ isAssigneeReady(assignee) ? '宸插氨缁�' : '鏈氨缁�' }}
</view>
</view>
@@ -102,13 +97,13 @@
<view class="section-title">浣嶇疆淇℃伅</view>
<!-- 杞繍浠诲姟锛氭樉绀鸿浆鍑�/杞叆鍖婚櫌鍦板潃 -->
<template v-if="taskDetail.taskType === 'EMERGENCY_TRANSFER' && taskDetail.emergencyInfo">
- <view class="info-item" v-if="taskDetail.emergencyInfo.hospitalOutAddress">
+ <view class="info-item" v-if="taskDetail.emergencyInfo.hospitalOutName">
<view class="label">杞嚭鍖婚櫌</view>
- <view class="value">{{ taskDetail.emergencyInfo.hospitalOutAddress }}</view>
+ <view class="value">{{ taskDetail.emergencyInfo.hospitalOutName }}</view>
</view>
- <view class="info-item" v-if="taskDetail.emergencyInfo.hospitalInAddress">
+ <view class="info-item" v-if="taskDetail.emergencyInfo.hospitalInName">
<view class="label">杞叆鍖婚櫌</view>
- <view class="value">{{ taskDetail.emergencyInfo.hospitalInAddress }}</view>
+ <view class="value">{{ taskDetail.emergencyInfo.hospitalInName }}</view>
</view>
</template>
<!-- 绂忕杞︿换鍔★細鏄剧ず鎺ラ��/鐩殑鍦板潃 -->
@@ -496,7 +491,19 @@
}
return ['COMPLETED', 'CANCELLED'].includes(this.taskDetail.taskStatus)
},
- // 鏄剧ず浠诲姟绫诲瀷
+
+ // 鐢熸垚鎵ц浜哄憳瑙掕壊鏍囩鐨勭被鍚�
+ getRoleTagClass() {
+ return (userType) => {
+ const baseClass = 'role-tag'
+ const roleClasses = {
+ 'driver': 'role-driver',
+ 'doctor': 'role-doctor',
+ 'nurse': 'role-nurse'
+ }
+ return [baseClass, roleClasses[userType] || '']
+ }
+ }, // 鏄剧ず浠诲姟绫诲瀷
displayTaskType() {
if (!this.taskDetail || !this.taskDetail.taskType) {
return '鏈缃�'
@@ -591,13 +598,7 @@
getTask(this.taskId).then(response => {
this.taskDetail = response.data || response
- // 璋冭瘯锛氭墦鍗拌繑鍥炵殑鏁版嵁
- // console.log('浠诲姟璇︽儏瀹屾暣鏁版嵁:', JSON.stringify(this.taskDetail, null, 2))
- // console.log('浠诲姟绫诲瀷瀛楁鍊�:', this.taskDetail.taskType)
- // console.log('浠诲姟鐘舵�佸瓧娈靛��:', this.taskDetail.taskStatus)
- // console.log('鍑哄彂鍦板潃:', this.taskDetail.departureAddress)
- // console.log('鐩殑鍦板潃:', this.taskDetail.destinationAddress)
- // console.log('杞繍浠诲姟淇℃伅 (emergencyInfo):', this.taskDetail.emergencyInfo)
+
// 濡傛灉鏄浆杩愪换鍔★紝鍔犺浇鏀粯淇℃伅
if (this.taskDetail.taskType === 'EMERGENCY_TRANSFER') {
@@ -702,7 +703,16 @@
// 杩斿洖涓婁竴椤�
goBack() {
- uni.navigateBack()
+ // 妫�鏌ユ槸鍚︽湁椤甸潰鍙互杩斿洖
+ uni.navigateBack({
+ delta: 1,
+ fail: () => {
+ // 濡傛灉鏃犳硶杩斿洖锛屽垯璺宠浆鍒颁换鍔″垪琛ㄩ〉闈�
+ uni.switchTab({
+ url: '/pages/task/index'
+ })
+ }
+ })
},
// 澶勭悊缂栬緫鎸夐挳
@@ -1793,5 +1803,27 @@
}
}
}
+
+ .vip-tag {
+ display: inline-block;
+ padding: 2rpx 8rpx;
+ font-size: 20rpx;
+ color: #fff;
+ background-color: #ff0000;
+ border-radius: 4rpx;
+ margin-left: 10rpx;
+ vertical-align: middle;
+ }
+
+ .hq-tag {
+ display: inline-block;
+ padding: 2rpx 8rpx;
+ font-size: 20rpx;
+ color: #fff;
+ background-color: #5856d6;
+ border-radius: 4rpx;
+ margin-left: 10rpx;
+ vertical-align: middle;
+ }
}
</style>
\ No newline at end of file
--
Gitblit v1.9.1