| | |
| | | ? 'status-cancelled' |
| | | : task.taskStatus === 'IN_PROGRESS' |
| | | ? 'status-in-progress' |
| | | : 'status-default' |
| | | : 'status-pending' |
| | | " |
| | | > |
| | | {{ getStatusText(task.taskStatus) }} |
| | |
| | | <!-- 操作按钮 --> |
| | | <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')" |
| | |
| | | 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: { |
| | |
| | | vehicle: "", |
| | | taskNo: "", |
| | | }, |
| | | statusOptions: ["全部状态", "待处理", "处理中", "已完成", "已取消"], |
| | | statusValues: ["", "pending", "processing", "completed", "cancelled"], |
| | | statusOptions: ["全部状态", ...getTaskStatusOptions().map(opt => opt.label)], |
| | | statusValues: ["", ...getTaskStatusOptions().map(opt => opt.value)], |
| | | selectedStatus: "", |
| | | selectedStatusText: "", |
| | | startDate: "", |
| | |
| | | queryParams.taskStatus = "PENDING"; |
| | | } else if (this.currentFilter === "processing") { |
| | | queryParams.taskStatusList = [ |
| | | "NOT_CONFIRMED", |
| | | "NOT_DEPARTED", |
| | | "PARTIALLY_CONFIRMED", |
| | | "DEPARTING", |
| | | "ARRIVED", |
| | | "RETURNING", |
| | |
| | | const statusMap = { |
| | | pending: "PENDING", |
| | | processing: [ |
| | | "NOT_CONFIRMED", |
| | | "NOT_DEPARTED", |
| | | "PARTIALLY_CONFIRMED", |
| | | "DEPARTING", |
| | | "ARRIVED", |
| | | "RETURNING", |
| | |
| | | queryParams.taskStatus = "PENDING"; |
| | | } else if (this.currentFilter === "processing") { |
| | | queryParams.taskStatusList = [ |
| | | "NOT_CONFIRMED", |
| | | "NOT_DEPARTED", |
| | | "PARTIALLY_CONFIRMED", |
| | | "DEPARTING", |
| | | "ARRIVED", |
| | | "RETURNING", |
| | |
| | | }); |
| | | }, |
| | | |
| | | 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 = { |
| | |
| | | }; |
| | | 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] || "未知"; |
| | | }, |
| | | }, |
| | | }; |