From ac6e97bb4a84cc18ab1326920a960f243cb79d42 Mon Sep 17 00:00:00 2001 From: shaoleiliu-netizen123 <480188199@qq.com> Date: Tue, 2 Jun 2026 09:24:16 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E6=A3=80=E7=AE=A1=E7=90=86=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/assingRework.ts | 96 +++ src/api/qcResultDetail.ts | 80 +++ src/api/qualityTesting.ts | 101 +++ src/views/biz/qualityTesting/detail.vue | 218 ++++++ src/views/biz/qualityTesting/index.vue | 914 ++++++++++++++++++++++++ 5 files changed, 1409 insertions(+) create mode 100644 src/api/assingRework.ts create mode 100644 src/api/qcResultDetail.ts create mode 100644 src/api/qualityTesting.ts create mode 100644 src/views/biz/qualityTesting/detail.vue create mode 100644 src/views/biz/qualityTesting/index.vue diff --git a/src/api/assingRework.ts b/src/api/assingRework.ts new file mode 100644 index 0000000..0dc122d --- /dev/null +++ b/src/api/assingRework.ts @@ -0,0 +1,96 @@ +import { request } from '@/utils/request' + +// AssingRework 类型定义 +export interface AssingRework { + id?: number + + processId?: number + + userId?: number + + quantity?: number + + completedQuantity?: number + + completedTime?: string + + createTime?: string + + createBy?: string + + qualityReturn?: number + + qualityReturnNum?: string + + qualityIds?: string + + status?: number + + reason?: string + + pauseTime?: string + + assingStatus?: number + + 返工派工单号?: string + +} + +// AssingRework API +export const assingReworkApi = { + // 分页查询 + page(params: { page: number; pageSize: number; id?: number; status?: number }) { + return request({ url: '/biz/assingRework/page', method: 'get', params }) + }, + + // 获取详情 + detail(id: string) { + return request({ url: `/biz/assingRework/${id}`, method: 'get' }) + }, + + // 新增 + create(data: AssingRework) { + return request({ url: '/biz/assingRework', method: 'post', data }) + }, + + // 修改 + update(data: AssingRework) { + return request({ url: '/biz/assingRework', method: 'put', data }) + }, + + // 删除 + delete(ids: string[]) { + return request({ url: `/biz/assingRework/${ids.join(',')}`, method: 'delete' }) + }, + + // 获取列表 + allList() { + return request({ url: '/mes/dispatch/all', method: 'get' }) + }, + + // 导出 + export(params?: { ids?: string[]; id?: number; status?: number }) { + const p: Record = {} + if (params?.ids?.length) p.ids = params.ids.join(',') + if (params?.id !== undefined && params?.id !== null) p.id = params.id + if (params?.status !== undefined && params?.status !== null) p.status = params.status + return request({ url: `/biz/assingRework/export`, method: 'get', params: p, responseType: 'blob' }) + }, + + // 导入 + importData(file: File) { + const formData = new FormData() + formData.append('file', file) + return request<{ success: number; fail: number; errors: string[] }>({ + url: `/biz/assingRework/import`, + method: 'post', + data: formData, + headers: { 'Content-Type': 'multipart/form-data' } + }) + }, + + // 下载导入模板 + downloadTemplate() { + return request({ url: `/biz/assingRework/template`, method: 'get', responseType: 'blob' }) + } +} \ No newline at end of file diff --git a/src/api/qcResultDetail.ts b/src/api/qcResultDetail.ts new file mode 100644 index 0000000..713b2f1 --- /dev/null +++ b/src/api/qcResultDetail.ts @@ -0,0 +1,80 @@ +import { request } from '@/utils/request' + +// 质检结果明细表 类型定义 +export interface QcResultDetail { + id?: number + + qcId?: number + + resultType?: number + + qty?: string + + traceCode?: string + + defectCode?: string + + handleAction?: string + + actionStatus?: number + + remark?: string + + createTime?: string + + updateTime?: string + +} + +// 质检结果明细表 API +export const qcResultDetailApi = { + // 分页查询 + page(params : { page: number; pageSize: number; id?: number; resultType?: number,traceCode:string,defectCode:string }) { + return request({ url: '/biz/qcResultDetail/page', method: 'get', params }) + }, + + // 获取详情 + detail(id: number) { + return request({ url: `/biz/qcResultDetail/${id}`, method: 'get' }) + }, + + // 新增 + create(data: QcResultDetail) { + return request({ url: '/biz/qcResultDetail', method: 'post', data }) + }, + + // 修改 + update(data: QcResultDetail) { + return request({ url: '/biz/qcResultDetail', method: 'put', data }) + }, + + // 删除 + delete(ids: number[]) { + return request({ url: `/biz/qcResultDetail/${ids.join(',')}`, method: 'delete' }) + }, + + // 导出 + export(params?: { ids?: number[]; id?: number }) { + const p: Record = {} + if (params?.ids?.length) p.ids = params.ids.join(',') + if (params?.id !== undefined && params?.id !== null) p.id = params.id + return request({ url: `/biz/qcResultDetail/export`, method: 'get', params: p, responseType: 'blob' }) + }, + + // 导入 + importData(file: File) { + const formData = new FormData() + formData.append('file', file) + return request<{ success: number; fail: number; errors: string[] }>({ + url: `/biz/qcResultDetail/import`, + method: 'post', + data: formData, + headers: { 'Content-Type': 'multipart/form-data' } + }) + }, + + // 下载导入模板 + downloadTemplate() { + return request({ url: `/biz/qcResultDetail/template`, method: 'get', responseType: 'blob' }) + } +} \ No newline at end of file diff --git a/src/api/qualityTesting.ts b/src/api/qualityTesting.ts new file mode 100644 index 0000000..fd5d34d --- /dev/null +++ b/src/api/qualityTesting.ts @@ -0,0 +1,101 @@ +import { request } from '@/utils/request' + +import {QcResultDetail} from "@/api/qcResultDetail.ts"; + +// 质检单表 类型定义 +export interface QualityTesting { + id?: number + + qcNo?: string + + sourceType?: number + + sourceId?: number + + sourceName?: string + + orderId?: number + + processId?: number + + itemId?: number + + totalQty?: number + + status?: number + + inspectorId?: number + + inspectTime?: string + + traceType?: number + + createBy?: number + + createTime?: string + + updateTime?: string + +} + +// 质检单表 API +export const qualityTestingApi = { + // 分页查询 + page(params: { page: number; pageSize: number; qcNo?: string; status?: number }) { + return request({ url: '/mes/qc/list', method: 'get', params }) + }, + + // 获取详情 + detail(id: number) { + return request({ url: `/mes/qc/${id}`, method: 'get' }) + }, + + // 新增 + create(data: QualityTesting) { + return request({ url: '/mes/qc', method: 'post', data }) + }, + + // 修改 + update(data: QualityTesting) { + return request({ url: '/mes/qc', method: 'put', data }) + }, + + // 删除 + delete(ids: number[]) { + return request({ url: `/mes/qc/${ids.join(',')}`, method: 'delete' }) + }, + //提交判定明细 + submit(data: QcResultDetail[]) { + return request({ url: '/mes/qc/judge', method: 'put', data }) + }, + //质检撤回 + cancel(id: number) { + return request({ url: `/mes/dispatch/revoke/${id}`, method: 'put' }) + }, + + // 导出 + export(params?: { ids?: number[]; id?: number; status?: number }) { + const p: Record = {} + if (params?.ids?.length) p.ids = params.ids.join(',') + if (params?.id !== undefined && params?.id !== null) p.id = params.id + if (params?.status !== undefined && params?.status !== null) p.status = params.status + return request({ url: `/mes/qc/export`, method: 'get', params: p, responseType: 'blob' }) + }, + + // 导入 + importData(file: File) { + const formData = new FormData() + formData.append('file', file) + return request<{ success: number; fail: number; errors: string[] }>({ + url: `/biz/qualityTesting/import`, + method: 'post', + data: formData, + headers: { 'Content-Type': 'multipart/form-data' } + }) + }, + + // 下载导入模板 + downloadTemplate() { + return request({ url: `/biz/qualityTesting/template`, method: 'get', responseType: 'blob' }) + } +} \ No newline at end of file diff --git a/src/views/biz/qualityTesting/detail.vue b/src/views/biz/qualityTesting/detail.vue new file mode 100644 index 0000000..1047bae --- /dev/null +++ b/src/views/biz/qualityTesting/detail.vue @@ -0,0 +1,218 @@ + + + + + \ No newline at end of file diff --git a/src/views/biz/qualityTesting/index.vue b/src/views/biz/qualityTesting/index.vue new file mode 100644 index 0000000..47a92ef --- /dev/null +++ b/src/views/biz/qualityTesting/index.vue @@ -0,0 +1,914 @@ + + + + + \ No newline at end of file