feat(admin): 上线报表中心页面并接入九类报表查询导出

新增报表控制台、汇总 API 客户端与中英尼文案,九类报表均可筛选预览并导出 CSV/Excel。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-05-22 10:08:43 +08:00
parent e8a5507411
commit b2b934e25e
24 changed files with 2029 additions and 8 deletions

View File

@@ -36,6 +36,7 @@ const NAV_TRANSLATION_KEYS: Record<string, string> = {
risk: "risk",
settlement: "settlement",
reconcile: "reconcile",
reports: "reports",
tickets: "tickets",
audit: "audit",
settings: "settings",
@@ -68,7 +69,7 @@ type BreadcrumbCrumb = {
};
export function AdminBreadcrumb() {
const { t } = useTranslation(["common", "dashboard", "audit", "config", "draws"]);
const { t } = useTranslation(["common", "dashboard", "audit", "config", "draws", "reports"]);
const pathname = usePathname();
const profile = useAdminProfile();
const navItems = profile?.navigation ?? [];

View File

@@ -36,7 +36,7 @@ function isActive(pathname: string, item: { href: string; activeMatchPrefix?: st
}
export function AdminAppSidebar() {
const { t } = useTranslation(["common", "dashboard", "players", "draws", "config", "wallet", "risk", "settlement", "jackpot", "reconcile", "tickets", "audit"]);
const { t } = useTranslation(["common", "dashboard", "players", "draws", "config", "wallet", "risk", "settlement", "jackpot", "reconcile", "tickets", "audit", "reports"]);
const pathname = usePathname();
const profile = useAdminProfile();
const visibleNav = useMemo(