diff --git a/frontend/src/pages/approval/detail.tsx b/frontend/src/pages/approval/detail.tsx index 33e0e5d..6218b1b 100644 --- a/frontend/src/pages/approval/detail.tsx +++ b/frontend/src/pages/approval/detail.tsx @@ -610,12 +610,26 @@ export default function ApprovalDetail() { const typeLabel = node.type === 'notify' ? '抄送人' : '审批人' const typeClass = node.type === 'notify' ? styles.typeNotify : styles.typeApprover - // 获取显示名称和审批时间 - let displayName = node.name || '待定' + // 从 form_data 获取实际选择的审批人/抄送人列表 + const formDataApprovers = detail.form_data?.approvers || [] + const formDataCcUsers = detail.form_data?.cc_users || [] + + // 根据节点类型获取显示名称列表 + let displayNames: string[] = [] + if (node.type === 'notify') { + // 抄送节点:显示 form_data 中的抄送人 + displayNames = formDataCcUsers.map((u: any) => typeof u === 'object' ? u.name : u) + } else { + // 审批节点:显示 form_data 中的审批人 + displayNames = formDataApprovers.map((u: any) => typeof u === 'object' ? u.name : u) + } + + // 如果已审批,优先显示已审批的人员名称 + let displayName = displayNames.length > 0 ? displayNames.join('、') : (node.name || '待定') let approvalTime = '' if (hasApproved && records[0]) { - displayName = records[0].approver?.name || displayName + displayName = displayNames.length > 0 ? displayNames.join('、') : (records[0].approver?.name || displayName) approvalTime = formatTime(records[0].created_at) }