From 76260e67f30f94a733ae575b8c7dcdef78dde56d Mon Sep 17 00:00:00 2001 From: YunaiV Date: Fri, 29 May 2026 19:01:15 +0800 Subject: [PATCH] =?UTF-8?q?feat(mes):=20=E8=BF=81=E7=A7=BB=E4=B8=80?= =?UTF-8?q?=E9=83=A8=E5=88=86=20api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-antd/src/api/mes/qc/ipqc/index.ts | 87 +++++++++++++++++++ .../src/api/mes/qc/ipqc/line/index.ts | 42 +++++++++ apps/web-antd/src/api/mes/qc/oqc/index.ts | 81 +++++++++++++++++ .../web-antd/src/api/mes/qc/oqc/line/index.ts | 41 +++++++++ apps/web-antd/src/api/mes/qc/rqc/index.ts | 77 ++++++++++++++++ .../web-antd/src/api/mes/qc/rqc/line/index.ts | 41 +++++++++ .../components/qc-indicator-result-form.vue | 7 +- .../web-antd/src/views/mes/utils/constants.ts | 3 + apps/web-ele/src/api/mes/qc/ipqc/index.ts | 87 +++++++++++++++++++ .../web-ele/src/api/mes/qc/ipqc/line/index.ts | 42 +++++++++ apps/web-ele/src/api/mes/qc/oqc/index.ts | 81 +++++++++++++++++ apps/web-ele/src/api/mes/qc/oqc/line/index.ts | 41 +++++++++ apps/web-ele/src/api/mes/qc/rqc/index.ts | 77 ++++++++++++++++ apps/web-ele/src/api/mes/qc/rqc/line/index.ts | 41 +++++++++ .../components/qc-indicator-result-form.vue | 7 +- apps/web-ele/src/views/mes/utils/constants.ts | 3 + packages/constants/src/dict-enum.ts | 2 + 17 files changed, 758 insertions(+), 2 deletions(-) create mode 100644 apps/web-antd/src/api/mes/qc/ipqc/index.ts create mode 100644 apps/web-antd/src/api/mes/qc/ipqc/line/index.ts create mode 100644 apps/web-antd/src/api/mes/qc/oqc/index.ts create mode 100644 apps/web-antd/src/api/mes/qc/oqc/line/index.ts create mode 100644 apps/web-antd/src/api/mes/qc/rqc/index.ts create mode 100644 apps/web-antd/src/api/mes/qc/rqc/line/index.ts create mode 100644 apps/web-ele/src/api/mes/qc/ipqc/index.ts create mode 100644 apps/web-ele/src/api/mes/qc/ipqc/line/index.ts create mode 100644 apps/web-ele/src/api/mes/qc/oqc/index.ts create mode 100644 apps/web-ele/src/api/mes/qc/oqc/line/index.ts create mode 100644 apps/web-ele/src/api/mes/qc/rqc/index.ts create mode 100644 apps/web-ele/src/api/mes/qc/rqc/line/index.ts diff --git a/apps/web-antd/src/api/mes/qc/ipqc/index.ts b/apps/web-antd/src/api/mes/qc/ipqc/index.ts new file mode 100644 index 000000000..9c885bedb --- /dev/null +++ b/apps/web-antd/src/api/mes/qc/ipqc/index.ts @@ -0,0 +1,87 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesQcIpqcApi { + /** MES 过程检验单 */ + export interface Ipqc { + id?: number; // 编号 + code?: string; // 检验单编号 + name?: string; // 检验单名称 + type?: number; // IPQC 检验类型 + templateId?: number; // 检验模板 ID + sourceDocType?: number; // 来源单据类型 + sourceDocId?: number; // 来源单据 ID + sourceLineId?: number; // 来源单据行 ID + sourceDocCode?: string; // 来源单据编号(关联查询) + workOrderId?: number; // 生产工单 ID + workOrderCode?: string; // 工单编号(关联查询) + workOrderName?: string; // 工单名称(关联查询) + taskId?: number; // 生产任务 ID + workstationId?: number; // 工位 ID + workstationName?: string; // 工位名称(关联查询) + processId?: number; // 工序 ID + processName?: string; // 工序名称(关联查询) + itemId?: number; // 产品物料 ID + itemCode?: string; // 产品物料编码(关联查询) + itemName?: string; // 产品物料名称(关联查询) + itemSpecification?: string; // 规格型号(关联查询) + unitName?: string; // 单位名称(关联查询) + checkQuantity?: number; // 检测数量 + qualifiedQuantity?: number; // 合格品数量 + unqualifiedQuantity?: number; // 不合格品数量 + laborScrapQuantity?: number; // 工废数量 + materialScrapQuantity?: number; // 料废数量 + otherScrapQuantity?: number; // 其他废品数量 + criticalRate?: number; // 致命缺陷率(%) + majorRate?: number; // 严重缺陷率(%) + minorRate?: number; // 轻微缺陷率(%) + criticalQuantity?: number; // 致命缺陷数量 + majorQuantity?: number; // 严重缺陷数量 + minorQuantity?: number; // 轻微缺陷数量 + checkResult?: number; // 检测结果 + inspectDate?: number; // 检测日期 + inspectorUserId?: number; // 检测人员用户 ID + inspectorNickname?: string; // 检测人员昵称(关联查询) + status?: number; // 状态 + remark?: string; // 备注 + } +} + +/** 查询过程检验单分页 */ +export function getIpqcPage(params: PageParam) { + return requestClient.get>( + '/mes/qc/ipqc/page', + { params }, + ); +} + +/** 查询过程检验单详情 */ +export function getIpqc(id: number) { + return requestClient.get(`/mes/qc/ipqc/get?id=${id}`); +} + +/** 新增过程检验单 */ +export function createIpqc(data: MesQcIpqcApi.Ipqc) { + return requestClient.post('/mes/qc/ipqc/create', data); +} + +/** 修改过程检验单 */ +export function updateIpqc(data: MesQcIpqcApi.Ipqc) { + return requestClient.put('/mes/qc/ipqc/update', data); +} + +/** 完成过程检验单 */ +export function finishIpqc(id: number) { + return requestClient.put(`/mes/qc/ipqc/finish?id=${id}`); +} + +/** 删除过程检验单 */ +export function deleteIpqc(id: number) { + return requestClient.delete(`/mes/qc/ipqc/delete?id=${id}`); +} + +/** 导出过程检验单 */ +export function exportIpqc(params: any) { + return requestClient.download('/mes/qc/ipqc/export-excel', { params }); +} diff --git a/apps/web-antd/src/api/mes/qc/ipqc/line/index.ts b/apps/web-antd/src/api/mes/qc/ipqc/line/index.ts new file mode 100644 index 000000000..4f114c845 --- /dev/null +++ b/apps/web-antd/src/api/mes/qc/ipqc/line/index.ts @@ -0,0 +1,42 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesQcIpqcLineApi { + /** MES 过程检验单行 */ + export interface IpqcLine { + id?: number; // 编号 + ipqcId?: number; // 过程检验单 ID + indicatorId?: number; // 检测指标 ID + indicatorCode?: string; // 检测指标编码(关联查询) + indicatorName?: string; // 检测指标名称(关联查询) + indicatorType?: number; // 检测指标类型(关联查询) + toolId?: number; // 检测工具 ID + toolName?: string; // 检测工具名称(关联查询) + checkMethod?: string; // 检测方法 + standardValue?: number; // 标准值 + unitMeasureId?: number; // 计量单位 ID + unitMeasureName?: string; // 计量单位名称(关联查询) + maxThreshold?: number; // 误差上限 + minThreshold?: number; // 误差下限 + criticalQuantity?: number; // 致命缺陷数量 + majorQuantity?: number; // 严重缺陷数量 + minorQuantity?: number; // 轻微缺陷数量 + remark?: string; // 备注 + } +} + +/** 查询过程检验单行分页 */ +export function getIpqcLinePage(params: PageParam & { ipqcId?: number }) { + return requestClient.get>( + '/mes/qc/ipqc/line/page', + { params }, + ); +} + +/** 查询过程检验单行详情 */ +export function getIpqcLine(id: number) { + return requestClient.get( + `/mes/qc/ipqc/line/get?id=${id}`, + ); +} diff --git a/apps/web-antd/src/api/mes/qc/oqc/index.ts b/apps/web-antd/src/api/mes/qc/oqc/index.ts new file mode 100644 index 000000000..793f6db43 --- /dev/null +++ b/apps/web-antd/src/api/mes/qc/oqc/index.ts @@ -0,0 +1,81 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesQcOqcApi { + /** MES 出货检验单 */ + export interface Oqc { + id?: number; // 编号 + code?: string; // 检验单编号 + name?: string; // 检验单名称 + templateId?: number; // 检验模板 ID + sourceDocType?: number; // 来源单据类型 + sourceDocId?: number; // 来源单据 ID + sourceLineId?: number; // 来源单据行 ID + sourceDocCode?: string; // 来源单据编号(关联查询) + clientId?: number; // 客户 ID + clientNickname?: string; // 客户简称(关联查询) + batchCode?: string; // 批次号 + itemId?: number; // 产品物料 ID + itemCode?: string; // 产品物料编码(关联查询) + itemName?: string; // 产品物料名称(关联查询) + itemSpecification?: string; // 规格型号(关联查询) + unitName?: string; // 单位名称(关联查询) + minCheckQuantity?: number; // 最低检测数 + maxUnqualifiedQuantity?: number; // 最大不合格数 + outQuantity?: number; // 本次出货数量 + checkQuantity?: number; // 本次检测数量 + qualifiedQuantity?: number; // 合格品数量 + unqualifiedQuantity?: number; // 不合格品数量 + criticalRate?: number; // 致命缺陷率(%) + majorRate?: number; // 严重缺陷率(%) + minorRate?: number; // 轻微缺陷率(%) + criticalQuantity?: number; // 致命缺陷数量 + majorQuantity?: number; // 严重缺陷数量 + minorQuantity?: number; // 轻微缺陷数量 + checkResult?: number; // 检测结果 + outDate?: number; // 出货日期 + inspectDate?: number; // 检测日期 + inspectorUserId?: number; // 检测人员用户 ID + inspectorNickname?: string; // 检测人员昵称(关联查询) + status?: number; // 状态 + remark?: string; // 备注 + } +} + +/** 查询出货检验单分页 */ +export function getOqcPage(params: PageParam) { + return requestClient.get>('/mes/qc/oqc/page', { + params, + }); +} + +/** 查询出货检验单详情 */ +export function getOqc(id: number) { + return requestClient.get(`/mes/qc/oqc/get?id=${id}`); +} + +/** 新增出货检验单 */ +export function createOqc(data: MesQcOqcApi.Oqc) { + return requestClient.post('/mes/qc/oqc/create', data); +} + +/** 修改出货检验单 */ +export function updateOqc(data: MesQcOqcApi.Oqc) { + return requestClient.put('/mes/qc/oqc/update', data); +} + +/** 完成出货检验单 */ +export function finishOqc(id: number) { + return requestClient.put(`/mes/qc/oqc/finish?id=${id}`); +} + +/** 删除出货检验单 */ +export function deleteOqc(id: number) { + return requestClient.delete(`/mes/qc/oqc/delete?id=${id}`); +} + +/** 导出出货检验单 */ +export function exportOqc(params: any) { + return requestClient.download('/mes/qc/oqc/export-excel', { params }); +} diff --git a/apps/web-antd/src/api/mes/qc/oqc/line/index.ts b/apps/web-antd/src/api/mes/qc/oqc/line/index.ts new file mode 100644 index 000000000..aa7deb59a --- /dev/null +++ b/apps/web-antd/src/api/mes/qc/oqc/line/index.ts @@ -0,0 +1,41 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesQcOqcLineApi { + /** MES 出货检验单行 */ + export interface OqcLine { + id?: number; // 编号 + oqcId?: number; // 出货检验单 ID + indicatorId?: number; // 检测指标 ID + indicatorCode?: string; // 检测指标编码(关联查询) + indicatorName?: string; // 检测指标名称(关联查询) + indicatorType?: number; // 检测指标类型(关联查询) + tool?: string; // 检测工具 + checkMethod?: string; // 检测方法 + standardValue?: number; // 标准值 + unitMeasureId?: number; // 计量单位 ID + unitMeasureName?: string; // 计量单位名称(关联查询) + maxThreshold?: number; // 误差上限 + minThreshold?: number; // 误差下限 + criticalQuantity?: number; // 致命缺陷数量 + majorQuantity?: number; // 严重缺陷数量 + minorQuantity?: number; // 轻微缺陷数量 + remark?: string; // 备注 + } +} + +/** 查询出货检验单行分页 */ +export function getOqcLinePage(params: PageParam & { oqcId?: number }) { + return requestClient.get>( + '/mes/qc/oqc/line/page', + { params }, + ); +} + +/** 查询出货检验单行详情 */ +export function getOqcLine(id: number) { + return requestClient.get( + `/mes/qc/oqc/line/get?id=${id}`, + ); +} diff --git a/apps/web-antd/src/api/mes/qc/rqc/index.ts b/apps/web-antd/src/api/mes/qc/rqc/index.ts new file mode 100644 index 000000000..60b54da15 --- /dev/null +++ b/apps/web-antd/src/api/mes/qc/rqc/index.ts @@ -0,0 +1,77 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesQcRqcApi { + /** MES 退货检验单 */ + export interface Rqc { + id?: number; // 编号 + code?: string; // 检验单编号 + name?: string; // 检验单名称 + templateId?: number; // 检验模板 ID + sourceDocType?: number; // 来源单据类型 + sourceDocId?: number; // 来源单据 ID + sourceLineId?: number; // 来源单据行 ID + sourceDocCode?: string; // 来源单据编号(关联查询) + type?: number; // 检验类型 + itemId?: number; // 产品物料 ID + itemCode?: string; // 产品物料编码(关联查询) + itemName?: string; // 产品物料名称(关联查询) + itemSpecification?: string; // 规格型号(关联查询) + unitName?: string; // 单位名称(关联查询) + batchCode?: string; // 批次号 + checkQuantity?: number; // 检测数量 + qualifiedQuantity?: number; // 合格品数量 + unqualifiedQuantity?: number; // 不合格数量 + checkResult?: number; // 检测结果 + inspectDate?: number; // 检测日期 + inspectorUserId?: number; // 检测人员用户 ID + inspectorNickname?: string; // 检测人员昵称(关联查询) + status?: number; // 状态 + remark?: string; // 备注 + // 缺陷统计 + criticalRate?: number; // 致命缺陷率(%) + majorRate?: number; // 严重缺陷率(%) + minorRate?: number; // 轻微缺陷率(%) + criticalQuantity?: number; // 致命缺陷数量 + majorQuantity?: number; // 严重缺陷数量 + minorQuantity?: number; // 轻微缺陷数量 + } +} + +/** 查询退货检验单分页 */ +export function getRqcPage(params: PageParam) { + return requestClient.get>('/mes/qc/rqc/page', { + params, + }); +} + +/** 查询退货检验单详情 */ +export function getRqc(id: number) { + return requestClient.get(`/mes/qc/rqc/get?id=${id}`); +} + +/** 新增退货检验单 */ +export function createRqc(data: MesQcRqcApi.Rqc) { + return requestClient.post('/mes/qc/rqc/create', data); +} + +/** 修改退货检验单 */ +export function updateRqc(data: MesQcRqcApi.Rqc) { + return requestClient.put('/mes/qc/rqc/update', data); +} + +/** 完成退货检验单 */ +export function finishRqc(id: number) { + return requestClient.put(`/mes/qc/rqc/finish?id=${id}`); +} + +/** 删除退货检验单 */ +export function deleteRqc(id: number) { + return requestClient.delete(`/mes/qc/rqc/delete?id=${id}`); +} + +/** 导出退货检验单 */ +export function exportRqc(params: any) { + return requestClient.download('/mes/qc/rqc/export-excel', { params }); +} diff --git a/apps/web-antd/src/api/mes/qc/rqc/line/index.ts b/apps/web-antd/src/api/mes/qc/rqc/line/index.ts new file mode 100644 index 000000000..abb44a758 --- /dev/null +++ b/apps/web-antd/src/api/mes/qc/rqc/line/index.ts @@ -0,0 +1,41 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesQcRqcLineApi { + /** MES 退货检验单行 */ + export interface RqcLine { + id?: number; // 编号 + rqcId?: number; // 退货检验单 ID + indicatorId?: number; // 检测指标 ID + indicatorCode?: string; // 检测指标编码(关联查询) + indicatorName?: string; // 检测指标名称(关联查询) + indicatorType?: number; // 检测指标类型(关联查询) + tool?: string; // 检测工具 + checkMethod?: string; // 检测方法 + standardValue?: number; // 标准值 + unitMeasureId?: number; // 计量单位 ID + unitMeasureName?: string; // 计量单位名称(关联查询) + maxThreshold?: number; // 误差上限 + minThreshold?: number; // 误差下限 + criticalQuantity?: number; // 致命缺陷数量 + majorQuantity?: number; // 严重缺陷数量 + minorQuantity?: number; // 轻微缺陷数量 + remark?: string; // 备注 + } +} + +/** 查询退货检验单行分页 */ +export function getRqcLinePage(params: PageParam & { rqcId?: number }) { + return requestClient.get>( + '/mes/qc/rqc/line/page', + { params }, + ); +} + +/** 查询退货检验单行详情 */ +export function getRqcLine(id: number) { + return requestClient.get( + `/mes/qc/rqc/line/get?id=${id}`, + ); +} diff --git a/apps/web-antd/src/views/mes/qc/indicatorresult/components/qc-indicator-result-form.vue b/apps/web-antd/src/views/mes/qc/indicatorresult/components/qc-indicator-result-form.vue index d7d7c9f27..4a95486d6 100644 --- a/apps/web-antd/src/views/mes/qc/indicatorresult/components/qc-indicator-result-form.vue +++ b/apps/web-antd/src/views/mes/qc/indicatorresult/components/qc-indicator-result-form.vue @@ -65,7 +65,12 @@ const [Form, formApi] = useVbenForm({ /** 获取字典选项(valueSpecification 为系统字典类型名) */ function getValueOptions(dictType?: string) { - return dictType ? getDictOptions(dictType, 'string') : []; + return dictType + ? getDictOptions(dictType, 'string').map(({ label, value }) => ({ + label, + value: String(value), + })) + : []; } const [Modal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/mes/utils/constants.ts b/apps/web-antd/src/views/mes/utils/constants.ts index d931e83d1..30427941b 100644 --- a/apps/web-antd/src/views/mes/utils/constants.ts +++ b/apps/web-antd/src/views/mes/utils/constants.ts @@ -143,6 +143,9 @@ export const MesAutoCodeRuleCode = { QC_INDICATOR_CODE: 'QC_INDICATOR_CODE', QC_INDICATOR_RESULT_CODE: 'QC_INDICATOR_RESULT_CODE', QC_IQC_CODE: 'QC_IQC_CODE', + QC_IPQC_CODE: 'QC_IPQC_CODE', + QC_OQC_CODE: 'QC_OQC_CODE', + QC_RQC_CODE: 'QC_RQC_CODE', QC_TEMPLATE_CODE: 'QC_TEMPLATE_CODE', TM_TOOL_TYPE_CODE: 'TM_TOOL_TYPE_CODE', TM_TOOL_CODE: 'TM_TOOL_CODE', diff --git a/apps/web-ele/src/api/mes/qc/ipqc/index.ts b/apps/web-ele/src/api/mes/qc/ipqc/index.ts new file mode 100644 index 000000000..9c885bedb --- /dev/null +++ b/apps/web-ele/src/api/mes/qc/ipqc/index.ts @@ -0,0 +1,87 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesQcIpqcApi { + /** MES 过程检验单 */ + export interface Ipqc { + id?: number; // 编号 + code?: string; // 检验单编号 + name?: string; // 检验单名称 + type?: number; // IPQC 检验类型 + templateId?: number; // 检验模板 ID + sourceDocType?: number; // 来源单据类型 + sourceDocId?: number; // 来源单据 ID + sourceLineId?: number; // 来源单据行 ID + sourceDocCode?: string; // 来源单据编号(关联查询) + workOrderId?: number; // 生产工单 ID + workOrderCode?: string; // 工单编号(关联查询) + workOrderName?: string; // 工单名称(关联查询) + taskId?: number; // 生产任务 ID + workstationId?: number; // 工位 ID + workstationName?: string; // 工位名称(关联查询) + processId?: number; // 工序 ID + processName?: string; // 工序名称(关联查询) + itemId?: number; // 产品物料 ID + itemCode?: string; // 产品物料编码(关联查询) + itemName?: string; // 产品物料名称(关联查询) + itemSpecification?: string; // 规格型号(关联查询) + unitName?: string; // 单位名称(关联查询) + checkQuantity?: number; // 检测数量 + qualifiedQuantity?: number; // 合格品数量 + unqualifiedQuantity?: number; // 不合格品数量 + laborScrapQuantity?: number; // 工废数量 + materialScrapQuantity?: number; // 料废数量 + otherScrapQuantity?: number; // 其他废品数量 + criticalRate?: number; // 致命缺陷率(%) + majorRate?: number; // 严重缺陷率(%) + minorRate?: number; // 轻微缺陷率(%) + criticalQuantity?: number; // 致命缺陷数量 + majorQuantity?: number; // 严重缺陷数量 + minorQuantity?: number; // 轻微缺陷数量 + checkResult?: number; // 检测结果 + inspectDate?: number; // 检测日期 + inspectorUserId?: number; // 检测人员用户 ID + inspectorNickname?: string; // 检测人员昵称(关联查询) + status?: number; // 状态 + remark?: string; // 备注 + } +} + +/** 查询过程检验单分页 */ +export function getIpqcPage(params: PageParam) { + return requestClient.get>( + '/mes/qc/ipqc/page', + { params }, + ); +} + +/** 查询过程检验单详情 */ +export function getIpqc(id: number) { + return requestClient.get(`/mes/qc/ipqc/get?id=${id}`); +} + +/** 新增过程检验单 */ +export function createIpqc(data: MesQcIpqcApi.Ipqc) { + return requestClient.post('/mes/qc/ipqc/create', data); +} + +/** 修改过程检验单 */ +export function updateIpqc(data: MesQcIpqcApi.Ipqc) { + return requestClient.put('/mes/qc/ipqc/update', data); +} + +/** 完成过程检验单 */ +export function finishIpqc(id: number) { + return requestClient.put(`/mes/qc/ipqc/finish?id=${id}`); +} + +/** 删除过程检验单 */ +export function deleteIpqc(id: number) { + return requestClient.delete(`/mes/qc/ipqc/delete?id=${id}`); +} + +/** 导出过程检验单 */ +export function exportIpqc(params: any) { + return requestClient.download('/mes/qc/ipqc/export-excel', { params }); +} diff --git a/apps/web-ele/src/api/mes/qc/ipqc/line/index.ts b/apps/web-ele/src/api/mes/qc/ipqc/line/index.ts new file mode 100644 index 000000000..4f114c845 --- /dev/null +++ b/apps/web-ele/src/api/mes/qc/ipqc/line/index.ts @@ -0,0 +1,42 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesQcIpqcLineApi { + /** MES 过程检验单行 */ + export interface IpqcLine { + id?: number; // 编号 + ipqcId?: number; // 过程检验单 ID + indicatorId?: number; // 检测指标 ID + indicatorCode?: string; // 检测指标编码(关联查询) + indicatorName?: string; // 检测指标名称(关联查询) + indicatorType?: number; // 检测指标类型(关联查询) + toolId?: number; // 检测工具 ID + toolName?: string; // 检测工具名称(关联查询) + checkMethod?: string; // 检测方法 + standardValue?: number; // 标准值 + unitMeasureId?: number; // 计量单位 ID + unitMeasureName?: string; // 计量单位名称(关联查询) + maxThreshold?: number; // 误差上限 + minThreshold?: number; // 误差下限 + criticalQuantity?: number; // 致命缺陷数量 + majorQuantity?: number; // 严重缺陷数量 + minorQuantity?: number; // 轻微缺陷数量 + remark?: string; // 备注 + } +} + +/** 查询过程检验单行分页 */ +export function getIpqcLinePage(params: PageParam & { ipqcId?: number }) { + return requestClient.get>( + '/mes/qc/ipqc/line/page', + { params }, + ); +} + +/** 查询过程检验单行详情 */ +export function getIpqcLine(id: number) { + return requestClient.get( + `/mes/qc/ipqc/line/get?id=${id}`, + ); +} diff --git a/apps/web-ele/src/api/mes/qc/oqc/index.ts b/apps/web-ele/src/api/mes/qc/oqc/index.ts new file mode 100644 index 000000000..793f6db43 --- /dev/null +++ b/apps/web-ele/src/api/mes/qc/oqc/index.ts @@ -0,0 +1,81 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesQcOqcApi { + /** MES 出货检验单 */ + export interface Oqc { + id?: number; // 编号 + code?: string; // 检验单编号 + name?: string; // 检验单名称 + templateId?: number; // 检验模板 ID + sourceDocType?: number; // 来源单据类型 + sourceDocId?: number; // 来源单据 ID + sourceLineId?: number; // 来源单据行 ID + sourceDocCode?: string; // 来源单据编号(关联查询) + clientId?: number; // 客户 ID + clientNickname?: string; // 客户简称(关联查询) + batchCode?: string; // 批次号 + itemId?: number; // 产品物料 ID + itemCode?: string; // 产品物料编码(关联查询) + itemName?: string; // 产品物料名称(关联查询) + itemSpecification?: string; // 规格型号(关联查询) + unitName?: string; // 单位名称(关联查询) + minCheckQuantity?: number; // 最低检测数 + maxUnqualifiedQuantity?: number; // 最大不合格数 + outQuantity?: number; // 本次出货数量 + checkQuantity?: number; // 本次检测数量 + qualifiedQuantity?: number; // 合格品数量 + unqualifiedQuantity?: number; // 不合格品数量 + criticalRate?: number; // 致命缺陷率(%) + majorRate?: number; // 严重缺陷率(%) + minorRate?: number; // 轻微缺陷率(%) + criticalQuantity?: number; // 致命缺陷数量 + majorQuantity?: number; // 严重缺陷数量 + minorQuantity?: number; // 轻微缺陷数量 + checkResult?: number; // 检测结果 + outDate?: number; // 出货日期 + inspectDate?: number; // 检测日期 + inspectorUserId?: number; // 检测人员用户 ID + inspectorNickname?: string; // 检测人员昵称(关联查询) + status?: number; // 状态 + remark?: string; // 备注 + } +} + +/** 查询出货检验单分页 */ +export function getOqcPage(params: PageParam) { + return requestClient.get>('/mes/qc/oqc/page', { + params, + }); +} + +/** 查询出货检验单详情 */ +export function getOqc(id: number) { + return requestClient.get(`/mes/qc/oqc/get?id=${id}`); +} + +/** 新增出货检验单 */ +export function createOqc(data: MesQcOqcApi.Oqc) { + return requestClient.post('/mes/qc/oqc/create', data); +} + +/** 修改出货检验单 */ +export function updateOqc(data: MesQcOqcApi.Oqc) { + return requestClient.put('/mes/qc/oqc/update', data); +} + +/** 完成出货检验单 */ +export function finishOqc(id: number) { + return requestClient.put(`/mes/qc/oqc/finish?id=${id}`); +} + +/** 删除出货检验单 */ +export function deleteOqc(id: number) { + return requestClient.delete(`/mes/qc/oqc/delete?id=${id}`); +} + +/** 导出出货检验单 */ +export function exportOqc(params: any) { + return requestClient.download('/mes/qc/oqc/export-excel', { params }); +} diff --git a/apps/web-ele/src/api/mes/qc/oqc/line/index.ts b/apps/web-ele/src/api/mes/qc/oqc/line/index.ts new file mode 100644 index 000000000..aa7deb59a --- /dev/null +++ b/apps/web-ele/src/api/mes/qc/oqc/line/index.ts @@ -0,0 +1,41 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesQcOqcLineApi { + /** MES 出货检验单行 */ + export interface OqcLine { + id?: number; // 编号 + oqcId?: number; // 出货检验单 ID + indicatorId?: number; // 检测指标 ID + indicatorCode?: string; // 检测指标编码(关联查询) + indicatorName?: string; // 检测指标名称(关联查询) + indicatorType?: number; // 检测指标类型(关联查询) + tool?: string; // 检测工具 + checkMethod?: string; // 检测方法 + standardValue?: number; // 标准值 + unitMeasureId?: number; // 计量单位 ID + unitMeasureName?: string; // 计量单位名称(关联查询) + maxThreshold?: number; // 误差上限 + minThreshold?: number; // 误差下限 + criticalQuantity?: number; // 致命缺陷数量 + majorQuantity?: number; // 严重缺陷数量 + minorQuantity?: number; // 轻微缺陷数量 + remark?: string; // 备注 + } +} + +/** 查询出货检验单行分页 */ +export function getOqcLinePage(params: PageParam & { oqcId?: number }) { + return requestClient.get>( + '/mes/qc/oqc/line/page', + { params }, + ); +} + +/** 查询出货检验单行详情 */ +export function getOqcLine(id: number) { + return requestClient.get( + `/mes/qc/oqc/line/get?id=${id}`, + ); +} diff --git a/apps/web-ele/src/api/mes/qc/rqc/index.ts b/apps/web-ele/src/api/mes/qc/rqc/index.ts new file mode 100644 index 000000000..60b54da15 --- /dev/null +++ b/apps/web-ele/src/api/mes/qc/rqc/index.ts @@ -0,0 +1,77 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesQcRqcApi { + /** MES 退货检验单 */ + export interface Rqc { + id?: number; // 编号 + code?: string; // 检验单编号 + name?: string; // 检验单名称 + templateId?: number; // 检验模板 ID + sourceDocType?: number; // 来源单据类型 + sourceDocId?: number; // 来源单据 ID + sourceLineId?: number; // 来源单据行 ID + sourceDocCode?: string; // 来源单据编号(关联查询) + type?: number; // 检验类型 + itemId?: number; // 产品物料 ID + itemCode?: string; // 产品物料编码(关联查询) + itemName?: string; // 产品物料名称(关联查询) + itemSpecification?: string; // 规格型号(关联查询) + unitName?: string; // 单位名称(关联查询) + batchCode?: string; // 批次号 + checkQuantity?: number; // 检测数量 + qualifiedQuantity?: number; // 合格品数量 + unqualifiedQuantity?: number; // 不合格数量 + checkResult?: number; // 检测结果 + inspectDate?: number; // 检测日期 + inspectorUserId?: number; // 检测人员用户 ID + inspectorNickname?: string; // 检测人员昵称(关联查询) + status?: number; // 状态 + remark?: string; // 备注 + // 缺陷统计 + criticalRate?: number; // 致命缺陷率(%) + majorRate?: number; // 严重缺陷率(%) + minorRate?: number; // 轻微缺陷率(%) + criticalQuantity?: number; // 致命缺陷数量 + majorQuantity?: number; // 严重缺陷数量 + minorQuantity?: number; // 轻微缺陷数量 + } +} + +/** 查询退货检验单分页 */ +export function getRqcPage(params: PageParam) { + return requestClient.get>('/mes/qc/rqc/page', { + params, + }); +} + +/** 查询退货检验单详情 */ +export function getRqc(id: number) { + return requestClient.get(`/mes/qc/rqc/get?id=${id}`); +} + +/** 新增退货检验单 */ +export function createRqc(data: MesQcRqcApi.Rqc) { + return requestClient.post('/mes/qc/rqc/create', data); +} + +/** 修改退货检验单 */ +export function updateRqc(data: MesQcRqcApi.Rqc) { + return requestClient.put('/mes/qc/rqc/update', data); +} + +/** 完成退货检验单 */ +export function finishRqc(id: number) { + return requestClient.put(`/mes/qc/rqc/finish?id=${id}`); +} + +/** 删除退货检验单 */ +export function deleteRqc(id: number) { + return requestClient.delete(`/mes/qc/rqc/delete?id=${id}`); +} + +/** 导出退货检验单 */ +export function exportRqc(params: any) { + return requestClient.download('/mes/qc/rqc/export-excel', { params }); +} diff --git a/apps/web-ele/src/api/mes/qc/rqc/line/index.ts b/apps/web-ele/src/api/mes/qc/rqc/line/index.ts new file mode 100644 index 000000000..abb44a758 --- /dev/null +++ b/apps/web-ele/src/api/mes/qc/rqc/line/index.ts @@ -0,0 +1,41 @@ +import type { PageParam, PageResult } from '@vben/request'; + +import { requestClient } from '#/api/request'; + +export namespace MesQcRqcLineApi { + /** MES 退货检验单行 */ + export interface RqcLine { + id?: number; // 编号 + rqcId?: number; // 退货检验单 ID + indicatorId?: number; // 检测指标 ID + indicatorCode?: string; // 检测指标编码(关联查询) + indicatorName?: string; // 检测指标名称(关联查询) + indicatorType?: number; // 检测指标类型(关联查询) + tool?: string; // 检测工具 + checkMethod?: string; // 检测方法 + standardValue?: number; // 标准值 + unitMeasureId?: number; // 计量单位 ID + unitMeasureName?: string; // 计量单位名称(关联查询) + maxThreshold?: number; // 误差上限 + minThreshold?: number; // 误差下限 + criticalQuantity?: number; // 致命缺陷数量 + majorQuantity?: number; // 严重缺陷数量 + minorQuantity?: number; // 轻微缺陷数量 + remark?: string; // 备注 + } +} + +/** 查询退货检验单行分页 */ +export function getRqcLinePage(params: PageParam & { rqcId?: number }) { + return requestClient.get>( + '/mes/qc/rqc/line/page', + { params }, + ); +} + +/** 查询退货检验单行详情 */ +export function getRqcLine(id: number) { + return requestClient.get( + `/mes/qc/rqc/line/get?id=${id}`, + ); +} diff --git a/apps/web-ele/src/views/mes/qc/indicatorresult/components/qc-indicator-result-form.vue b/apps/web-ele/src/views/mes/qc/indicatorresult/components/qc-indicator-result-form.vue index 398fac75a..a7cc9dfba 100644 --- a/apps/web-ele/src/views/mes/qc/indicatorresult/components/qc-indicator-result-form.vue +++ b/apps/web-ele/src/views/mes/qc/indicatorresult/components/qc-indicator-result-form.vue @@ -66,7 +66,12 @@ const [Form, formApi] = useVbenForm({ /** 获取字典选项(valueSpecification 为系统字典类型名) */ function getValueOptions(dictType?: string) { - return dictType ? getDictOptions(dictType, 'string') : []; + return dictType + ? getDictOptions(dictType, 'string').map(({ label, value }) => ({ + label, + value: String(value), + })) + : []; } const [Modal, modalApi] = useVbenModal({ diff --git a/apps/web-ele/src/views/mes/utils/constants.ts b/apps/web-ele/src/views/mes/utils/constants.ts index d931e83d1..30427941b 100644 --- a/apps/web-ele/src/views/mes/utils/constants.ts +++ b/apps/web-ele/src/views/mes/utils/constants.ts @@ -143,6 +143,9 @@ export const MesAutoCodeRuleCode = { QC_INDICATOR_CODE: 'QC_INDICATOR_CODE', QC_INDICATOR_RESULT_CODE: 'QC_INDICATOR_RESULT_CODE', QC_IQC_CODE: 'QC_IQC_CODE', + QC_IPQC_CODE: 'QC_IPQC_CODE', + QC_OQC_CODE: 'QC_OQC_CODE', + QC_RQC_CODE: 'QC_RQC_CODE', QC_TEMPLATE_CODE: 'QC_TEMPLATE_CODE', TM_TOOL_TYPE_CODE: 'TM_TOOL_TYPE_CODE', TM_TOOL_CODE: 'TM_TOOL_CODE', diff --git a/packages/constants/src/dict-enum.ts b/packages/constants/src/dict-enum.ts index 43ab651a8..197c21e6c 100644 --- a/packages/constants/src/dict-enum.ts +++ b/packages/constants/src/dict-enum.ts @@ -218,6 +218,8 @@ const MES_DICT = { MES_QC_TYPE: 'mes_qc_type', // MES 质检方案类型 MES_QC_CHECK_RESULT: 'mes_qc_check_result', // MES 检测结果 MES_QC_SOURCE_DOC_TYPE: 'mes_qc_source_doc_type', // MES 来源单据类型 + MES_IPQC_TYPE: 'mes_ipqc_type', // MES IPQC 检验类型 + MES_RQC_TYPE: 'mes_rqc_type', // MES 退货检验类型 MES_DEFECT_LEVEL: 'mes_defect_level', // MES 缺陷等级 MES_WM_BARCODE_BIZ_TYPE: 'mes_wm_barcode_biz_type', // MES 条码业务类型 MES_WM_BARCODE_FORMAT: 'mes_wm_barcode_format', // MES 条码格式