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/pages/task/index.vue | 83 +++++++++++++++++++++++++++++------------
1 files changed, 58 insertions(+), 25 deletions(-)
diff --git a/app/pages/task/index.vue b/app/pages/task/index.vue
index da47896..244207b 100644
--- a/app/pages/task/index.vue
+++ b/app/pages/task/index.vue
@@ -158,7 +158,7 @@
? 'status-cancelled'
: task.taskStatus === 'IN_PROGRESS'
? 'status-in-progress'
- : 'status-default'
+ : 'status-pending'
"
>
{{ getStatusText(task.taskStatus) }}
@@ -197,7 +197,10 @@
<!-- 鎿嶄綔鎸夐挳 -->
<view class="task-actions">
<!-- 寰呭鐞嗙姸鎬�: 鏄剧ず鍑哄彂銆佸彇娑� -->
- <template v-if="task.taskStatus === 'PENDING'">
+ <template v-if="task.taskStatus === 'PENDING'
+ || task.taskStatus === 'NOT_DEPARTED'
+ || task.taskStatus === 'NOT_CONFIRMED'
+ || task.taskStatus === 'PARTIALLY_CONFIRMED'">
<button
class="action-btn primary"
@click="handleTaskAction(task, 'depart')"
@@ -300,6 +303,35 @@
import { mapState } from "vuex";
import { formatDateTime } from "@/utils/common";
import { checkTaskCanDepart } from "@/utils/taskValidator";
+import { getStatusText as getTaskStatusText, getTaskStatusOptions, getTaskTypeText as getTaskTypeTextUtil } from "@/utils/TaskUtil";
+
+// 浠诲姟绫诲瀷鏄犲皠锛堜复鏃跺畾涔夛紝閬垮厤瀵煎叆闂锛�
+const TASK_TYPE_MAP = {
+ MAINTENANCE: "缁翠慨淇濆吇",
+ FUEL: "鍔犳补",
+ OTHER: "鍏朵粬",
+ EMERGENCY_TRANSFER: "杞繍浠诲姟",
+ WELFARE: "绂忕杞�",
+ maintenance: "缁翠慨淇濆吇",
+ refuel: "鍔犳补",
+ inspection: "宸℃",
+ emergency: "杞繍浠诲姟",
+ welfare: "绂忕杞�"
+};
+
+// 浠诲姟鐘舵�佹槧灏勶紙涓存椂瀹氫箟锛岄伩鍏嶅鍏ラ棶棰橈級
+const TASK_STATUS_MAP = {
+ PENDING: "寰呭鐞�",
+ NOT_CONFIRMED: "瀹屽叏鏈‘璁�",
+ NOT_DEPARTED: "寰呭嚭鍙�",
+ PARTIALLY_CONFIRMED: "閮ㄥ垎纭",
+ DEPARTING: "鍑哄彂涓�",
+ ARRIVED: "宸插埌杈�",
+ RETURNING: "杩旂▼涓�",
+ COMPLETED: "宸插畬鎴�",
+ CANCELLED: "宸插彇娑�",
+ IN_PROGRESS: "浠诲姟涓�"
+};
export default {
components: {
@@ -315,8 +347,8 @@
vehicle: "",
taskNo: "",
},
- statusOptions: ["鍏ㄩ儴鐘舵��", "寰呭鐞�", "澶勭悊涓�", "宸插畬鎴�", "宸插彇娑�"],
- statusValues: ["", "pending", "processing", "completed", "cancelled"],
+ statusOptions: ["鍏ㄩ儴鐘舵��", ...getTaskStatusOptions().map(opt => opt.label)],
+ statusValues: ["", ...getTaskStatusOptions().map(opt => opt.value)],
selectedStatus: "",
selectedStatusText: "",
startDate: "",
@@ -415,6 +447,9 @@
queryParams.taskStatus = "PENDING";
} else if (this.currentFilter === "processing") {
queryParams.taskStatusList = [
+ "NOT_CONFIRMED",
+ "NOT_DEPARTED",
+ "PARTIALLY_CONFIRMED",
"DEPARTING",
"ARRIVED",
"RETURNING",
@@ -429,6 +464,9 @@
const statusMap = {
pending: "PENDING",
processing: [
+ "NOT_CONFIRMED",
+ "NOT_DEPARTED",
+ "PARTIALLY_CONFIRMED",
"DEPARTING",
"ARRIVED",
"RETURNING",
@@ -533,6 +571,9 @@
queryParams.taskStatus = "PENDING";
} else if (this.currentFilter === "processing") {
queryParams.taskStatusList = [
+ "NOT_CONFIRMED",
+ "NOT_DEPARTED",
+ "PARTIALLY_CONFIRMED",
"DEPARTING",
"ARRIVED",
"RETURNING",
@@ -1080,19 +1121,9 @@
});
},
- getStatusText(status) {
- const statusMap = {
- PENDING: "寰呭鐞�",
- DEPARTING: "鍑哄彂涓�",
- ARRIVED: "宸插埌杈�",
- RETURNING: "杩旂▼涓�",
- COMPLETED: "宸插畬鎴�",
- CANCELLED: "宸插彇娑�",
- IN_PROGRESS: "澶勭悊涓�", // 鍏煎鏃ф暟鎹�
- };
- return statusMap[status] || "鏈煡";
- },
-
+ // 浣跨敤 TaskUtil 涓殑 getStatusText 鏂规硶
+ // getStatusText 宸插湪 utils/TaskUtil.js 涓畾涔�
+
// 鑾峰彇鐘舵�佹牱寮忕被
getStatusClass(status) {
const statusClassMap = {
@@ -1106,16 +1137,18 @@
};
return statusClassMap[status] || "status-default";
},
+
+ // 浣跨敤 TaskUtil 涓殑 getTaskTypeText 鏂规硶
+ // getTaskTypeText 宸插湪 utils/TaskUtil.js 涓畾涔�
+ // 鑾峰彇浠诲姟绫诲瀷鏂囨湰
getTaskTypeText(type) {
- const typeMap = {
- MAINTENANCE: "缁翠慨淇濆吇",
- FUEL: "鍔犳补",
- OTHER: "鍏朵粬",
- EMERGENCY_TRANSFER: "杞繍浠诲姟",
- WELFARE: "绂忕杞�",
- };
- return typeMap[type] || "鏈煡绫诲瀷";
+ return TASK_TYPE_MAP[type] || "鏈煡绫诲瀷";
+ },
+
+ // 鑾峰彇浠诲姟鐘舵�佹枃鏈�
+ getStatusText(status) {
+ return TASK_STATUS_MAP[status] || "鏈煡";
},
},
};
--
Gitblit v1.9.1