wlzboy
2026-03-19 c5ac97682e3b4ca748541ace97cb37a2295bd81e
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,18 +1121,8 @@
      });
    },
    getStatusText(status) {
      const statusMap = {
        PENDING: "待处理",
        DEPARTING: "出发中",
        ARRIVED: "已到达",
        RETURNING: "返程中",
        COMPLETED: "已完成",
        CANCELLED: "已取消",
        IN_PROGRESS: "处理中", // 兼容旧数据
      };
      return statusMap[status] || "未知";
    },
    // 使用 TaskUtil 中的 getStatusText 方法
    // getStatusText 已在 utils/TaskUtil.js 中定义
    // 获取状态样式类
    getStatusClass(status) {
@@ -1107,15 +1138,17 @@
      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] || "未知";
    },
  },
};