优化案件模块

This commit is contained in:
27942
2026-01-22 14:49:31 +08:00
parent e5dc892abd
commit b3b9413a23
3 changed files with 267 additions and 14 deletions

View File

@@ -770,7 +770,22 @@ class roxyExhibition(APIView):
# - "财务" = 财务部门(只有财务部人员能看到)
# 状态:审核中 或 已抄送财务(财务能看到)
# 重要多人团队审核时只有当前审核人personincharge等于当前用户名才能看到审核记录
query = Q(state__in=["审核中", "已抄送财务"])
# 如果用户传入了 filter_state则使用用户指定的状态筛选否则使用默认的状态筛选
if filter_state:
# 按审批状态筛选(覆盖默认的状态筛选),支持逗号分割的多个值
if isinstance(filter_state, str) and ',' in filter_state:
# 如果包含逗号,分割成列表
state_list = [s.strip() for s in filter_state.split(',') if s.strip()]
query = Q(state__in=state_list)
elif isinstance(filter_state, list):
# 如果已经是列表,直接使用
query = Q(state__in=filter_state)
else:
# 单个值
query = Q(state=filter_state)
else:
# 默认状态筛选:审核中 或 已抄送财务
query = Q(state__in=["审核中", "已抄送财务"])
# 添加筛选条件
if filter_type:
@@ -786,19 +801,6 @@ class roxyExhibition(APIView):
# 单个值
query &= Q(type=filter_type)
if filter_state:
# 按审批状态筛选(覆盖默认的状态筛选),支持逗号分割的多个值
if isinstance(filter_state, str) and ',' in filter_state:
# 如果包含逗号,分割成列表
state_list = [s.strip() for s in filter_state.split(',') if s.strip()]
query &= Q(state__in=state_list)
elif isinstance(filter_state, list):
# 如果已经是列表,直接使用
query &= Q(state__in=filter_state)
else:
# 单个值
query &= Q(state=filter_state)
if filter_times_start:
# 按开始时间筛选
query &= Q(times__gte=filter_times_start)