yueli
e573185ea4
perf(stocktake): 库位树按公司前缀后端裁剪,树与推荐并行请求
【后端】/tree 支持 ?prefixes=Y 或 ?prefixes=C,L(逗号分隔)
只在**顶层**按 name / full_path 前缀过滤,命中即整棵子树保留 ——
不递归裁剪,避免把子树打散导致前端勾选语义错乱。不传则全量。
刻意不用懒加载:setCheckedKeys / getCheckedNodes 依赖全树已构建。
实测节点数(含子树):
全量 3371 → IRIS (Y) 500(↓85%)→ LICA (C,L) 2871(↓15%)
IRIS 收益很大;LICA 的前缀覆盖了树的大部分分支,故提升有限。
【前端】
- getWarehouseTree(prefixes?) 透传前缀,loadLocationTree 从
getAllowedLocPrefixes(selectedCompany) 取;后端已做过滤,
前端不再重复过滤,删掉冗余的 filterTreeByCompany。
- fetchRecommendLocations 改为 Promise.all 并行拉树与推荐,
取代原来的串行 await(两段网络等待不再叠加);
setCheckedKeys 前仍保留 await nextTick() 等树渲染完。
【顺带修一个上一轮引入的 bug】
右侧自 leafOnly 改造后只存末级路径,而推荐返回的是库存级路径、可能是
非末级,原来的逐字比对必然对不上,会把正常勾选的库位误报成
「未能勾选」。改为按「自身或其祖先」判定覆盖。
实测: prefixes 过滤正确(IRIS 8 个顶层 / LICA 25 个 / 不传 33 个)
2026-09-11 14:45:23 +08:00
..
2026-09-11 11:44:31 +08:00
2026-05-19 10:35:33 +08:00
2026-09-11 14:13:10 +08:00
2026-04-29 15:40:43 +08:00
2026-04-02 18:44:12 +08:00
2026-04-29 15:40:43 +08:00
2026-09-10 14:16:39 +08:00
2026-09-10 14:16:27 +08:00
2026-09-10 14:16:27 +08:00
2026-08-03 15:53:15 +08:00
2026-01-26 13:47:53 +08:00
2026-09-10 15:47:02 +08:00
2026-09-11 10:34:00 +08:00
2026-09-10 14:16:27 +08:00
2026-09-10 17:41:22 +08:00
2026-01-26 13:47:53 +08:00
2026-09-10 17:21:14 +08:00
2026-09-10 15:46:55 +08:00
2026-09-10 15:46:55 +08:00
2026-09-11 14:45:23 +08:00