import { XIcon } from "lucide-react" import type { RefObject } from "react" import { Badge } from "@/shared/ui/badge" import { Button } from "@/shared/ui/button" import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/shared/ui/dialog" import type { SelectionResults } from "../api/selection.types" import { IncompleteEvaluationTable } from "./incomplete-evaluation-table" import { getSelectionRunStatusPresentation } from "./selection-presentation" interface ExecutionStatusDrawerProps { finalFocus: RefObject onOpenChange: (open: boolean) => void open: boolean result: SelectionResults } export function ExecutionStatusDrawer({ finalFocus, onOpenChange, open, result, }: ExecutionStatusDrawerProps) { const statusPresentation = getSelectionRunStatusPresentation(result.status) const statusLabel = statusPresentation?.label ?? result.status const tradeDate = result.target_trade_date ?? "未指定" return ( 知行 B1 执行状态 目标交易日:{tradeDate};当前状态:{statusLabel};未完成评估: {result.failures.length} 条。

执行摘要

执行状态
{statusPresentation ? ( {statusLabel} ) : ( {statusLabel} )}
}>关闭 } >
) } function SummaryMetric({ label, value, }: { label: string value: number | string }) { return (
{label}
{value}
) }