feat: 重构管理端列表与风控/结算导航,新增表格导出和结算审核确认

This commit is contained in:
2026-05-19 17:06:56 +08:00
parent a1fb163f1b
commit 37b13278ef
47 changed files with 1255 additions and 524 deletions

View File

@@ -14,6 +14,7 @@ import {
} from "@/api/admin-wallet";
import { AdminDateRangeField } from "@/components/admin/admin-date-range-field";
import { AdminListPaginationFooter } from "@/components/admin/admin-list-pagination-footer";
import { AdminTableExportButton } from "@/components/admin/admin-table-export-button";
import { Badge } from "@/components/ui/badge";
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
@@ -410,6 +411,11 @@ export function TransferOrdersPanel(): React.ReactElement {
</div>
</div>
<div className="flex flex-wrap gap-2">
<AdminTableExportButton
tableId="wallet-transfer-orders-table"
filename="钱包转账订单"
sheetName="转账订单"
/>
<Button type="button" size="sm" onClick={() => runSearch()}>
{t("search")}
</Button>
@@ -429,7 +435,7 @@ export function TransferOrdersPanel(): React.ReactElement {
{data ? (
<>
<div className="rounded-md border">
<Table className="table-fixed">
<Table id="wallet-transfer-orders-table" className="table-fixed">
<TableHeader>
<TableRow>
<TableHead className="min-w-0 max-w-[14rem]">{t("localTransferNo")}</TableHead>
@@ -729,6 +735,11 @@ export function WalletTxnsPanel(): React.ReactElement {
</div>
</div>
<div className="flex flex-wrap gap-2">
<AdminTableExportButton
tableId="wallet-transactions-table"
filename="钱包流水"
sheetName="钱包流水"
/>
<Button type="button" size="sm" onClick={() => runSearch()}>
{t("search")}
</Button>
@@ -748,7 +759,7 @@ export function WalletTxnsPanel(): React.ReactElement {
{data ? (
<>
<div className="rounded-md border">
<Table className="table-fixed">
<Table id="wallet-transactions-table" className="table-fixed">
<TableHeader>
<TableRow>
<TableHead className="min-w-0 max-w-[14rem]">{t("txnNo")}</TableHead>
@@ -868,6 +879,11 @@ export function PlayerWalletPanel(): React.ReactElement {
className="w-40"
/>
</div>
<AdminTableExportButton
tableId="player-wallet-table"
filename="玩家钱包"
sheetName="玩家钱包"
/>
<Button type="button" onClick={() => void query()} disabled={loading}>
{loading ? t("querying") : t("query")}
</Button>
@@ -879,7 +895,7 @@ export function PlayerWalletPanel(): React.ReactElement {
<span className="text-muted-foreground">{t("sitePlayer")}</span>{" "}
{result.player.site_code}:{result.player.site_player_id}
</p>
<Table>
<Table id="player-wallet-table">
<TableHeader>
<TableRow>
<TableHead>{t("walletType")}</TableHead>