| | |
| | | return "warning"; |
| | | } |
| | | |
| | | export function formatApprovalFlowSummary(row) { |
| | | const nodes = row?.approvalFlowNodes || []; |
| | | if (!nodes.length) return "—"; |
| | | return nodes |
| | | .map((n, i) => { |
| | | const name = (n.approverName || "").trim() || `节点${i + 1}`; |
| | | if (n.nodeStatus === "finish") return `${name}✓`; |
| | | if (n.nodeStatus === "error") return `${name}✗`; |
| | | if (n.nodeStatus === "process") return `${name}…`; |
| | | return name; |
| | | }) |
| | | .join(" → "); |
| | | } |
| | | export { formatApprovalFlowSummary } from "../shared/finReimbursementMappers.js"; |
| | | |
| | | export function resolveApprovalRoles(amount, expenseCategory) { |
| | | const amt = Number(amount) || 0; |