| | |
| | | prop="createTime" |
| | | width="180" |
| | | align="center" |
| | | show-overflow-tooltip /> |
| | | show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | {{ formatDate(scope.row.createTime) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="整改完成期限" |
| | | prop="rectifyTime" |
| | | width="120" |
| | |
| | | <span class="detail-title">{{ form.createUserName }}</span> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="上报时间"> |
| | | <span class="detail-title">{{ form.createTime }}</span> |
| | | <span class="detail-title">{{ formatDate(form.createTime) }}</span> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="整改责任人"> |
| | | <span class="detail-title">{{ form.rectifyUserName }}</span> |
| | |
| | | |
| | | const userStore = useUserStore(); |
| | | const { proxy } = getCurrentInstance(); |
| | | const formatDate = date => (date ? dayjs(date).format("YYYY-MM-DD") : ""); |
| | | const tableData = ref([]); |
| | | const selectedRows = ref([]); |
| | | const userList = ref([]); |
| | |
| | | {{ inspectionDetail.lineName || "--" }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="计划巡检时间"> |
| | | {{ inspectionDetail.planTime || "--" }} |
| | | {{ formatDateOnly(inspectionDetail.planTime) }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="实际巡检时间"> |
| | | {{ inspectionDetail.actualInspectionTime || "--" }} |
| | | {{ formatDateOnly(inspectionDetail.actualInspectionTime) }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="巡检结果"> |
| | | <el-tag :type="getInspectionResultType(inspectionDetail.inspectionResult)" size="small"> |
| | |
| | | {{ currentInspection.lineName || "--" }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="计划时间"> |
| | | {{ currentInspection.planTime || "--" }} |
| | | {{ formatDateOnly(currentInspection.planTime) }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="巡检项目" :span="2"> |
| | | {{ currentInspection.inspectionProject || "--" }} |
| | |
| | | import { computed, getCurrentInstance, onMounted, reactive, ref } from "vue"; |
| | | import { Delete, Plus, Search } from "@element-plus/icons-vue"; |
| | | import { ElMessage, ElMessageBox } from "element-plus"; |
| | | import dayjs from "dayjs"; |
| | | import PIMTable from "@/components/PIMTable/PIMTable.vue"; |
| | | import ImageUpload from "@/components/AttachmentUpload/image/index.vue"; |
| | | import { userListNoPage } from "@/api/system/user.js"; |
| | |
| | | const { hidden_danger_type } = proxy.useDict("hidden_danger_type"); |
| | | const userStore = useUserStore(); |
| | | const currentUserId = computed(() => Number(userStore.id)); |
| | | const formatDateOnly = value => { |
| | | if (!value) { |
| | | return "--"; |
| | | } |
| | | const date = dayjs(value); |
| | | return date.isValid() ? date.format("YYYY-MM-DD") : "--"; |
| | | }; |
| | | |
| | | const activeTab = ref("task"); |
| | | const tableLoading = ref(false); |
| | |
| | | { label: "巡检名称", prop: "inspectionName", minWidth: 135, showOverflowTooltip: true, align: "left" }, |
| | | { label: "线路名称", prop: "lineName", minWidth: 130, showOverflowTooltip: true, align: "left" }, |
| | | { label: "巡检项目", prop: "inspectionProject", minWidth: 150, showOverflowTooltip: true, align: "left" }, |
| | | { label: "计划巡检时间", prop: "planTime", width: 165, showOverflowTooltip: true, align: "center" }, |
| | | { label: "计划巡检时间", prop: "planTime", width: 165, showOverflowTooltip: true, align: "center", formatData: formatDateOnly }, |
| | | { label: "巡检结果", prop: "inspectionResult", width: 90, dataType: "slot", slot: "inspectionResult", align: "center" }, |
| | | { label: "实际巡检时间", prop: "actualInspectionTime", width: 165, showOverflowTooltip: true, align: "center" }, |
| | | { label: "实际巡检时间", prop: "actualInspectionTime", width: 165, showOverflowTooltip: true, align: "center", formatData: formatDateOnly }, |
| | | { label: "巡检人", prop: "inspectorName", minWidth: 105, dataType: "slot", slot: "inspectorName", align: "center" }, |
| | | { label: "状态", prop: "status", width: 90, dataType: "slot", slot: "status", align: "center" } |
| | | ]; |
| | |
| | | { label: "巡检名称", prop: "inspectionName", minWidth: 135, showOverflowTooltip: true, align: "left" }, |
| | | { label: "线路名称", prop: "lineName", minWidth: 130, showOverflowTooltip: true, align: "left" }, |
| | | { label: "巡检项目", prop: "inspectionProject", minWidth: 145, showOverflowTooltip: true, align: "left" }, |
| | | { label: "计划巡检时间", prop: "planTime", width: 165, showOverflowTooltip: true, align: "center" }, |
| | | { label: "计划巡检时间", prop: "planTime", width: 165, showOverflowTooltip: true, align: "center", formatData: formatDateOnly }, |
| | | { label: "巡检结果", prop: "inspectionResult", width: 90, dataType: "slot", slot: "inspectionResult", align: "center" }, |
| | | { label: "实际巡检时间", prop: "actualInspectionTime", width: 165, showOverflowTooltip: true, align: "center" }, |
| | | { label: "实际巡检时间", prop: "actualInspectionTime", width: 165, showOverflowTooltip: true, align: "center", formatData: formatDateOnly }, |
| | | { label: "巡检人", prop: "inspectorName", minWidth: 105, dataType: "slot", slot: "inspectorName", align: "center" }, |
| | | { label: "状态", prop: "status", width: 90, dataType: "slot", slot: "status", align: "center" }, |
| | | { |
| | |
| | | <el-descriptions-item label="是否启用">{{ taskDetail.isEnabled === 1 ? '是' : '否' }}</el-descriptions-item> |
| | | <el-descriptions-item label="频次">{{ frequencyTypeMap[taskDetail.frequencyType] || taskDetail.frequencyType || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="执行时间">{{ formatFrequencyDetail(taskDetail.frequencyDetail) }}</el-descriptions-item> |
| | | <el-descriptions-item label="下次执行时间">{{ taskDetail.nextExecutionTime || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="下次执行时间">{{ formatDateOnly(taskDetail.nextExecutionTime) }}</el-descriptions-item> |
| | | <el-descriptions-item label="巡检项目" :span="2">{{ taskDetail.inspectionProject || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="备注" :span="2">{{ taskDetail.remark || '-' }}</el-descriptions-item> |
| | | </el-descriptions> |
| | |
| | | <el-descriptions-item label="巡检编号">{{ inspectionDetail.inspectionCode || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="设施名称">{{ inspectionDetail.facilityName || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="巡检人">{{ inspectionDetail.inspectorName || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="计划巡检时间">{{ inspectionDetail.planTime || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="实际巡检时间">{{ inspectionDetail.actualTime || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="计划巡检时间">{{ formatDateOnly(inspectionDetail.planTime) }}</el-descriptions-item> |
| | | <el-descriptions-item label="实际巡检时间">{{ formatDateOnly(inspectionDetail.actualTime) }}</el-descriptions-item> |
| | | <el-descriptions-item label="状态"> |
| | | <el-tag :type="inspectionStatusType(inspectionDetail.status)">{{ inspectionDetail.status || '-' }}</el-tag> |
| | | </el-descriptions-item> |
| | |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="整改责任人">{{ rectificationDetail.rectifyUserName || getUserName(rectificationDetail.rectifyUserId) || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="计划整改时间">{{ rectificationDetail.planTime || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="实际整改时间">{{ rectificationDetail.actualTime || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="实际整改时间">{{ formatDateOnly(rectificationDetail.actualTime) }}</el-descriptions-item> |
| | | <el-descriptions-item label="状态"> |
| | | <el-tag :type="rectificationStatusType(rectificationDetail.status)">{{ rectificationDetail.status || '-' }}</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="验收人">{{ rectificationDetail.verifyUserName || getUserName(rectificationDetail.verifyUserId) || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="验收时间">{{ rectificationDetail.verifyTime || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="验收时间">{{ formatDateOnly(rectificationDetail.verifyTime) }}</el-descriptions-item> |
| | | <el-descriptions-item label="问题描述" :span="3">{{ rectificationDetail.problemDesc || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="整改说明" :span="3">{{ rectificationDetail.rectifyDesc || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="验收说明" :span="3">{{ rectificationDetail.verifyDesc || '-' }}</el-descriptions-item> |
| | |
| | | import { Search } from "@element-plus/icons-vue"; |
| | | import { onMounted, ref, reactive, toRefs, computed, provide } from "vue"; |
| | | import { ElMessage, ElMessageBox } from "element-plus"; |
| | | import dayjs from "dayjs"; |
| | | import PIMTable from "@/components/PIMTable/PIMTable.vue"; |
| | | import ImageUpload from "@/components/AttachmentUpload/image/index.vue"; |
| | | import { userListNoPage } from "@/api/system/user.js"; |
| | |
| | | return map[value || "未填写"] || "info"; |
| | | }; |
| | | const inspectionStatusType = value => value === "待巡检" ? "info" : "success"; |
| | | const formatDateOnly = value => { |
| | | if (!value) return "-"; |
| | | const date = dayjs(value); |
| | | return date.isValid() ? date.format("YYYY-MM-DD") : "-"; |
| | | }; |
| | | const rectificationLevelType = value => value === "重大" ? "danger" : "warning"; |
| | | const rectificationStatusType = value => { |
| | | const map = { 待整改: "danger", 整改中: "warning", 已整改: "success", 已验收: "info" }; |
| | |
| | | align: "center", |
| | | formatData: value => formatFrequencyDetail(value) |
| | | }, |
| | | { label: "下次执行时间", prop: "nextExecutionTime", minWidth: 170, showOverflowTooltip: true, align: "center" }, |
| | | { label: "下次执行时间", prop: "nextExecutionTime", minWidth: 170, showOverflowTooltip: true, align: "center", formatData: formatDateOnly }, |
| | | { |
| | | dataType: "action", label: "操作", align: "center", fixed: "right", width: 220, |
| | | operation: [ |
| | |
| | | }, |
| | | { label: "设施名称", prop: "facilityName", showOverflowTooltip: true, minWidth: 150, align: "left" }, |
| | | { label: "巡检项目", prop: "inspectionProject", showOverflowTooltip: true, minWidth: 180, align: "left" }, |
| | | { label: "计划巡检时间", prop: "planTime", minWidth: 170, align: "center" }, |
| | | { label: "计划巡检时间", prop: "planTime", minWidth: 170, align: "center", formatData: formatDateOnly }, |
| | | { label: "巡检人", prop: "inspectorName", minWidth: 110, align: "center" }, |
| | | { label: "实际巡检时间", prop: "actualTime", minWidth: 170, align: "center" }, |
| | | { label: "实际巡检时间", prop: "actualTime", minWidth: 170, align: "center", formatData: formatDateOnly }, |
| | | { |
| | | label: "检查结果", prop: "checkResult", minWidth: 100, align: "center", dataType: "tag", |
| | | formatData: params => params || "未填写", |
| | |
| | | { |
| | | label: "计划巡检时间", |
| | | prop: "planTime", |
| | | minWidth: 180 |
| | | minWidth: 180, |
| | | formatData: formatDateOnly |
| | | }, |
| | | { |
| | | label: "巡检人", |
| | |
| | | { |
| | | label: "实际巡检时间", |
| | | prop: "actualTime", |
| | | minWidth: 180 |
| | | minWidth: 180, |
| | | formatData: formatDateOnly |
| | | }, |
| | | { |
| | | label: "检查结果", prop: "checkResult", minWidth: 100, dataType: "tag", |