From 7ac41bf6fd343a6dc06af821f9cd3f243e335b3c Mon Sep 17 00:00:00 2001 From: yueli Date: Mon, 31 Aug 2026 16:00:06 +0800 Subject: [PATCH] =?UTF-8?q?fix(web):=20=E7=BB=A7=E7=BB=AD=E4=B8=8A?= =?UTF-8?q?=E6=AC=A1=E7=9B=98=E7=82=B9=E4=B8=8D=E5=86=8D=E6=8B=89=E5=8F=96?= =?UTF-8?q?=E5=85=A8=E9=87=8F=E8=8D=89=E7=A8=BF=EF=BC=8C=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=E9=A6=96=E6=9D=A1=E8=8D=89=E7=A8=BF=E7=9A=84?= =?UTF-8?q?=20session=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit resumeSession 原在 limit=1 探测后,又发起 limit=500 请求只为取出 session_id, 会触发后端 /draft/list 的全量 N+1 查询导致启动卡顿。 改为直接从第一条草稿提取 session_id,恢复会话零冗余请求。 --- .../src/views/stock/stocktake/index.vue | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/inventory-web/src/views/stock/stocktake/index.vue b/inventory-web/src/views/stock/stocktake/index.vue index f8b9277..d3705fb 100644 --- a/inventory-web/src/views/stock/stocktake/index.vue +++ b/inventory-web/src/views/stock/stocktake/index.vue @@ -666,24 +666,16 @@ const resumeSession = async () => { }) const total = res?.total || 0 + const firstDraft = res?.items?.[0] - if (total === 0) { + if (total === 0 || !firstDraft) { ElMessage.warning('没有找到未完成的盘点记录') return } - // ★ 获取实际草稿数据用于恢复(分页加载,单次最多500条) - const fullRes = await request({ - url: '/v1/inbound/stock/draft/list', - method: 'get', - params: { page: 1, limit: 500 } - }) - const drafts = fullRes?.items || [] - - // 恢复已扫描的数据 - 简化为直接激活会话 - // 从草稿中获取 session_id - const sessionIds = [...new Set(drafts.map((d: any) => d.session_id))] - currentSessionId.value = sessionIds[0] + // ★ 直接从第一条草稿恢复 session_id,不再拉取全量草稿 + // 避免 limit=500 请求触发后端 query.all() + N+1 性能瓶颈 + currentSessionId.value = firstDraft.session_id || '' // 直接恢复会话状态 isSessionActive.value = true