fix: 修复员工服务、报销单审批及前端交互细节

- 修复员工创建时组织架构关联与邮箱校验逻辑
- 修复报销单API端点参数及预审流程调用
- 优化审批中心、差旅详情等前端页面交互
- 更新侧边栏导航与请求视图模型
- 补充员工服务与报销单相关测试用例
This commit is contained in:
caoxiaozhu
2026-05-20 14:32:35 +08:00
parent d7e98a58b9
commit f8b25a7ccc
14 changed files with 84 additions and 52 deletions

View File

@@ -867,13 +867,13 @@ class ExpenseClaimService:
"source": "manual_return",
"severity": "medium",
"label": "人工退回",
"message": return_reason or f"{operator} 已退回该报销单,请申请人补充后重新提交。",
"message": return_reason or f"{operator} 已退回该报销单,请申请人调整后重新提交。",
"operator": operator,
"created_at": datetime.now(UTC).isoformat(),
}
claim.status = "returned"
claim.approval_stage = "补充"
claim.approval_stage = "提交"
claim.risk_flags_json = [*list(claim.risk_flags_json or []), return_flag]
self.db.commit()
@@ -2634,8 +2634,8 @@ class ExpenseClaimService:
def _ensure_draft_claim(self, claim: ExpenseClaim) -> None:
normalized_status = str(claim.status or "").strip().lower()
if normalized_status not in {"draft", "supplement"}:
raise ValueError("只有草稿待补充状态的报销单才允许执行该操作。")
if normalized_status not in {"draft", "supplement", "returned"}:
raise ValueError("只有草稿待补充或退回待提交状态的报销单才允许执行该操作。")
def _run_ai_submission_review(self, claim: ExpenseClaim) -> dict[str, Any]:
base_flags = list(claim.risk_flags_json or [])