src/views/equipmentManagement/upkeep/index.vue
@@ -63,6 +63,9 @@
            }"
                    @selection-change="handleScheduledSelectionChange"
                    @pagination="changeScheduledPage">
            <template #frequencyDetailRef="{ row }">
              {{ formatFrequencyDetail(row) }}
            </template>
            <template #statusRef="{ row }">
              <el-tag v-if="row.status === 1"
                      type="success">启用</el-tag>
@@ -316,31 +319,15 @@
          WEEKLY: "每周",
          MONTHLY: "每月",
          QUARTERLY: "季度",
          YEARLY: "年度保养",
        }[cell] || ""),
    },
    {
      prop: "frequencyDetail",
      label: "开始日期与时间",
      minWidth: 150,
      // 同样改用 formatData,PIMTable 内部会把单元格值传进来
      formatData: cell => {
        if (typeof cell !== "string") return "";
        let val = cell;
        const replacements = {
          MON: "周一",
          TUE: "周二",
          WED: "周三",
          THU: "周四",
          FRI: "周五",
          SAT: "周六",
          SUN: "周日",
        };
        // 使用正则一次性替换所有匹配项
        return val.replace(
          /MON|TUE|WED|THU|FRI|SAT|SUN/g,
          match => replacements[match]
        );
      },
      dataType: "slot",
      slot: "frequencyDetailRef",
    },
    { prop: "maintenancePerson", label: "保养人", minWidth: 100 },
    { prop: "registrant", label: "登记人", minWidth: 100 },
@@ -362,6 +349,28 @@
  ]);
  // 保养记录表格列配置(原设备保养表格列)
  const formatFrequencyDetail = (row) => {
    if (!row) return "";
    const val = String(row.frequencyDetail || "");
    if (row.frequencyType === "YEARLY") {
      const parts = val.split(",");
      if (parts.length === 3) {
        return `每年${parts[0]}月${parts[1]}日 ${parts[2]}`;
      }
      return val;
    }
    const replacements = {
      MON: "周一",
      TUE: "周二",
      WED: "周三",
      THU: "周四",
      FRI: "周五",
      SAT: "周六",
      SUN: "周日",
    };
    return val.replace(/MON|TUE|WED|THU|FRI|SAT|SUN/g, (m) => replacements[m]);
  };
  const columns = ref([
    {
      label: "设备名称",