From f8adfd8dfe5b563d10b1a1e505557a1dbe555791 Mon Sep 17 00:00:00 2001
From: fengyuan_yang <1976974459@qq.com>
Date: Wed, 5 Aug 2026 15:40:16 +0800
Subject: [PATCH] =?UTF-8?q?2026-08-05=20BOM=E5=AD=90=E7=89=A9=E6=96=99?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E2=80=9C=E5=AE=BD=E5=B9=85=E2=80=9D=E3=80=81?=
=?UTF-8?q?=E2=80=9C=E8=B7=B3=E8=B7=9D=E2=80=9D=E3=80=81=E2=80=9C=E6=8E=92?=
=?UTF-8?q?=E4=BD=8D=E2=80=9D=E5=B1=9E=E6=80=A7=EF=BC=8C=E6=8A=A5=E4=BB=B7?=
=?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=A2=9E=E5=8A=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/modules/part/bomManagement.vue | 178 +++++++++++++++++-
.../quote/detail/primary/quoteDetailBom.vue | 51 +++++
2 files changed, 222 insertions(+), 7 deletions(-)
diff --git a/src/views/modules/part/bomManagement.vue b/src/views/modules/part/bomManagement.vue
index a3268a2..355786a 100644
--- a/src/views/modules/part/bomManagement.vue
+++ b/src/views/modules/part/bomManagement.vue
@@ -677,6 +677,17 @@
+
+
+
+
+
+
+
+
+
+
+
@@ -1400,6 +1411,9 @@ export default {
operationNo: '',
issueToLoc: '',
issueToLocName: '',
+ width: '',
+ vp: '',
+ across: '',
noteText: '',
createDate: '',
createBy: '',
@@ -2215,6 +2229,60 @@ export default {
fixed: '',
columnWidth: 80
},
+ {
+ userId: this.$store.state.user.name,
+ functionId: 104002001,
+ serialNumber: '104002001Table2Width',
+ tableId: '104002001Table2',
+ tableName: 'BOM子物料表',
+ columnProp: 'width',
+ headerAlign: 'center',
+ align: 'right',
+ columnLabel: '宽幅',
+ columnHidden: false,
+ columnImage: false,
+ columnSortable: false,
+ sortLv: 0,
+ status: true,
+ fixed: '',
+ columnWidth: 90
+ },
+ {
+ userId: this.$store.state.user.name,
+ functionId: 104002001,
+ serialNumber: '104002001Table2Vp',
+ tableId: '104002001Table2',
+ tableName: 'BOM子物料表',
+ columnProp: 'vp',
+ headerAlign: 'center',
+ align: 'right',
+ columnLabel: '跳距',
+ columnHidden: false,
+ columnImage: false,
+ columnSortable: false,
+ sortLv: 0,
+ status: true,
+ fixed: '',
+ columnWidth: 90
+ },
+ {
+ userId: this.$store.state.user.name,
+ functionId: 104002001,
+ serialNumber: '104002001Table2Across',
+ tableId: '104002001Table2',
+ tableName: 'BOM子物料表',
+ columnProp: 'across',
+ headerAlign: 'center',
+ align: 'right',
+ columnLabel: '排位',
+ columnHidden: false,
+ columnImage: false,
+ columnSortable: false,
+ sortLv: 0,
+ status: true,
+ fixed: '',
+ columnWidth: 90
+ },
{
userId: this.$store.state.user.name,
functionId: 104002001,
@@ -2451,6 +2519,60 @@ export default {
fixed: '',
columnWidth: 80
},
+ {
+ userId: this.$store.state.user.name,
+ functionId: 104002001,
+ serialNumber: '104002001Table3Width',
+ tableId: '104002001Table3',
+ tableName: 'BOM副产品表',
+ columnProp: 'width',
+ headerAlign: 'center',
+ align: 'right',
+ columnLabel: '宽幅',
+ columnHidden: false,
+ columnImage: false,
+ columnSortable: false,
+ sortLv: 0,
+ status: true,
+ fixed: '',
+ columnWidth: 90
+ },
+ {
+ userId: this.$store.state.user.name,
+ functionId: 104002001,
+ serialNumber: '104002001Table3Vp',
+ tableId: '104002001Table3',
+ tableName: 'BOM副产品表',
+ columnProp: 'vp',
+ headerAlign: 'center',
+ align: 'right',
+ columnLabel: '跳距',
+ columnHidden: false,
+ columnImage: false,
+ columnSortable: false,
+ sortLv: 0,
+ status: true,
+ fixed: '',
+ columnWidth: 90
+ },
+ {
+ userId: this.$store.state.user.name,
+ functionId: 104002001,
+ serialNumber: '104002001Table3Across',
+ tableId: '104002001Table3',
+ tableName: 'BOM副产品表',
+ columnProp: 'across',
+ headerAlign: 'center',
+ align: 'right',
+ columnLabel: '排位',
+ columnHidden: false,
+ columnImage: false,
+ columnSortable: false,
+ sortLv: 0,
+ status: true,
+ fixed: '',
+ columnWidth: 90
+ },
{
userId: this.$store.state.user.name,
functionId: 104002001,
@@ -3868,6 +3990,9 @@ export default {
operationNo: '',
issueToLoc: '',
issueToLocName: '',
+ width: null,
+ vp: null,
+ across: null,
noteText: '',
createBy: this.$store.state.user.name,
lineSequence: '',
@@ -3910,6 +4035,9 @@ export default {
operationNo: '',
issueToLoc: '',
issueToLocName: '',
+ width: null,
+ vp: null,
+ across: null,
noteText: '',
createBy: this.$store.state.user.name,
lineSequence: '',
@@ -3948,6 +4076,9 @@ export default {
operationNo: row.operationNo,
issueToLoc: row.issueToLoc,
issueToLocName: row.issueToLocName,
+ width: row.width,
+ vp: row.vp,
+ across: row.across,
noteText: row.noteText,
updateBy: this.$store.state.user.name,
lineSequence: row.lineSequence,
@@ -3982,6 +4113,9 @@ export default {
operationNo: row.operationNo,
issueToLoc: row.issueToLoc,
issueToLocName: row.issueToLocName,
+ width: row.width,
+ vp: row.vp,
+ across: row.across,
noteText: row.noteText,
updateBy: this.$store.state.user.name,
lineSequence: row.lineSequence,
@@ -4223,6 +4357,7 @@ export default {
this.componentData.componentPartDesc = row.partDesc
this.componentData.printUnit = row.printUnit
this.componentData.printUnitName = row.printUnitName
+ this.tryAutoFillWidthByPartNo(row.partNo)
this.componentPartModelFlag = false
},
@@ -4399,25 +4534,54 @@ export default {
// 子物料编码失焦事件
componentPartBlur () {
if (this.componentData.componentPart != null && this.componentData.componentPart !== '') {
+ this.tryAutoFillWidthByPartNo(this.componentData.componentPart)
this.componentPartData.limit = this.pageSize3
this.componentPartData.page = this.pageIndex3
this.componentPartData.ifsPartNo = this.componentData.componentPart
queryPartListAll(this.componentPartData).then(({data}) => {
- if (data && data.code === 0) {
- if (data.page.list.length === 1) {
- this.componentData.componentPartDesc = data.page.list[0].partDesc
- this.componentData.printUnit = data.page.list[0].printUnit
- this.componentData.printUnitName = data.page.list[0].printUnitName
- return
- }
+ if (data && data.code === 0 && data.page.list.length === 1) {
+ this.componentData.componentPartDesc = data.page.list[0].partDesc
+ this.componentData.printUnit = data.page.list[0].printUnit
+ this.componentData.printUnitName = data.page.list[0].printUnitName
+ this.tryAutoFillWidthByPartNo(this.componentData.componentPart)
+ } else {
+ this.componentData.componentPartDesc = ''
+ this.componentData.printUnit = ''
+ this.componentData.printUnitName = ''
}
})
+ return
}
this.componentData.componentPartDesc = ''
this.componentData.printUnit = ''
this.componentData.printUnitName = ''
},
+ tryAutoFillWidthByPartNo (partNo) {
+ if (this.componentData.flag !== '1') {
+ return
+ }
+ if (partNo == null || partNo === '') {
+ return
+ }
+ const splitIndex = partNo.lastIndexOf('-')
+ if (splitIndex < 0 || splitIndex === partNo.length - 1) {
+ this.componentData.width = null
+ return
+ }
+ const widthText = partNo.substring(splitIndex + 1).trim()
+ if (widthText === '') {
+ this.componentData.width = null
+ return
+ }
+ const parsedWidth = Number(widthText)
+ if (!Number.isNaN(parsedWidth)) {
+ this.componentData.width = parsedWidth
+ } else {
+ this.componentData.width = null
+ }
+ },
+
// copy物料编码失焦事件
copyPartBlur () {
if (this.copyPartData.type === '1') {
diff --git a/src/views/modules/quote/detail/primary/quoteDetailBom.vue b/src/views/modules/quote/detail/primary/quoteDetailBom.vue
index a2de6c2..8dd3852 100644
--- a/src/views/modules/quote/detail/primary/quoteDetailBom.vue
+++ b/src/views/modules/quote/detail/primary/quoteDetailBom.vue
@@ -94,6 +94,57 @@ export default {
status: true,
fixed: '',
columnWidth: 160,
+ }, {
+ userId: this.$store.state.user.name,
+ functionId: 5011,
+ serialNumber: '5011Table4Width',
+ tableId: "5011Table4",
+ tableName: "报价材料信息",
+ columnProp: 'width',
+ headerAlign: "center",
+ align: "right",
+ columnLabel: '宽幅',
+ columnHidden: false,
+ columnImage: false,
+ columnSortable: false,
+ sortLv: 0,
+ status: true,
+ fixed: '',
+ columnWidth: 90,
+ }, {
+ userId: this.$store.state.user.name,
+ functionId: 5011,
+ serialNumber: '5011Table4Vp',
+ tableId: "5011Table4",
+ tableName: "报价材料信息",
+ columnProp: 'vp',
+ headerAlign: "center",
+ align: "right",
+ columnLabel: '跳距',
+ columnHidden: false,
+ columnImage: false,
+ columnSortable: false,
+ sortLv: 0,
+ status: true,
+ fixed: '',
+ columnWidth: 90,
+ }, {
+ userId: this.$store.state.user.name,
+ functionId: 5011,
+ serialNumber: '5011Table4Across',
+ tableId: "5011Table4",
+ tableName: "报价材料信息",
+ columnProp: 'across',
+ headerAlign: "center",
+ align: "right",
+ columnLabel: '排位',
+ columnHidden: false,
+ columnImage: false,
+ columnSortable: false,
+ sortLv: 0,
+ status: true,
+ fixed: '',
+ columnWidth: 90,
}, {
userId: this.$store.state.user.name,
functionId: 5011,