import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from "@/shared/ui/dialog" import { ScrollArea } from "@/shared/ui/scroll-area" import { Button } from "@/shared/ui/button" import type { OverviewFailure } from "../api/home.types" interface FailedStocksDialogProps { failures: OverviewFailure[] open: boolean onOpenChange: (open: boolean) => void } export function FailedStocksDialog({ failures, onOpenChange, open, }: FailedStocksDialogProps) { if (!open) return null return ( 失败股票详情 以下股票尚未在目标交易日同时具备完整的行情和估值数据。
{failures.map((failure) => (

{failure.name}

{failure.ts_code}

目标交易日:{failure.trade_date}

{formatFailureType(failure.failure_type)}

{failure.reason}

))}
}>关闭
) } function formatFailureType(value: string) { const labels: Record = { missing_daily_bar: "缺少日线行情", missing_daily_bar_and_valuation_snapshot: "缺少日线行情和估值快照", missing_valuation_snapshot: "缺少估值快照", recorded_stock_failure: "股票级同步失败", } return labels[value] ?? value }