fix(web): 扫码页与备选库位带单据ID,按有效可用量限流
配合后端预占回加:扫码/借库/审批页面调用 /outbound/scan 与 /outbound/alternatives 时带上本单 id 与 biz_type,拿到的 available_quantity 即为「实时可用量 + 本单 预占」,本单锁定的行不会再因实时可用量为 0 而被拦住或从列表消失。 后端已在响应边界完成归一化,故前端模板与校验逻辑(:max、库存列展示、超量 警告、草稿存取)一律不动,只多传参数 —— 避免把同一语义散落到多个读写点。 - api/outbound.ts:getStockByBarcode / getStockAlternatives 加 requestId 与 bizType 参数,导出 ScanBizType,ScanResult 补 reserved_quantity 等字段 - api/transaction.ts:同名的历史副本同步签名(当前无调用方,加注释指向唯一来源) - views/outbound/create.vue、views/transaction/borrow.vue:各 3 处调用点带上 单据 id;refreshStockFromDraft 改为显式透传 id,不依赖 computed 已解析 - views/borrow/approval/index.vue:审批页也带上本单 id,否则待审批单 (预占已生效)锁定的行会因实时可用量为 0 而从备选列表消失 借库侧 request_id 是 BorrowApproval.id,靠 biz_type='borrow' 与出库单区分 —— 两张表 ID 空间独立,不可省。
This commit is contained in:
@ -47,13 +47,24 @@ export interface ScanResult {
|
||||
|
||||
/**
|
||||
* 根据条码获取库存物品详情
|
||||
*
|
||||
* ⚠ 本文件是与 `@/api/outbound` 同名的**历史副本**(同 URL、同返回形状),
|
||||
* 当前无任何调用方 —— 借库扫码页 `views/transaction/borrow.vue` 是从
|
||||
* `@/api/outbound` 导入的。改动请落到那边,这里同步仅为避免下次改漏。
|
||||
*
|
||||
* @param barcode 扫描到的条码
|
||||
* @param requestId 本单 ID(出库审批单 / 借库审批单)
|
||||
* @param bizType 单据类型,决定 requestId 查哪张表(默认 outbound)
|
||||
*/
|
||||
export function getStockByBarcode(barcode: string) {
|
||||
export function getStockByBarcode(
|
||||
barcode: string,
|
||||
requestId?: number | null,
|
||||
bizType: 'outbound' | 'borrow' = 'outbound'
|
||||
) {
|
||||
return request<any, ScanResult>({
|
||||
url: '/v1/outbound/scan',
|
||||
method: 'get',
|
||||
params: { barcode }
|
||||
params: { barcode, request_id: requestId, biz_type: bizType }
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user