|
|
|
@ -2279,8 +2279,10 @@ export default { |
|
|
|
}).then(() => { |
|
|
|
const deletedRow = this.editPoDetailList[index] |
|
|
|
|
|
|
|
// 记录被删除的PO的key,用于保存时判断 |
|
|
|
// 记录被删除的PO的key和itemNo,用于保存时判断 |
|
|
|
const key = `${deletedRow.orderRef1 || ''}_${deletedRow.orderRef2 || ''}` |
|
|
|
// 使用 poItemNo 或 itemNo 作为删除标识(对应后端 item_no) |
|
|
|
const itemNo = deletedRow.poItemNo || deletedRow.po_item_no || deletedRow.itemNo || deletedRow.item_no || deletedRow.orderRef2 || '' |
|
|
|
|
|
|
|
// 如果删除的是原有PO(在originalEditPoDetailList中存在),则记录到deletedPoKeys |
|
|
|
const isOriginalPo = this.originalEditPoDetailList.some(item => { |
|
|
|
@ -2288,8 +2290,9 @@ export default { |
|
|
|
return originalKey === key |
|
|
|
}) |
|
|
|
|
|
|
|
if (isOriginalPo) { |
|
|
|
this.deletedPoKeys.add(key) |
|
|
|
if (isOriginalPo && itemNo) { |
|
|
|
// 存储对象而非字符串,保留完整的itemNo信息 |
|
|
|
this.deletedPoKeys.add(JSON.stringify({ key, itemNo })) |
|
|
|
} |
|
|
|
|
|
|
|
// 从列表中移除该行(仅前端移除,不立即调用后端接口) |
|
|
|
@ -3474,10 +3477,17 @@ export default { |
|
|
|
|
|
|
|
// 0. 如果有删除的PO,先调用 deleteInspectionDetails |
|
|
|
if (this.deletedPoKeys.size > 0) { |
|
|
|
const deletedItemNos = Array.from(this.deletedPoKeys).map(key => { |
|
|
|
const parts = key.split('_') |
|
|
|
return parts[1] || '' // 返回orderRef2作为itemNo |
|
|
|
}).filter(itemNo => itemNo) |
|
|
|
const deletedItemNos = [] |
|
|
|
this.deletedPoKeys.forEach(itemStr => { |
|
|
|
try { |
|
|
|
const item = JSON.parse(itemStr) |
|
|
|
if (item.itemNo) { |
|
|
|
deletedItemNos.push(item.itemNo) |
|
|
|
} |
|
|
|
} catch (e) { |
|
|
|
console.error('解析删除项失败:', itemStr, e) |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
if (deletedItemNos.length > 0) { |
|
|
|
promiseChain = promiseChain.then(() => { |
|
|
|
|