File tree Expand file tree Collapse file tree 4 files changed +24
-5
lines changed Expand file tree Collapse file tree 4 files changed +24
-5
lines changed Original file line number Diff line number Diff line change 9
9
<img v-else :src =" noAvatar" class =" avatar" >
10
10
</template >
11
11
<template v-if =" picType === ' file' " >
12
- <img :src =" file" class =" file" >
12
+ <el-image :src =" file" class =" file" :preview-src-list = " previewSrcList " :preview-teleported = " true " / >
13
13
</template >
14
14
</span >
15
15
</template >
@@ -34,6 +34,10 @@ const props = defineProps({
34
34
type: String ,
35
35
required: false ,
36
36
default: ' '
37
+ },
38
+ preview: {
39
+ type: Boolean ,
40
+ default: false
37
41
}
38
42
})
39
43
@@ -61,6 +65,7 @@ const file = computed(() => {
61
65
}
62
66
return props .picSrc
63
67
})
68
+ const previewSrcList = computed (() => props .preview ? [file .value ] : [])
64
69
65
70
< / script>
66
71
Original file line number Diff line number Diff line change @@ -51,7 +51,11 @@ router.beforeEach(async(to, from) => {
51
51
}
52
52
// token 可以解析但是却是不存在的用户 id 或角色 id 会导致无限调用
53
53
if ( userStore . userInfo ?. authority ?. defaultRouter != null ) {
54
- return { name : userStore . userInfo . authority . defaultRouter }
54
+ if ( router . hasRoute ( userStore . userInfo . authority . defaultRouter ) ) {
55
+ return { name : userStore . userInfo . authority . defaultRouter }
56
+ } else {
57
+ return { path : '/layout/404' }
58
+ }
55
59
} else {
56
60
// 强制退出账号
57
61
userStore . ClearStorage ( )
@@ -72,7 +76,11 @@ router.beforeEach(async(to, from) => {
72
76
if ( ! routerStore . asyncRouterFlag && whiteList . indexOf ( from . name ) < 0 ) {
73
77
await getRouter ( userStore )
74
78
if ( userStore . token ) {
75
- return { ...to , replace : true }
79
+ if ( router . hasRoute ( userStore . userInfo . authority . defaultRouter ) ) {
80
+ return { ...to , replace : true }
81
+ } else {
82
+ return { path : '/layout/404' }
83
+ }
76
84
} else {
77
85
return {
78
86
name : 'Login' ,
Original file line number Diff line number Diff line change @@ -65,7 +65,13 @@ export const useUserStore = defineStore('user', () => {
65
65
asyncRouters . forEach ( asyncRouter => {
66
66
router . addRoute ( asyncRouter )
67
67
} )
68
- await router . replace ( { name : userInfo . value . authority . defaultRouter } )
68
+
69
+ if ( ! router . hasRoute ( userInfo . value . authority . defaultRouter ) ) {
70
+ ElMessage . error ( "请联系管理员进行授权" )
71
+ } else {
72
+ await router . replace ( { name : userInfo . value . authority . defaultRouter } )
73
+ }
74
+
69
75
loadingInstance . value . close ( )
70
76
71
77
const isWin = ref ( / w i n d o w s / i. test ( navigator . userAgent ) )
Original file line number Diff line number Diff line change 33
33
<el-table :data =" tableData" >
34
34
<el-table-column align =" left" label =" 预览" width =" 100" >
35
35
<template #default =" scope " >
36
- <CustomPic pic-type =" file" :pic-src =" scope.row.url" />
36
+ <CustomPic pic-type =" file" :pic-src =" scope.row.url" preview />
37
37
</template >
38
38
</el-table-column >
39
39
<el-table-column align =" left" label =" 日期" prop =" UpdatedAt" width =" 180" >
You can’t perform that action at this time.
0 commit comments