From d48f5076b64aeacad45c0d2cf5ad2188256948f9 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 24 四月 2026 10:22:22 +0800
Subject: [PATCH] fix: 仓储物流新增bug修改
---
src/views/basicData/product/ProductSelectDialog.vue | 39 ++++++++++++++++++++++++++++++---------
1 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/src/views/basicData/product/ProductSelectDialog.vue b/src/views/basicData/product/ProductSelectDialog.vue
index 8373c8e..cdaab57 100644
--- a/src/views/basicData/product/ProductSelectDialog.vue
+++ b/src/views/basicData/product/ProductSelectDialog.vue
@@ -163,19 +163,40 @@
loading.value = true;
try {
multipleSelection.value = []; // 缈婚〉/鎼滅储鍚庢竻绌洪�夋嫨鏇寸鍚堥鏈�
- const res: any = await productModelList({
+ const queryParams = {
parentName: query.parentName.trim(),
model: query.model.trim(),
- current: page.pageNum,
- size: page.pageSize,
- });
- const records = (res?.records || []) as any[];
+ };
const exclude = (props.excludeParentNames || []).filter(Boolean);
+
+ // 鍏堟媺鍙栧叏閮ㄦ暟鎹紝鍐嶇粺涓�杩囨护锛岄伩鍏嶁�滃彧杩囨护鍒板綋鍓嶉〉鈥濆鑷存紡鏁版嵁
+ const allRecords: any[] = [];
+ const fetchSize = 200;
+ let current = 1;
+ let serverTotal = 0;
+ while (true) {
+ const res: any = await productModelList({
+ ...queryParams,
+ current,
+ size: fetchSize,
+ });
+ const records = (res?.records || []) as any[];
+ serverTotal = Number(res?.total || 0);
+ allRecords.push(...records);
+ if (records.length === 0 || allRecords.length >= serverTotal) {
+ break;
+ }
+ current += 1;
+ }
+
const filtered = exclude.length
- ? records.filter((r) => !exclude.includes(String(r?.parentName ?? "")))
- : records;
- tableData.value = filtered;
- total.value = exclude.length ? filtered.length : res.total;
+ ? allRecords.filter((r) => !exclude.includes(String(r?.parentName ?? "")))
+ : allRecords;
+
+ total.value = filtered.length;
+ const start = (page.pageNum - 1) * page.pageSize;
+ const end = start + page.pageSize;
+ tableData.value = filtered.slice(start, end);
} finally {
loading.value = false;
}
--
Gitblit v1.9.3