|  | @@ -72,10 +72,25 @@
 | 
	
		
			
				|  |  |          if (currentRoute.value.meta?.currentActiveMenu) {
 | 
	
		
			
				|  |  |            filterBreadcrumbList.push((currentRoute.value as unknown) as RouteLocationMatched);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        // routes.value = filterBreadcrumbList.length === 1 ? [] : filterBreadcrumbList;
 | 
	
		
			
				|  |  | -        routes.value = filterBreadcrumbList;
 | 
	
		
			
				|  |  | +        routes.value = subRouteExtraction(filterBreadcrumbList);
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +      function subRouteExtraction(routeList: RouteLocationMatched[]) {
 | 
	
		
			
				|  |  | +        const resultRoutes: RouteLocationMatched[] = [];
 | 
	
		
			
				|  |  | +        routeList.forEach((route) => {
 | 
	
		
			
				|  |  | +          if (route.children?.length === 1) {
 | 
	
		
			
				|  |  | +            const subRoute = route.children[0] as RouteLocationMatched;
 | 
	
		
			
				|  |  | +            const subRouteName = subRoute.name as string;
 | 
	
		
			
				|  |  | +            const routeName = route.name;
 | 
	
		
			
				|  |  | +            if (subRouteName && `${subRouteName}Parent` === routeName) {
 | 
	
		
			
				|  |  | +              route = subRoute;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          resultRoutes.push(route);
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +        return resultRoutes;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |        function filterItem(list: RouteLocationMatched[]) {
 | 
	
		
			
				|  |  |          let resultList = filter(list, (item) => {
 | 
	
		
			
				|  |  |            const { meta } = item;
 | 
	
	
		
			
				|  | @@ -83,15 +98,14 @@
 | 
	
		
			
				|  |  |            if (!meta) {
 | 
	
		
			
				|  |  |              return false;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |            const { title, hideBreadcrumb, hideMenu } = meta;
 | 
	
		
			
				|  |  |            if (!title || hideBreadcrumb || hideMenu) {
 | 
	
		
			
				|  |  |              return false;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |            return true;
 | 
	
		
			
				|  |  |          }).filter((item) => !item.meta?.hideBreadcrumb || !item.meta?.hideMenu);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        // resultList = resultList.filter((item) => item.path !== PageEnum.BASE_HOME);
 | 
	
		
			
				|  |  |          return resultList;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -101,7 +115,8 @@
 | 
	
		
			
				|  |  |            children,
 | 
	
		
			
				|  |  |            redirect,
 | 
	
		
			
				|  |  |            meta,
 | 
	
		
			
				|  |  | -          //  components
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          // components
 | 
	
		
			
				|  |  |          } = route;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // const isParent =
 | 
	
	
		
			
				|  | @@ -123,23 +138,29 @@
 | 
	
		
			
				|  |  |          if (redirect && isString(redirect)) {
 | 
	
		
			
				|  |  |            go(redirect);
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  | -          const ps = paths.slice(1);
 | 
	
		
			
				|  |  | -          const lastPath = ps.pop() || '';
 | 
	
		
			
				|  |  | -          const parentPath = ps.pop() || '';
 | 
	
		
			
				|  |  | -          let path = `${parentPath}/${lastPath}`;
 | 
	
		
			
				|  |  | -          path = /^\//.test(path) ? path : `/${path}`;
 | 
	
		
			
				|  |  | -          go(path);
 | 
	
		
			
				|  |  | +          let goPath = '';
 | 
	
		
			
				|  |  | +          if (paths.length === 1) {
 | 
	
		
			
				|  |  | +            goPath = paths[0];
 | 
	
		
			
				|  |  | +          } else {
 | 
	
		
			
				|  |  | +            const ps = paths.slice(1);
 | 
	
		
			
				|  |  | +            const lastPath = ps.pop() || '';
 | 
	
		
			
				|  |  | +            const parentPath = ps.pop() || '';
 | 
	
		
			
				|  |  | +            goPath = `${parentPath}/${lastPath}`;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          goPath = /^\//.test(goPath) ? goPath : `/${goPath}`;
 | 
	
		
			
				|  |  | +          go(goPath);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |        function hasRedirect(routes: RouteLocationMatched[], route: RouteLocationMatched) {
 | 
	
		
			
				|  |  | -        if (route?.meta?.isLink) {
 | 
	
		
			
				|  |  | -          return true;
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          if (routes.indexOf(route) === routes.length - 1) {
 | 
	
		
			
				|  |  |            return false;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // if (route?.meta?.isLink) {
 | 
	
		
			
				|  |  | +        //   return true;
 | 
	
		
			
				|  |  | +        // }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          return true;
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |  
 |