From d1e6d4109f532ec657bf9c1282dd93d34576e81f Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 20 Feb 2026 08:24:58 +0800 Subject: [PATCH] =?UTF-8?q?fix(mes):=20=E5=AE=8C=E5=96=84=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E5=B7=A5=E5=8D=95=E5=89=8D=E7=AB=AF=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=A0=91=E5=BD=A2=E5=B1=95=E7=A4=BA=E3=80=81=E5=AD=90?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E7=94=9F=E6=88=90=E5=8F=8A=20BOM=20=E5=86=85?= =?UTF-8?q?=E8=81=94=E7=BC=96=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. index.vue:工单列表改为 handleTree 树形展示(row-key + tree-props), 新增「确认」「新增子工单」操作按钮,移除父工单列,搜索条件对齐 2. WorkOrderForm:移除 batchCode 字段,需求日期改为 date 类型, 新增 parentId 及子工单预填逻辑,新增 WorkOrderItemList 物料需求 Tab 3. WorkOrderBomList:合并 WorkOrderBomForm 弹窗为内联编辑(仅编辑数量/备注), 草稿状态显示编辑按钮,已确认+自行生产+产品类型显示「生成工单」按钮 4. WorkOrderItemList:API 调用迁移到 ProWorkOrderBomApi 5. API 层:workorder/index.ts 新增 confirmWorkOrder、移除 batchCode; bom/index.ts 新增 getWorkOrderBomItemListByWorkOrderId、itemOrProduct 字段 6. 删除独立的 WorkOrderBomForm.vue 组件 7. constants.ts 新增 MesProTaskStatusEnum,dict.ts 新增对应字典类型 --- src/api/mes/pro/workorder/bom/index.ts | 6 + src/api/mes/pro/workorder/index.ts | 6 +- .../mes/pro/workorder/WorkOrderBomForm.vue | 119 --------------- .../mes/pro/workorder/WorkOrderBomList.vue | 141 ++++++++++++++---- src/views/mes/pro/workorder/WorkorderForm.vue | 82 ++++++---- src/views/mes/pro/workorder/index.vue | 72 ++++++--- 6 files changed, 232 insertions(+), 194 deletions(-) delete mode 100644 src/views/mes/pro/workorder/WorkOrderBomForm.vue diff --git a/src/api/mes/pro/workorder/bom/index.ts b/src/api/mes/pro/workorder/bom/index.ts index 6d5059ca1..e41b8e798 100644 --- a/src/api/mes/pro/workorder/bom/index.ts +++ b/src/api/mes/pro/workorder/bom/index.ts @@ -12,6 +12,7 @@ export interface ProWorkOrderBomVO { unitMeasureName: string // 单位名称 quantity: number // 预计使用量 remark: string // 备注 + itemOrProduct: string // 物料产品标识 } // MES 生产工单 BOM API @@ -39,5 +40,10 @@ export const ProWorkOrderBomApi = { // 删除工单 BOM deleteWorkOrderBom: async (id: number) => { return await request.delete({ url: `/mes/pro/work-order-bom/delete?id=` + id }) + }, + + // 获取工单物料需求列表 + getWorkOrderBomItemListByWorkOrderId: async (workOrderId: number) => { + return await request.get({ url: `/mes/pro/work-order-bom/item-list-by-work-order-id?workOrderId=` + workOrderId }) } } diff --git a/src/api/mes/pro/workorder/index.ts b/src/api/mes/pro/workorder/index.ts index 7d3242202..258e2611d 100644 --- a/src/api/mes/pro/workorder/index.ts +++ b/src/api/mes/pro/workorder/index.ts @@ -23,7 +23,6 @@ export interface ProWorkOrderVO { clientName: string // 客户名称 vendorId: number // 供应商编号 vendorName: string // 供应商名称 - batchCode: string // 批次号 requestDate: Date // 需求日期 parentId: number // 父工单编号 parentCode: string // 父工单编码 @@ -73,5 +72,10 @@ export const ProWorkOrderApi = { // 取消工单 cancelWorkOrder: async (id: number) => { return await request.put({ url: `/mes/pro/work-order/cancel?id=` + id }) + }, + + // 确认工单 + confirmWorkOrder: async (id: number) => { + return await request.put({ url: `/mes/pro/work-order/confirm?id=` + id }) } } diff --git a/src/views/mes/pro/workorder/WorkOrderBomForm.vue b/src/views/mes/pro/workorder/WorkOrderBomForm.vue deleted file mode 100644 index 348c78842..000000000 --- a/src/views/mes/pro/workorder/WorkOrderBomForm.vue +++ /dev/null @@ -1,119 +0,0 @@ - - - - - diff --git a/src/views/mes/pro/workorder/WorkOrderBomList.vue b/src/views/mes/pro/workorder/WorkOrderBomList.vue index 731e3af03..e8477c8ad 100644 --- a/src/views/mes/pro/workorder/WorkOrderBomList.vue +++ b/src/views/mes/pro/workorder/WorkOrderBomList.vue @@ -1,14 +1,6 @@ -