<template>
|
<b-navbar toggleable="lg" :variant="getLayoutNavbarBg()" class="layout-navbar align-items-lg-center container-x">
|
|
<!-- Brand demo (see demo.css) -->
|
<b-navbar-brand to="/" class="app-brand demo d-lg-none py-0 mr-4">
|
<!-- <span class="app-brand-logo demo">
|
<img src="/static/img/logo.png" width="100%" alt="">
|
</span> -->
|
<!-- <span class="app-brand-text demo font-weight-normal ml-2">{{$store.state.projectTitle}}</span> -->
|
<h4 class="app-brand-text ml-2 font-weight-bold pt-3">{{$store.state.projectTitle}}</h4>
|
</b-navbar-brand>
|
|
<!-- Sidenav toggle (see demo.css) -->
|
<b-navbar-nav class="layout-sidenav-toggle d-lg-none align-items-lg-center mr-auto" v-if="sidenavToggle">
|
<a class="nav-item nav-link px-0 mr-lg-4" href="javascript:void(0)" @click="toggleSidenav">
|
<i class="ion ion-md-menu text-large align-middle" />
|
</a>
|
</b-navbar-nav>
|
|
<b-navbar-toggle target="app-layout-navbar"></b-navbar-toggle>
|
|
<b-collapse is-nav id="app-layout-navbar">
|
<!-- Divider -->
|
<hr class="d-lg-none w-100 my-2">
|
|
<b-navbar-nav class="align-items-lg-center ml-auto">
|
<!-- 公告 end -->
|
<quick-menu-button/>
|
<b-nav-item-dropdown no-caret :right="!isRTL" class="demo-navbar-messages mr-lg-2">
|
<template slot="button-content">
|
<i class="ion ion-ios-mail navbar-icon align-middle f22"></i>
|
<span class="badge badge-danger badge-dot indicator text-danger"></span>
|
<span class="d-lg-none align-middle"> 消息</span>
|
</template>
|
|
<div class="bg-primary text-center text-white font-weight-bold p-3">
|
4 新消息
|
</div>
|
<a href="javascript:void(0)" class="d-block text-center text-light small p-2 my-1">显示全部消息</a>
|
</b-nav-item-dropdown>
|
|
<!-- Divider -->
|
<!-- <div class="nav-item d-none d-lg-block text-big font-weight-light line-height-1 opacity-25 mr-3 ml-1">|</div> -->
|
<!-- <div class="nav-item d-none d-lg-block text-big font-weight-light line-height-1 mr-3 ml-1 text-white">|</div> -->
|
<div class="headImgUrl flex-center bg-white">
|
<httpImg
|
:propNoneImg="require('@/assets/img/user.png')"
|
:src="userInfo.headImgUrl"
|
width="100%"
|
alt
|
/>
|
|
</div>
|
<!-- <b-nav-item-dropdown :right="!isRTL" class="demo-navbar-user">
|
<template slot="button-content">
|
<span class="d-inline-flex flex-lg-row-reverse align-items-center align-middle">
|
<div class="headImgUrl flex-center bg-white">
|
<httpImg
|
:propNoneImg="require('@/assets/img/user.png')"
|
:src="userInfo.headImgUrl"
|
width="100%"
|
alt
|
/>
|
</div>
|
<span class="px-1 mr-lg-2 ml-2 ml-lg-0">{{userInfo.username}}</span>
|
</span>
|
</template>
|
<b-dd-item @click="toLogout"><i class="ion ion-ios-log-out text-danger"></i> 退 出</b-dd-item>
|
<b-dd-item>{{userInfo.username}}</b-dd-item>
|
</b-nav-item-dropdown> -->
|
<div class="nav-item d-none d-lg-block text-big line-height-1 mr-3 ml-1 text-white cursor-pointer" @click="toLogout">退出</div>
|
<!-- 快速跳转菜单 start -->
|
<!-- <quick-menu/> -->
|
<!-- 快速跳转菜单 end -->
|
</b-navbar-nav>
|
|
</b-collapse>
|
</b-navbar>
|
</template>
|
|
<script>
|
import { logout } from '@/server/login.js'
|
import quickMenu from '@/components/quickMenu'
|
import quickMenuButton from '@/components/quickMenuButton'
|
|
export default {
|
name: 'app-layout-navbar',
|
props: {
|
sidenavToggle: {
|
type: Boolean,
|
default: true
|
}
|
},
|
|
data() {
|
return {
|
userInfo: {
|
username: 'admin',
|
headImgUrl: ''
|
}
|
}
|
},
|
|
methods: {
|
toggleSidenav() {
|
this.layoutHelpers.toggleCollapsed()
|
},
|
|
getLayoutNavbarBg() {
|
return this.layoutNavbarBg
|
},
|
|
toLogout() {
|
this.$swal(
|
{
|
title: '确定退出吗?',
|
text: '你将要离开当前页面!',
|
type: 'warning',
|
showCancelButton: true,
|
allowOutsideClick: true,
|
// confirmButtonColor: '#d9534f',
|
confirmButtonText: '确定离开!',
|
cancelButtonText: '取消',
|
closeOnConfirm: true
|
},
|
() => {
|
logout()
|
}
|
)
|
}
|
},
|
|
created() {
|
if (
|
sessionStorage.getItem('userInfo') &&
|
sessionStorage.getItem('userInfo') !== ''
|
) {
|
this.userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
|
}
|
},
|
components: {
|
quickMenu,
|
quickMenuButton
|
}
|
}
|
</script>
|
<style>
|
.headImgUrl {
|
height: 30px;
|
width: 30px;
|
overflow: hidden;
|
border-radius: 25px;
|
}
|
</style>
|