feat: 新增银行管理功能,包括银行账户的列表展示、编辑和删除操作

This commit is contained in:
2026-01-07 16:22:35 +07:00
parent 0e20480565
commit 597ca7992d
7 changed files with 75 additions and 91 deletions

View File

@@ -238,7 +238,7 @@ const local: App.I18n.Schema = {
rwa_product: 'RWA Product',
rwa_subscribe: 'RWA Subscribe',
user: 'User Management',
user_bank: 'User Bank',
bank: 'User Bank',
user_bankcard: 'User Bank Card',
user_list: 'User List',
user_transfer: 'User Transfer',

View File

@@ -237,7 +237,7 @@ const local: App.I18n.Schema = {
user: '用户管理',
user_list: '用户列表',
user_bankcard: '用户银行卡',
user_bank: '银行管理',
bank: '银行管理',
user_transfer: '用户转账记录',
transfer: '转账管理',
asset: '资产管理',

View File

@@ -21,6 +21,7 @@ export const views: Record<LastLevelRouteKey, RouteComponent | (() => Promise<Ro
"iframe-page": () => import("@/views/_builtin/iframe-page/[url].vue"),
login: () => import("@/views/_builtin/login/index.vue"),
asset: () => import("@/views/asset/index.vue"),
bank: () => import("@/views/bank/index.vue"),
deposit_fiat: () => import("@/views/deposit/fiat/index.vue"),
home: () => import("@/views/home/index.vue"),
rwa_product: () => import("@/views/rwa/product/index.vue"),
@@ -29,7 +30,6 @@ export const views: Record<LastLevelRouteKey, RouteComponent | (() => Promise<Ro
tokenization_product: () => import("@/views/tokenization/product/index.vue"),
tradingpairs: () => import("@/views/tradingPairs/index.vue"),
transfer: () => import("@/views/transfer/index.vue"),
user_bank: () => import("@/views/user/bank/index.vue"),
user_bankcard: () => import("@/views/user/bankcard/index.vue"),
user_list: () => import("@/views/user/list/index.vue"),
user_transfer: () => import("@/views/user/transfer/index.vue"),

View File

@@ -39,17 +39,6 @@ export const generatedRoutes: GeneratedRoute[] = [
hideInMenu: true
}
},
{
name: 'home',
path: '/home',
component: 'layout.base$view.home',
meta: {
title: 'home',
i18nKey: 'route.home',
icon: 'mdi:monitor-dashboard',
order: 1
}
},
{
name: 'asset',
path: '/asset',
@@ -60,64 +49,16 @@ export const generatedRoutes: GeneratedRoute[] = [
order: 2
}
},
{
name: 'transfer',
path: '/transfer',
component: 'layout.base$view.transfer',
{
name: 'bank',
path: '/bank',
component: 'layout.base$view.bank',
meta: {
title: 'transfer',
i18nKey: 'route.transfer',
title: 'bank',
i18nKey: 'route.bank',
order: 3
}
},
{
name: 'user',
path: '/user',
component: 'layout.base',
meta: {
title: 'user',
i18nKey: 'route.user',
order: 4
},
children: [
{
name: 'user_bank',
path: '/user/bank',
component: 'view.user_bank',
meta: {
title: 'user_bank',
i18nKey: 'route.user_bank'
}
},
{
name: 'user_bankcard',
path: '/user/bankcard',
component: 'view.user_bankcard',
meta: {
title: 'user_bankcard',
i18nKey: 'route.user_bankcard'
}
},
{
name: 'user_list',
path: '/user/list',
component: 'view.user_list',
meta: {
title: 'user_list',
i18nKey: 'route.user_list'
}
},
{
name: 'user_transfer',
path: '/user/transfer',
component: 'view.user_transfer',
meta: {
title: 'user_transfer',
i18nKey: 'route.user_transfer'
}
}
]
},
{
name: 'deposit',
path: '/deposit',
@@ -139,6 +80,17 @@ export const generatedRoutes: GeneratedRoute[] = [
}
]
},
{
name: 'home',
path: '/home',
component: 'layout.base$view.home',
meta: {
title: 'home',
i18nKey: 'route.home',
icon: 'mdi:monitor-dashboard',
order: 1
}
},
{
name: 'iframe-page',
path: '/iframe-page/:url',
@@ -234,8 +186,55 @@ export const generatedRoutes: GeneratedRoute[] = [
order: 7
}
},
{
name: 'transfer',
path: '/transfer',
component: 'layout.base$view.transfer',
meta: {
title: 'transfer',
i18nKey: 'route.transfer',
order: 3
}
},
{
name: 'user',
path: '/user',
component: 'layout.base',
meta: {
title: 'user',
i18nKey: 'route.user',
order: 4
},
children: [
{
name: 'user_bankcard',
path: '/user/bankcard',
component: 'view.user_bankcard',
meta: {
title: 'user_bankcard',
i18nKey: 'route.user_bankcard'
}
},
{
name: 'user_list',
path: '/user/list',
component: 'view.user_list',
meta: {
title: 'user_list',
i18nKey: 'route.user_list'
}
},
{
name: 'user_transfer',
path: '/user/transfer',
component: 'view.user_transfer',
meta: {
title: 'user_transfer',
i18nKey: 'route.user_transfer'
}
}
]
},
{
name: 'withdraw',
path: '/withdraw',

View File

@@ -167,6 +167,7 @@ const routeMap: RouteMap = {
"404": "/404",
"500": "/500",
"asset": "/asset",
"bank": "/bank",
"deposit": "/deposit",
"deposit_fiat": "/deposit/fiat",
"home": "/home",
@@ -181,7 +182,6 @@ const routeMap: RouteMap = {
"tradingpairs": "/tradingpairs",
"transfer": "/transfer",
"user": "/user",
"user_bank": "/user/bank",
"user_bankcard": "/user/bankcard",
"user_list": "/user/list",
"user_transfer": "/user/transfer",

View File

@@ -21,6 +21,7 @@ declare module "@elegant-router/types" {
"404": "/404";
"500": "/500";
"asset": "/asset";
"bank": "/bank";
"deposit": "/deposit";
"deposit_fiat": "/deposit/fiat";
"home": "/home";
@@ -35,7 +36,6 @@ declare module "@elegant-router/types" {
"tradingpairs": "/tradingpairs";
"transfer": "/transfer";
"user": "/user";
"user_bank": "/user/bank";
"user_bankcard": "/user/bankcard";
"user_list": "/user/list";
"user_transfer": "/user/transfer";
@@ -77,6 +77,7 @@ declare module "@elegant-router/types" {
| "404"
| "500"
| "asset"
| "bank"
| "deposit"
| "home"
| "iframe-page"
@@ -109,6 +110,7 @@ declare module "@elegant-router/types" {
| "iframe-page"
| "login"
| "asset"
| "bank"
| "deposit_fiat"
| "home"
| "rwa_product"
@@ -117,7 +119,6 @@ declare module "@elegant-router/types" {
| "tokenization_product"
| "tradingpairs"
| "transfer"
| "user_bank"
| "user_bankcard"
| "user_list"
| "user_transfer"

View File

@@ -21,10 +21,6 @@ const fetchData: TableFetchData = ({ pagination, filter }) => {
};
const columns: TableBaseColumns = [
{
title: 'ID',
key: 'id'
},
{
title: '银行名称',
key: 'nameCn'
@@ -47,20 +43,6 @@ const columns: TableBaseColumns = [
return useDateFormat(row.createdAt, 'YYYY-MM-DD HH:mm:ss').value;
}
},
{
title: '更新时间',
key: 'updatedAt',
render(row: any) {
return row.updatedAt ? useDateFormat(row.updatedAt, 'YYYY-MM-DD HH:mm:ss').value : '-';
}
},
{
title: '删除时间',
key: 'deletedAt',
render(row: any) {
return row.deletedAt ? useDateFormat(row.deletedAt, 'YYYY-MM-DD HH:mm:ss').value : '-';
}
},
{
title: '操作',
fixed: 'right',
@@ -70,6 +52,7 @@ const columns: TableBaseColumns = [
{
contentText: '编辑',
type: 'primary',
size: 'small',
onClick: () => {
tableInst.value?.reload();
}
@@ -120,6 +103,7 @@ const filterColumns: TableFilterColumns = [
:columns="columns"
:filter-columns="filterColumns"
:fetch-data="fetchData"
:scroll-x="800"
/>
</template>