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 }
{failure.name}
{failure.ts_code}
{formatFailureType(failure.failure_type)}
{failure.reason}