This commit is contained in:
2026-08-14 16:06:07 +08:00
parent 978475f0cd
commit 3194356859
3 changed files with 102 additions and 99 deletions
File diff suppressed because one or more lines are too long
+36 -36
View File
@@ -1,37 +1,37 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap" rel="stylesheet" />
<title>后台管理</title>
<script>
(function() {
var cached = localStorage.getItem('siteInfo');
if (cached) {
try {
var info = JSON.parse(cached);
if (info.siteName) {
document.title = info.siteName + ' - 管理后台';
}
if (info.siteLogo) {
var link = document.querySelector('link[rel="icon"]');
if (link) {
link.href = info.siteLogo;
link.type = 'image/png';
}
}
} catch (e) {}
}
})();
</script>
<script type="module" crossorigin src="/assets/index-CTeXmoRP.js"></script>
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap" rel="stylesheet" />
<title>后台管理</title>
<script>
(function() {
var cached = localStorage.getItem('siteInfo');
if (cached) {
try {
var info = JSON.parse(cached);
if (info.siteName) {
document.title = info.siteName + ' - 管理后台';
}
if (info.siteLogo) {
var link = document.querySelector('link[rel="icon"]');
if (link) {
link.href = info.siteLogo;
link.type = 'image/png';
}
}
} catch (e) {}
}
})();
</script>
<script type="module" crossorigin src="/assets/index-BOVkHU6U.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-D3fwIbOp.css">
</head>
<body>
<div id="root"></div>
</body>
</html>
</head>
<body>
<div id="root"></div>
</body>
</html>
@@ -8,19 +8,22 @@ import type { BankAccount } from '../types';
const { RangePicker } = DatePicker;
interface TransactionRecord {
counterAcctNo?: string;
cnterName?: string;
cnterBankName?: string;
acctNo?: string;
transAmt?: number | string;
dcFlag?: number;
dcFlagLabel?: string;
transTimeStr?: string;
digestCode?: string;
id?: string;
account_id?: string;
account_no?: string;
transaction_no?: string;
transaction_time?: string;
transaction_amount?: string;
balance_direction?: string;
balance_after?: string;
counterparty_name?: string;
counterparty_account?: string;
counterparty_bank?: string;
remark?: string;
balance?: number | string;
tellerSeqno?: string;
transferId?: string;
digest_code?: string;
sync_batch?: string;
is_synced?: boolean;
created_at?: string;
}
const AdminBankTransactions: React.FC = () => {
@@ -95,72 +98,72 @@ const AdminBankTransactions: React.FC = () => {
const columns = [
{
title: '收款账号',
dataIndex: 'counterAcctNo',
title: '交易流水号',
dataIndex: 'transaction_no',
width: 180,
render: (v: string) => v || '-',
},
{
title: '收款户名',
dataIndex: 'cnterName',
width: 120,
render: (v: string) => v || '-',
},
{
title: '收款开户行',
dataIndex: 'cnterBankName',
width: 150,
render: (v: string) => v || '-',
},
{
title: '我方付款账号',
dataIndex: 'acctNo',
width: 180,
render: (v: string) => v || '-',
},
{
title: '打款金额',
dataIndex: 'transAmt',
width: 120,
align: 'right' as const,
render: (v: number | string) => v != null ? Number(v).toFixed(2) : '-',
},
{
title: '借贷方向',
dataIndex: 'dcFlagLabel',
width: 100,
render: (v: string, r: TransactionRecord) => v || (r.dcFlag === 0 ? '借/出金' : r.dcFlag === 1 ? '贷/入金' : '-'),
},
{
title: '打款时间',
dataIndex: 'transTimeStr',
title: '交易时间',
dataIndex: 'transaction_time',
width: 160,
render: (v: string) => v ? formatDate(v) : '-',
},
{
title: '摘要',
dataIndex: 'digestCode',
title: '交易金额',
dataIndex: 'transaction_amount',
width: 120,
align: 'right' as const,
render: (v: string) => v != null ? Number(v).toFixed(2) : '-',
},
{
title: '借贷方向',
dataIndex: 'balance_direction',
width: 100,
render: (v: string) => v === 'DR' ? '借/出金' : v === 'CR' ? '贷/入金' : '-',
},
{
title: '交易后余额',
dataIndex: 'balance_after',
width: 120,
align: 'right' as const,
render: (v: string) => v != null ? Number(v).toFixed(2) : '-',
},
{
title: '对方户名',
dataIndex: 'counterparty_name',
width: 120,
render: (v: string) => v || '-',
},
{
title: '对方账号',
dataIndex: 'counterparty_account',
width: 180,
render: (v: string) => v || '-',
},
{
title: '对方开户行',
dataIndex: 'counterparty_bank',
width: 150,
render: (v: string) => v || '-',
},
{
title: '摘要码',
dataIndex: 'digest_code',
width: 100,
render: (v: string) => v || '-',
},
{
title: '用途/备注',
title: '备注',
dataIndex: 'remark',
width: 150,
render: (v: string) => v || '-',
},
{
title: '账户余额',
dataIndex: 'balance',
width: 120,
align: 'right' as const,
render: (v: number | string) => v != null ? Number(v).toFixed(2) : '-',
},
{
title: '流水号',
dataIndex: 'tellerSeqno',
width: 150,
render: (v: string) => v || '-',
title: '同步时间',
dataIndex: 'created_at',
width: 160,
render: (v: string) => v ? formatDate(v) : '-',
},
];
@@ -225,7 +228,7 @@ const AdminBankTransactions: React.FC = () => {
<Card variant="outlined" style={{ borderRadius: 12, border: '1px solid #f0f0f5' }}>
<Table
rowKey={(r, i) => `${r.tellerSeqno || ''}-${r.transferId || ''}-${i}`}
rowKey={(r) => r.id || `${r.transaction_no || ''}-${Math.random()}`}
columns={columns}
dataSource={data}
loading={loading}