一、删除前端分配算法
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 处告警为既有问题)。
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.