| 
					
				 | 
			
			
				@@ -1,26 +1,24 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  <div class="menu-wrapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    <template v-for="item in routes" v-if="!item.hidden&&item.children"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div v-if="!item.hidden&&item.children" class="menu-wrapper"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <router-link v-if="hasOneShowingChildren(item.children) && !item.children[0].children&&!item.alwaysShow" :to="item.path+'/'+item.children[0].path" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        :key="item.children[0].name"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <el-menu-item :index="item.path+'/'+item.children[0].path" :class="{'submenu-title-noDropdown':!isNest}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <router-link v-if="hasOneShowingChildren(item.children) && !item.children[0].children&&!item.alwaysShow" :to="resolvePath(item.children[0].path)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-menu-item :index="resolvePath(item.children[0].path)" :class="{'submenu-title-noDropdown':!isNest}"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <svg-icon v-if="item.children[0].meta&&item.children[0].meta.icon" :icon-class="item.children[0].meta.icon"></svg-icon> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <span v-if="item.children[0].meta&&item.children[0].meta.title" slot="title">{{item.children[0].meta.title}}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </el-menu-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </router-link> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      <el-submenu v-else :index="item.name||item.path" :key="item.name"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-submenu v-else :index="item.name||item.path"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <template slot="title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <svg-icon v-if="item.meta&&item.meta.icon" :icon-class="item.meta.icon"></svg-icon> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <span v-if="item.meta&&item.meta.title" slot="title">{{item.meta.title}}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <template v-for="child in item.children" v-if="!child.hidden"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <sidebar-item :is-nest="true" class="nest-menu" v-if="child.children&&child.children.length>0" :routes="[child]" :key="child.path"></sidebar-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <sidebar-item :is-nest="true" class="nest-menu" v-if="child.children&&child.children.length>0" :item="child" :key="child.path" :base-path="resolvePath(child.path)"></sidebar-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <router-link v-else :to="item.path+'/'+child.path" :key="child.name"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <el-menu-item :index="item.path+'/'+child.path"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <router-link v-else :to="resolvePath(child.path)" :key="child.name"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-menu-item :index="resolvePath(child.path)"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <svg-icon v-if="child.meta&&child.meta.icon" :icon-class="child.meta.icon"></svg-icon> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <span v-if="child.meta&&child.meta.title" slot="title">{{child.meta.title}}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </el-menu-item> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -28,20 +26,27 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </el-submenu> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import path from 'path' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: 'SidebarItem', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   props: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    routes: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      type: Array 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // route配置json 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    item: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: Object, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      required: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     isNest: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       type: Boolean, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       default: false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    basePath: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      type: String, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      default: '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   methods: { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,6 +58,9 @@ export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    resolvePath(...paths) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return path.resolve(this.basePath, ...paths) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |