| | |
| | | const approvalRecords = tasks.length |
| | | ? mapTasksToApprovalRecords(tasks) |
| | | : mapRecordsFromApi(source.records || source.approvalRecords); |
| | | const approvalFlowNodes = tasks.length |
| | | /** 表单编辑回显:保留 nodes 映射(含 approverId),勿用 tasks 覆盖 */ |
| | | const approvalFlowNodes = Array.isArray(mapped.approvalFlowNodes) |
| | | ? mapped.approvalFlowNodes |
| | | : []; |
| | | /** 详情/进度条展示:有 tasks 时用任务状态节点 */ |
| | | const approvalFlowProgressNodes = tasks.length |
| | | ? mapTasksToApprovalFlowNodes(tasks) |
| | | : mapped.approvalFlowNodes || []; |
| | | const currentNodeIndex = computeApprovalFlowCurrentIndex(approvalFlowNodes); |
| | | : approvalFlowNodes; |
| | | const currentNodeIndex = computeApprovalFlowCurrentIndex( |
| | | approvalFlowProgressNodes.length ? approvalFlowProgressNodes : approvalFlowNodes |
| | | ); |
| | | const rejectReason = |
| | | approvalRecords.find(r => r.result === "rejected")?.opinion || |
| | | source.rejectReason || |
| | |
| | | approvalRecords, |
| | | records: tasks.length ? tasks : source.records, |
| | | approvalFlowNodes, |
| | | approvalFlowProgressNodes, |
| | | currentNodeIndex, |
| | | rejectReason, |
| | | flowNodes: tasks.length ? mapTasksToFlowNodes(tasks) : mapped.flowNodes, |