From 212b79be567363e2e5441bb1d0f4008e67e3bcba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Wed, 8 Jul 2026 16:49:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(qc):=20=E6=96=B0=E5=A2=9E=E6=A3=80?= =?UTF-8?q?=E5=8C=96=E9=AA=8C=E7=94=B3=E8=AF=B7=E5=8D=95=E7=9B=B8=E5=85=B3?= =?UTF-8?q?API=EF=BC=8C=E4=BC=98=E5=8C=96=E6=A3=80=E9=AA=8C=E9=A1=B9?= =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E6=8E=A5=E5=8F=A3=E5=B9=B6=E6=B8=85=E7=90=86?= =?UTF-8?q?=E5=86=97=E4=BD=99=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 将检验项模板查询接口从POST改为GET请求 2. 新增检化验申请单的增删改查、批量保存检验数据API 3. 删除多个冗余的质检历史、检验项、检验任务页面 --- .../WmsInspectionItemTemplateController.java | 2 +- klp-ui/src/api/mes/qc/approval.js | 64 + .../src/api/mes/qc/inspectionItemTemplate.js | 2 +- klp-ui/src/views/mes/qc/approval/index.vue | 1573 +++++++++++++++++ klp-ui/src/views/mes/qc/history/index.vue | 229 --- klp-ui/src/views/mes/qc/inspection/item.vue | 402 ----- klp-ui/src/views/mes/qc/inspection/task.vue | 1010 ----------- .../views/mes/qc/inspectionSample/index.vue | 123 +- klp-ui/src/views/mes/qc/item/index.vue | 299 ---- klp-ui/src/views/mes/qc/task/index.vue | 405 ----- .../src/views/mes/qc/task/pages/auxiliary.vue | 467 ----- klp-ui/src/views/mes/qc/task/pages/lab.vue | 443 ----- klp-ui/src/views/mes/qc/task/pages/raw.vue | 493 ------ .../src/views/mes/qc/task/pages/section.vue | 451 ----- 14 files changed, 1685 insertions(+), 4278 deletions(-) create mode 100644 klp-ui/src/api/mes/qc/approval.js create mode 100644 klp-ui/src/views/mes/qc/approval/index.vue delete mode 100644 klp-ui/src/views/mes/qc/history/index.vue delete mode 100644 klp-ui/src/views/mes/qc/inspection/item.vue delete mode 100644 klp-ui/src/views/mes/qc/inspection/task.vue delete mode 100644 klp-ui/src/views/mes/qc/item/index.vue delete mode 100644 klp-ui/src/views/mes/qc/task/index.vue delete mode 100644 klp-ui/src/views/mes/qc/task/pages/auxiliary.vue delete mode 100644 klp-ui/src/views/mes/qc/task/pages/lab.vue delete mode 100644 klp-ui/src/views/mes/qc/task/pages/raw.vue delete mode 100644 klp-ui/src/views/mes/qc/task/pages/section.vue diff --git a/klp-mes/src/main/java/com/klp/mes/qc/controller/WmsInspectionItemTemplateController.java b/klp-mes/src/main/java/com/klp/mes/qc/controller/WmsInspectionItemTemplateController.java index 226bcf5b4..938e6a442 100644 --- a/klp-mes/src/main/java/com/klp/mes/qc/controller/WmsInspectionItemTemplateController.java +++ b/klp-mes/src/main/java/com/klp/mes/qc/controller/WmsInspectionItemTemplateController.java @@ -99,7 +99,7 @@ public class WmsInspectionItemTemplateController extends BaseController { } // 根据待检项查询详细信息 - @PostMapping("/getInfoByInspectionItem") + @GetMapping("/getInfoByInspectionItem") public R> getInfoByInspectionItem(@RequestParam String inspectionItemIds) { return R.ok(iWmsInspectionItemTemplateService.getInfoByInspectionItem(inspectionItemIds)); } diff --git a/klp-ui/src/api/mes/qc/approval.js b/klp-ui/src/api/mes/qc/approval.js new file mode 100644 index 000000000..9b720ad8a --- /dev/null +++ b/klp-ui/src/api/mes/qc/approval.js @@ -0,0 +1,64 @@ +import request from '@/utils/request' + +// 查询检化验申请单列表 +export function listInspectionApplication(query) { + return request({ + url: '/wms/inspectionApplication/list', + method: 'get', + params: query + }) +} + +// 查询检化验申请单详细 +export function getInspectionApplication(applicationId) { + return request({ + url: '/wms/inspectionApplication/' + applicationId, + method: 'get' + }) +} + +// 新增检化验申请单 +export function addInspectionApplication(data) { + return request({ + url: '/wms/inspectionApplication', + method: 'post', + data: data + }) +} + +// 修改检化验申请单 +export function updateInspectionApplication(data) { + return request({ + url: '/wms/inspectionApplication', + method: 'put', + data: data + }) +} + +// 删除检化验申请单 +export function delInspectionApplication(applicationIds) { + return request({ + url: '/wms/inspectionApplication/' + applicationIds, + method: 'delete' + }) +} + +// ====== 批量保存检验数据(审批通过后填写) ====== + +// 批量保存物理检验数据 +export function batchSavePhysicalData(data) { + return request({ + url: '/wms/inspectionApplication/batchSavePhysical', + method: 'post', + data: data + }) +} + +// 批量保存化学检验数据 +export function batchSaveChemicalData(data) { + return request({ + url: '/wms/inspectionApplication/batchSaveChemical', + method: 'post', + data: data + }) +} diff --git a/klp-ui/src/api/mes/qc/inspectionItemTemplate.js b/klp-ui/src/api/mes/qc/inspectionItemTemplate.js index 00ec091af..122971cc9 100644 --- a/klp-ui/src/api/mes/qc/inspectionItemTemplate.js +++ b/klp-ui/src/api/mes/qc/inspectionItemTemplate.js @@ -47,7 +47,7 @@ export function delInspectionItemTemplate(templateId) { export function getInfoByInspectionItem(inspectionItemIds) { return request({ url: '/qc/inspectionItemTemplate/getInfoByInspectionItem', - method: 'post', + method: 'get', params: { inspectionItemIds } diff --git a/klp-ui/src/views/mes/qc/approval/index.vue b/klp-ui/src/views/mes/qc/approval/index.vue new file mode 100644 index 000000000..741057ff9 --- /dev/null +++ b/klp-ui/src/views/mes/qc/approval/index.vue @@ -0,0 +1,1573 @@ + + + + + diff --git a/klp-ui/src/views/mes/qc/history/index.vue b/klp-ui/src/views/mes/qc/history/index.vue deleted file mode 100644 index de04f7319..000000000 --- a/klp-ui/src/views/mes/qc/history/index.vue +++ /dev/null @@ -1,229 +0,0 @@ - - - diff --git a/klp-ui/src/views/mes/qc/inspection/item.vue b/klp-ui/src/views/mes/qc/inspection/item.vue deleted file mode 100644 index 4d04cd584..000000000 --- a/klp-ui/src/views/mes/qc/inspection/item.vue +++ /dev/null @@ -1,402 +0,0 @@ - - - diff --git a/klp-ui/src/views/mes/qc/inspection/task.vue b/klp-ui/src/views/mes/qc/inspection/task.vue deleted file mode 100644 index 6a45f0311..000000000 --- a/klp-ui/src/views/mes/qc/inspection/task.vue +++ /dev/null @@ -1,1010 +0,0 @@ - - - diff --git a/klp-ui/src/views/mes/qc/inspectionSample/index.vue b/klp-ui/src/views/mes/qc/inspectionSample/index.vue index 8f90eb489..4e24aaa4d 100644 --- a/klp-ui/src/views/mes/qc/inspectionSample/index.vue +++ b/klp-ui/src/views/mes/qc/inspectionSample/index.vue @@ -3,14 +3,14 @@
所属单位: - + 全部 {{ company }}
方案名称: - + 全部 {{ scheme }} @@ -42,6 +42,9 @@ + @@ -151,7 +130,6 @@ export default { return { filterLoading: false, mainLoading: false, - addMainDialogVisible: false, templateList: [], cascadeData: {}, companyOptions: [], @@ -166,14 +144,7 @@ export default { pageNum: 1, pageSize: 1000 }, - dateRange: [], - addMainFormData: { - sampleName: '', - sampleNo: '', - batchNo: '', - inspectionDate: '', - remark: '' - } + dateRange: [] } }, created() { @@ -247,6 +218,7 @@ export default { }, handleCompanyChange() { + if (this.mainLoading) return this.selectedScheme = '' if (this.selectedCompany) { this.schemeOptions = this.cascadeData[this.selectedCompany] || [] @@ -262,6 +234,7 @@ export default { }, handleSchemeChange() { + if (this.mainLoading) return if (!this.selectedScheme) { this.currentTemplate = null this.mainList = [] @@ -365,31 +338,39 @@ export default { }, handleAddMain() { - this.addMainFormData = { + const itemMap = {} + if (this.checkItems.length > 0) { + this.checkItems.forEach(item => { + itemMap[item.itemName] = { + detailId: undefined, + mainId: undefined, + itemName: item.itemName, + itemValue: '', + itemUnit: item.unit, + upperLimit: item.targetUpper, + lowerLimit: item.targetLower, + rangeDesc: '' + } + }) + } + const newRow = { + _isNew: true, + _items: itemMap, + _originalItems: JSON.parse(JSON.stringify(itemMap)), + inspectionDate: '', sampleName: '', sampleNo: '', batchNo: '', - inspectionDate: '', remark: '' } - this.addMainDialogVisible = true - }, - - submitAddMain() { - const data = { - ...this.addMainFormData, - templateId: this.currentTemplate.templateId - } - addInspectionMain(data).then(() => { - this.$message.success('新增成功') - this.addMainDialogVisible = false - this.getMainList() - }).catch(() => { - this.$message.error('新增失败') - }) + this.mainList.unshift(newRow) }, handleSaveMain(row) { + if (!row.inspectionDate) { + this.$message.warning('请选择检验日期') + return + } row._saving = true const detailList = this.checkItems.map(checkItem => { const itemData = row._items[checkItem.itemName] @@ -405,38 +386,20 @@ export default { rangeDesc: itemData.rangeDesc || '' } }).filter(Boolean) - updateInspectionMain({ - mainId: row.mainId, + const requestData = { sampleName: row.sampleName, sampleNo: row.sampleNo, batchNo: row.batchNo, inspectionDate: row.inspectionDate, remark: row.remark, + templateId: this.currentTemplate.templateId, detailList: detailList - }).then(() => { + } + const isNew = row._isNew || !row.mainId + const apiCall = isNew ? addInspectionMain(requestData) : updateInspectionMain({ ...requestData, mainId: row.mainId }) + apiCall.then(() => { this.$message.success('保存成功') - return listInspectionDetail({ mainId: row.mainId, pageNum: 1, pageSize: 9999 }) - }).then(response => { - const details = response.rows || [] - if (this.checkItems.length > 0) { - this.checkItems.forEach(item => { - const found = details.find(d => d.itemName === item.itemName) - if (found) { - row._items[item.itemName] = { - detailId: found.detailId, - mainId: found.mainId, - itemName: found.itemName, - itemValue: found.itemValue || '', - itemUnit: found.itemUnit || item.unit, - upperLimit: found.upperLimit, - lowerLimit: found.lowerLimit, - rangeDesc: found.rangeDesc - } - } - }) - } - row._originalItems = JSON.parse(JSON.stringify(row._items)) - row._saving = false + this.getMainList() }).catch(() => { this.$message.error('保存失败') row._saving = false @@ -515,4 +478,10 @@ export default { ::v-deep .dynamic-table .el-table__body-wrapper { overflow-x: auto; } + +.required-mark::before { + content: '*'; + color: #f56c6c; + margin-right: 4px; +} diff --git a/klp-ui/src/views/mes/qc/item/index.vue b/klp-ui/src/views/mes/qc/item/index.vue deleted file mode 100644 index 31c6fc83a..000000000 --- a/klp-ui/src/views/mes/qc/item/index.vue +++ /dev/null @@ -1,299 +0,0 @@ - - - diff --git a/klp-ui/src/views/mes/qc/task/index.vue b/klp-ui/src/views/mes/qc/task/index.vue deleted file mode 100644 index 674d67e5f..000000000 --- a/klp-ui/src/views/mes/qc/task/index.vue +++ /dev/null @@ -1,405 +0,0 @@ - - - diff --git a/klp-ui/src/views/mes/qc/task/pages/auxiliary.vue b/klp-ui/src/views/mes/qc/task/pages/auxiliary.vue deleted file mode 100644 index c66232d35..000000000 --- a/klp-ui/src/views/mes/qc/task/pages/auxiliary.vue +++ /dev/null @@ -1,467 +0,0 @@ - - - diff --git a/klp-ui/src/views/mes/qc/task/pages/lab.vue b/klp-ui/src/views/mes/qc/task/pages/lab.vue deleted file mode 100644 index bf55ca316..000000000 --- a/klp-ui/src/views/mes/qc/task/pages/lab.vue +++ /dev/null @@ -1,443 +0,0 @@ - - - diff --git a/klp-ui/src/views/mes/qc/task/pages/raw.vue b/klp-ui/src/views/mes/qc/task/pages/raw.vue deleted file mode 100644 index e9c4d0366..000000000 --- a/klp-ui/src/views/mes/qc/task/pages/raw.vue +++ /dev/null @@ -1,493 +0,0 @@ - - - diff --git a/klp-ui/src/views/mes/qc/task/pages/section.vue b/klp-ui/src/views/mes/qc/task/pages/section.vue deleted file mode 100644 index 513de3a91..000000000 --- a/klp-ui/src/views/mes/qc/task/pages/section.vue +++ /dev/null @@ -1,451 +0,0 @@ - - -