diff --git a/inventory-backend/app/services/outbound_service.py b/inventory-backend/app/services/outbound_service.py index ad20ccc..5b336cd 100644 --- a/inventory-backend/app/services/outbound_service.py +++ b/inventory-backend/app/services/outbound_service.py @@ -846,6 +846,16 @@ class OutboundApprovalService: if user_role and user_role.upper() == 'SUPER_ADMIN': return True + # 拥有 outbound_approval:operation 权限的用户可以审批任意出库单 + # (前端按钮以此权限控制显示,后端也必须对齐) + from app.models.system import SysRolePermission + has_op = SysRolePermission.query.filter( + SysRolePermission.role_code == user_role, + SysRolePermission.target_code.in_(['outbound_approval:operation', 'outbound_approval:*']) + ).first() is not None + if has_op: + return True + for approver in approvers: approver_type = approver.get('type', '') approver_value = approver.get('value', '')