|
|
|
|
@ -181,8 +181,8 @@
|
|
|
|
|
<span style="color: red;font-weight: 600;padding-right: 4px;" />出库明细 :
|
|
|
|
|
</div>
|
|
|
|
|
<div class="xy-table-item-content" style="width: calc(100% - 160px);">
|
|
|
|
|
<Button type="primary" icon="md-add" style="margin-bottom: 10px" @click="isShowMingxi=true">新增出库明细</Button>
|
|
|
|
|
<xy-table style="width: 100%" :height="260" :is-page="false" :list="mingxiList" :table-item="mingxiTable">
|
|
|
|
|
<Button type="primary" icon="md-add" style="margin-bottom: 10px" @click="openMingxiModal">新增出库明细</Button>
|
|
|
|
|
<xy-table style="width: 100%" :height="260" :is-page="false" :list="getDisplayList()" :table-item="mingxiTable">
|
|
|
|
|
<template v-slot:btns>
|
|
|
|
|
<el-table-column label="操作" width="90" header-align="center" align="center">
|
|
|
|
|
<template v-slot:default="scope">
|
|
|
|
|
@ -490,6 +490,7 @@ export default {
|
|
|
|
|
indexList:[], // 选择的一物一码id
|
|
|
|
|
},
|
|
|
|
|
mingxiList: [],
|
|
|
|
|
mergedDisplayList: [], // 合并后的显示列表
|
|
|
|
|
showLoading: true,
|
|
|
|
|
mingxiTable: [
|
|
|
|
|
// {label:'id',
|
|
|
|
|
@ -543,7 +544,7 @@ export default {
|
|
|
|
|
label: '是否回库',
|
|
|
|
|
prop: 'shifouhuiku',
|
|
|
|
|
width: 80
|
|
|
|
|
}, , {
|
|
|
|
|
}, {
|
|
|
|
|
label: '回库日期',
|
|
|
|
|
prop: 'huikushijian',
|
|
|
|
|
width: 120
|
|
|
|
|
@ -561,8 +562,13 @@ export default {
|
|
|
|
|
if (this.type === 'editor' || this.type === 'outbounds') {
|
|
|
|
|
this.getDetail()
|
|
|
|
|
} else {
|
|
|
|
|
// 新增模式:清空所有相关数据
|
|
|
|
|
this.mingxiList = []
|
|
|
|
|
this.mergedDisplayList = []
|
|
|
|
|
this.clearMingxiData()
|
|
|
|
|
this.getUserName()
|
|
|
|
|
this.form.jilurenyuan = this.authName
|
|
|
|
|
console.log('新增模式:主弹窗打开时已清空所有数据')
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
if(this.$route.query.oaType==='wuzi'){
|
|
|
|
|
@ -571,11 +577,20 @@ export default {
|
|
|
|
|
this.id = ''
|
|
|
|
|
this.type = ''
|
|
|
|
|
this.mingxiList = []
|
|
|
|
|
this.mergedDisplayList = []
|
|
|
|
|
this.fileList = []
|
|
|
|
|
this.authName = ''
|
|
|
|
|
this.activeStep = 0
|
|
|
|
|
this.$refs['dialog'].reset()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 监听明细弹窗的显示状态
|
|
|
|
|
isShowMingxi(newVal) {
|
|
|
|
|
if (!newVal) {
|
|
|
|
|
// 弹窗关闭时不清除数据,保持选择状态
|
|
|
|
|
console.log('明细弹窗关闭,保持数据状态')
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
created() {
|
|
|
|
|
@ -747,7 +762,7 @@ export default {
|
|
|
|
|
zichanmingcheng : this.mingxiObj.zichanmingcheng,
|
|
|
|
|
wuzileixing : this.mingxiObj.wuzileixing,
|
|
|
|
|
rukupici : this.mingxiObj.rukupici,
|
|
|
|
|
zaikushuliang : 1,
|
|
|
|
|
zaikushuliang : this.mingxiObj.zaikushuliang,
|
|
|
|
|
jiliangdanwei : this.mingxiObj.jiliangdanwei,
|
|
|
|
|
inventorys_id : item,
|
|
|
|
|
guigexinghao : this.mingxiObj.guigexinghao,
|
|
|
|
|
@ -768,25 +783,17 @@ export default {
|
|
|
|
|
}else{
|
|
|
|
|
this.mingxiList.push(this.mingxiObj)
|
|
|
|
|
}
|
|
|
|
|
this.mingxiObj = {
|
|
|
|
|
wuzibianma: '',
|
|
|
|
|
jieyongshuliang: '',
|
|
|
|
|
shifouhuiku: '',
|
|
|
|
|
huikushijian: '',
|
|
|
|
|
otherMetadata:[],
|
|
|
|
|
indexList:[]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 合并相同物资编码且为一物一码的数据
|
|
|
|
|
this.mergeOneCodeItems()
|
|
|
|
|
|
|
|
|
|
// 清除明细弹窗数据(但不影响已保存的明细列表)
|
|
|
|
|
this.clearMingxiFormData()
|
|
|
|
|
this.isShowMingxi = false
|
|
|
|
|
},
|
|
|
|
|
mingxiCancel() {
|
|
|
|
|
this.mingxiObj = {
|
|
|
|
|
wuzibianma: '',
|
|
|
|
|
jieyongshuliang: '',
|
|
|
|
|
shifouhuiku: '',
|
|
|
|
|
huikushijian: '',
|
|
|
|
|
otherMetadata:[],
|
|
|
|
|
indexList:[]
|
|
|
|
|
}
|
|
|
|
|
// 清除明细弹窗数据
|
|
|
|
|
this.clearMingxiData()
|
|
|
|
|
this.isShowMingxi = false
|
|
|
|
|
},
|
|
|
|
|
// 删除明细记录
|
|
|
|
|
@ -807,15 +814,130 @@ export default {
|
|
|
|
|
type: 'success',
|
|
|
|
|
message: '删除成功'
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// 如果是合并项,需要删除所有相关的原始项目
|
|
|
|
|
if (row.isMerged && row.originalItems) {
|
|
|
|
|
row.originalItems.forEach(originalItem => {
|
|
|
|
|
const originalIndex = this.mingxiList.findIndex(item =>
|
|
|
|
|
item.wuzibianma === originalItem.wuzibianma &&
|
|
|
|
|
item.inventorys_id === originalItem.inventorys_id
|
|
|
|
|
)
|
|
|
|
|
if (originalIndex !== -1) {
|
|
|
|
|
this.mingxiList.splice(originalIndex, 1)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
// 如果不是合并项,直接删除
|
|
|
|
|
this.mingxiList.splice(index, 1)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 重新合并显示列表
|
|
|
|
|
this.mergeOneCodeItems()
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 打开明细弹窗
|
|
|
|
|
openMingxiModal() {
|
|
|
|
|
// 不清空任何数据,保持现有状态
|
|
|
|
|
console.log('打开明细弹窗,保持现有数据状态')
|
|
|
|
|
|
|
|
|
|
// 打开弹窗
|
|
|
|
|
this.isShowMingxi = true
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 清除明细相关数据(完全清除,包括显示列表)
|
|
|
|
|
clearMingxiData() {
|
|
|
|
|
console.log('开始清除明细弹窗数据...')
|
|
|
|
|
console.log('清除前 mergedDisplayList:', this.mergedDisplayList)
|
|
|
|
|
|
|
|
|
|
// 重置明细对象
|
|
|
|
|
this.mingxiObj = {
|
|
|
|
|
wuzibianma: '',
|
|
|
|
|
jieyongshuliang: '',
|
|
|
|
|
shifouhuiku: '',
|
|
|
|
|
huikushijian: '',
|
|
|
|
|
otherMetadata: [],
|
|
|
|
|
indexList: []
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 清除合并后的显示列表
|
|
|
|
|
this.mergedDisplayList = []
|
|
|
|
|
|
|
|
|
|
// 重置物资选择组件的状态
|
|
|
|
|
if (this.$refs.inventorysSelect) {
|
|
|
|
|
this.$refs.inventorysSelect.selectItem = {}
|
|
|
|
|
this.$refs.inventorysSelect.wuziPageIndex = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
console.log('清除后 mergedDisplayList:', this.mergedDisplayList)
|
|
|
|
|
console.log('明细弹窗数据已清除完成')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 清除明细表单数据(不影响已保存的明细列表和显示列表)
|
|
|
|
|
clearMingxiFormData() {
|
|
|
|
|
console.log('开始清除明细表单数据...')
|
|
|
|
|
|
|
|
|
|
// 重置明细对象
|
|
|
|
|
this.mingxiObj = {
|
|
|
|
|
wuzibianma: '',
|
|
|
|
|
jieyongshuliang: '',
|
|
|
|
|
shifouhuiku: '',
|
|
|
|
|
huikushijian: '',
|
|
|
|
|
otherMetadata: [],
|
|
|
|
|
indexList: []
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 重置物资选择组件的状态
|
|
|
|
|
if (this.$refs.inventorysSelect) {
|
|
|
|
|
this.$refs.inventorysSelect.selectItem = {}
|
|
|
|
|
this.$refs.inventorysSelect.wuziPageIndex = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
console.log('明细表单数据已清除完成')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 清空所有明细相关数据(用于新增模式)
|
|
|
|
|
clearAllMingxiData() {
|
|
|
|
|
console.log('开始清空所有明细相关数据...')
|
|
|
|
|
|
|
|
|
|
// 清空明细列表
|
|
|
|
|
this.mingxiList = []
|
|
|
|
|
this.mergedDisplayList = []
|
|
|
|
|
|
|
|
|
|
// 清空明细对象
|
|
|
|
|
this.mingxiObj = {
|
|
|
|
|
wuzibianma: '',
|
|
|
|
|
jieyongshuliang: '',
|
|
|
|
|
shifouhuiku: '',
|
|
|
|
|
huikushijian: '',
|
|
|
|
|
otherMetadata: [],
|
|
|
|
|
indexList: []
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 重置物资选择组件的状态
|
|
|
|
|
if (this.$refs.inventorysSelect) {
|
|
|
|
|
this.$refs.inventorysSelect.selectItem = {}
|
|
|
|
|
this.$refs.inventorysSelect.wuziPageIndex = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
console.log('所有明细相关数据已清空完成')
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
showWuzi() {
|
|
|
|
|
this.$refs.inventorysSelect.isShowWuzi = true
|
|
|
|
|
},
|
|
|
|
|
// 选择的 库存物资 信息
|
|
|
|
|
selectInventorysMx(e) {
|
|
|
|
|
console.log("e",e)
|
|
|
|
|
console.log("选择的物资数据:", e)
|
|
|
|
|
console.log("物资数据字段详情:")
|
|
|
|
|
console.log("- wuzibianma (物资编码):", e.wuzibianma)
|
|
|
|
|
console.log("- zichanmingcheng (资产名称):", e.zichanmingcheng)
|
|
|
|
|
console.log("- wuzileixing (物资类型):", e.wuzileixing)
|
|
|
|
|
console.log("- rukupici (入库批次):", e.rukupici)
|
|
|
|
|
console.log("- zaikushuliang (在库数量):", e.zaikushuliang)
|
|
|
|
|
console.log("- jiliangdanwei (计量单位):", e.jiliangdanwei)
|
|
|
|
|
console.log("- guigexinghao (规格型号):", e.guigexinghao)
|
|
|
|
|
console.log("- shengchanriqi (生产日期):", e.shengchanriqi)
|
|
|
|
|
console.log("- 其他字段:", Object.keys(e).filter(key => !['wuzibianma', 'zichanmingcheng', 'wuzileixing', 'rukupici', 'zaikushuliang', 'jiliangdanwei', 'guigexinghao', 'shengchanriqi', 'id'].includes(key)))
|
|
|
|
|
|
|
|
|
|
// 一物一码去除已经选择了的 序号
|
|
|
|
|
if(e.wuzileixing==='一物一码'){
|
|
|
|
|
@ -835,6 +957,7 @@ export default {
|
|
|
|
|
this.mingxiObj.inventorys_id = e.id
|
|
|
|
|
this.mingxiObj.guigexinghao = e.guigexinghao
|
|
|
|
|
this.mingxiObj.shengchanriqi = e.shengchanriqi
|
|
|
|
|
|
|
|
|
|
console.log("this.mingxiObj",this.mingxiObj)
|
|
|
|
|
if(e.wuzileixing==='一类一码'){
|
|
|
|
|
this.mingxiList.map(item => {
|
|
|
|
|
@ -848,6 +971,11 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 选择物资后,只更新 mingxiObj,不插入到明细列表
|
|
|
|
|
// 明细数据只有在确认提交后才会插入到 mingxiList
|
|
|
|
|
console.log('物资选择完成,等待确认提交')
|
|
|
|
|
|
|
|
|
|
this.$forceUpdate()
|
|
|
|
|
},
|
|
|
|
|
// 去除 再次选择的一物一码中已经选择的数据
|
|
|
|
|
@ -911,6 +1039,8 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
this.form.id = this.id
|
|
|
|
|
this.mingxiList = res.id_outbounds_items_outbounds_id_relation
|
|
|
|
|
// 初始化时合并显示列表
|
|
|
|
|
this.mergeOneCodeItems()
|
|
|
|
|
this.fileList = []
|
|
|
|
|
const _lists = res.zuozhengwenjian_upload_details ? res.zuozhengwenjian_upload_details : []
|
|
|
|
|
for (var f of _lists) {
|
|
|
|
|
@ -998,6 +1128,196 @@ export default {
|
|
|
|
|
this.isShow = false
|
|
|
|
|
this.$emit('refresh')
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 合并相同物资编码且为一物一码的数据
|
|
|
|
|
mergeOneCodeItems() {
|
|
|
|
|
// 创建合并后的显示列表
|
|
|
|
|
const mergedDisplayList = []
|
|
|
|
|
const mergedMap = new Map()
|
|
|
|
|
|
|
|
|
|
// 遍历明细列表
|
|
|
|
|
this.mingxiList.forEach(item => {
|
|
|
|
|
if (item.wuzileixing === '一物一码') {
|
|
|
|
|
// 对于一物一码,使用物资编码作为key进行合并
|
|
|
|
|
const key = item.wuzibianma
|
|
|
|
|
|
|
|
|
|
if (mergedMap.has(key)) {
|
|
|
|
|
// 如果已存在,累加借用数量
|
|
|
|
|
const existingItem = mergedMap.get(key)
|
|
|
|
|
existingItem.jieyongshuliang += parseInt(item.jieyongshuliang) || 1
|
|
|
|
|
existingItem.originalItems.push(item) // 保存原始项目用于提交
|
|
|
|
|
} else {
|
|
|
|
|
// 如果不存在,创建新的合并项
|
|
|
|
|
const mergedItem = {
|
|
|
|
|
...item,
|
|
|
|
|
jieyongshuliang: parseInt(item.jieyongshuliang) || 1,
|
|
|
|
|
originalItems: [item], // 保存原始项目用于提交
|
|
|
|
|
isMerged: true // 标记为合并项
|
|
|
|
|
}
|
|
|
|
|
mergedMap.set(key, mergedItem)
|
|
|
|
|
mergedDisplayList.push(mergedItem)
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// 对于非一物一码,直接添加到显示列表
|
|
|
|
|
mergedDisplayList.push({
|
|
|
|
|
...item,
|
|
|
|
|
originalItems: [item], // 保存原始项目用于提交
|
|
|
|
|
isMerged: false // 标记为非合并项
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// 更新显示列表(用于表格显示)
|
|
|
|
|
this.mergedDisplayList = mergedDisplayList
|
|
|
|
|
|
|
|
|
|
console.log('合并后的显示列表:', this.mergedDisplayList)
|
|
|
|
|
console.log('原始明细列表:', this.mingxiList)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 更新合并显示列表(基于当前选择的物资和已有明细)
|
|
|
|
|
updateMergedDisplayList() {
|
|
|
|
|
console.log('开始更新合并显示列表...')
|
|
|
|
|
console.log('当前 mingxiObj:', this.mingxiObj)
|
|
|
|
|
console.log('当前 mingxiList:', this.mingxiList)
|
|
|
|
|
|
|
|
|
|
// 如果 mingxiObj 为空,直接返回
|
|
|
|
|
if (!this.mingxiObj || !this.mingxiObj.wuzibianma) {
|
|
|
|
|
console.log('mingxiObj 为空,跳过更新')
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 创建临时列表,包含当前选择的物资和已有的明细
|
|
|
|
|
const tempList = [...this.mingxiList]
|
|
|
|
|
|
|
|
|
|
// 如果当前选择的物资不在明细列表中,添加进去
|
|
|
|
|
const existingIndex = tempList.findIndex(item =>
|
|
|
|
|
item.inventorys_id === this.mingxiObj.inventorys_id
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if (existingIndex === -1) {
|
|
|
|
|
// 添加当前选择的物资到临时列表
|
|
|
|
|
tempList.push({
|
|
|
|
|
...this.mingxiObj,
|
|
|
|
|
jieyongshuliang: this.mingxiObj.jieyongshuliang || 1
|
|
|
|
|
})
|
|
|
|
|
console.log('已添加当前选择的物资到临时列表')
|
|
|
|
|
} else {
|
|
|
|
|
// 更新已有的物资
|
|
|
|
|
tempList[existingIndex] = {
|
|
|
|
|
...this.mingxiObj,
|
|
|
|
|
jieyongshuliang: this.mingxiObj.jieyongshuliang || 1
|
|
|
|
|
}
|
|
|
|
|
console.log('已更新已有的物资')
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 基于临时列表进行合并
|
|
|
|
|
const mergedDisplayList = []
|
|
|
|
|
const mergedMap = new Map()
|
|
|
|
|
|
|
|
|
|
tempList.forEach(item => {
|
|
|
|
|
if (item.wuzileixing === '一物一码') {
|
|
|
|
|
// 对于一物一码,使用物资编码作为key进行合并
|
|
|
|
|
const key = item.wuzibianma
|
|
|
|
|
|
|
|
|
|
if (mergedMap.has(key)) {
|
|
|
|
|
// 如果已存在,累加借用数量
|
|
|
|
|
const existingItem = mergedMap.get(key)
|
|
|
|
|
existingItem.jieyongshuliang += parseInt(item.jieyongshuliang) || 1
|
|
|
|
|
existingItem.originalItems.push(item) // 保存原始项目用于提交
|
|
|
|
|
} else {
|
|
|
|
|
// 如果不存在,创建新的合并项
|
|
|
|
|
const mergedItem = {
|
|
|
|
|
...item,
|
|
|
|
|
jieyongshuliang: parseInt(item.jieyongshuliang) || 1,
|
|
|
|
|
originalItems: [item], // 保存原始项目用于提交
|
|
|
|
|
isMerged: true // 标记为合并项
|
|
|
|
|
}
|
|
|
|
|
mergedMap.set(key, mergedItem)
|
|
|
|
|
mergedDisplayList.push(mergedItem)
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// 对于非一物一码,直接添加到显示列表
|
|
|
|
|
mergedDisplayList.push({
|
|
|
|
|
...item,
|
|
|
|
|
originalItems: [item], // 保存原始项目用于提交
|
|
|
|
|
isMerged: false // 标记为非合并项
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
// 更新显示列表
|
|
|
|
|
this.mergedDisplayList = mergedDisplayList
|
|
|
|
|
|
|
|
|
|
console.log('更新后的合并显示列表:', this.mergedDisplayList)
|
|
|
|
|
console.log('临时列表:', tempList)
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
// 获取表格显示列表(合并当前选择的物资和已确认的明细)
|
|
|
|
|
getDisplayList() {
|
|
|
|
|
// 如果当前没有选择物资,直接返回已确认的明细列表
|
|
|
|
|
if (!this.mingxiObj || !this.mingxiObj.wuzibianma) {
|
|
|
|
|
return this.mergedDisplayList.length > 0 ? this.mergedDisplayList : this.mingxiList
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 创建临时列表,包含当前选择的物资和已有的明细
|
|
|
|
|
const tempList = [...this.mingxiList]
|
|
|
|
|
|
|
|
|
|
// 如果当前选择的物资不在明细列表中,添加进去
|
|
|
|
|
const existingIndex = tempList.findIndex(item =>
|
|
|
|
|
item.inventorys_id === this.mingxiObj.inventorys_id
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
if (existingIndex === -1) {
|
|
|
|
|
// 添加当前选择的物资到临时列表
|
|
|
|
|
tempList.push({
|
|
|
|
|
...this.mingxiObj,
|
|
|
|
|
jieyongshuliang: this.mingxiObj.jieyongshuliang || 1
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
// 更新已有的物资
|
|
|
|
|
tempList[existingIndex] = {
|
|
|
|
|
...this.mingxiObj,
|
|
|
|
|
jieyongshuliang: this.mingxiObj.jieyongshuliang || 1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 基于临时列表进行合并
|
|
|
|
|
const mergedDisplayList = []
|
|
|
|
|
const mergedMap = new Map()
|
|
|
|
|
|
|
|
|
|
tempList.forEach(item => {
|
|
|
|
|
if (item.wuzileixing === '一物一码') {
|
|
|
|
|
// 对于一物一码,使用物资编码作为key进行合并
|
|
|
|
|
const key = item.wuzibianma
|
|
|
|
|
|
|
|
|
|
if (mergedMap.has(key)) {
|
|
|
|
|
// 如果已存在,累加借用数量
|
|
|
|
|
const existingItem = mergedMap.get(key)
|
|
|
|
|
existingItem.jieyongshuliang += parseInt(item.jieyongshuliang) || 1
|
|
|
|
|
existingItem.originalItems.push(item) // 保存原始项目用于提交
|
|
|
|
|
} else {
|
|
|
|
|
// 如果不存在,创建新的合并项
|
|
|
|
|
const mergedItem = {
|
|
|
|
|
...item,
|
|
|
|
|
jieyongshuliang: parseInt(item.jieyongshuliang) || 1,
|
|
|
|
|
originalItems: [item], // 保存原始项目用于提交
|
|
|
|
|
isMerged: true // 标记为合并项
|
|
|
|
|
}
|
|
|
|
|
mergedMap.set(key, mergedItem)
|
|
|
|
|
mergedDisplayList.push(mergedItem)
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// 对于非一物一码,直接添加到显示列表
|
|
|
|
|
mergedDisplayList.push({
|
|
|
|
|
...item,
|
|
|
|
|
originalItems: [item], // 保存原始项目用于提交
|
|
|
|
|
isMerged: false // 标记为非合并项
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
return mergedDisplayList
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|