Skip to content

Commit 01eb096

Browse files
奇淼(piexlmaxs-khaon
andauthored
Fix 731 (#750)
* fix:#731 (#749) * 代码生成器样式调整 Co-authored-by: songkang1993 <[email protected]>
1 parent 5b7c1fb commit 01eb096

File tree

8 files changed

+38
-38
lines changed

8 files changed

+38
-38
lines changed

web/src/store/module/router.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { asyncRouterHandle } from '@/utils/asyncRouter'
33
import { asyncMenu } from '@/api/menu'
44

55
const routerList = []
6+
const keepAliveRouters = []
67

78
const formatRouter = (routes) => {
89
routes && routes.forEach(item => {
@@ -16,11 +17,24 @@ const formatRouter = (routes) => {
1617
})
1718
}
1819

20+
const KeepAliveFilter = (routes) => {
21+
routes && routes.forEach(item => {
22+
// 子菜单中有 keep-alive 的,父菜单也必须 keep-alive,否则无效。这里将子菜单中有 keep-alive 的父菜单也加入。
23+
if ((item.children && item.children.some(ch => ch.meta.keepAlive) || item.meta.keepAlive)) {
24+
item.component().then(val => { keepAliveRouters.push(val.default.name) })
25+
}
26+
if (item.children && item.children.length > 0) {
27+
KeepAliveFilter(item.children)
28+
}
29+
})
30+
}
31+
1932
export const router = {
2033
namespaced: true,
2134
state: {
2235
asyncRouters: [],
2336
routerList: routerList,
37+
keepAliveRouters: keepAliveRouters
2438
},
2539
mutations: {
2640
setRouterList(state, routerList) {
@@ -29,6 +43,10 @@ export const router = {
2943
// 设置动态路由
3044
setAsyncRouter(state, asyncRouters) {
3145
state.asyncRouters = asyncRouters
46+
},
47+
// 设置需要缓存的路由
48+
setKeepAliveRouters(state, keepAliveRouters) {
49+
state.keepAliveRouters = keepAliveRouters
3250
}
3351
},
3452
actions: {
@@ -62,8 +80,10 @@ export const router = {
6280

6381
})
6482
asyncRouterHandle(baseRouter)
83+
KeepAliveFilter(asyncRouter)
6584
commit('setAsyncRouter', baseRouter)
6685
commit('setRouterList', routerList)
86+
commit('setKeepAliveRouters', keepAliveRouters)
6787
return true
6888
}
6989
},
@@ -74,6 +94,9 @@ export const router = {
7494
},
7595
routerList(state) {
7696
return state.routerList
97+
},
98+
keepAliveRouters(state) {
99+
return state.keepAliveRouters
77100
}
78101
}
79102
}

web/src/view/dashboard/index.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@
9696
import echartsLine from '@/view/dashboard/dashbordCharts/echartsLine.vue'
9797
import dashbordTable from '@/view/dashboard/dashbordTable/dashbordTable.vue'
9898
export default {
99+
name: 'Dashboard',
99100
components: {
100101
echartsLine,
101102
dashbordTable

web/src/view/example/index.vue

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
<template>
22
<div>
3-
<router-view v-if="$route.meta.keepAlive" v-slot="{ Component }">
3+
<router-view v-slot="{ Component }">
44
<transition mode="out-in" name="el-fade-in-linear">
5-
<keep-alive>
5+
<keep-alive :include="$store.getters['router/keepAliveRouters']">
66
<component :is="Component" />
77
</keep-alive>
88
</transition>
99
</router-view>
10-
<router-view v-if="!$route.meta.keepAlive" v-slot="{ Component }">
11-
<transition mode="out-in" name="el-fade-in-linear">
12-
<component :is="Component" />
13-
</transition>
14-
</router-view>
1510
</div>
1611
</template>
1712

web/src/view/layout/index.vue

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -78,19 +78,13 @@
7878
<HistoryComponent ref="layoutHistoryComponent" />
7979
</div>
8080
</transition>
81-
<router-view v-if="$route.meta.keepAlive && reloadFlag" v-slot="{ Component }" v-loading="loadingFlag" element-loading-text="正在加载中" class="admin-box">
81+
<router-view v-if="reloadFlag" v-slot="{ Component }" v-loading="loadingFlag" element-loading-text="正在加载中" class="admin-box">
8282
<transition mode="out-in" name="el-fade-in-linear">
83-
<keep-alive>
83+
<keep-alive :include="$store.getters['router/keepAliveRouters']">
8484
<component :is="Component" />
8585
</keep-alive>
8686
</transition>
8787
</router-view>
88-
<router-view v-if="!$route.meta.keepAlive && reloadFlag" v-slot="{ Component }" v-loading="loadingFlag" element-loading-text="正在加载中" class="admin-box">
89-
<transition mode="out-in" name="el-fade-in-linear">
90-
<component :is="Component" />
91-
</transition>
92-
</router-view>
93-
9488
<BottomInfo />
9589
<setting />
9690
</el-main>

web/src/view/routerHolder.vue

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,13 @@
11
<!-- 此路由可作为父类路由通用路由页面使用 如需自定义父类路由页面 请参考 @/view/superAdmin/index.vue -->
22
<template>
33
<div>
4-
<router-view v-if="$route.meta.keepAlive" v-slot="{ Component }">
4+
<router-view v-slot="{ Component }">
55
<transition mode="out-in" name="el-fade-in-linear">
6-
<keep-alive>
6+
<keep-alive :include="$store.getters['router/keepAliveRouters']">
77
<component :is="Component" />
88
</keep-alive>
99
</transition>
1010
</router-view>
11-
<router-view v-if="!$route.meta.keepAlive" v-slot="{ Component }">
12-
<transition mode="out-in" name="el-fade-in-linear">
13-
<component :is="Component" />
14-
</transition>
15-
</router-view>
1611
</div>
1712
</template>
1813

web/src/view/superAdmin/index.vue

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
<template>
22
<div>
3-
<router-view v-if="$route.meta.keepAlive" v-slot="{ Component }">
3+
<router-view v-slot="{ Component }">
44
<transition mode="out-in" name="el-fade-in-linear">
5-
<keep-alive>
5+
<keep-alive :include="$store.getters['router/keepAliveRouters']">
66
<component :is="Component" />
77
</keep-alive>
88
</transition>
99
</router-view>
10-
<router-view v-if="!$route.meta.keepAlive" v-slot="{ Component }">
11-
<transition mode="out-in" name="el-fade-in-linear">
12-
<component :is="Component" />
13-
</transition>
14-
</router-view>
1510
</div>
1611
</template>
1712

web/src/view/systemTools/autoCode/index.vue

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,8 @@
129129
</template>
130130
</el-table-column>
131131
</el-table>
132-
<el-tag type="danger" style="margin:12px 0;">id , created_at , updated_at , deleted_at 会自动生成请勿重复创建</el-tag>
133132
<!-- 组件列表 -->
134-
<div class="gva-btn-list justify-content-flex-end">
133+
<div class="gva-btn-list justify-content-flex-end auto-btn-list">
135134
<el-button size="mini" type="primary" @click="enterForm(true)">预览代码</el-button>
136135
<el-button size="mini" type="primary" @click="enterForm(false)">生成代码</el-button>
137136
</div>
@@ -454,4 +453,7 @@ export default {
454453
float: right;
455454
}
456455
}
456+
.auto-btn-list{
457+
margin-top: 16px;
458+
}
457459
</style>

web/src/view/systemTools/index.vue

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
<template>
22
<div>
3-
<router-view v-if="$route.meta.keepAlive" v-slot="{ Component }">
3+
<router-view v-slot="{ Component }">
44
<transition mode="out-in" name="el-fade-in-linear">
5-
<keep-alive>
5+
<keep-alive :include="$store.getters['router/keepAliveRouters']">
66
<component :is="Component" />
77
</keep-alive>
88
</transition>
99
</router-view>
10-
<router-view v-if="!$route.meta.keepAlive" v-slot="{ Component }">
11-
<transition mode="out-in" name="el-fade-in-linear">
12-
<component :is="Component" />
13-
</transition>
14-
</router-view>
1510
</div>
1611
</template>
1712

0 commit comments

Comments
 (0)