feat(settlement): 支持结算时区与已关账漏账流水显示
Some checks failed
lotteryadmin CI / build (push) Has been cancelled

- 為結算期間相關接口與前端組件新增 settlement_timezone 字段
- 在账期范围格式化函数中支持传入时区参数显示当地日期
- 在开账面板和账期视图中增加漏账流水(orphanActivity)高亮显示
- 统一调整账期视图默认子页面为“账单处理”而非“待处理”
- 在开奖管理中添加开奖提供商(provider)信息展示和选择功能
- 结算中心增加账单状态筛选项支持待确认、待收付、已结清、调账/冲正
- 移除部分账期页状态筛选标签,改用文本方式显示待确认与待收付数量
- 集成站点管理中新增结算时区字段,支持编辑与保存
- 多语言新增与更新与结算时区和漏账流水相关的文案提示及翻译
This commit is contained in:
2026-07-09 15:48:03 +08:00
parent 330063abf6
commit 1164d9d728
33 changed files with 359 additions and 111 deletions

View File

@@ -295,11 +295,13 @@
"manageTitle": "Period management",
"markerOccupied": "Occupied period",
"markerPending": "Pending turnover",
"markerOrphan": "Closed-period orphan turnover",
"markerUnpaid": "Unsettled period",
"open": "Open period",
"openDesc": "Select the start and end dates; gray strikethrough dates are occupied, amber dots indicate pending turnover, red dots at top-right indicate unsettled periods.",
"openDesc": "Select the start and end dates; gray strikethrough dates are occupied, amber dots indicate pending turnover, violet dots indicate closed-period orphan turnover, red dots at top-right indicate unsettled periods.",
"openFailed": "Failed to open period",
"openHint": "Local dates ({{tz}})",
"timezoneHint": "Period dates are calculated in site timezone {{tz}}.",
"openWithPreset": "Apply quick preset",
"opened": "Period opened",
"overlapsOccupied": "The selected range overlaps with existing periods. Please avoid dates with gray strikethrough lines.",

View File

@@ -131,6 +131,7 @@
"lotteryH5BaseUrl": "Lottery H5 base URL (optional)",
"name": "Site name",
"notes": "Notes",
"settlementTimezone": "Settlement timezone",
"ssoSecret": "SSO secret",
"status": "Status",
"walletApiKey": "Wallet API key",
@@ -161,6 +162,7 @@
"lotteryH5BaseUrl": "Enter H5 URL",
"name": "Enter site name",
"notes": "Enter notes",
"settlementTimezone": "Enter IANA timezone, for example Asia/Kathmandu",
"walletApiUrl": "Enter wallet API URL"
},
"rotateConfirm": "Rotate",

View File

@@ -20,6 +20,7 @@
"failed": "Create failed"
},
"drawNo": "Draw no.",
"provider": "Provider",
"status": "Status",
"startTime": "Start time",
"closeTime": "Close time",

View File

@@ -14,7 +14,7 @@
"closeDialogTitle": "Close period",
"closeDialogDesc": "Summarize {{range}} and generate bills.",
"closeDialogShare": "{{count}} ledger entries",
"closeDialogUnsettled": "{{count}} tickets still unsettled",
"closeDialogUnsettled": "{{count}} ticket(s) still unsettled. Finish draw settlement before closing.",
"closeDialogIrreversible": "Cannot undo. Use adjustments or reversals to fix errors.",
"closeDialogConfirm": "Close period",
"closeDialogEmpty": "No share ledger this period; closing will not generate bills."

View File

@@ -19,6 +19,8 @@
"player": "Player",
"orderNo": "Order no.",
"drawNo": "Draw no.",
"provider": "Provider",
"allProviders": "All providers",
"playCode": "Play",
"number": "Number",
"betAmount": "Bet amount",

View File

