diff --git a/apps/finance/src/views/posting/reconciliate/modules/Manual.vue b/apps/finance/src/views/posting/reconciliate/modules/Manual.vue index e24eec7..3f038a4 100644 --- a/apps/finance/src/views/posting/reconciliate/modules/Manual.vue +++ b/apps/finance/src/views/posting/reconciliate/modules/Manual.vue @@ -173,7 +173,9 @@ function onCompleteCheck() { }); // 删除当前已对账的数据 const currentIndex = multipleCurrentIndex.value[0] || 0; - multipleCurrentIndex.value.forEach((index) => { + // 先排序索引,从大到小删除,避免索引变化影响后续删除 + const sortedIndices = multipleCurrentIndex.value.toSorted((a, b) => b - a); + sortedIndices.forEach((index) => { pendingData.value.splice(index, 1); }); @@ -188,6 +190,7 @@ function onCompleteCheck() { multipleCurrentData.value = []; // 如果当前索引超出了数据范围,重置到第一条,否则下一条(删除已处理索引后,currentIndex即是下一条) multipleCurrentIndex.value[0] = Math.min(currentIndex, pendingData.value.length - 1); + changePendingData(multipleCurrentIndex.value[0]); } // 其他方式--确认对账 -------------- // 已选列表 @@ -321,18 +324,15 @@ async function onCompleteCheckCreated() { const paymentIds = multipleCurrentData.value.map((item) => item.id); // 调用接口 - const hideLoading = message.loading('处理中...', 0); await (isBatchMode.value ? reconciliateBillsApi.manualCheckCreatedBatch({ paymentIds: paymentIds.join(','), orders: data, }) : reconciliateBillsApi.manualCheckCreated(data)); + + // 刷新数据 onCompleteCheck(); - hideLoading(); - // 清空已选列表 - selectedData.value = []; - selectedRef.value?.clearData(); }