From 13e0222d0c9ad4e16dcaaf5456cc1606bc7294a9 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 20 Feb 2026 19:16:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(mes):=20=E6=B7=BB=E5=8A=A0=E7=BB=B4?= =?UTF-8?q?=E4=BF=AE=E5=B7=A5=E5=8D=95=E5=92=8C=E7=BB=B4=E4=BF=AE=E5=B7=A5?= =?UTF-8?q?=E5=8D=95=E8=A1=8C=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E5=8C=85=E6=8B=AC=E8=AF=B7=E6=B1=82=E5=92=8C=E5=93=8D=E5=BA=94?= =?UTF-8?q?=20VO=20=E5=8F=8A=E6=8E=A7=E5=88=B6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mes/dv/repair/index.ts | 59 +++++ src/api/mes/dv/repair/line/index.ts | 43 ++++ .../dv/maintenrecord/MaintenRecordForm.vue | 6 - src/views/mes/dv/repair/RepairForm.vue | 205 +++++++++++++++++ src/views/mes/dv/repair/RepairLineList.vue | 194 ++++++++++++++++ src/views/mes/dv/repair/index.vue | 211 ++++++++++++++++++ 6 files changed, 712 insertions(+), 6 deletions(-) create mode 100644 src/api/mes/dv/repair/index.ts create mode 100644 src/api/mes/dv/repair/line/index.ts create mode 100644 src/views/mes/dv/repair/RepairForm.vue create mode 100644 src/views/mes/dv/repair/RepairLineList.vue create mode 100644 src/views/mes/dv/repair/index.vue diff --git a/src/api/mes/dv/repair/index.ts b/src/api/mes/dv/repair/index.ts new file mode 100644 index 000000000..aa87c7400 --- /dev/null +++ b/src/api/mes/dv/repair/index.ts @@ -0,0 +1,59 @@ +import request from '@/config/axios' + +// MES 维修工单 VO +export interface DvRepairVO { + id: number // 编号 + code: string // 维修工单编码 + name: string // 维修工单名称 + machineryId: number // 设备编号 + machineryCode?: string // 设备编码 + machineryName?: string // 设备名称 + machineryBrand?: string // 品牌 + machinerySpec?: string // 规格型号 + requireDate: Date // 报修日期 + finishDate: Date // 维修完成日期 + confirmDate: Date // 验收日期 + result: number // 维修结果 + acceptedUserId: number // 维修人用户编号 + acceptedUserNickname?: string // 维修人名称 + confirmUserId: number // 验收人用户编号 + confirmUserNickname?: string // 验收人名称 + sourceDocType: number // 来源单据类型 + sourceDocId: number // 来源单据编号 + sourceDocCode: string // 来源单据编码 + status: number // 状态 + remark: string // 备注 +} + +// MES 维修工单 API +export const DvRepairApi = { + // 查询维修工单分页 + getRepairPage: async (params: any) => { + return await request.get({ url: `/mes/dv/repair/page`, params }) + }, + + // 查询维修工单详情 + getRepair: async (id: number) => { + return await request.get({ url: `/mes/dv/repair/get?id=` + id }) + }, + + // 新增维修工单 + createRepair: async (data: DvRepairVO) => { + return await request.post({ url: `/mes/dv/repair/create`, data }) + }, + + // 修改维修工单 + updateRepair: async (data: DvRepairVO) => { + return await request.put({ url: `/mes/dv/repair/update`, data }) + }, + + // 删除维修工单 + deleteRepair: async (id: number) => { + return await request.delete({ url: `/mes/dv/repair/delete?id=` + id }) + }, + + // 导出维修工单 Excel + exportRepair: async (params: any) => { + return await request.download({ url: `/mes/dv/repair/export-excel`, params }) + } +} diff --git a/src/api/mes/dv/repair/line/index.ts b/src/api/mes/dv/repair/line/index.ts new file mode 100644 index 000000000..9c73822b4 --- /dev/null +++ b/src/api/mes/dv/repair/line/index.ts @@ -0,0 +1,43 @@ +import request from '@/config/axios' + +// MES 维修工单行 VO +export interface DvRepairLineVO { + id: number // 编号 + repairId: number // 维修工单编号 + subjectId: number // 项目编号 + subjectName?: string // 项目名称 + subjectContent?: string // 项目内容 + subjectStandard?: string // 项目标准 + malfunction: string // 故障描述 + malfunctionUrl: string // 故障图片 URL + description: string // 维修描述 + remark: string // 备注 +} + +// MES 维修工单行 API +export const DvRepairLineApi = { + // 查询维修工单行分页 + getRepairLinePage: async (params: any) => { + return await request.get({ url: `/mes/dv/repair-line/page`, params }) + }, + + // 查询维修工单行详情 + getRepairLine: async (id: number) => { + return await request.get({ url: `/mes/dv/repair-line/get?id=` + id }) + }, + + // 新增维修工单行 + createRepairLine: async (data: DvRepairLineVO) => { + return await request.post({ url: `/mes/dv/repair-line/create`, data }) + }, + + // 修改维修工单行 + updateRepairLine: async (data: DvRepairLineVO) => { + return await request.put({ url: `/mes/dv/repair-line/update`, data }) + }, + + // 删除维修工单行 + deleteRepairLine: async (id: number) => { + return await request.delete({ url: `/mes/dv/repair-line/delete?id=` + id }) + } +} diff --git a/src/views/mes/dv/maintenrecord/MaintenRecordForm.vue b/src/views/mes/dv/maintenrecord/MaintenRecordForm.vue index 4278fb37c..006147593 100644 --- a/src/views/mes/dv/maintenrecord/MaintenRecordForm.vue +++ b/src/views/mes/dv/maintenrecord/MaintenRecordForm.vue @@ -9,19 +9,16 @@ > - - - @@ -64,7 +61,6 @@ import DvMachinerySelect from '@/views/mes/dv/machinery/components/DvMachinerySe import DvCheckPlanSelect from '@/views/mes/dv/checkplan/components/DvCheckPlanSelect.vue' import UserSelect from '@/views/system/user/components/UserSelect.vue' import MaintenRecordLineList from './MaintenRecordLineList.vue' -import { MesDvMaintenRecordStatusEnum } from '@/views/mes/utils/constants' defineOptions({ name: 'MaintenRecordForm' }) @@ -81,7 +77,6 @@ const formData = ref({ machineryId: undefined, maintenTime: undefined, userId: undefined, - status: MesDvMaintenRecordStatusEnum.PREPARE, remark: '' }) const formRules = reactive({ @@ -142,7 +137,6 @@ const resetForm = () => { machineryId: undefined, maintenTime: undefined, userId: undefined, - status: MesDvMaintenRecordStatusEnum.PREPARE, remark: '' } formRef.value?.resetFields() diff --git a/src/views/mes/dv/repair/RepairForm.vue b/src/views/mes/dv/repair/RepairForm.vue new file mode 100644 index 000000000..3677fafb3 --- /dev/null +++ b/src/views/mes/dv/repair/RepairForm.vue @@ -0,0 +1,205 @@ + + + diff --git a/src/views/mes/dv/repair/RepairLineList.vue b/src/views/mes/dv/repair/RepairLineList.vue new file mode 100644 index 000000000..fed776fc1 --- /dev/null +++ b/src/views/mes/dv/repair/RepairLineList.vue @@ -0,0 +1,194 @@ + + + + diff --git a/src/views/mes/dv/repair/index.vue b/src/views/mes/dv/repair/index.vue new file mode 100644 index 000000000..f1848adee --- /dev/null +++ b/src/views/mes/dv/repair/index.vue @@ -0,0 +1,211 @@ + + +