From c69d4fdd5cde4df4f7b91d58cd41c98ab9f487d8 Mon Sep 17 00:00:00 2001 From: Kaifuny Date: Thu, 20 Jul 2023 11:23:11 +0800 Subject: [PATCH] fix: focus nav by pathname Signed-off-by: Kaifuny --- .../apps/web/src/layouts/NavLayout.vue | 51 ++++++++++++++++--- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/contact-frontend/packages/apps/web/src/layouts/NavLayout.vue b/contact-frontend/packages/apps/web/src/layouts/NavLayout.vue index 1bdf1ea2..93a91d37 100644 --- a/contact-frontend/packages/apps/web/src/layouts/NavLayout.vue +++ b/contact-frontend/packages/apps/web/src/layouts/NavLayout.vue @@ -21,15 +21,54 @@ const dropdownMenus = [ { label: '个人中心', value: ROUTE_NAME.PROFILE_INDEX }, { label: '企业设置', value: ROUTE_NAME.ENTERPRISE_INDEX }, { label: '系统设置', value: ROUTE_NAME.SYSTEM_INDEX }, - { label: '意见反馈', value: 'reedback' }, - { label: '关于我们', value: 'about' }, + { label: '意见反馈', value: 'https://github.com/cskefu/cskefu/issues' }, + { label: '关于我们', value: 'https://github.com/cskefu' }, { label: '退出登录', value: 'logout' }, ] // TODO 根据 url 设置当前选中的导航 - const current = ref(ROUTE_NAME.DASHBOARD_INDEX) +const path = window.location.pathname.split('/')[1] +switch (path) { + case 'dashboard': + current.value = ROUTE_NAME.DASHBOARD_INDEX + break + case 'chat': + current.value = ROUTE_NAME.CHAT_INDEX + break + case 'work-order': + current.value = ROUTE_NAME.WORK_ORDER_INDEX + break + case 'seats': + current.value = ROUTE_NAME.SEATS_INDEX + break + case 'organization': + current.value = ROUTE_NAME.ORGANIZATION_INDEX + break + case 'setting': + current.value = ROUTE_NAME.SETTING_INDEX + break + case 'system': + current.value = ROUTE_NAME.SYSTEM_INDEX + break + case 'profile': + current.value = ROUTE_NAME.PROFILE_INDEX + break + default: + current.value = ROUTE_NAME.NOT_FOUND +} const router = useRouter() + +function handleClickNav(name: string) { + if (name.startsWith('https://') || name.startsWith('http://')) { + window.open(name, '_blank') + return + } + if (name === 'logout') { + return + } + router.push({ name }) +}