前端 validateAgainstPlan 由 (source_table, stock_id) 改为 SKU 主键:
· normSku() 去首尾空白,与后端 _norm_sku 一致;
· matchKey() 与后端 _match_key 完全同构(sku: 前缀 / row: 回退);
· approvedQtyByKey() 聚合同一 SKU 的批准总量,兼容批准单同 SKU 多行;
· 扫码不在批准明细内、或该 SKU 累计量超批准量时,红色 toast + 震动阻断,
不入购物车;
· 购物车去重与 maxScrapFor 上限同步改为按 SKU 计算。
已通过 SFC 编译与 vue-tsc(无新增类型错误)。
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.