407 lines
7.9 KiB
Vue
407 lines
7.9 KiB
Vue
<template>
|
||
<header>
|
||
<div id="topnavbar">
|
||
<div class="logo logo2 cursor">
|
||
<img src="../../../static/images/logo.png" alt="">
|
||
</div>
|
||
<div id="topnanv" v-show="!collapse || navShow">
|
||
<nav>
|
||
<ul class="content clearfix">
|
||
<li class="dropdown" v-for="(item,index) in menu" :key="index">
|
||
<a href="javascript:void(0);" @click="routerTurn(item.path)">{{item.name}}<img v-show="item.children.length" src="../../../static/images/arrow-down.png" alt=""></a>
|
||
<ul class="sub-menu" v-show="item.children.length">
|
||
<li v-for="(item1,index1) in item.children" :key="index1">
|
||
<a href="javascript:void(0);" @click="routerTurn(item1.path)">{{item1.name}}</a>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li class="dropdown">
|
||
<el-dropdown trigger="click">
|
||
<span class="el-dropdown-link userClass">
|
||
<a href="javascript:void(0);">admin<img src="../../../static/images/arrow-down.png" alt=""></a>
|
||
</span>
|
||
<el-dropdown-menu slot="dropdown">
|
||
<el-dropdown-item>
|
||
<a href="javascript:void(0);" @click="routerTurn('personalCenter')">个人中心</a>
|
||
</el-dropdown-item>
|
||
</el-dropdown-menu>
|
||
</el-dropdown>
|
||
</li>
|
||
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
<div class="menu2" >
|
||
<i class="el-icon-menu" @click="handleMenu"></i>
|
||
</div>
|
||
<div class="fr">
|
||
<i v-if="loginStatuss" class="logOut" @click="loginOut">logOut</i>
|
||
</div>
|
||
<!-- <div class="fr loginReg ovh">
|
||
<div v-if="loginStatuss"FV>
|
||
<span>welcome!</span>
|
||
<el-tooltip v-if="loginStatuss.length>5" :content="loginStatuss" placement="bottom" effect="dark">
|
||
<span class="ellCu">{{ loginStatuss }}</span>
|
||
</el-tooltip>
|
||
<span v-else class="ellCu">
|
||
{{ $store.state.app.cu }}
|
||
</span>
|
||
</div>
|
||
<div v-else class="login cursor" @click="loginIn"> <img src="../../../static/images/形状 1@2x.png" alt=""> LOGIN | REGISTER</div>
|
||
</div> -->
|
||
</div>
|
||
</header>
|
||
</template>
|
||
|
||
<script>
|
||
import {
|
||
logoutCas
|
||
} from '@/utils/logoutCas' // get token from cookie
|
||
import {
|
||
removeToken
|
||
} from '@/utils/auth' // get token from cookie
|
||
export default {
|
||
name: 'headers',
|
||
props: {
|
||
msg: String
|
||
},
|
||
data(){
|
||
return {
|
||
collapse:true,
|
||
loginStatuss: '',
|
||
menu:[
|
||
{
|
||
name:"首页",
|
||
path:"home",
|
||
children:[]
|
||
},
|
||
{
|
||
name:"数据检索",
|
||
path:"",
|
||
children:[
|
||
{
|
||
name:"数据检索",
|
||
path:"dataSearch",
|
||
children:[]
|
||
},
|
||
{
|
||
name:"航次详情",
|
||
path:"voyagedetail",
|
||
children:[]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
name:"统计分析",
|
||
path:"analyse",
|
||
children:[]
|
||
},
|
||
{
|
||
name:"数据资源",
|
||
path:"",
|
||
children:[
|
||
{
|
||
name:"海洋地球物理与物理海洋信息库",
|
||
path:"physicalIndex",
|
||
children:[]
|
||
},
|
||
{
|
||
name:"海洋生物样品信息库",
|
||
path:"biologyIndex",
|
||
children:[]
|
||
},
|
||
{
|
||
name:"深海海洋视频音像信息库",
|
||
path:"phoneVideoIndex",
|
||
children:[]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
name:"数据汇交",
|
||
path:"voyageDelivery",
|
||
children:[
|
||
{
|
||
name:"航次数据汇交",
|
||
path:"voyageDelivery",
|
||
children:[]
|
||
},
|
||
{
|
||
name:"数据样品信息汇交",
|
||
path:"sampleRemitt",
|
||
children:[]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
name:"字典管理",
|
||
children:[
|
||
{
|
||
name:"数据样品类型",
|
||
path:"dataSampleType",
|
||
children:[]
|
||
},
|
||
{
|
||
name:"设备类型",
|
||
path:"docType",
|
||
children:[]
|
||
},
|
||
{
|
||
name:"平台类型",
|
||
path:"platformType",
|
||
children:[]
|
||
},
|
||
{
|
||
name:"参航单位",
|
||
path:"visitorUnit",
|
||
children:[]
|
||
},
|
||
{
|
||
name:"共享单位",
|
||
path:"sharedUnit",
|
||
children:[]
|
||
},
|
||
]
|
||
},
|
||
{
|
||
name:"系统管理",
|
||
children:[
|
||
{
|
||
name:"用户管理",
|
||
path:"userManage",
|
||
children:[]
|
||
},
|
||
{
|
||
name:"角色管理",
|
||
path:"roleManage",
|
||
children:[]
|
||
},
|
||
{
|
||
name:"单位管理",
|
||
path:"unitManage",
|
||
children:[]
|
||
}
|
||
]
|
||
},
|
||
{
|
||
name:"关于我们",
|
||
path:"",
|
||
children:[]
|
||
},
|
||
// {
|
||
// name:"个人中心",
|
||
// path:"personalCenter",
|
||
// children:[]
|
||
// },
|
||
// {
|
||
// name:"登录",
|
||
// path:"login",
|
||
// children:[]
|
||
// },
|
||
|
||
],
|
||
nowPathName: '',
|
||
navShow:false,
|
||
}
|
||
},
|
||
created() {
|
||
this.loginStatuss = this.$store.state.app.cu
|
||
// this.loginStatuss = 'test_jisjf'
|
||
|
||
},
|
||
mounted(){
|
||
$('.dropdown').hover(
|
||
function () {
|
||
$(this).children('.sub-menu').slideDown(200);
|
||
},
|
||
function () {
|
||
$(this).children('.sub-menu').slideUp(200);
|
||
}
|
||
);
|
||
this.changeClass()
|
||
//浏览器的窗口大小发生改变时执行
|
||
window.onresize = () => {
|
||
return (() => {
|
||
this.changeClass();
|
||
})()
|
||
}
|
||
this.nowPathName = this.$route.name
|
||
|
||
},
|
||
methods:{
|
||
//当屏幕小于1400时添加一个属性,大于的时候删除属性
|
||
changeClass() {
|
||
let ww = document.body.clientWidth;
|
||
if( ww > 1300 ){
|
||
this.navShow=true
|
||
} else{
|
||
this.navShow=false
|
||
|
||
}
|
||
},
|
||
handleMenu(){
|
||
this.collapse=!this.collapse
|
||
},
|
||
activeMethod(item){
|
||
if(this.nowPathName==item.path){
|
||
return 'activeClass'
|
||
}else{
|
||
return ''
|
||
}
|
||
},
|
||
routerTurn(name){
|
||
this.nowPathName = name
|
||
if(name!=this.$route.name && name){
|
||
// debugger
|
||
this.$router.push({name:name})
|
||
this.collapse=true
|
||
}
|
||
},
|
||
// 中英文切换
|
||
handleCommand(value) {
|
||
localStorage.setItem('user_lang', value)
|
||
this.$i18n.locale = value// 改变当前语言
|
||
location.reload()
|
||
},
|
||
handleClick() {
|
||
console.log(this.activeName)
|
||
},
|
||
loginIn() {
|
||
window.location.href = process.env.VUE_APP_CAS_LOGIN_FRONT
|
||
},
|
||
loginOut() {
|
||
this.$confirm('Are you sure you want to log out?', 'hint', {
|
||
confirmButtonText: 'Sure',
|
||
cancelButtonText: 'Cancel',
|
||
type: 'warning'
|
||
}).then(() => {
|
||
removeToken()
|
||
this.loginStatuss = ''
|
||
window.sessionStorage.setItem('cu', '')
|
||
window.sessionStorage.setItem('userID', '')
|
||
logoutCas(process.env.VUE_APP_CAS_LOGOUT_URL_FRONT, true)
|
||
}).catch(() => {
|
||
})
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
<style lang="scss">
|
||
.fr {
|
||
float: right;
|
||
}
|
||
.loginReg {
|
||
height: 32px;
|
||
line-height: 32px;
|
||
text-align: center;
|
||
font-size: 14px;
|
||
color: #fff;
|
||
margin-top: 24px;
|
||
}
|
||
.topic {
|
||
width: 100%;
|
||
height: 50px;
|
||
position: relative;
|
||
background: #1d2a73;
|
||
// padding: 0 20px;
|
||
overflow: hidden;
|
||
}
|
||
.loginReg .login{
|
||
color:white;
|
||
|
||
// text-decoration: underline;
|
||
}
|
||
.loginReg img{
|
||
width:13px;
|
||
padding-right:10px;
|
||
margin-bottom:-2px;
|
||
}
|
||
.topic .fr i{
|
||
font-style: normal;
|
||
color:white;
|
||
width: 56px;
|
||
height: 32px;
|
||
line-height: 32px;
|
||
text-align: center;
|
||
font-size: 14px;
|
||
color: #fff;
|
||
margin-top: 9px;
|
||
display: inline-block;
|
||
cursor: pointer;
|
||
}
|
||
.ellCu{
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
white-space: nowrap;
|
||
width:40px;
|
||
|
||
}
|
||
.loginReg>div{
|
||
display: inline-block;
|
||
width:148px;
|
||
}
|
||
.loginReg>div span{
|
||
float:left;
|
||
}
|
||
.el-icon-menu{
|
||
float:right;
|
||
font-size: 20px;
|
||
cursor: pointer;
|
||
}
|
||
.el-icon-menu:hover{
|
||
color:red;
|
||
}
|
||
.menu2{
|
||
width:25%;
|
||
display: none;
|
||
}
|
||
|
||
// .menu>li>a
|
||
@media (max-width: 1300px){
|
||
.container_a{
|
||
padding-top:0;
|
||
}
|
||
.menu2{
|
||
display: block;
|
||
}
|
||
header{
|
||
position: relative;
|
||
}
|
||
header #topnanv{
|
||
width: 50%;
|
||
margin:0 auto;
|
||
left: 22%;
|
||
top: 90px;
|
||
position: absolute;
|
||
z-index: 45;
|
||
|
||
nav>ul{
|
||
background: #253340;
|
||
}
|
||
nav>ul>li{
|
||
text-align: left;
|
||
display: block;
|
||
float:none;
|
||
line-height: 60px;
|
||
}
|
||
nav a{
|
||
margin: -3px 35px;
|
||
}
|
||
nav>ul li>ul{
|
||
width:87%;
|
||
left: 34px;
|
||
top: 50px;
|
||
}
|
||
}
|
||
}
|
||
.userClass{
|
||
color:white;
|
||
font-size: 15px;
|
||
}
|
||
|
||
|
||
</style>
|
||
|
||
|
||
|