@@ -311,11 +311,13 @@
"closed": "अवधि बन्द भयो, बिल सिर्जना भयो",
"closeFailed": "अवधि बन्द गर्न असफल",
"hintsFailed": "खोल्ने सुझाव लोड गर्न असफल",
"openDesc": "सुरु र अन्त्य मिति चयन गर्नुहोस्; खैरो स्ट्राइकथ्रु भएका मितिहरू अधिकृत अवधि हुन्, एम्बर बिन्दुहरू पेन्डिङ कारोबार हुन्, माथि-दायाँ रातो बिन्दुहरू नबुझिएको अवधि हुन्।",
"openDesc": "सुरु र अन्त्य मिति चयन गर्नुहोस्; खैरो स्ट्राइकथ्रु भएका मितिहरू अधिकृत अवधि हुन्, एम्बर बिन्दुहरू पेन्डिङ कारोबार हुन्, बैजनी बिन्दुहरू बन्द अवधिमा छुटेका कारोबार हुन्, माथि-दायाँ रातो बिन्दुहरू नबुझिएको अवधि हुन्।",
"timezoneHint": "अवधि मिति साइट समयक्षेत्र {{tz}} अनुसार गणना हुन्छ।",
"rangeLabel": "अवधि दायरा",
"rangeHint": "पहिले सुरु मिति चयन गर्नुहोस्, त्यसपछि अन्त्य मिति; एकल-दिन अवधिको लागि एउटै मिति दुई पटक क्लिक गर्नुहोस्।",
"markerOccupied": "अधिकृत अवधि",
"markerPending": "पेन्डिङ कारोबार",
"markerOrphan": "बन्द अवधिमा छुटेको कारोबार",
"markerUnpaid": "नबुझिएको अवधि",
"overlapsOccupied": "चयन गरिएको दायरा अवस्थित अवधिसँग ओभरल्याप हुन्छ। कृपया खैरो स्ट्राइकथ्रु भएका मितिहरू नछान्नुहोस्।"
},

View File

@@ -131,6 +131,7 @@
"lotteryH5BaseUrl": "लटरी H5 आधार URL (वैकल्पिक)",
"name": "साइट नाम",
"notes": "टिप्पणी",
"settlementTimezone": "सेटलमेन्ट समयक्षेत्र",
"ssoSecret": "SSO गोप्य",
"status": "स्थिति",
"walletApiKey": "वालेट API कुञ्जी",
@@ -159,6 +160,7 @@
"lotteryH5BaseUrl": "H5 ठेगाना प्रविष्ट गर्नुहोस्",
"name": "साइट नाम प्रविष्ट गर्नुहोस्",
"notes": "टिप्पणी प्रविष्ट गर्नुहोस्",
"settlementTimezone": "IANA समयक्षेत्र प्रविष्ट गर्नुहोस्, जस्तै Asia/Kathmandu",
"walletApiUrl": "वालेट API ठेगाना प्रविष्ट गर्नुहोस्"
},
"rotateConfirm": "पुष्टि",

View File

