From 4c48b0114484c38a766fdf313d13cba048b03a2c Mon Sep 17 00:00:00 2001 From: root Date: Thu, 26 Feb 2026 00:14:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=98=BE=E7=A4=BA=E6=A0=BC=E5=BC=8F=E4=B8=BA?= =?UTF-8?q?"=E5=AE=A1=E6=89=B9=E4=BA=BA-=E5=A7=93=E5=90=8D"=E6=88=96"?= =?UTF-8?q?=E6=8A=84=E9=80=81=E4=BA=BA-=E5=A7=93=E5=90=8D"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 getNodeApproversNames 函数获取审批人姓名 - 添加 getNodeDisplayName 函数生成节点显示名称 - 更新审批流程和当前审批的显示逻辑 Co-Authored-By: Claude Opus 4.6 --- frontend/src/pages/approval/detail.tsx | 38 ++++++++++++++++++++------ 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/frontend/src/pages/approval/detail.tsx b/frontend/src/pages/approval/detail.tsx index 4d603fb..dce2be4 100644 --- a/frontend/src/pages/approval/detail.tsx +++ b/frontend/src/pages/approval/detail.tsx @@ -244,12 +244,36 @@ export default function ApprovalDetail() { approver: '审批人', and_approve: '会签', or_approve: '或签', - notify: '通知', - single_approve: '单人审批', + notify: '抄送人', + single_approve: '审批人', } return typeMap[nodeType] || nodeType } + // 获取节点的审批人姓名 + const getNodeApproversNames = (nodeId: number, nodeType: string): string => { + // 从审批记录中获取已审批的审批人姓名 + const approverRecords = detail.records.filter(r => r.node_id === nodeId && r.action !== 'submit') + if (approverRecords.length > 0) { + return approverRecords.map(r => r.approver?.name).join('、') + } + + // 对于通知节点,显示节点名称 + if (nodeType === 'notify') { + return '待通知' + } + + // 未审批的节点,显示节点名称 + return '待审批' + } + + // 获取节点显示名称(格式:审批人-姓名 或 抄送人-姓名) + const getNodeDisplayName = (node: any): string => { + const typeLabel = getNodeTypeName(node.type) + const approversNames = getNodeApproversNames(node.id, node.type) + return `${typeLabel}-${approversNames}` + } + // 获取当前审批人 const getCurrentApprovers = () => { const currentNodeIds = detail.current_nodes || [] @@ -260,7 +284,8 @@ export default function ApprovalDetail() { const node = nodes.find((n) => n.id === nodeId) if (node) { approvers.push({ - name: node.name, + nodeId: node.id, + nodeType: node.type, type: getNodeTypeName(node.type), approvers: node.approvers, }) @@ -313,8 +338,7 @@ export default function ApprovalDetail() { {currentApprovers.map((item, index) => (
-
{item.name}
-
{item.type}
+
{item.type}-{getNodeApproversNames(item.nodeId, item.nodeType)}
))}
@@ -369,9 +393,7 @@ export default function ApprovalDetail() { {status === 'done' ? '✓' : index + 1}
-
{node.name}
-
- {getNodeTypeName(node.type)} +
{getNodeDisplayName(node)}