diff --git a/src/api/mes/qc/oqc/index.ts b/src/api/mes/qc/oqc/index.ts new file mode 100644 index 000000000..bb8ce1652 --- /dev/null +++ b/src/api/mes/qc/oqc/index.ts @@ -0,0 +1,78 @@ +import request from '@/config/axios' + +// MES 出货检验单 VO +export interface QcOqcVO { + id: number // 编号 + code: string // 检验单编号 + name: string // 检验单名称 + templateId: number // 检验模板 ID + sourceDocId: number // 来源单据 ID + sourceDocType: string // 来源单据类型 + sourceDocCode: string // 来源单据编号 + sourceLineId: number // 来源单据行 ID + 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: string // 检测结果 + outDate: Date // 出货日期 + inspectDate: Date // 检测日期 + inspectorUserId: number // 检测人员用户 ID + inspectorNickname: string // 检测人员昵称(关联查询) + status: number // 状态 + remark: string // 备注 +} + +// MES 出货检验单 API +export const QcOqcApi = { + // 查询出货检验单分页 + getOqcPage: async (params: any) => { + return await request.get({ url: `/mes/qc/oqc/page`, params }) + }, + + // 查询出货检验单详情 + getOqc: async (id: number) => { + return await request.get({ url: `/mes/qc/oqc/get?id=` + id }) + }, + + // 新增出货检验单 + createOqc: async (data: QcOqcVO) => { + return await request.post({ url: `/mes/qc/oqc/create`, data }) + }, + + // 修改出货检验单 + updateOqc: async (data: QcOqcVO) => { + return await request.put({ url: `/mes/qc/oqc/update`, data }) + }, + + // 完成出货检验单 + completeOqc: async (id: number) => { + return await request.put({ url: `/mes/qc/oqc/complete?id=` + id }) + }, + + // 删除出货检验单 + deleteOqc: async (id: number) => { + return await request.delete({ url: `/mes/qc/oqc/delete?id=` + id }) + }, + + // 导出出货检验单 Excel + exportOqc: async (params: any) => { + return await request.download({ url: `/mes/qc/oqc/export-excel`, params }) + } +} diff --git a/src/api/mes/qc/oqc/line/index.ts b/src/api/mes/qc/oqc/line/index.ts new file mode 100644 index 000000000..419a62948 --- /dev/null +++ b/src/api/mes/qc/oqc/line/index.ts @@ -0,0 +1,34 @@ +import request from '@/config/axios' + +// MES 出货检验单行 VO +export interface QcOqcLineVO { + id: number // 编号 + oqcId: number // 出货检验单 ID + indicatorId: number // 检测指标 ID + indicatorCode: string // 检测指标编码(关联查询) + indicatorName: string // 检测指标名称(关联查询) + indicatorType: string // 检测指标类型(关联查询) + checkMethod: string // 检测方法 + standardValue: number // 标准值 + unitMeasureId: number // 计量单位 ID + unitMeasureName: string // 计量单位名称(关联查询) + maxThreshold: number // 误差上限 + minThreshold: number // 误差下限 + criticalQuantity: number // 致命缺陷数量 + majorQuantity: number // 严重缺陷数量 + minorQuantity: number // 轻微缺陷数量 + remark: string // 备注 +} + +// MES 出货检验单行 API +export const QcOqcLineApi = { + // 查询出货检验单行分页 + getOqcLinePage: async (params: any) => { + return await request.get({ url: `/mes/qc/oqc/line/page`, params }) + }, + + // 查询出货检验单行详情 + getOqcLine: async (id: number) => { + return await request.get({ url: `/mes/qc/oqc/line/get?id=` + id }) + } +} diff --git a/src/views/mes/qc/ipqc/IpqcForm.vue b/src/views/mes/qc/ipqc/IpqcForm.vue index d9a7075cf..0c160d3eb 100644 --- a/src/views/mes/qc/ipqc/IpqcForm.vue +++ b/src/views/mes/qc/ipqc/IpqcForm.vue @@ -250,15 +250,6 @@ > 保 存 - - - 完 成 - 关 闭 @@ -372,24 +363,6 @@ const submitForm = async () => { } } -/** 完成操作 */ -const handleComplete = async () => { - try { - await message.confirm('确认完成该过程检验单?完成后不可修改。') - formLoading.value = true - // 先保存 - await QcIpqcApi.updateIpqc(formData.value as unknown as QcIpqcVO) - // 再完成 - await QcIpqcApi.completeIpqc(formData.value.id!) - message.success('完成成功') - dialogVisible.value = false - emit('success') - } catch { - } finally { - formLoading.value = false - } -} - /** 重置表单 */ const resetForm = () => { formData.value = { diff --git a/src/views/mes/qc/oqc/OqcForm.vue b/src/views/mes/qc/oqc/OqcForm.vue new file mode 100644 index 000000000..d17666d8b --- /dev/null +++ b/src/views/mes/qc/oqc/OqcForm.vue @@ -0,0 +1,357 @@ + + + + diff --git a/src/views/mes/qc/oqc/OqcLineList.vue b/src/views/mes/qc/oqc/OqcLineList.vue new file mode 100644 index 000000000..13064ae56 --- /dev/null +++ b/src/views/mes/qc/oqc/OqcLineList.vue @@ -0,0 +1,90 @@ + + + + diff --git a/src/views/mes/qc/oqc/index.vue b/src/views/mes/qc/oqc/index.vue new file mode 100644 index 000000000..09833f6b6 --- /dev/null +++ b/src/views/mes/qc/oqc/index.vue @@ -0,0 +1,308 @@ + + + +