From f5fd7c8c570a9145ed3e036e76116eef0a207636 Mon Sep 17 00:00:00 2001 From: tangjie <122778500@qq.com> Date: Thu, 6 Aug 2026 17:46:40 +0800 Subject: [PATCH] fix --- .../EvalProjectMonitor/Detail/index.js | 2 +- .../ProjectFlow/ArchiveContent.js | 4 ++-- .../ProjectFlow/TeamContent.js | 24 ++++++++++++++++++- .../SafetyEvalBusiness/ProjectFlow/index.js | 2 +- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/src/pages/Container/MonitorManage/EvalProjectMonitor/Detail/index.js b/src/pages/Container/MonitorManage/EvalProjectMonitor/Detail/index.js index 01a007f..63121a1 100644 --- a/src/pages/Container/MonitorManage/EvalProjectMonitor/Detail/index.js +++ b/src/pages/Container/MonitorManage/EvalProjectMonitor/Detail/index.js @@ -407,7 +407,7 @@ const EvalProjectMonitorDetail = (props) => { useEffect(() => { if (projectId) { evalProjectDetail({ id: projectId }); - queryMyOrCreateDoc({ docxUrl: "", projectId }); + } fetchContract(); fetchTeam(); diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ArchiveContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ArchiveContent.js index bc4d252..c0c6286 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ArchiveContent.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/ArchiveContent.js @@ -175,12 +175,12 @@ const ArchiveContent = ({ readOnly, ...props }) => { - + - + {processControlDetail?.archiveDate && ( diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/TeamContent.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/TeamContent.js index 7c64ec2..bfdf503 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/TeamContent.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/TeamContent.js @@ -89,8 +89,9 @@ const TeamContent = ({ readOnly, ...props }) => { message.warning("该角色为单人唯一角色,只能选择1名人员"); return; } - // 唯一角色校验:检查是否已有人担任该角色 + // 唯一角色校验 if (role?.unique) { + // 检查是否已有人担任该角色 const existing = teamMembers.some((m) => m.roles.some((r) => r.role === selectedRole), ); @@ -98,6 +99,27 @@ const TeamContent = ({ readOnly, ...props }) => { message.warning(`"${role.name}"已配置,不可重复添加`); return; } + // 一人只能担任一个单人唯一角色 + const uniqueRoleValues = ROLE_DEFINITIONS.filter( + (r) => r.unique, + ).map((r) => r.value); + const conflict = selectedPersons.find((personId) => { + const member = teamMembers.find((m) => m.personnelId === personId); + return ( + member && + member.roles.some( + (r) => + uniqueRoleValues.includes(r.role) && r.role !== selectedRole, + ) + ); + }); + if (conflict) { + const person = participants.find((p) => p.id === conflict); + message.warning( + `"${person?.name}"已担任其他唯一角色,一人只能担任一个单人唯一角色`, + ); + return; + } } const newEntries = selectedPersons.map((personId) => { diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js index 292ac55..9a6a363 100644 --- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js +++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js @@ -218,7 +218,7 @@ const ProjectFlow = (props) => { previous title={
- 项目法定流程工作台 + 项目工作台
{evalProjectDetailData?.evalTypeName} |{" "} {evalProjectDetailData?.projectNo}