feat: 完善报销单审批流程及退回原因追踪

新增直属领导审批通过接口和审批待办列表查询,报销单退回
支持原因码分类和审批环节标记,优化票据附件去重和路径
回退查找,前端新增退回原因对话框、审批收件箱和工作台
图标组件,补充工具函数和单元测试覆盖。
This commit is contained in:
caoxiaozhu
2026-05-20 21:00:47 +08:00
parent f8b25a7ccc
commit 002bf4f756
62 changed files with 5331 additions and 2101 deletions

View File

@@ -167,11 +167,16 @@ EXPENSE_TYPE_KEYWORDS = {
"出差": "travel",
"住宿": "hotel",
"酒店": "hotel",
"交通": "transport",
"打车": "transport",
"网约车": "transport",
"出租车": "transport",
"停车费": "transport",
"交通": "transport",
"打车": "transport",
"网约车": "transport",
"出租车": "transport",
"乘车": "transport",
"乘车费": "transport",
"用车": "transport",
"叫车": "transport",
"车资": "transport",
"停车费": "transport",
"餐费": "meal",
"用餐": "meal",
"会务": "meeting",
@@ -202,9 +207,14 @@ EXPENSE_NARRATIVE_KEYWORDS = (
"花了",
"支出",
"垫付",
"打车",
"车费",
"餐费",
"打车",
"车费",
"乘车",
"乘车费",
"用车",
"叫车",
"车资",
"餐费",
"吃饭",
"用餐",
"宴请",
@@ -1190,8 +1200,11 @@ class SemanticOntologyService:
)
)
if any(keyword in query for keyword in ("打车", "网约车", "出租车", "车费", "停车费", "过路费")):
upsert(self._make_entity("expense_type", "交通", "transport", role="filter", confidence=0.9))
if any(
keyword in query
for keyword in ("打车", "网约车", "出租车", "车费", "乘车", "用车", "叫车", "车资", "停车费", "过路费")
):
upsert(self._make_entity("expense_type", "交通", "transport", role="filter", confidence=0.9))
if any(keyword in query for keyword in ("出差", "机票", "火车", "高铁", "行程单")):
upsert(self._make_entity("expense_type", "差旅", "travel", role="filter", confidence=0.88))