Ver Fonte

fix: 路由过滤增强type判断

zh há 2 anos atrás
pai
commit
14e10b655b
1 ficheiros alterados com 6 adições e 6 exclusões
  1. 6 6
      src/permission.js

+ 6 - 6
src/permission.js

@@ -79,11 +79,11 @@ router.afterEach(() => {
   NProgress.done()
 })
 
-function buildRoute(route) {
+function buildRoute(route, parentUrl = '') {
   const { url, moduleName, icon, moduleId, code, type, hidden, fullUrl } = route
   var item = {}
-  item.path = fullUrl || code
-  item.name = fullUrl || code
+  item.path = ~[3, 4].indexOf(type) ? fullUrl : parentUrl + url
+  item.name = ~[3, 4].indexOf(type) ? fullUrl : parentUrl + url
   item.meta = {
     url,
     title: moduleName,
@@ -103,14 +103,14 @@ function buildRoute(route) {
         roles.push(role.code)
       }
       item.meta.roles = roles
-    } else {
+    } else if (type == 1) {
       item.component = RouterView
-      item.children = route.children.map(child => buildRoute(child))
+      item.children = route.children.filter(item => item.type !== 3).map(child => buildRoute(child, item.path))
     }
   } else {
     if (type == 4) {
       item.component = IframeView
-    } else {
+    } else if (type == 2) {
       try {
         item.component = _import(`${fullUrl}`)
       } catch (e) {