2d21111e
wangming
项目初始化
|
1
2
3
4
5
6
7
8
9
|
<template>
<div class="navbar">
<hamburger :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
<breadcrumb class="breadcrumb-container" />
<div class="right-menu">
<el-dropdown class="avatar-container" trigger="click">
<div class="avatar-wrapper">
|
dc36257f
wwk
后端页面
|
10
|
<img src="../../icons/logo.jpg" class="user-avatar">
|
2d21111e
wangming
项目初始化
|
11
12
|
<i class="el-icon-caret-bottom" />
</div>
|
dc36257f
wwk
后端页面
|
13
14
|
<el-dropdown-menu slot="dropdown" class="user-dropdown" >
<router-link to="/" v-if="false">
|
2d21111e
wangming
项目初始化
|
15
16
17
18
|
<el-dropdown-item>
Home
</el-dropdown-item>
</router-link>
|
dc36257f
wwk
后端页面
|
19
|
<a target="_blank" href="https://github.com/PanJiaChen/vue-admin-template/" v-if="false">
|
2d21111e
wangming
项目初始化
|
20
21
|
<el-dropdown-item>Github</el-dropdown-item>
</a>
|
dc36257f
wwk
后端页面
|
22
|
<a target="_blank" href="https://panjiachen.github.io/vue-element-admin-site/#/" v-if="false">
|
2d21111e
wangming
项目初始化
|
23
24
25
|
<el-dropdown-item>Docs</el-dropdown-item>
</a>
<el-dropdown-item divided @click.native="logout">
|
dc36257f
wwk
后端页面
|
26
|
<span style="display:block;">退出</span>
|
2d21111e
wangming
项目初始化
|
27
28
29
30
31
32
33
34
35
36
37
|
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import Breadcrumb from '@/components/Breadcrumb'
import Hamburger from '@/components/Hamburger'
|
dc36257f
wwk
后端页面
|
38
|
import {removeToken,removeUser} from '../../utils/auth.js'
|
2d21111e
wangming
项目初始化
|
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
export default {
components: {
Breadcrumb,
Hamburger
},
computed: {
...mapGetters([
'sidebar',
'avatar'
])
},
methods: {
toggleSideBar() {
this.$store.dispatch('app/toggleSideBar')
},
async logout() {
|
dc36257f
wwk
后端页面
|
55
56
57
|
// await this.$store.dispatch('user/logout')
removeToken()
removeUser()
|
2d21111e
wangming
项目初始化
|
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
this.$router.push(`/login?redirect=${this.$route.fullPath}`)
}
}
}
</script>
<style lang="scss" scoped>
.navbar {
height: 50px;
overflow: hidden;
position: relative;
background: #fff;
box-shadow: 0 1px 4px rgba(0,21,41,.08);
.hamburger-container {
line-height: 46px;
height: 100%;
float: left;
cursor: pointer;
transition: background .3s;
-webkit-tap-highlight-color:transparent;
&:hover {
background: rgba(0, 0, 0, .025)
}
}
.breadcrumb-container {
float: left;
}
.right-menu {
float: right;
height: 100%;
line-height: 50px;
&:focus {
outline: none;
}
.right-menu-item {
display: inline-block;
padding: 0 8px;
height: 100%;
font-size: 18px;
color: #5a5e66;
vertical-align: text-bottom;
&.hover-effect {
cursor: pointer;
transition: background .3s;
&:hover {
background: rgba(0, 0, 0, .025)
}
}
}
.avatar-container {
margin-right: 30px;
.avatar-wrapper {
margin-top: 5px;
position: relative;
.user-avatar {
cursor: pointer;
width: 40px;
height: 40px;
border-radius: 10px;
}
.el-icon-caret-bottom {
cursor: pointer;
position: absolute;
right: -20px;
top: 25px;
font-size: 12px;
}
}
}
}
}
</style>
|