fix: 修复审批详情显示默认抄送人的问题

- 修改审批流程显示逻辑,从 form_data 获取实际选择的审批人和抄送人
- 之前从 flow.nodes(模板)获取,显示的是默认值
- 现在正确显示用户重新选择的审批人和抄送人列表

注意:数据库节点类型已更新为 and_approve(会签)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
root
2026-02-28 17:42:27 +08:00
parent 25df589eea
commit aeff21aec6
+17 -3
View File
@@ -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)
}