From 721449d834121065761d5bb5338021c282c10089 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Tue, 17 Feb 2026 18:57:14 +0800 Subject: [PATCH] =?UTF-8?q?feat=EF=BC=88mes=EF=BC=89=EF=BC=9Aqc-template?= =?UTF-8?q?=20=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/mes/qc/template/index.ts | 133 +++++++++ src/views/mes/qc/template/TemplateForm.vue | 137 +++++++++ .../mes/qc/template/TemplateIndicatorForm.vue | 154 ++++++++++ .../mes/qc/template/TemplateIndicatorList.vue | 121 ++++++++ .../mes/qc/template/TemplateItemForm.vue | 159 +++++++++++ .../mes/qc/template/TemplateItemList.vue | 112 ++++++++ src/views/mes/qc/template/index.vue | 268 ++++++++++++++++++ 7 files changed, 1084 insertions(+) create mode 100644 src/api/mes/qc/template/index.ts create mode 100644 src/views/mes/qc/template/TemplateForm.vue create mode 100644 src/views/mes/qc/template/TemplateIndicatorForm.vue create mode 100644 src/views/mes/qc/template/TemplateIndicatorList.vue create mode 100644 src/views/mes/qc/template/TemplateItemForm.vue create mode 100644 src/views/mes/qc/template/TemplateItemList.vue create mode 100644 src/views/mes/qc/template/index.vue diff --git a/src/api/mes/qc/template/index.ts b/src/api/mes/qc/template/index.ts new file mode 100644 index 000000000..099842d97 --- /dev/null +++ b/src/api/mes/qc/template/index.ts @@ -0,0 +1,133 @@ +import request from '@/config/axios' + +// TODO @AI:拆成多个,参考别的 api ts; +// MES 质检方案 VO +export interface QcTemplateVO { + id: number // 编号 + code: string // 方案编号 + name: string // 方案名称 + types: string // 检测种类(逗号分隔:IQC,IPQC,OQC,RQC) + enableFlag: string // 是否启用(Y/N) + remark: string // 备注 +} + +// MES 质检方案-检测指标项 VO +export interface QcTemplateIndicatorVO { + id: number // 编号 + templateId: number // 质检方案ID + indicatorId: number // 质检指标ID + checkMethod: string // 检测方法/检测要求 + standardValue: number // 标准值 + unit: string // 单位 + thresholdMax: number // 误差上限 + thresholdMin: number // 误差下限 + docUrl: string // 说明图URL + remark: string // 备注 +} + +// MES 质检方案-产品关联 VO +export interface QcTemplateItemVO { + id: number // 编号 + templateId: number // 质检方案ID + itemId: number // 产品物料ID + quantityCheck: number // 最低检测数 + quantityUnqualified: number // 最大不合格数(0=不启用) + criticalRate: number // 最大致命缺陷率(%) + majorRate: number // 最大严重缺陷率(%) + minorRate: number // 最大轻微缺陷率(%) + remark: string // 备注 +} + +// MES 质检方案 API +export const QcTemplateApi = { + // ========== 质检方案主表 ========== + + // 查询质检方案分页 + getTemplatePage: async (params: any) => { + return await request.get({ url: `/mes/qc/template/page`, params }) + }, + + // 查询质检方案精简列表 + getTemplateSimpleList: async () => { + return await request.get({ url: `/mes/qc/template/simple-list` }) + }, + + // 查询质检方案详情 + getTemplate: async (id: number) => { + return await request.get({ url: `/mes/qc/template/get?id=` + id }) + }, + + // 新增质检方案 + createTemplate: async (data: QcTemplateVO) => { + return await request.post({ url: `/mes/qc/template/create`, data }) + }, + + // 修改质检方案 + updateTemplate: async (data: QcTemplateVO) => { + return await request.put({ url: `/mes/qc/template/update`, data }) + }, + + // 删除质检方案 + deleteTemplate: async (id: number) => { + return await request.delete({ url: `/mes/qc/template/delete?id=` + id }) + }, + + // 导出质检方案 Excel + exportTemplate: async (params: any) => { + return await request.download({ url: `/mes/qc/template/export-excel`, params }) + }, + + // ========== 质检方案-检测指标项 ========== + + // 查询检测指标项分页 + getTemplateIndicatorPage: async (params: any) => { + return await request.get({ url: `/mes/qc/template/indicator/page`, params }) + }, + + // 查询检测指标项详情 + getTemplateIndicator: async (id: number) => { + return await request.get({ url: `/mes/qc/template/indicator/get?id=` + id }) + }, + + // 新增检测指标项 + createTemplateIndicator: async (data: QcTemplateIndicatorVO) => { + return await request.post({ url: `/mes/qc/template/indicator/create`, data }) + }, + + // 修改检测指标项 + updateTemplateIndicator: async (data: QcTemplateIndicatorVO) => { + return await request.put({ url: `/mes/qc/template/indicator/update`, data }) + }, + + // 删除检测指标项 + deleteTemplateIndicator: async (id: number) => { + return await request.delete({ url: `/mes/qc/template/indicator/delete?id=` + id }) + }, + + // ========== 质检方案-产品关联 ========== + + // 查询产品关联分页 + getTemplateItemPage: async (params: any) => { + return await request.get({ url: `/mes/qc/template/item/page`, params }) + }, + + // 查询产品关联详情 + getTemplateItem: async (id: number) => { + return await request.get({ url: `/mes/qc/template/item/get?id=` + id }) + }, + + // 新增产品关联 + createTemplateItem: async (data: QcTemplateItemVO) => { + return await request.post({ url: `/mes/qc/template/item/create`, data }) + }, + + // 修改产品关联 + updateTemplateItem: async (data: QcTemplateItemVO) => { + return await request.put({ url: `/mes/qc/template/item/update`, data }) + }, + + // 删除产品关联 + deleteTemplateItem: async (id: number) => { + return await request.delete({ url: `/mes/qc/template/item/delete?id=` + id }) + } +} diff --git a/src/views/mes/qc/template/TemplateForm.vue b/src/views/mes/qc/template/TemplateForm.vue new file mode 100644 index 000000000..2949dac41 --- /dev/null +++ b/src/views/mes/qc/template/TemplateForm.vue @@ -0,0 +1,137 @@ + + + + diff --git a/src/views/mes/qc/template/TemplateIndicatorForm.vue b/src/views/mes/qc/template/TemplateIndicatorForm.vue new file mode 100644 index 000000000..b7b47ccbf --- /dev/null +++ b/src/views/mes/qc/template/TemplateIndicatorForm.vue @@ -0,0 +1,154 @@ + + + + diff --git a/src/views/mes/qc/template/TemplateIndicatorList.vue b/src/views/mes/qc/template/TemplateIndicatorList.vue new file mode 100644 index 000000000..21a8a55e0 --- /dev/null +++ b/src/views/mes/qc/template/TemplateIndicatorList.vue @@ -0,0 +1,121 @@ + + + + diff --git a/src/views/mes/qc/template/TemplateItemForm.vue b/src/views/mes/qc/template/TemplateItemForm.vue new file mode 100644 index 000000000..9259649dc --- /dev/null +++ b/src/views/mes/qc/template/TemplateItemForm.vue @@ -0,0 +1,159 @@ + + + + diff --git a/src/views/mes/qc/template/TemplateItemList.vue b/src/views/mes/qc/template/TemplateItemList.vue new file mode 100644 index 000000000..219b689d4 --- /dev/null +++ b/src/views/mes/qc/template/TemplateItemList.vue @@ -0,0 +1,112 @@ + + + + diff --git a/src/views/mes/qc/template/index.vue b/src/views/mes/qc/template/index.vue new file mode 100644 index 000000000..8f575e6f1 --- /dev/null +++ b/src/views/mes/qc/template/index.vue @@ -0,0 +1,268 @@ + + + +