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:
parent
e7538dc395
commit
c69d4fdd5c
@ -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') }}
|
||||
|
Loading…
x
Reference in New Issue
Block a user