gaoluyang
2026-08-06 377c0a70c094d024aeb0bb94f4b791c6d5530c1e
src/views/equipmentManagement/upkeep/index.vue
@@ -39,7 +39,7 @@
                icon="Delete"
                :disabled="scheduledMultipleList.length <= 0"
                @click="delScheduledTaskByIds(scheduledMultipleList.map((item) => item.id))"
              >
               v-hasPermi="['equipmentManagement:upkeep:remove']">
                批量删除
              </el-button>
            </div>
@@ -78,7 +78,7 @@
                type="danger"
                link
                @click="delScheduledTaskByIds(row.id)"
              >
               v-hasPermi="['equipmentManagement:upkeep:remove']">
                删除
              </el-button>
            </template>
@@ -149,7 +149,7 @@
                icon="Delete"
                :disabled="multipleList.length <= 0 || hasFinishedStatus"
                @click="delRepairByIds(multipleList.map((item) => item.id))"
              >
               v-hasPermi="['equipmentManagement:upkeep:remove']">
                批量删除
              </el-button>
            </div>
@@ -168,44 +168,45 @@
        @pagination="changePage"
      >
        <template #maintenanceResultRef="{ row }">
          <div>{{ row.maintenanceResult || '-' }}</div>
          <div>{{ { "0": "维修", "1": "完好" }[row.maintenanceResult] || row.maintenanceResult || "-" }}</div>
        </template>
        <template #statusRef="{ row }">
          <el-tag v-if="row.status === 2" type="danger">失败</el-tag>
          <el-tag v-if="row.status === 1" type="success">完结</el-tag>
          <el-tag v-if="row.status === 3" type="warning">待验收</el-tag>
          <el-tag v-if="row.status === 0" type="warning">待保养</el-tag>
        </template>
        <template #operation="{ row }">
          <!-- 这个功能跟新增保养功能一模一样,有啥意义? -->
          <!-- <el-button
              type="primary"
              text
              @click="addMaintain(row)"
          >
            新增保养
          </el-button> -->
          <el-button
            type="primary"
            link
            :disabled="row.status === 1"
            :disabled="row.status === 1 || row.status === 3"
            @click="editPlan(row.id)"
          >
            编辑
          </el-button>
          <el-button
            v-if="row.status === 0"
            type="success"
            link
            :disabled="row.status === 1"
            @click="addMaintain(row)"
          >
            保养
          </el-button>
          <el-button
            v-if="row.status === 3"
            type="success"
            link
            @click="openAcceptanceDialog(row)"
          >
            验收审批
          </el-button>
          <el-button
            type="danger"
            link
            :disabled="row.status === 1"
            @click="delRepairByIds(row.id)"
          >
           v-hasPermi="['equipmentManagement:upkeep:remove']">
            删除
          </el-button>
          <el-button
@@ -222,6 +223,7 @@
    </el-tabs>
    <PlanModal ref="planModalRef" @ok="getTableData" />
        <MaintenanceModal ref="maintainModalRef" @ok="getTableData" />
        <AcceptanceModal ref="acceptanceModalRef" @ok="getTableData" />
        <FormDia ref="formDiaRef" @closeDia="getScheduledTableData" />
    <FileListDialog 
      ref="fileListDialogRef"
@@ -242,6 +244,7 @@
import PlanModal from './Form/PlanModal.vue'
import MaintenanceModal from './Form/MaintenanceModal.vue'
import FormDia from './Form/formDia.vue'
import AcceptanceModal from './Form/AcceptanceModal.vue'
import FileListDialog from '@/components/Dialog/FileListDialog.vue'
import {
  getUpkeepPage,
@@ -249,6 +252,7 @@
  deviceMaintenanceTaskList,
  deviceMaintenanceTaskDel,
  deviceMaintenanceTaskChangeEnable,
  maintenanceAcceptance,
} from '@/api/equipmentManagement/upkeep'
import {
  listMaintenanceTaskFiles,
@@ -266,6 +270,8 @@
const planModalRef = ref()
// 保养弹窗控制器
const maintainModalRef = ref()
// 验收审批弹窗控制器
const acceptanceModalRef = ref()
// 定时任务弹窗控制器
const formDiaRef = ref()
// 附件弹窗
@@ -350,6 +356,7 @@
   },
   { prop: "registrant", label: "登记人", minWidth: 100 },
   { prop: "registrationDate", label: "登记日期", minWidth: 100 },
   { prop: "maintenanceContent", label: "保养内容", minWidth: 150, showOverflowTooltip: true },
   {
      label: "是否启用",
      prop: "isEnabled",
@@ -421,12 +428,32 @@
      dataType: "slot",
      slot: "maintenanceResultRef",
   },
   { prop: "maintenanceContent", label: "保养内容", minWidth: 150, showOverflowTooltip: true },
   {
      label: "状态",
      align: "center",
      prop: "status",
      dataType: "slot",
      slot: "statusRef",
   },
   {
      label: "验收人",
      align: "center",
      prop: "acceptanceName",
      formatData: (cell) => cell || "-",
   },
   {
      label: "验收时间",
      align: "center",
      prop: "acceptanceTime",
      formatData: (cell) =>
         cell ? dayjs(cell).format("YYYY-MM-DD HH:mm:ss") : "-",
   },
   {
      label: "验收备注",
      align: "center",
      prop: "acceptanceRemark",
      formatData: (cell) => cell || "-",
   },
   {
      fixed: "right",
@@ -680,6 +707,11 @@
  await fetchMaintenanceTaskFiles(row.id)
}
// 打开验收审批弹窗
const openAcceptanceDialog = (row) => {
  acceptanceModalRef.value.open(row.id, row)
}
// 刷新附件列表
const refreshFileList = async () => {
  if (!currentMaintenanceTaskId.value) return