From c5ac97682e3b4ca748541ace97cb37a2295bd81e Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期四, 19 三月 2026 22:46:29 +0800
Subject: [PATCH] feat: 增加GPS清理后台任务

---
 app/pagesTask/detail.vue |   59 ++++++++++++++++++++++++-----------------------------------
 1 files changed, 24 insertions(+), 35 deletions(-)

diff --git a/app/pagesTask/detail.vue b/app/pagesTask/detail.vue
index 4bd3c08..ca3c762 100644
--- a/app/pagesTask/detail.vue
+++ b/app/pagesTask/detail.vue
@@ -71,7 +71,7 @@
             </view>
             <!-- 褰撳墠鐧诲綍浜烘槸璇ユ墽琛屼汉涓旀湭灏辩华鏃舵樉绀哄氨缁寜閽� -->
             <view 
-              v-if="showAssigneeReadyFeature() && isAssigneeSelf(assignee) && !isAssigneeReady(assignee) && taskDetail.taskStatus === 'PENDING'"
+              v-if="showAssigneeReadyFeature() && isAssigneeSelf(assignee) && !isAssigneeReady(assignee) && taskDetail.taskStatus === TaskStatus.PENDING"
               class="assignee-ready-btn"
               :data-user-id="assignee.userId || assignee.oaUserId"
               :data-user-name="assignee.userName"
@@ -275,7 +275,7 @@
       </view>
       
       <!-- 鍙栨秷淇℃伅锛堜粎鍦ㄤ换鍔″凡鍙栨秷涓旀湁鍙栨秷鍘熷洜鏃舵樉绀猴級 -->
-      <view class="detail-section" v-if="taskDetail.taskStatus === 'CANCELLED' && taskDetail.emergencyInfo && taskDetail.emergencyInfo.cancelReason">
+      <view class="detail-section" v-if="taskDetail.taskStatus === TaskStatus.CANCELLED && taskDetail.emergencyInfo && taskDetail.emergencyInfo.cancelReason">
         <view class="section-title">鍙栨秷淇℃伅</view>
         <view class="info-item">
           <view class="label">鍙栨秷鍘熷洜</view>
@@ -465,8 +465,11 @@
     
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <view class="action-buttons" v-if="taskDetail">
-      <!-- 寰呭鐞嗙姸鎬�: 鏄剧ず鍑哄彂銆佸彇娑堛�佸己鍒跺畬鎴� -->
-      <template v-if="taskDetail.taskStatus === 'PENDING' ">
+      <!-- 寰呭鐞嗙姸鎬侊細鏄剧ず鍑哄彂銆佸彇娑堛�佸己鍒跺畬鎴� -->
+      <template v-if="taskDetail.taskStatus === TaskStatus.PENDING 
+      || taskDetail.taskStatus === TaskStatus.NOT_DEPARTED 
+      || taskDetail.taskStatus === TaskStatus.NOT_CONFIRMED
+      || taskDetail.taskStatus === TaskStatus.PARTIALLY_CONFIRMED">
         <button 
           v-if="canOperateTask()"
           class="action-btn primary" 
@@ -488,9 +491,9 @@
           寮哄埗瀹屾垚
         </button>
       </template>
-      
-      <!-- 鍑哄彂涓姸鎬�: 鏄剧ず宸插埌杈俱�佸己鍒剁粨鏉熴�佸己鍒跺畬鎴� -->
-      <template v-else-if="taskDetail.taskStatus === 'DEPARTING'">
+          
+      <!-- 鍑哄彂涓姸鎬侊細鏄剧ず宸插埌杈俱�佸己鍒剁粨鏉熴�佸己鍒跺畬鎴� -->
+      <template v-else-if="taskDetail.taskStatus === TaskStatus.DEPARTING">
         <template v-if="canOperateTask()">
           <button 
             class="action-btn primary" 
@@ -514,8 +517,8 @@
         </template>
       </template>
       
-      <!-- 宸插埌杈剧姸鎬�: 鏄剧ず宸茶繑绋� -->
-      <template v-else-if="taskDetail.taskStatus === 'ARRIVED'">
+      <!-- 宸插埌杈剧姸鎬侊細鏄剧ず宸茶繑绋� -->
+      <template v-else-if="taskDetail.taskStatus === TaskStatus.ARRIVED">
         <template v-if="canOperateTask()">
           <button 
             class="action-btn primary" 
