Browse Source

批量修改传参问题

java8
han\hanst 2 months ago
parent
commit
d35fe1760e
  1. 42
      src/views/modules/part/bom_create.vue

42
src/views/modules/part/bom_create.vue

@ -548,7 +548,7 @@
<el-dialog title="批量修改" :close-on-click-modal="false" v-drag :visible.sync="batchUpdateComponentsFlag" width="1500px"> <el-dialog title="批量修改" :close-on-click-modal="false" v-drag :visible.sync="batchUpdateComponentsFlag" width="1500px">
<div class="rq "> <div class="rq ">
<el-table <el-table
:data="subDetailList"
:data="batchUpdateList"
height="286px" height="286px"
border border
style="width:100%"> style="width:100%">
@ -1017,6 +1017,7 @@ export default {
checkedDetail: [], checkedDetail: [],
detailDataList: [], detailDataList: [],
subDetailList: [], subDetailList: [],
batchUpdateList: [], //
componentPartList: [], componentPartList: [],
componentPartList1: [], componentPartList1: [],
batchComponentPartList: [], batchComponentPartList: [],
@ -3944,21 +3945,32 @@ export default {
this.getDataList() this.getDataList()
}, },
/**
* 打开批量修改弹窗
* 深拷贝 subDetailList batchUpdateList避免修改时影响原数据
*/
batchUpdateComponents() { batchUpdateComponents() {
//
this.batchUpdateList = JSON.parse(JSON.stringify(this.subDetailList))
this.batchUpdateComponentsFlag = true this.batchUpdateComponentsFlag = true
}, },
/**
* 保存批量修改
* 使用 batchUpdateList 临时数据进行修改和保存
* 成功后同步回 subDetailList
*/
async batchUpdateComponentsSave() { async batchUpdateComponentsSave() {
// loading // loading
this.batchUpdateSaveLoading = true this.batchUpdateSaveLoading = true
let flag = true let flag = true
// //
const listLength = this.subDetailList.length
const listLength = this.batchUpdateList.length
for (let i = 0; i < listLength; i++) { for (let i = 0; i < listLength; i++) {
// //
let row = this.subDetailList[i]
let row = this.batchUpdateList[i]
this.componentData = { this.componentData = {
flag: '2', flag: '2',
site: row.site, site: row.site,
@ -4050,8 +4062,25 @@ export default {
try { try {
const {data} = await computeQtyPerAssemblyEdit(this.componentData) const {data} = await computeQtyPerAssemblyEdit(this.componentData)
if (data && data.code === 0) { if (data && data.code === 0) {
//
this.subDetailList = data.rows.subDetailList
// componentPart lineSequence
//
const returnedList = data.rows.subDetailList || []
const currentRow = this.batchUpdateList[i]
//
const updatedRow = returnedList.find(item =>
item.componentPart === currentRow.componentPart &&
item.lineSequence === currentRow.lineSequence
)
if (updatedRow) {
//
this.$set(this.batchUpdateList, i, {
...this.batchUpdateList[i],
qtyPerAssembly: updatedRow.qtyPerAssembly, //
formula: updatedRow.formula, // setFormula
})
}
} else if (data && data.code !== 0) { } else if (data && data.code !== 0) {
flag = false flag = false
this.batchUpdateSaveLoading = false this.batchUpdateSaveLoading = false
@ -4074,6 +4103,9 @@ export default {
this.batchUpdateSaveLoading = false this.batchUpdateSaveLoading = false
if(flag) { if(flag) {
//
this.subDetailList = JSON.parse(JSON.stringify(this.batchUpdateList))
this.$message({ this.$message({
message: '批量修改并计算完成', message: '批量修改并计算完成',
type: 'success', type: 'success',

Loading…
Cancel
Save