<template> <div class="navbar"> <hamburger :toggle-click="toggleSideBar" :is-active="sidebar.opened" class="hamburger-container"/> <breadcrumb class="breadcrumb-container"/> <div class="right-menu"> <template v-if="device!=='mobile'"> <!--<error-log class="errLog-container right-menu-item"/>--> <el-tooltip :content="$t('navbar.screenfull')" effect="dark" placement="bottom"> <screenfull class="screenfull right-menu-item"/> </el-tooltip> <el-tooltip :content="$t('navbar.size')" effect="dark" placement="bottom"> <size-select class="international right-menu-item"/> </el-tooltip> <el-tooltip :content="$t('navbar.theme')" effect="dark" placement="bottom"> <theme-picker class="theme-switch right-menu-item"/> </el-tooltip> </template> <el-dropdown class="avatar-container right-menu-item" 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"> <router-link to="/account/list"> <el-dropdown-item> 账号中心 </el-dropdown-item> </router-link> <router-link :to="'/account/edit/'+ this.$store.getters.id" class="link-type"> <el-dropdown-item> 修改密码 </el-dropdown-item> </router-link> </a> <el-dropdown-item divided> <span style="display:block;" @click="logout">退出账户</span> </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' // import ErrorLog from '@/components/ErrorLog' import Screenfull from '@/components/Screenfull' import SizeSelect from '@/components/SizeSelect' import ThemePicker from '@/components/ThemePicker' export default { components: { Breadcrumb, Hamburger, // ErrorLog, Screenfull, SizeSelect, ThemePicker, }, computed: { ...mapGetters([ 'sidebar', 'name', 'avatar', 'device' ]) }, methods: { toggleSideBar() { this.$store.dispatch('toggleSideBar') }, logout() { this.$store.dispatch('LogOut').then(() => { location.reload()// In order to re-instantiate the vue-router object to avoid bugs }) } } } </script> <style rel="stylesheet/scss" lang="scss" scoped> .navbar { height: 50px; line-height: 50px; border-radius: 0px !important; .hamburger-container { line-height: 58px; height: 50px; float: left; padding: 0 10px; } .breadcrumb-container{ float: left; } .errLog-container { display: inline-block; vertical-align: top; } .right-menu { float: right; height: 100%; &:focus{ outline: none; } .right-menu-item { display: inline-block; margin: 0 8px; } .screenfull { height: 20px; } .international{ vertical-align: top; } .theme-switch { vertical-align: 15px; } .avatar-container { height: 50px; 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>