"use client"; import { useTranslation } from "react-i18next"; import type { SettlementAdjustmentRow } from "@/api/admin-agent-settlement"; import { AdminNoResourceState } from "@/components/admin/admin-no-resource-state"; import { AdminLoadingState } from "@/components/admin/admin-loading-state"; import { useAdminDateTimeFormatter } from "@/hooks/use-admin-datetime-formatter"; import { formatSettlementPeriodSpan } from "@/lib/agent-settlement-period-range"; import { formatDashboardMoneyMinor } from "@/modules/dashboard/use-dashboard-analytics"; import { settlementAdjustmentTypeLabel } from "@/modules/settlement/settlement-status-label"; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; type SettlementAdjustmentsTableProps = { rows: SettlementAdjustmentRow[]; loading: boolean; currencyCode: string; onOpenBill: (billId: number) => void; }; export function SettlementAdjustmentsTable({ rows, loading, currencyCode, onOpenBill, }: SettlementAdjustmentsTableProps): React.ReactElement { const { t } = useTranslation(["settlementCenter", "common"]); const formatTs = useAdminDateTimeFormatter(); if (loading) { return ; } if (rows.length === 0) { return ; } return (
{t("columns.period", { defaultValue: "账期" })} {t("columns.adjustmentType", { defaultValue: "调账类型" })} {t("columns.originalBill", { defaultValue: "原账单" })} {t("columns.amount", { defaultValue: "调整金额" })} {t("columns.reason", { defaultValue: "原因" })} {t("columns.time", { defaultValue: "时间" })} {rows.map((row) => ( {formatSettlementPeriodSpan(row.period_start, row.period_end)} {settlementAdjustmentTypeLabel(row.adjustment_type, t)} {row.original_bill_id != null ? `#${row.original_bill_id}` : "—"} {formatDashboardMoneyMinor(row.amount, currencyCode)} {row.reason ?? "—"} {formatTs(row.created_at)} {row.original_bill_id != null ? ( ) : null} ))}
); }