update
This commit is contained in:
parent
f59f7937b0
commit
08dc2d2db9
@ -8,6 +8,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-menu
|
<a-menu
|
||||||
v-model:selectedKeys="selectedKeys"
|
v-model:selectedKeys="selectedKeys"
|
||||||
|
v-model:openKeys="openKeys"
|
||||||
theme="dark"
|
theme="dark"
|
||||||
mode="inline"
|
mode="inline"
|
||||||
style="background: #1a1a1a;"
|
style="background: #1a1a1a;"
|
||||||
@ -16,14 +17,21 @@
|
|||||||
<template #icon><dashboard-outlined /></template>
|
<template #icon><dashboard-outlined /></template>
|
||||||
<span>仪表盘</span>
|
<span>仪表盘</span>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="finance" @click="() => $router.push('/finance')">
|
|
||||||
|
<a-sub-menu key="finance">
|
||||||
<template #icon><dollar-outlined /></template>
|
<template #icon><dollar-outlined /></template>
|
||||||
<span>财务管理</span>
|
<template #title>财务管理</template>
|
||||||
|
|
||||||
|
<a-menu-item key="finance-account" @click="() => $router.push('/finance/account')">
|
||||||
|
<template #icon><wallet-outlined /></template>
|
||||||
|
<span>账号管理</span>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-menu-item key="bank-card" @click="() => $router.push('/bank-card')">
|
|
||||||
|
<a-menu-item key="finance-bank-card" @click="() => $router.push('/finance/bank-card')">
|
||||||
<template #icon><credit-card-outlined /></template>
|
<template #icon><credit-card-outlined /></template>
|
||||||
<span>银行卡管理</span>
|
<span>银行卡管理</span>
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
|
</a-sub-menu>
|
||||||
</a-menu>
|
</a-menu>
|
||||||
</a-layout-sider>
|
</a-layout-sider>
|
||||||
|
|
||||||
@ -37,7 +45,12 @@
|
|||||||
<home-outlined />
|
<home-outlined />
|
||||||
</a-breadcrumb-item>
|
</a-breadcrumb-item>
|
||||||
<a-breadcrumb-item>蜂快 · 运营商平台</a-breadcrumb-item>
|
<a-breadcrumb-item>蜂快 · 运营商平台</a-breadcrumb-item>
|
||||||
<a-breadcrumb-item>{{ currentPageTitle }}</a-breadcrumb-item>
|
<a-breadcrumb-item v-if="route.meta.parentTitle">
|
||||||
|
{{ route.meta.parentTitle }}
|
||||||
|
</a-breadcrumb-item>
|
||||||
|
<a-breadcrumb-item>
|
||||||
|
{{ currentPageTitle }}
|
||||||
|
</a-breadcrumb-item>
|
||||||
</a-breadcrumb>
|
</a-breadcrumb>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -81,7 +94,8 @@ import {
|
|||||||
DashboardOutlined,
|
DashboardOutlined,
|
||||||
HomeOutlined,
|
HomeOutlined,
|
||||||
DollarOutlined,
|
DollarOutlined,
|
||||||
CreditCardOutlined
|
CreditCardOutlined,
|
||||||
|
WalletOutlined
|
||||||
} from '@ant-design/icons-vue';
|
} from '@ant-design/icons-vue';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -90,7 +104,8 @@ export default {
|
|||||||
DashboardOutlined,
|
DashboardOutlined,
|
||||||
HomeOutlined,
|
HomeOutlined,
|
||||||
DollarOutlined,
|
DollarOutlined,
|
||||||
CreditCardOutlined
|
CreditCardOutlined,
|
||||||
|
WalletOutlined
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
@ -104,6 +119,7 @@ export default {
|
|||||||
|
|
||||||
const userInfo = computed(() => store.getters.userInfo);
|
const userInfo = computed(() => store.getters.userInfo);
|
||||||
const selectedKeys = ref([]);
|
const selectedKeys = ref([]);
|
||||||
|
const openKeys = ref(['finance']);
|
||||||
|
|
||||||
// 获取当前页面标题
|
// 获取当前页面标题
|
||||||
const currentPageTitle = computed(() => {
|
const currentPageTitle = computed(() => {
|
||||||
@ -112,8 +128,16 @@ export default {
|
|||||||
|
|
||||||
// 根据当前路由设置选中的菜单项
|
// 根据当前路由设置选中的菜单项
|
||||||
watch(() => route.path, (path) => {
|
watch(() => route.path, (path) => {
|
||||||
const key = path.split('/')[1] || 'dashboard';
|
const pathParts = path.split('/');
|
||||||
|
if (pathParts.length >= 3 && pathParts[1] === 'finance') {
|
||||||
|
// 如果是财务管理的子路由
|
||||||
|
selectedKeys.value = [`finance-${pathParts[2]}`];
|
||||||
|
openKeys.value = ['finance'];
|
||||||
|
} else {
|
||||||
|
// 如果是顶级路由
|
||||||
|
const key = pathParts[1] || 'dashboard';
|
||||||
selectedKeys.value = [key];
|
selectedKeys.value = [key];
|
||||||
|
}
|
||||||
}, { immediate: true });
|
}, { immediate: true });
|
||||||
|
|
||||||
// 检查是否已登录
|
// 检查是否已登录
|
||||||
@ -131,9 +155,11 @@ export default {
|
|||||||
return {
|
return {
|
||||||
collapsed,
|
collapsed,
|
||||||
selectedKeys,
|
selectedKeys,
|
||||||
|
openKeys,
|
||||||
userInfo,
|
userInfo,
|
||||||
handleLogout,
|
handleLogout,
|
||||||
currentPageTitle
|
currentPageTitle,
|
||||||
|
route
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,15 @@
|
|||||||
import { createRouter, createWebHistory } from 'vue-router';
|
import { createRouter, createWebHistory } from 'vue-router';
|
||||||
|
import { h } from 'vue';
|
||||||
import AdminLayout from '../layouts/AdminLayout.vue';
|
import AdminLayout from '../layouts/AdminLayout.vue';
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
|
||||||
|
// 创建一个空的RouterView组件作为父级路由的容器
|
||||||
|
const RouterView = defineComponent({
|
||||||
|
name: 'RouterView',
|
||||||
|
setup() {
|
||||||
|
return () => h('router-view');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
const routes = [
|
const routes = [
|
||||||
{
|
{
|
||||||
@ -15,15 +25,27 @@ const routes = [
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'finance',
|
path: 'finance',
|
||||||
name: 'Finance',
|
redirect: '/finance/account',
|
||||||
|
meta: { title: '财务管理', icon: 'money' },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'finance/account',
|
||||||
|
name: 'FinanceAccount',
|
||||||
component: () => import('../views/Finance.vue'),
|
component: () => import('../views/Finance.vue'),
|
||||||
meta: { title: '财务管理', icon: 'money' }
|
meta: { title: '账号管理', parentTitle: '财务管理', icon: 'wallet' }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: 'finance/bank-card',
|
||||||
|
name: 'FinanceBankCard',
|
||||||
|
component: () => import('../views/BankCard.vue'),
|
||||||
|
meta: { title: '银行卡管理', parentTitle: '财务管理', icon: 'credit-card' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'bank-card',
|
path: 'bank-card',
|
||||||
name: 'BankCard',
|
name: 'BankCard',
|
||||||
component: () => import('../views/BankCard.vue'),
|
component: () => import('../views/BankCard.vue'),
|
||||||
meta: { title: '银行卡管理', icon: 'credit-card' }
|
meta: { title: '银行卡管理', icon: 'credit-card' },
|
||||||
|
hidden: true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@ -298,7 +298,7 @@ export default {
|
|||||||
|
|
||||||
// 跳转到银行卡管理页面
|
// 跳转到银行卡管理页面
|
||||||
const goToBankCardPage = () => {
|
const goToBankCardPage = () => {
|
||||||
router.push('/bank-card');
|
router.push('/finance/bank-card');
|
||||||
if (withdrawalModalVisible.value) {
|
if (withdrawalModalVisible.value) {
|
||||||
withdrawalModalVisible.value = false;
|
withdrawalModalVisible.value = false;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user