1
This commit is contained in:
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Vendored
+36
-36
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user