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.PROFILE_INDEX },
|
||||||
{ label: '企业设置', value: ROUTE_NAME.ENTERPRISE_INDEX },
|
{ label: '企业设置', value: ROUTE_NAME.ENTERPRISE_INDEX },
|
||||||
{ label: '系统设置', value: ROUTE_NAME.SYSTEM_INDEX },
|
{ label: '系统设置', value: ROUTE_NAME.SYSTEM_INDEX },
|
||||||
{ label: '意见反馈', value: 'reedback' },
|
{ label: '意见反馈', value: 'https://github.com/cskefu/cskefu/issues' },
|
||||||
{ label: '关于我们', value: 'about' },
|
{ label: '关于我们', value: 'https://github.com/cskefu' },
|
||||||
{ label: '退出登录', value: 'logout' },
|
{ label: '退出登录', value: 'logout' },
|
||||||
]
|
]
|
||||||
|
|
||||||
// TODO 根据 url 设置当前选中的导航
|
// TODO 根据 url 设置当前选中的导航
|
||||||
|
|
||||||
const current = ref<string>(ROUTE_NAME.DASHBOARD_INDEX)
|
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()
|
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>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="flex flex-col h-screen bg-gray-100">
|
<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"
|
avatar-url="https://avatars.githubusercontent.com/u/499270?v=4"
|
||||||
:navigations="navigations"
|
:navigations="navigations"
|
||||||
:dropdown-menus="dropdownMenus"
|
:dropdown-menus="dropdownMenus"
|
||||||
@update:current="
|
@update:current="handleClickNav"
|
||||||
(name: string) => {
|
|
||||||
router.push({ name })
|
|
||||||
}
|
|
||||||
"
|
|
||||||
>
|
>
|
||||||
<RouterLink class="text-sm text-green-600" to="/index">
|
<RouterLink class="text-sm text-green-600" to="/index">
|
||||||
{{ $t('message.hello') }}
|
{{ $t('message.hello') }}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user