diff --git a/ui/src/router/common.ts b/ui/src/router/common.ts index cbdbfd344..9ac66cf76 100644 --- a/ui/src/router/common.ts +++ b/ui/src/router/common.ts @@ -71,14 +71,20 @@ export const getPermissionRoute = (routes: Array, to: RouteLocat ) }) - if (route?.name && route.name !== to.name) { - return { name: route?.name, params: to.params } + const finalRoute = + route?.children && route.children.length > 0 + ? findAccessibleRoute(route.children) || route + : route + + if (finalRoute?.name && finalRoute.name !== to.name) { + return { name: finalRoute.name, params: to.params } } const globalRoute = findAccessibleRoute(routes) if (globalRoute && globalRoute.name !== to.name) { - return { name: globalRoute.name, params: to.params} + return { name: globalRoute.name, params: to.params } } + return { name: 'noPermission' } } diff --git a/ui/src/views/chat-user/index.vue b/ui/src/views/chat-user/index.vue index d2b51b7a9..1f2b84ec8 100644 --- a/ui/src/views/chat-user/index.vue +++ b/ui/src/views/chat-user/index.vue @@ -281,7 +281,6 @@ const currentPermissionKey = computed(() => { return route.meta?.resourceType as string }) - const resource = reactive({ resource_id: route.params.id as string, resource_type: route.meta.resourceType as string,