Files
KCGL/inventory-web
yueli 80bd45d5d4 feat(stocktake): 抽盘库位选择改为左右双栏,已选明细可逐个移除
原库位树是单列、层级很深,用户勾完看不出到底选了哪些库位。

现改为左右双栏:
- 左 60%:el-tree(勾选),@check 触发 syncSelectedPaths
- 右 40%:已选明细面板 —— 顶部「已选 N 个库位」+ 清空按钮,
  el-scrollbar 内平铺 el-tag 展示完整路径(等宽字体)

双向互动:点击右侧标签的 × 会调 treeRef.setChecked(path, false, true)
同步取消左侧勾选后重算列表。注意 el-tree 的 setCheckedKeys / setChecked
都**不会**触发 @check 事件,因此这两处都显式调用了 syncSelectedPaths(),
保证左右状态强同步(获取推荐后右侧也会立刻渲染)。

★ 右侧刻意**不过滤非末级节点**,展示的就是提交给后端的 scope_config.locations
全集。原因:后端按 warehouse_location 精确匹配,而库存的库位可能落在层级 1/2
(实测 level1 有 9 个、level2 有 57 个),只提交叶子路径会把这些库存静默排除
在抽盘范围之外。面板所见 = 实际范围,才谈得上「强同步」。

配套:抽盘配置区是双栏、400px 窄容器装不下,故在展开该配置时把欢迎页
放宽到 780px(.idle-content.is-wide),其他状态维持原宽度。
2026-09-11 14:22:14 +08:00
..
2026-01-28 17:44:39 +08:00
2026-01-26 13:47:53 +08:00
2026-01-26 13:47:53 +08:00
2026-01-26 13:47:53 +08:00
2026-01-26 13:47:53 +08:00

Vue 3 + TypeScript + Vite

This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 <script setup> SFCs, check out the script setup docs to learn more.

Learn more about the recommended Project Setup and IDE Support in the Vue Docs TypeScript Guide.