diff --git a/src/layout/Sidebar/index.vue b/src/layout/Sidebar/index.vue index 4f86a4ef95f0286627d2a140b68e133a2d90660a..24c4d0265d510732b628a98abf22fc03a59c8951 100644 --- a/src/layout/Sidebar/index.vue +++ b/src/layout/Sidebar/index.vue @@ -15,7 +15,7 @@ :key="item.name" class="side-menu" :class="{ active: active.lv1 === item }" - @click="active.lv1 = item" + @click="changeMenu(item,1)" > {{ item.name }} @@ -79,7 +79,28 @@ export default { .fill(null) .map(() => ({ name: Math.random().toString(24).substring(10) })) }, + changeMenu(param:object,level:number) { + switch(level) { + case 1: { + this.active.lv1 = param; + this.active.lv2 = ""; + break; + } + case 2: { + this.active.lv2 = param; + break; + } + } + } }, + watch: { + active:{ + handler(newVal,oldVal) { + this.$router.push({name: newVal.lv2.code || newVal.lv1.code }); + }, + deep: true + } + } } diff --git a/src/router/asyncRoutes.ts b/src/router/asyncRoutes.ts index 582cd255e0f113da462e6dfb4bc4b720c480d6f7..53c489d5805e785220fcb5c77f3eb7a13e62bf00 100644 --- a/src/router/asyncRoutes.ts +++ b/src/router/asyncRoutes.ts @@ -1,4 +1,5 @@ export default { + // 根据后端返回的路由code字段进行组件的引入 code1: () => import('@/views/dashboard/index.vue'), code2: () => import('@/views/demo/index.vue'), code3: () => import('@/views/dashboard/index.vue'), @@ -9,4 +10,5 @@ export default { code8: () => import('@/views/dashboard/index.vue'), code9: () => import('@/views/dashboard/index.vue'), code10: () => import('@/views/dashboard/index.vue'), + code24: () => import('@/views/dashboard/index.vue'), }