投标待办加入提交人
This commit is contained in:
@@ -656,7 +656,8 @@ def process_approval_flow(approval, business_record, current_approver, state,
|
||||
# 申请人待查看阶段:当前步骤是申请人待查看,申请人查看后完成(投标/立项不再给财务部)
|
||||
applicant = getattr(approval, 'applicant', None)
|
||||
if approval.state == "待查看" and applicant and approval.personincharge == applicant:
|
||||
if state == "已通过" or not state:
|
||||
# 已通过、已查看、未传 state 均视为申请人已查看完成
|
||||
if state == "已通过" or state == "已查看" or (state is None or state == ""):
|
||||
approval.state = "已通过"
|
||||
if "已通过" not in approval.content:
|
||||
approval.content = (approval.content or "") + ",申请人已查看"
|
||||
|
||||
@@ -1122,6 +1122,21 @@ class roxyExhibition(APIView):
|
||||
user_agents_page = paginator.page(paginator.num_pages)
|
||||
data = []
|
||||
for info in user_agents_page.object_list:
|
||||
# 申请人拉取待办列表时,若该条为「待查看」且当前用户是申请人,则视为已查看并更新为已通过(查看即更新状态)
|
||||
if info.type in ("投标登记", "立项登记") and info.state == "待查看" and getattr(info, 'applicant', None) == user.username and info.personincharge == user.username:
|
||||
try:
|
||||
info.state = "已通过"
|
||||
if "申请人已查看" not in (info.content or ""):
|
||||
info.content = (info.content or "") + ",申请人已查看"
|
||||
info.save(update_fields=['state', 'content'])
|
||||
bid_or_project_id = info.user_id
|
||||
if info.type == "投标登记":
|
||||
Bid.objects.filter(id=bid_or_project_id, is_deleted=False).update(state="已通过")
|
||||
else:
|
||||
ProjectRegistration.objects.filter(id=bid_or_project_id, is_deleted=False).update(state="已通过")
|
||||
except (ValueError, TypeError, AttributeError):
|
||||
pass
|
||||
|
||||
title = info.title
|
||||
content = info.content
|
||||
|
||||
@@ -1985,9 +2000,10 @@ class approvalProcessing(APIView):
|
||||
except ProjectRegistration.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '立项登记记录不存在或已被删除', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
# 申请人待查看阶段:只传 type 和 id 不传 state 时,视为申请人查看完成(默认已通过)
|
||||
if approval.state == "待查看" and getattr(approval, 'applicant', None) and approval.personincharge == approval.applicant and not state:
|
||||
state = "已通过"
|
||||
# 申请人待查看阶段:只传 type/id、或 state=已通过/已查看 时,视为申请人查看完成(更新为已通过)
|
||||
if approval.state == "待查看" and getattr(approval, 'applicant', None) and approval.personincharge == approval.applicant:
|
||||
if state in (None, "", "已通过", "已查看"):
|
||||
state = "已通过"
|
||||
|
||||
# 使用统一的审核流程处理函数
|
||||
from User.utils import process_approval_flow
|
||||
@@ -2013,9 +2029,10 @@ class approvalProcessing(APIView):
|
||||
except Bid.DoesNotExist:
|
||||
return Response({'status': 'error', 'message': '投标登记记录不存在或已被删除', 'code': 1}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
# 申请人待查看阶段:只传 type 和 id 不传 state 时,视为申请人查看完成(默认已通过)
|
||||
if approval.state == "待查看" and getattr(approval, 'applicant', None) and approval.personincharge == approval.applicant and not state:
|
||||
state = "已通过"
|
||||
# 申请人待查看阶段:只传 type/id、或 state=已通过/已查看 时,视为申请人查看完成(更新为已通过)
|
||||
if approval.state == "待查看" and getattr(approval, 'applicant', None) and approval.personincharge == approval.applicant:
|
||||
if state in (None, "", "已通过", "已查看"):
|
||||
state = "已通过"
|
||||
|
||||
# 使用统一的审核流程处理函数
|
||||
from User.utils import process_approval_flow
|
||||
|
||||
Reference in New Issue
Block a user