From e0cf4b46b6e1934bc4d0cbf778f7bdf189834979 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= <2178503051@qq.com> Date: Fri, 12 Jun 2026 13:43:17 +0800 Subject: [PATCH] =?UTF-8?q?feat(mes/qc):=20=20=E5=A2=9E=E5=8A=A0=E7=89=A9?= =?UTF-8?q?=E7=90=86=E6=80=A7=E8=B4=A8=E5=92=8C=E5=8C=96=E5=AD=A6=E6=88=90?= =?UTF-8?q?=E5=88=86=E5=90=8C=E6=97=B6=E5=AF=BC=E5=85=A5=20=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E4=BA=86=E9=80=9A=E7=94=A8=E7=9A=84=E7=BB=BC=E5=90=88?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E7=BB=84=E4=BB=B6=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=90=8C=E6=97=B6=E5=AF=BC=E5=85=A5=E5=8C=96=E5=AD=A6=E6=88=90?= =?UTF-8?q?=E5=88=86=E5=92=8C=E7=89=A9=E7=90=86=E6=80=A7=E8=83=BD=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=EF=BC=8C=E5=B9=B6=E5=9C=A8=E7=90=86=E5=8C=96=E8=AF=81?= =?UTF-8?q?=E4=B9=A6=E9=A1=B5=E9=9D=A2=E6=B7=BB=E5=8A=A0=E4=BA=86=E5=AF=B9?= =?UTF-8?q?=E5=BA=94=E7=9A=84=E7=BB=BC=E5=90=88=E5=AF=BC=E5=85=A5=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E5=92=8C=E9=80=BB=E8=BE=91=EF=BC=8C=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E4=B8=80=E7=AB=99=E5=BC=8F=E6=89=B9=E9=87=8F=E5=AF=BC=E5=85=A5?= =?UTF-8?q?=E4=B8=A4=E7=A7=8D=E7=B1=BB=E5=9E=8B=E7=9A=84=E8=B4=A8=E6=A3=80?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/CombinedImport/index.vue | 563 ++++++++++++++++++ .../views/mes/qc/certificate/chemistry.vue | 19 +- .../src/views/mes/qc/certificate/physics.vue | 19 +- 3 files changed, 599 insertions(+), 2 deletions(-) create mode 100644 klp-ui/src/components/CombinedImport/index.vue diff --git a/klp-ui/src/components/CombinedImport/index.vue b/klp-ui/src/components/CombinedImport/index.vue new file mode 100644 index 00000000..16a49b04 --- /dev/null +++ b/klp-ui/src/components/CombinedImport/index.vue @@ -0,0 +1,563 @@ + + + + + diff --git a/klp-ui/src/views/mes/qc/certificate/chemistry.vue b/klp-ui/src/views/mes/qc/certificate/chemistry.vue index da541bdb..1500a5b2 100644 --- a/klp-ui/src/views/mes/qc/certificate/chemistry.vue +++ b/klp-ui/src/views/mes/qc/certificate/chemistry.vue @@ -48,6 +48,15 @@ @click="openImportDialog" >导入 + + 综合导入 + + +
厂家卷号匹配到多条入场卷号,请为每行选择对应记录 @@ -339,6 +350,7 @@ import * as XLSX from 'xlsx'; import { listChemicalItem, getChemicalItem, delChemicalItem, addChemicalItem, updateChemicalItem, batchAddChemicalItem } from "@/api/mes/qc/chemicalItem"; import CoilSelector from "@/components/CoilSelector"; +import CombinedImport from "@/components/CombinedImport"; import { listMaterialCoil } from "@/api/wms/coil"; const CHEMI_TEMPLATE_HEADERS = ['入场钢卷号', '厂家卷号', 'C(%)', 'Si(%)', 'Mn(%)', 'P(%)', 'S(%)', 'Als(%)', 'Al(%)', 'Ti(%)', 'Cr(%)', 'Ni(%)', 'Cu(%)', 'N(%)', 'Fe(%)', 'B(%)']; @@ -365,7 +377,8 @@ const CHEMI_HEADER_MAP = { export default { name: "ChemicalItem", components: { - CoilSelector + CoilSelector, + CombinedImport }, computed: {}, data() { @@ -437,6 +450,7 @@ export default { supplierCoilNoLoading: false, ambiguousVisible: false, ambiguousRows: [], + combinedImportVisible: false, }; }, created() { @@ -577,6 +591,9 @@ export default { openImportDialog() { this.importDialogVisible = true; }, + openCombinedImport() { + this.combinedImportVisible = true; + }, importHandleFileChange(file) { if (this.importValidateLoading || this.importLoading) return; this.importFile = file.raw; diff --git a/klp-ui/src/views/mes/qc/certificate/physics.vue b/klp-ui/src/views/mes/qc/certificate/physics.vue index fa32d86b..0daa022e 100644 --- a/klp-ui/src/views/mes/qc/certificate/physics.vue +++ b/klp-ui/src/views/mes/qc/certificate/physics.vue @@ -104,6 +104,15 @@ @click="openImportDialog" >导入 + + 综合导入 + + +
厂家卷号匹配到多条入场卷号,请为每行选择对应记录 @@ -371,6 +382,7 @@ import * as XLSX from 'xlsx'; import { listPhysicalItem, getPhysicalItem, delPhysicalItem, addPhysicalItem, updatePhysicalItem, batchAddPhysicalItem } from "@/api/mes/qc/physicalItem"; import CoilSelector from "@/components/CoilSelector"; +import CombinedImport from "@/components/CombinedImport"; import { listMaterialCoil } from "@/api/wms/coil"; const PHYS_TEMPLATE_HEADERS = [ @@ -397,7 +409,8 @@ const PHYS_HEADER_MAP = { export default { name: "PhysicalItem", components: { - CoilSelector + CoilSelector, + CombinedImport }, computed: {}, data() { @@ -465,6 +478,7 @@ export default { supplierCoilNoLoading: false, ambiguousVisible: false, ambiguousRows: [], + combinedImportVisible: false, }; }, created() { @@ -601,6 +615,9 @@ export default { openImportDialog() { this.importDialogVisible = true; }, + openCombinedImport() { + this.combinedImportVisible = true; + }, importHandleFileChange(file) { if (this.importValidateLoading || this.importLoading) return; this.importFile = file.raw;