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