feat(borrow): 前端适配整单转交与双向握手
· 转交弹窗由「选择明细」改为**整单**:列出该单全部未还物品(只读), 明确告知「发起后对方确认,责任才转移」。原先让用户挑一行,挑中就只转 那一行 —— 正是单内撕裂的入口,现从 UI 上根除。 · 操作栏新增【接收转交】【拒绝】:仅对 pending_transfer.is_mine 的行显示, 即「待我接收」的转交。已有 PENDING 时不再显示【转交】,避免重复发起。 · 状态列新增「转交待确认」:此时主表 current_holder 未变(东西还在原持有人 手上),必须用状态列把「责任正在转移中」显式表达出来,否则界面上看不出 任何变化。 · 新增 acceptBorrowTransfer / rejectBorrowTransfer API; 拒绝时用 prompt 收集可选原因,写入转交流水备注。 错误提示仍交由 request 拦截器统一 toast,不在本地重复弹出。
This commit is contained in:
@ -283,6 +283,31 @@ export function getBorrowHistory(borrowId: number) {
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 确认接收转交(双向握手第二步)—— 责任正式转移到接收人名下。
|
||||
*
|
||||
* ★ 仅该转交的 to_user_id 本人可调用(后端强校验,非库管权限)。
|
||||
* ★ 副作用:该单**全部未归还明细**的当前持有人一并变更。
|
||||
*/
|
||||
export function acceptBorrowTransfer(transferId: number) {
|
||||
return request({
|
||||
url: `/v1/transactions/borrow/transfer/${transferId}/accept`,
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 拒绝转交 —— 主表不动,责任仍在原持有人。权限同上。
|
||||
* @param reason 可选拒绝原因,写入转交流水备注
|
||||
*/
|
||||
export function rejectBorrowTransfer(transferId: number, reason?: string) {
|
||||
return request({
|
||||
url: `/v1/transactions/borrow/transfer/${transferId}/reject`,
|
||||
method: 'post',
|
||||
data: { reason }
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 整单流转时间线(**borrow_no** 维度):借出 → 转交(可多次) → 归还 → 报废
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user