Blame view
src/layout/components/Navbar.vue
4.12 KB
80a28914e init |
1 2 |
<template> <div class="navbar"> |
1172ebb79 auto commit the c... |
3 4 5 6 7 |
<hamburger :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" /> |
80a28914e init |
8 9 10 11 |
<breadcrumb class="breadcrumb-container" /> <div class="right-menu"> |
1172ebb79 auto commit the c... |
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect" > <el-menu-item index="1"> <i class="el-icon-bell"></i>通知中心 <el-badge class="mark" :value="12" /> </el-menu-item> <el-submenu index="2"> <template slot="title"> <i class="el-icon-custom"></i>个人设置 </template> <el-menu-item index="2-1">选项1</el-menu-item> <el-menu-item index="2-2">选项2</el-menu-item> <el-menu-item index="2-3">选项3</el-menu-item> </el-submenu> <el-dropdown class="avatar-container" trigger="click"> <div class="avatar-wrapper"> <img :src="avatar+'?imageView2/1/w/80/h/80'" class="user-avatar" /> <i class="el-icon-caret-bottom" /> </div> <el-dropdown-menu slot="dropdown" class="user-dropdown"> <router-link to="/"> <el-dropdown-item>Home</el-dropdown-item> </router-link> <router-link to="/seting"> <el-dropdown-item>个人设置</el-dropdown-item> </router-link> <!-- <a target="_blank" href="https://github.com/PanJiaChen/vue-admin-template/"> |
80a28914e init |
43 |
<el-dropdown-item>Github</el-dropdown-item> |
1172ebb79 auto commit the c... |
44 45 |
</a>--> <!-- <a target="_blank" href="https://panjiachen.github.io/vue-element-admin-site/#/"> |
80a28914e init |
46 |
<el-dropdown-item>Docs</el-dropdown-item> |
1172ebb79 auto commit the c... |
47 48 49 50 51 52 53 54 55 56 57 |
</a>--> <el-dropdown-item divided @click.native="logout"> <span style="display:block;">退出系统</span> </el-dropdown-item> </el-dropdown-menu> </el-dropdown> <el-menu-item index="3" disabled>ddd</el-menu-item> <el-menu-item index="4"> <a href="https://glass.xiuyetang.com" target="_blank">跳到外部链接</a> </el-menu-item> </el-menu> |
80a28914e init |
58 59 60 61 62 |
</div> </div> </template> <script> |
1172ebb79 auto commit the c... |
63 64 65 |
import { mapGetters } from "vuex"; import Breadcrumb from "@/components/Breadcrumb"; import Hamburger from "@/components/Hamburger"; |
80a28914e init |
66 67 68 69 70 71 72 |
export default { components: { Breadcrumb, Hamburger }, computed: { |
1172ebb79 auto commit the c... |
73 |
...mapGetters(["sidebar", "avatar"]) |
80a28914e init |
74 75 76 |
}, methods: { toggleSideBar() { |
1172ebb79 auto commit the c... |
77 |
this.$store.dispatch("app/toggleSideBar"); |
80a28914e init |
78 79 |
}, async logout() { |
1172ebb79 auto commit the c... |
80 81 |
await this.$store.dispatch("user/logout"); this.$router.push(`/login?redirect=${this.$route.fullPath}`); |
80a28914e init |
82 83 |
} } |
1172ebb79 auto commit the c... |
84 |
}; |
80a28914e init |
85 86 87 |
</script> <style lang="scss" scoped> |
1172ebb79 auto commit the c... |
88 89 90 91 |
.item { margin-top: 10px; margin-right: 20px; } |
80a28914e init |
92 93 94 95 96 |
.navbar { height: 50px; overflow: hidden; position: relative; background: #fff; |
1172ebb79 auto commit the c... |
97 |
box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); |
80a28914e init |
98 99 100 101 102 103 |
.hamburger-container { line-height: 46px; height: 100%; float: left; cursor: pointer; |
1172ebb79 auto commit the c... |
104 105 |
transition: background 0.3s; -webkit-tap-highlight-color: transparent; |
80a28914e init |
106 107 |
&:hover { |
1172ebb79 auto commit the c... |
108 |
background: rgba(0, 0, 0, 0.025); |
80a28914e init |
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 |
} } .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; |
1172ebb79 auto commit the c... |
135 |
transition: background 0.3s; |
80a28914e init |
136 137 |
&:hover { |
1172ebb79 auto commit the c... |
138 |
background: rgba(0, 0, 0, 0.025); |
80a28914e init |
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
} } } .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> |