yueli 0a70e5688a refactor(bom): 前端改为消费后端分配结果,删除本地分配与跨页数据污染
一、删除前端分配算法
  Selection.vue 与 borrow/apply/index.vue 原先各自维护一套
  rowsByBaseId 归并 + 跨行分配循环(近 80 行),现全部移除。
  改为:构造 requirements → 调用 bomMatchStock → 直接 push 返回的 items。

二、缺料提示
  后端返回 shortages 时,用 ElMessageBox.alert 逐项列出
  「物料名:需 X,实配 Y,缺 Z」,替代原先笼统的「跳过 N 种缺货物料」。
  全部满足则不弹窗,仅提示添加成功。

三、API 封装支持双签名(api/outbound.ts)
  bomMatchStock(requirements | { requirements })
  同时兼容旧的 bomMatchStock(childIds),未改造的调用方不受影响。

四、清除 loadStockForBom(两个页面)
  该方法会把 BOM 匹配结果整体写入 stockList.value,而 stockList 同时是
  「手动选单弹窗」的数据源 —— 操作过 BOM 后再打开手动选单,看到的会是
  BOM 匹配结果而非库存列表。BOM 流程不再触碰 stockList 后,该交叉污染
  一并消除,方法随之删除。

注:借库选单页存在逐字相同的 .find() + Math.min 缺陷,本次一并修复,
使两个 BOM 入口行为一致。

SFC 编译通过;vue-tsc 无新增错误(残留 6 处告警为既有问题)。
2026-09-10 14:16:52 +08:00
2026-04-28 16:07:11 +08:00
2026-04-28 16:07:11 +08:00
2026-04-28 16:07:11 +08:00
Description
No description provided
88 MiB
Languages
Python 70.2%
CSS 14.9%
Vue 7.6%
HTML 4.2%
TypeScript 3.1%