@@ -100,6 +100,7 @@
"drawDetail": "ड्रअ विवरण",
"drawNo": "ड्रअ नं.",
"drawTime": "ड्रअ समय",
"provider": "Provider",
"editDraw": {
"action": "सम्पादन",
"description": "ड्रअ {{drawNo}} · स्थानीय समयक्षेत्र {{tz}} मा सम्पादन",

View File

@@ -14,7 +14,7 @@
"closeDialogTitle": "अवधि बन्द गर्नुहोस्",
"closeDialogDesc": "{{range}} भित्रको लेजर संक्षेप गरी बिल सिर्जना गर्नुहोस्।",
"closeDialogShare": "{{count}} लेजर प्रविष्टिहरू",
"closeDialogUnsettled": "{{count}} टिकटहरू अझै नसेटल",
"closeDialogUnsettled": "{{count}} टिकटहरू अझै नसेटल छन्। बन्द गर्नु अघि ड्र सेटलमेन्ट पूरा गर्नुहोस्।",
"closeDialogIrreversible": "पूर्ववत गर्न सकिँदैन। त्रुटि सच्याउन समायोजन वा रिभर्सल प्रयोग गर्नुहोस्।",
"closeDialogConfirm": "अवधि बन्द गर्नुहोस्",
"closeDialogEmpty": "यस अवधिमा शेयर लेजर छैन; बन्द गर्दा बिल सिर्जना हुँदैन।"

View File

@@ -13,6 +13,8 @@
"detailLoadFailed": "टिकट विवरण लोड असफल",
"detailTitle": "टिकट विवरण",
"drawNo": "ड्रअ नं.",
"provider": "Provider",
"allProviders": "सबै provider",
"drawNoOptional": "ड्रअ नम्बर (वैकल्पिक)",
"drawNoPlaceholder": "जस्तै 20260520-001",
"failReason": "असफल कारण",

View File

@@ -326,11 +326,13 @@
"closeFailed": "关账失败",
"datesRequired": "请填写账期起止日期",
"invalidRange": "结束日期不能早于开始日期",
"openDesc": "选择账期起止日期;灰色删除线为已有账期不可再开,琥珀点为待入账,右上角红点为未结清。",
"openDesc": "选择账期起止日期;灰色删除线为已有账期不可再开,琥珀点为待入账,紫点为已关账漏账,右上角红点为未结清。",
"timezoneHint": "账期日期按站点时区 {{tz}} 计算。",
"rangeLabel": "账期范围",
"rangeHint": "先选开始日期,再选结束日期;单日账期可点同一天两次。",
"markerOccupied": "已有账期",
"markerPending": "待入账流水",
"markerOrphan": "已关账漏账",
"markerUnpaid": "未结清账期",
"overlapsOccupied": "所选范围与已有账期重叠,请避开灰色删除线的日期。",
"hintsFailed": "无法加载开账建议"

View File

@@ -127,6 +127,7 @@
"adminPassword": "初始密码",
"adminEmail": "邮箱(可选)",
"currency": "默认币种",
"settlementTimezone": "结算时区",
"status": "状态",
"walletApiUrl": "主站钱包根 URL",
"lotteryH5BaseUrl": "彩票 H5 基址(可选)",
@@ -143,6 +144,7 @@
"adminPassword": "至少 6 位",
"adminEmail": "请输入邮箱",
"currency": "请输入币种代码,如 NPR",
"settlementTimezone": "例如 Asia/Kathmandu",
"walletApiUrl": "请输入钱包接口地址",
"lotteryH5BaseUrl": "请输入 H5 地址",
"iframeOrigins": "请输入允许的来源地址,如 https://www.example.com",

View File

@@ -20,6 +20,7 @@
"failed": "创建失败"
},
"drawNo": "期号",
"provider": "开注商",
"status": "状态",
"startTime": "开始时间",
"closeTime": "封盘时间",

View File

@@ -15,7 +15,7 @@
"closeDialogDesc": "将汇总 {{range}} 内的流水并生成账单。",
"closeDialogShare": "流水 {{count}} 笔",
"closeDialogEmpty": "本期暂无占成流水,关账后不会生成账单。",
"closeDialogUnsettled": "仍有 {{count}} 笔注单未结算",
"closeDialogUnsettled": "仍有 {{count}} 笔注单未结算,需先完成开奖结算后才能关账",
"closeDialogIrreversible": "关账后不可撤销,差错请通过调账或冲正处理。",
"closeDialogConfirm": "确认关账"
},
@@ -52,6 +52,7 @@
"periods": "账期",
"pendingWorkbench": "待处理",
"allBills": "全部账单",
"billWorkbench": "账单处理",
"bills": "账单",
"operations": "收付与调账",
"aria": "账期视图",

View File

@@ -19,6 +19,8 @@
"player": "玩家",
"orderNo": "订单号",
"drawNo": "期号",
"provider": "开注商",
"allProviders": "全部开注商",
"playCode": "玩法",
"number": "号码",
"betAmount": "下注",