1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-08-01 16:38:02 +08:00

fix: focus nav by pathname

Signed-off-by: Kaifuny <superbiger.github@gmail.com>
This commit is contained in:
Kaifuny 2023-07-20 11:23:11 +08:00
parent e7538dc395
commit c69d4fdd5c

View File

@ -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<string>(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 })
}
</script>
<template>
<div class="flex flex-col h-screen bg-gray-100">
@ -42,11 +81,7 @@ const router = useRouter()
avatar-url="https://avatars.githubusercontent.com/u/499270?v=4"
:navigations="navigations"
:dropdown-menus="dropdownMenus"
@update:current="
(name: string) => {
router.push({ name })
}
"
@update:current="handleClickNav"
>
<RouterLink class="text-sm text-green-600" to="/index">
{{ $t('message.hello') }}