@@ -526,8 +529,8 @@
         </template>
       </template>
       
-      <!-- 杩旂▼涓姸鎬�: 鏄剧ず宸插畬鎴� -->
-      <template v-else-if="taskDetail.taskStatus === 'RETURNING'">
+      <!-- 杩旂▼涓姸鎬侊細鏄剧ず宸插畬鎴� -->
+      <template v-else-if="taskDetail.taskStatus === TaskStatus.RETURNING">
         <template v-if="canOperateTask()">
           <button 
             class="action-btn primary" 
@@ -538,8 +541,8 @@
         </template>
       </template>
       
-      <!-- 澶勭悊涓姸鎬�: 鏄剧ず寮哄埗瀹屾垚銆佸彇娑� -->
-      <template v-else-if="taskDetail.taskStatus === 'IN_PROGRESS'">
+      <!-- 澶勭悊涓姸鎬侊細鏄剧ず寮哄埗瀹屾垚銆佸彇娑� -->
+      <template v-else-if="taskDetail.taskStatus === TaskStatus.IN_PROGRESS">
         <template v-if="canOperateTask()">
            <button 
             class="action-btn primary" 
@@ -579,6 +582,7 @@
   import { checkTaskInvoice } from '@/api/invoice'
   import { formatDateTime } from '@/utils/common'
   import { validateTaskForDepart, validateTaskForSettlement, getTaskVehicleId, checkTaskCanDepart } from '@/utils/taskValidator'
+  import { getStatusText as getTaskStatusText, getTaskTypeText as getTaskTypeTextUtil, TaskStatus } from '@/utils/TaskUtil'
   import AttachmentUpload from './components/AttachmentUpload.vue'
   import config from '@/config'
   
@@ -588,6 +592,7 @@
     },
     data() {
       return {
+        TaskStatus, // 鏆撮湶 TaskStatus 缁欐ā鏉夸娇鐢�
         taskDetail: null,
         taskId: null,
         paymentInfo: null, // 鏀粯淇℃伅
@@ -663,10 +668,10 @@
           return ''
         }
         const status = this.taskDetail.taskStatus
-        if (status === 'PENDING') return 'pending'
-        if (['DEPARTING', 'ARRIVED', 'RETURNING', 'IN_PROGRESS'].includes(status)) return 'in_progress'
-        if (status === 'COMPLETED') return 'completed'
-        if (status === 'CANCELLED') return 'cancelled'
+        if (status === TaskStatus.PENDING || status === TaskStatus.NOT_CONFIRMED || status === TaskStatus.NOT_DEPARTED || status === TaskStatus.PARTIALLY_CONFIRMED) return 'pending'
+        if ([TaskStatus.DEPARTING, TaskStatus.ARRIVED, TaskStatus.RETURNING, TaskStatus.IN_PROGRESS].includes(status)) return 'in_progress'
+        if (status === TaskStatus.COMPLETED) return 'completed'
+        if (status === TaskStatus.CANCELLED) return 'cancelled'
         return ''
       },
       // 鏄剧ず璁″垝寮�濮嬫椂闂�
@@ -895,28 +900,12 @@
       
       // 鑾峰彇鐘舵�佹枃鏈�
       getStatusText(status) {
-        const statusMap = {
-          'PENDING': '寰呭鐞�',
-          'DEPARTING': '鍑哄彂涓�',
-          'ARRIVED': '宸插埌杈�',
-          'RETURNING': '杩旂▼涓�',
-          'COMPLETED': '宸插畬鎴�',
-          'CANCELLED': '宸插彇娑�',
-          'IN_PROGRESS': '澶勭悊涓�' // 鍏煎鏃ф暟鎹�
-        }
-        return statusMap[status] || '鏈煡'
+        return getTaskStatusText(status)
       },
       
       // 鑾峰彇浠诲姟绫诲瀷鏂囨湰
       getTaskTypeText(type) {
-        const typeMap = {
-          'MAINTENANCE': '缁翠慨淇濆吇',
-          'FUEL': '鍔犳补',
-          'OTHER': '鍏朵粬',
-          'EMERGENCY_TRANSFER': '杞繍浠诲姟',
-          'WELFARE': '绂忕杞�'
-        }
-        return typeMap[type] || '鏈煡绫诲瀷'
+        return getTaskTypeTextUtil(type)
       },
       
       // 鑾峰彇鐢ㄦ埛绫诲瀷鏍囩

--
Gitblit v1.9.1