From ef6f0fe57b0950b5ed257746155ac003c974b929 Mon Sep 17 00:00:00 2001 From: qiankanghui Date: Mon, 25 May 2026 15:34:52 +0800 Subject: [PATCH] =?UTF-8?q?feat(inspection):=20=E6=96=B0=E5=A2=9E=E9=AA=8C?= =?UTF-8?q?=E8=B4=A7=E7=94=B3=E8=AF=B7=E5=AE=A1=E6=A0=B8=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=B9=B6=E5=AE=8C=E5=96=84=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 inspectionRequestAudit.vue 页面实现验货申请审核功能 - 更新 com_inspectionRequestDetailTab.vue 和 com_inspectionRequestPoDetailTab.vue 中的数据获取逻辑以支持分页结构 - 在 api/inspection/inspectionRequestHeader.js 中新增删除、确认、审核等接口 - 在 inspectionRequestList.vue 中实现数据导入导出功能 - 添加 Excel 模板下载和数据预览上传功能 - 实现表格行样式标记,对修改过的验货数量进行标红显示 - 优化状态选项值从大写改为首字母大写格式以保持一致性 - 增加确认和删除操作的 API 调用及错误处理逻辑 --- src/api/inspection/inspectionRequestHeader.js | 26 + .../com_inspectionRequestDetailTab.vue | 2 +- .../com_inspectionRequestPoDetailTab.vue | 2 +- .../inspection/inspectionRequestAudit.vue | 653 ++++++++++++++++++ .../inspection/inspectionRequestList.vue | 289 +++++++- 5 files changed, 958 insertions(+), 14 deletions(-) create mode 100644 src/views/modules/inspection/inspectionRequestAudit.vue diff --git a/src/api/inspection/inspectionRequestHeader.js b/src/api/inspection/inspectionRequestHeader.js index 5822cdd..fe5806a 100644 --- a/src/api/inspection/inspectionRequestHeader.js +++ b/src/api/inspection/inspectionRequestHeader.js @@ -13,3 +13,29 @@ export const queryPoPage = (data) => createAPI(`/inspection/queryPoPage`, 'post' // 保存验货申请 export const saveInspectionRequest = (data) => createAPI(`/inspection/save`, 'post', data) + +// 删除验货申请 +export const deleteInspectionRequest = (requestNo) => createAPI(`/inspection/delete/${requestNo}`, 'post') + +// 确认验货申请 +export const confirmInspectionRequest = (requestNo) => createAPI(`/inspection/confirm/${requestNo}`, 'post') + +// 下载验货申请导入模板 +export const downloadTemplate = () => createAPI(`/inspection/downloadTemplate`, 'get', {}, { responseType: 'blob' }) + +// 预览上传的Excel数据 +export const previewUpload = (file) => { + const formData = new FormData() + formData.append('file', file) + return createAPI(`/inspection/previewUpload`, 'post', formData) +} + +// 批量保存上传的数据 +export const batchSave = (file) => { + const formData = new FormData() + formData.append('file', file) + return createAPI(`/inspection/batchSave`, 'post', formData) +} + +// 审核验货申请 +export const auditInspectionRequest = (requestNo) => createAPI(`/inspection/audit/${requestNo}`, 'post') diff --git a/src/views/modules/inspection/com_inspectionRequestDetailTab.vue b/src/views/modules/inspection/com_inspectionRequestDetailTab.vue index 0177c82..eae286c 100644 --- a/src/views/modules/inspection/com_inspectionRequestDetailTab.vue +++ b/src/views/modules/inspection/com_inspectionRequestDetailTab.vue @@ -71,7 +71,7 @@ export default { site: this.detailData.site }).then(({ data }) => { if (data.code === 0) { - const list = data.list || [] + const list = (data.page && data.page.list) || [] // 转换状态显示 this.detailList = list.map(item => { return { diff --git a/src/views/modules/inspection/com_inspectionRequestPoDetailTab.vue b/src/views/modules/inspection/com_inspectionRequestPoDetailTab.vue index 95c912c..04a15ad 100644 --- a/src/views/modules/inspection/com_inspectionRequestPoDetailTab.vue +++ b/src/views/modules/inspection/com_inspectionRequestPoDetailTab.vue @@ -71,7 +71,7 @@ export default { site: this.detailData.site }).then(({ data }) => { if (data.code === 0) { - this.detailList = data.list || [] + this.detailList = (data.page && data.page.list) || [] } this.loading = false }).catch(() => { diff --git a/src/views/modules/inspection/inspectionRequestAudit.vue b/src/views/modules/inspection/inspectionRequestAudit.vue new file mode 100644 index 0000000..f10db07 --- /dev/null +++ b/src/views/modules/inspection/inspectionRequestAudit.vue @@ -0,0 +1,653 @@ + + + + + diff --git a/src/views/modules/inspection/inspectionRequestList.vue b/src/views/modules/inspection/inspectionRequestList.vue index fb14f8a..d6305e2 100644 --- a/src/views/modules/inspection/inspectionRequestList.vue +++ b/src/views/modules/inspection/inspectionRequestList.vue @@ -23,11 +23,12 @@ - - - - - + + + + + + @@ -90,6 +91,7 @@ highlight-current-row @row-click="changeData" v-loading="dataListLoading" + :row-class-name="mainTableRowClassName" style="margin-top: 0px; width: 100%;"> - + @@ -241,7 +249,8 @@ size="small" table-layout="fixed" style="width: 100%; margin-top: 10px;" - @selection-change="handleSelectionChange"> + @selection-change="handleSelectionChange" + :row-class-name="tableRowClassName"> @@ -299,11 +308,49 @@ 关闭 + + + + +
+ 请选择文件 + + + 选择文件 + + 上传 + + 下载模板 + +
+ + + + + + + + + + + +
+ 保存 + 关闭 +
+