From 88372b072f549e7082f8b6d7f32f004389654f3d Mon Sep 17 00:00:00 2001 From: lihao Date: Thu, 14 Aug 2025 18:01:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=B2=98=E8=B4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supplierprice/list/events/batchEvents.js | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/purp/pp/supplierprice/list/events/batchEvents.js b/src/purp/pp/supplierprice/list/events/batchEvents.js index 549d877a..81a54edc 100644 --- a/src/purp/pp/supplierprice/list/events/batchEvents.js +++ b/src/purp/pp/supplierprice/list/events/batchEvents.js @@ -130,13 +130,26 @@ function processResultBatchByCard(props, moduleId, rows, indexs) { let updateArray = []; let allRows = props.editTable.getAllRows(moduleId); let i = allRows.length; + // for (let j = 0; j < rows.length; j++) { + // let row = rows[j]; + // let obj = {index: indexs[j], data: row}; + // if (indexs[j] < i) { + // updateArray.push(obj); + // } else { + // insertArray.push(obj); + // } + // } + // 提取所有现有行的rowid,用于快速判断 + const existingRowIds = allRows.map(row => row.rowid); + for (let j = 0; j < rows.length; j++) { let row = rows[j]; - let obj = {index: indexs[j], data: row}; - if (indexs[j] < i) { - updateArray.push(obj); + let obj = { index: indexs[j], data: row }; + // 判断当前行的rowid是否已存在于allRows中 + if (existingRowIds.includes(row.rowid)) { + updateArray.push(obj); // 存在则更新 } else { - insertArray.push(obj); + insertArray.push(obj); // 不存在则插入 } } if (updateArray.length > 0) {