diff --git a/inventory-backend/app/api/v1/transactions.py b/inventory-backend/app/api/v1/transactions.py index 01857aa..2c2207e 100644 --- a/inventory-backend/app/api/v1/transactions.py +++ b/inventory-backend/app/api/v1/transactions.py @@ -307,7 +307,7 @@ def approve_borrow_request(request_id): @permission_required('op_borrow_approval') def close_borrow_request(request_id): """ - 手动完结已通过的借库审批单(status 1-已通过 → 3-已完成) + 手动完结已通过的借库审批单(status 1-已通过 → 4-已完结) 参照出库审批的完结逻辑,供库管/主管在未走扫码借出时强制完结 """ try: diff --git a/inventory-backend/app/services/borrow_service.py b/inventory-backend/app/services/borrow_service.py index 8e43840..f580c9a 100644 --- a/inventory-backend/app/services/borrow_service.py +++ b/inventory-backend/app/services/borrow_service.py @@ -464,18 +464,21 @@ class BorrowApprovalService: @staticmethod def mark_completed(request_id): - """标记审批单为已完成(借库执行完成后调用)""" + """ + 手动完结已通过的借库审批单(status 1-已通过 → 4-已完结,对齐出库审批的完结语义)。 + 注意:真正“扫码借出执行完成”走 trans_service.execute_dispatch,置 status=3(已完成)。 + """ approval = BorrowApproval.query.get(request_id) if not approval: return False, "审批单不存在", None if approval.status != 1: - return False, f"只有已通过的审批单才能标记为完成 (当前状态: {approval.status})", None + return False, f"只有已通过的审批单才能标记为完结 (当前状态: {approval.status})", None try: - approval.status = 3 # 已完成 + approval.status = 4 # 已完结 db.session.commit() - return True, "审批单已完成", approval + return True, "审批单已完结", approval except Exception as e: db.session.rollback() return False, f"操作失败: {str(e)}", None \ No newline at end of file diff --git a/inventory-web/src/views/borrow/approval/index.vue b/inventory-web/src/views/borrow/approval/index.vue index 338eaa2..f4e96ec 100644 --- a/inventory-web/src/views/borrow/approval/index.vue +++ b/inventory-web/src/views/borrow/approval/index.vue @@ -10,6 +10,7 @@ 已通过 已驳回 已完成 + 已完结 刷新 @@ -108,7 +109,7 @@ -