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

@@ -3,6 +3,7 @@
"moduleCode": "模块",
"actionCode": "动作",
"operatorType": "操作者类型",
"operatorIdPlaceholder": "请输入操作人 ID",
"exactMatch": "请输入完整名称",
"operatorTypePlaceholder": "如管理员、系统",
"operator": "操作者",

View File

@@ -94,6 +94,7 @@
"players": "玩家列表",
"currencies": "币种管理",
"wallet": "钱包流水",
"reports": "报表中心",
"draws": "期号列表",
"rules_plays": "投注规则",
"rules_odds": "赔率与回水",

View File

@@ -0,0 +1,172 @@
{
"title": "报表中心",
"subtitle": "集中查看运营、资金、风控与审计报表,统一按维度筛选后导出。",
"exportPanel": "导出设置",
"chooseReport": "选择要导出的报表",
"libraryTitle": "报表类型",
"exportConfig": "导出条件",
"recentTasks": "最近导出任务",
"taskEmpty": "暂无导出任务",
"dimension": "维度",
"exportPending": "{{report}} 的 {{format}} 导出接口待接入",
"exportSuccess": "已导出 {{report}}{{format}}",
"exportFailed": "导出失败",
"exportHint": "接入导出接口后,会按当前条件生成对应格式的文件。",
"validation": {
"drawNoRequired": "请输入期号",
"drawNoNumberRequired": "请输入期号和号码"
},
"formats": {
"csv": "CSV",
"excel": "Excel"
},
"empty": "没有匹配的报表",
"connected": "已接入",
"pending": "待接入",
"backendPending": "后端接口待接入",
"filterPanel": "筛选条件",
"queryHint": "设置筛选条件后点击查询,可预览并导出。",
"query": "查询",
"querying": "查询中…",
"reset": "重置",
"loadFailed": "加载失败",
"yes": "是",
"no": "否",
"filterAll": "全部玩法",
"searchPicker": {
"open": "打开选择器",
"select": "选择",
"keyword": "输入关键词搜索"
},
"preview": {
"title": "数据预览",
"subtitle": "查询结果将显示在下方表格,可导出 CSV 或 Excel。",
"empty": "暂无数据,请调整筛选条件后重试。",
"exportableRows": "行可导出",
"columns": {
"primary": "主字段",
"secondary": "次字段",
"metricA": "指标 A",
"metricB": "指标 B",
"metricC": "指标 C",
"status": "状态",
"extra": "附加",
"time": "时间"
},
"stats": {
"records": "记录数",
"currentPage": "当前页",
"drawNo": "期号",
"currency": "币种",
"exportRows": "导出行数",
"bet": "下注",
"payout": "派彩",
"houseGross": "平台盈亏",
"orders": "订单数",
"locked": "已占用",
"remaining": "剩余额度",
"usage": "使用率",
"logs": "日志数",
"modules": "模块数",
"operators": "操作人数",
"players": "玩家数",
"transferIn": "转入笔数",
"transferOut": "转出笔数",
"rebate": "回水合计"
}
},
"stats": {
"total": "全部报表",
"current": "当前列表",
"formats": "导出格式"
},
"table": {
"report": "报表名称",
"category": "分类",
"dimension": "统计维度",
"description": "说明",
"formats": "格式",
"actions": "操作",
"status": "状态",
"createdAt": "创建时间"
},
"categories": {
"all": "全部",
"profit": "盈亏",
"wallet": "资金",
"risk": "风控",
"audit": "审计"
},
"filters": {
"draw": "期号",
"date": "日期",
"player_period": "玩家 + 时间段",
"draw_number": "期号 + 号码",
"play": "玩法",
"play_period": "玩法 + 时间段",
"operator_period": "操作人 + 时间段"
},
"scopes": {
"drawNo": "期号",
"date": "日期",
"playerPeriod": "玩家 + 时间段",
"drawNumber": "期号 + 号码",
"play": "玩法",
"playPeriod": "玩法 + 时间段",
"operatorPeriod": "操作人 + 时间段"
},
"fields": {
"drawNo": "期号",
"number": "号码",
"period": "时间段",
"player": "玩家",
"play": "玩法",
"operator": "操作人"
},
"placeholders": {
"drawNo": "例如 20260522-001",
"number": "输入号码",
"keyword": "搜索报表名称 / 说明",
"player": "玩家 ID / 昵称 / 手机",
"play": "玩法名称或编码",
"operator": "管理员账号或昵称"
},
"items": {
"draw_profit": {
"title": "每期下注/派彩/盈亏",
"summary": "按期号核对下注额、派彩金额、平台盈亏与结算状态。"
},
"daily_profit": {
"title": "每日盈亏汇总",
"summary": "按自然日汇总投注、派奖、退款、盈亏和净额。"
},
"player_win_loss": {
"title": "玩家输赢报表",
"summary": "按玩家和时间段追踪输赢表现,适合客服与财务复核。"
},
"player_transfer": {
"title": "玩家转入转出报表",
"summary": "集中查看玩家转入、转出、冲正和异常处理记录。"
},
"hot_number_risk": {
"title": "热门号码风险报表",
"summary": "按期号与号码查看投注热度、风险占用和封顶接近度。"
},
"play_dimension": {
"title": "玩法维度报表",
"summary": "按玩法拆分投注量、派彩、回水和盈亏结构。"
},
"sold_out_number": {
"title": "售罄号码报表",
"summary": "查看单期已售罄号码、售罄时间和风险封锁情况。"
},
"rebate_commission": {
"title": "佣金/回水报表",
"summary": "按玩法与时间段汇总佣金、回水与配置命中情况。"
},
"admin_audit": {
"title": "后台操作审计报表",
"summary": "按操作人和时间段导出关键后台操作留痕。"
}
}
}