From e95d613965b93c8bfd0f980f56d5924e1b014368 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Thu, 19 Feb 2026 16:39:43 +0800 Subject: [PATCH] =?UTF-8?q?feat(mes):=20=E6=96=B0=E5=A2=9E=E5=B7=A5?= =?UTF-8?q?=E8=89=BA=E8=B7=AF=E7=BA=BF=E6=A8=A1=E5=9D=97=EF=BC=8C=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=B7=AF=E7=BA=BF=E3=80=81=E5=B7=A5=E5=BA=8F=E9=93=BE?= =?UTF-8?q?=E3=80=81=E4=BA=A7=E5=93=81=E5=8F=8A=20BOM=20=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 从 ktg-mes 迁移工艺路线(pro-route)模块,包含: - 4 个 DO:MesProRoute / RouteProcess / RouteProduct / RouteProductBom - 4 个 Mapper 及 9 个 VO(含工序链 findPre/findNext 查询) - 4 对 Service 接口+实现(链表重建、启用校验、级联删除) - 4 个 Controller(路线 CRUD+导出,子资源复用父权限) --- src/api/mes/pro/route/index.ts | 36 +++ src/api/mes/pro/route/process/index.ts | 39 +++ src/api/mes/pro/route/product/index.ts | 35 +++ src/api/mes/pro/route/productbom/index.ts | 35 +++ src/views/mes/cal/plan/CalPlanTeamPanel.vue | 14 +- src/views/mes/pro/route/RouteForm.vue | 164 +++++++++++ src/views/mes/pro/route/RouteProcessList.vue | 262 ++++++++++++++++++ .../mes/pro/route/RouteProductBomList.vue | 191 +++++++++++++ src/views/mes/pro/route/RouteProductList.vue | 217 +++++++++++++++ src/views/mes/pro/route/index.vue | 201 ++++++++++++++ src/views/mes/qc/template/TemplateForm.vue | 2 + src/views/mes/qc/template/index.vue | 7 +- 12 files changed, 1191 insertions(+), 12 deletions(-) create mode 100644 src/api/mes/pro/route/index.ts create mode 100644 src/api/mes/pro/route/process/index.ts create mode 100644 src/api/mes/pro/route/product/index.ts create mode 100644 src/api/mes/pro/route/productbom/index.ts create mode 100644 src/views/mes/pro/route/RouteForm.vue create mode 100644 src/views/mes/pro/route/RouteProcessList.vue create mode 100644 src/views/mes/pro/route/RouteProductBomList.vue create mode 100644 src/views/mes/pro/route/RouteProductList.vue create mode 100644 src/views/mes/pro/route/index.vue diff --git a/src/api/mes/pro/route/index.ts b/src/api/mes/pro/route/index.ts new file mode 100644 index 000000000..324b67550 --- /dev/null +++ b/src/api/mes/pro/route/index.ts @@ -0,0 +1,36 @@ +import request from '@/config/axios' + +// TODO @AI:参考别的 api 文件,需要有一些注释 +export interface ProRouteVO { + id?: number + code: string + name: string + description?: string + status: number + remark?: string + createTime?: Date +} + +export const ProRouteApi = { + getRoutePage: async (params: any) => { + return await request.get({ url: `/mes/pro/route/page`, params }) + }, + getRouteSimpleList: async () => { + return await request.get({ url: `/mes/pro/route/simple-list` }) + }, + getRoute: async (id: number) => { + return await request.get({ url: `/mes/pro/route/get?id=` + id }) + }, + createRoute: async (data: ProRouteVO) => { + return await request.post({ url: `/mes/pro/route/create`, data }) + }, + updateRoute: async (data: ProRouteVO) => { + return await request.put({ url: `/mes/pro/route/update`, data }) + }, + deleteRoute: async (id: number) => { + return await request.delete({ url: `/mes/pro/route/delete?id=` + id }) + }, + exportRoute: async (params: any) => { + return await request.download({ url: `/mes/pro/route/export-excel`, params }) + } +} diff --git a/src/api/mes/pro/route/process/index.ts b/src/api/mes/pro/route/process/index.ts new file mode 100644 index 000000000..f4a31e5c7 --- /dev/null +++ b/src/api/mes/pro/route/process/index.ts @@ -0,0 +1,39 @@ +import request from '@/config/axios' + +// TODO @AI:参考别的 api 文件,需要有一些注释 +export interface ProRouteProcessVO { + id?: number + routeId: number + processId: number + processCode?: string + processName?: string + sort: number + nextProcessId?: number + nextProcessName?: string + linkType: number + prepareTime?: number + waitTime?: number + colorCode?: string + keyFlag?: number + checkFlag?: number + remark?: string + createTime?: Date +} + +export const ProRouteProcessApi = { + getRouteProcessListByRoute: async (routeId: number) => { + return await request.get({ url: `/mes/pro/route-process/list-by-route?routeId=` + routeId }) + }, + getRouteProcess: async (id: number) => { + return await request.get({ url: `/mes/pro/route-process/get?id=` + id }) + }, + createRouteProcess: async (data: ProRouteProcessVO) => { + return await request.post({ url: `/mes/pro/route-process/create`, data }) + }, + updateRouteProcess: async (data: ProRouteProcessVO) => { + return await request.put({ url: `/mes/pro/route-process/update`, data }) + }, + deleteRouteProcess: async (id: number) => { + return await request.delete({ url: `/mes/pro/route-process/delete?id=` + id }) + } +} diff --git a/src/api/mes/pro/route/product/index.ts b/src/api/mes/pro/route/product/index.ts new file mode 100644 index 000000000..4a0dde88a --- /dev/null +++ b/src/api/mes/pro/route/product/index.ts @@ -0,0 +1,35 @@ +import request from '@/config/axios' + +// TODO @AI:参考别的 api 文件,需要有一些注释 +export interface ProRouteProductVO { + id?: number + routeId: number + itemId: number + itemCode?: string + itemName?: string + specification?: string + unitName?: string + quantity?: number + productionTime?: number + timeUnitType?: number + remark?: string + createTime?: Date +} + +export const ProRouteProductApi = { + getRouteProductListByRoute: async (routeId: number) => { + return await request.get({ url: `/mes/pro/route-product/list-by-route?routeId=` + routeId }) + }, + getRouteProduct: async (id: number) => { + return await request.get({ url: `/mes/pro/route-product/get?id=` + id }) + }, + createRouteProduct: async (data: ProRouteProductVO) => { + return await request.post({ url: `/mes/pro/route-product/create`, data }) + }, + updateRouteProduct: async (data: ProRouteProductVO) => { + return await request.put({ url: `/mes/pro/route-product/update`, data }) + }, + deleteRouteProduct: async (id: number) => { + return await request.delete({ url: `/mes/pro/route-product/delete?id=` + id }) + } +} diff --git a/src/api/mes/pro/route/productbom/index.ts b/src/api/mes/pro/route/productbom/index.ts new file mode 100644 index 000000000..2c4d913e2 --- /dev/null +++ b/src/api/mes/pro/route/productbom/index.ts @@ -0,0 +1,35 @@ +import request from '@/config/axios' + +// TODO @AI:参考别的 api 文件,需要有一些注释 +export interface ProRouteProductBomVO { + id?: number + routeId: number + processId: number + productId: number + itemId: number + itemCode?: string + itemName?: string + specification?: string + unitName?: string + quantity?: number + remark?: string + createTime?: Date +} + +export const ProRouteProductBomApi = { + getRouteProductBomList: async (params: { routeId: number; processId?: number; productId?: number }) => { + return await request.get({ url: `/mes/pro/route-product-bom/list`, params }) + }, + getRouteProductBom: async (id: number) => { + return await request.get({ url: `/mes/pro/route-product-bom/get?id=` + id }) + }, + createRouteProductBom: async (data: ProRouteProductBomVO) => { + return await request.post({ url: `/mes/pro/route-product-bom/create`, data }) + }, + updateRouteProductBom: async (data: ProRouteProductBomVO) => { + return await request.put({ url: `/mes/pro/route-product-bom/update`, data }) + }, + deleteRouteProductBom: async (id: number) => { + return await request.delete({ url: `/mes/pro/route-product-bom/delete?id=` + id }) + } +} diff --git a/src/views/mes/cal/plan/CalPlanTeamPanel.vue b/src/views/mes/cal/plan/CalPlanTeamPanel.vue index 16857db1f..7a3cb3895 100644 --- a/src/views/mes/cal/plan/CalPlanTeamPanel.vue +++ b/src/views/mes/cal/plan/CalPlanTeamPanel.vue @@ -19,12 +19,14 @@ - - + + + diff --git a/src/views/mes/pro/route/RouteForm.vue b/src/views/mes/pro/route/RouteForm.vue new file mode 100644 index 000000000..fc1796e63 --- /dev/null +++ b/src/views/mes/pro/route/RouteForm.vue @@ -0,0 +1,164 @@ + + + + diff --git a/src/views/mes/pro/route/RouteProcessList.vue b/src/views/mes/pro/route/RouteProcessList.vue new file mode 100644 index 000000000..9e151063b --- /dev/null +++ b/src/views/mes/pro/route/RouteProcessList.vue @@ -0,0 +1,262 @@ + + + + diff --git a/src/views/mes/pro/route/RouteProductBomList.vue b/src/views/mes/pro/route/RouteProductBomList.vue new file mode 100644 index 000000000..cb0091bd9 --- /dev/null +++ b/src/views/mes/pro/route/RouteProductBomList.vue @@ -0,0 +1,191 @@ + + + + diff --git a/src/views/mes/pro/route/RouteProductList.vue b/src/views/mes/pro/route/RouteProductList.vue new file mode 100644 index 000000000..09d192153 --- /dev/null +++ b/src/views/mes/pro/route/RouteProductList.vue @@ -0,0 +1,217 @@ + + + + diff --git a/src/views/mes/pro/route/index.vue b/src/views/mes/pro/route/index.vue new file mode 100644 index 000000000..7bf39ed4b --- /dev/null +++ b/src/views/mes/pro/route/index.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/src/views/mes/qc/template/TemplateForm.vue b/src/views/mes/qc/template/TemplateForm.vue index 132606f14..181783391 100644 --- a/src/views/mes/qc/template/TemplateForm.vue +++ b/src/views/mes/qc/template/TemplateForm.vue @@ -2,6 +2,7 @@