Browse Source

2026-08-05

BOM子物料增加“宽幅”、“跳距”、“排位”属性,报价同步增加
master
fengyuan_yang 2 months ago
parent
commit
f8adfd8dfe
  1. 172
      src/views/modules/part/bomManagement.vue
  2. 51
      src/views/modules/quote/detail/primary/quoteDetailBom.vue

172
src/views/modules/part/bomManagement.vue

@ -677,6 +677,17 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" :model="componentData" style="margin-left: 5px">
<el-form-item label="宽幅">
<el-input-number :precision="6" :controls="false" :step="0" v-model="componentData.width" style="width: 220px"></el-input-number>
</el-form-item>
<el-form-item label="跳距">
<el-input-number :precision="6" :controls="false" :step="0" v-model="componentData.vp" style="width: 220px"></el-input-number>
</el-form-item>
<el-form-item label="排位">
<el-input-number :precision="6" :controls="false" :step="0" v-model="componentData.across" style="width: 220px"></el-input-number>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="componentData" style="margin-left: 5px"> <el-form :inline="true" label-position="top" :model="componentData" style="margin-left: 5px">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input type="textarea" v-model="componentData.noteText" :rows="3" resize='none' show-word-limit style="width: 759px;height: 20px"></el-input> <el-input type="textarea" v-model="componentData.noteText" :rows="3" resize='none' show-word-limit style="width: 759px;height: 20px"></el-input>
@ -1400,6 +1411,9 @@ export default {
operationNo: '', operationNo: '',
issueToLoc: '', issueToLoc: '',
issueToLocName: '', issueToLocName: '',
width: '',
vp: '',
across: '',
noteText: '', noteText: '',
createDate: '', createDate: '',
createBy: '', createBy: '',
@ -2215,6 +2229,60 @@ export default {
fixed: '', fixed: '',
columnWidth: 80 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, userId: this.$store.state.user.name,
functionId: 104002001, functionId: 104002001,
@ -2451,6 +2519,60 @@ export default {
fixed: '', fixed: '',
columnWidth: 80 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, userId: this.$store.state.user.name,
functionId: 104002001, functionId: 104002001,
@ -3868,6 +3990,9 @@ export default {
operationNo: '', operationNo: '',
issueToLoc: '', issueToLoc: '',
issueToLocName: '', issueToLocName: '',
width: null,
vp: null,
across: null,
noteText: '', noteText: '',
createBy: this.$store.state.user.name, createBy: this.$store.state.user.name,
lineSequence: '', lineSequence: '',
@ -3910,6 +4035,9 @@ export default {
operationNo: '', operationNo: '',
issueToLoc: '', issueToLoc: '',
issueToLocName: '', issueToLocName: '',
width: null,
vp: null,
across: null,
noteText: '', noteText: '',
createBy: this.$store.state.user.name, createBy: this.$store.state.user.name,
lineSequence: '', lineSequence: '',
@ -3948,6 +4076,9 @@ export default {
operationNo: row.operationNo, operationNo: row.operationNo,
issueToLoc: row.issueToLoc, issueToLoc: row.issueToLoc,
issueToLocName: row.issueToLocName, issueToLocName: row.issueToLocName,
width: row.width,
vp: row.vp,
across: row.across,
noteText: row.noteText, noteText: row.noteText,
updateBy: this.$store.state.user.name, updateBy: this.$store.state.user.name,
lineSequence: row.lineSequence, lineSequence: row.lineSequence,
@ -3982,6 +4113,9 @@ export default {
operationNo: row.operationNo, operationNo: row.operationNo,
issueToLoc: row.issueToLoc, issueToLoc: row.issueToLoc,
issueToLocName: row.issueToLocName, issueToLocName: row.issueToLocName,
width: row.width,
vp: row.vp,
across: row.across,
noteText: row.noteText, noteText: row.noteText,
updateBy: this.$store.state.user.name, updateBy: this.$store.state.user.name,
lineSequence: row.lineSequence, lineSequence: row.lineSequence,
@ -4223,6 +4357,7 @@ export default {
this.componentData.componentPartDesc = row.partDesc this.componentData.componentPartDesc = row.partDesc
this.componentData.printUnit = row.printUnit this.componentData.printUnit = row.printUnit
this.componentData.printUnitName = row.printUnitName this.componentData.printUnitName = row.printUnitName
this.tryAutoFillWidthByPartNo(row.partNo)
this.componentPartModelFlag = false this.componentPartModelFlag = false
}, },
@ -4399,25 +4534,54 @@ export default {
// //
componentPartBlur () { componentPartBlur () {
if (this.componentData.componentPart != null && this.componentData.componentPart !== '') { if (this.componentData.componentPart != null && this.componentData.componentPart !== '') {
this.tryAutoFillWidthByPartNo(this.componentData.componentPart)
this.componentPartData.limit = this.pageSize3 this.componentPartData.limit = this.pageSize3
this.componentPartData.page = this.pageIndex3 this.componentPartData.page = this.pageIndex3
this.componentPartData.ifsPartNo = this.componentData.componentPart this.componentPartData.ifsPartNo = this.componentData.componentPart
queryPartListAll(this.componentPartData).then(({data}) => { queryPartListAll(this.componentPartData).then(({data}) => {
if (data && data.code === 0) {
if (data.page.list.length === 1) {
if (data && data.code === 0 && data.page.list.length === 1) {
this.componentData.componentPartDesc = data.page.list[0].partDesc this.componentData.componentPartDesc = data.page.list[0].partDesc
this.componentData.printUnit = data.page.list[0].printUnit this.componentData.printUnit = data.page.list[0].printUnit
this.componentData.printUnitName = data.page.list[0].printUnitName this.componentData.printUnitName = data.page.list[0].printUnitName
return
}
this.tryAutoFillWidthByPartNo(this.componentData.componentPart)
} else {
this.componentData.componentPartDesc = ''
this.componentData.printUnit = ''
this.componentData.printUnitName = ''
} }
}) })
return
} }
this.componentData.componentPartDesc = '' this.componentData.componentPartDesc = ''
this.componentData.printUnit = '' this.componentData.printUnit = ''
this.componentData.printUnitName = '' 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 // copy
copyPartBlur () { copyPartBlur () {
if (this.copyPartData.type === '1') { if (this.copyPartData.type === '1') {

51
src/views/modules/quote/detail/primary/quoteDetailBom.vue

@ -94,6 +94,57 @@ export default {
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 160, 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, userId: this.$store.state.user.name,
functionId: 5011, functionId: 5011,

Loading…
Cancel
Save