<template>
|
<div class="avue-top">
|
<div class="top-bar__left">
|
任务工单管理子系统
|
</div>
|
|
<div class="top-bar__right">
|
<div class="top-user">
|
<!-- <div class="icon-box">-->
|
<!-- <img class="gateway" @click="jumpMH" src="@/assets/images/mh.png" alt="进入门户" title="进入门户">-->
|
<!-- </div>-->
|
|
<el-dropdown>
|
<span class="el-dropdown-link">
|
<img class="top-bar__img" :src="userInfo.avatar" alt="" />
|
</span>
|
|
<template #dropdown>
|
<el-dropdown-menu>
|
<!-- <el-dropdown-item>
|
<router-link to="/">{{ $t('navbar.dashboard') }}</router-link>
|
</el-dropdown-item>-->
|
<!-- <el-dropdown-item>
|
<router-link to="/info/index">{{ $t('navbar.userinfo') }}</router-link>
|
</el-dropdown-item> -->
|
<el-dropdown-item @click="logout">{{ $t('navbar.logOut') }}
|
</el-dropdown-item>
|
</el-dropdown-menu>
|
</template>
|
</el-dropdown>
|
<top-setting></top-setting>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import { mapGetters } from 'vuex'
|
import topLock from './top-lock.vue'
|
import topMenu from './top-menu.vue'
|
import topSearch from './top-search.vue'
|
import topTheme from './top-theme.vue'
|
import topLogs from './top-logs.vue'
|
import topColor from './top-color.vue'
|
import topLang from './top-lang.vue'
|
import topFull from './top-full.vue'
|
import topQna from './top-qna.vue'
|
import topSetting from '../setting.vue'
|
|
export default {
|
components: {
|
topLock,
|
topMenu,
|
topSearch,
|
topTheme,
|
topLogs,
|
topColor,
|
topLang,
|
topFull,
|
topQna,
|
topSetting,
|
},
|
name: 'top',
|
data () {
|
return {}
|
},
|
filters: {},
|
created () { },
|
computed: {
|
...mapGetters([
|
'setting',
|
'userInfo',
|
'tagWel',
|
'bsTagList',
|
'isCollapse',
|
'tag',
|
'logsLen',
|
'logsFlag',
|
'isHorizontal',
|
]),
|
},
|
methods: {
|
logout () {
|
this.$confirm(this.$t('logoutTip'), this.$t('提示'), {
|
confirmButtonText: this.$t('submitText'),
|
cancelButtonText: this.$t('cancelText'),
|
type: 'warning',
|
}).then(() => {
|
this.$store.dispatch('LogOut').then(() => {
|
const env = import.meta.env.VITE_APP_ENV
|
const adminUrl = import.meta.env.VITE_APP_DASHBOARD_URL
|
this.$router.push({ path: '/login' })
|
// env === 'development' ? this.$router.push({ path: '/login' }):window.location.replace(`${adminUrl}#/login`)
|
})
|
})
|
},
|
jumpMH () {
|
const adminUrl = import.meta.env.VITE_APP_DASHBOARD_URL
|
window.location.href = `${adminUrl}#/gatewayPage`
|
},
|
},
|
}
|
</script>
|
|
<style lang="scss" scoped>
|
.avue-top {
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
height: 80px;
|
}
|
|
.top-bar__left {
|
flex: 0 0 auto;
|
}
|
|
.top-bar__title {
|
flex: 1;
|
display: flex;
|
align-items: center;
|
height: pxToVh(80);
|
}
|
|
.top-bar__right {
|
flex: 0 0 auto;
|
display: flex !important;
|
align-items: center;
|
height: 100%;
|
pointer-events: auto;
|
box-sizing: border-box;
|
|
.icon-box {
|
margin-right: 62px;
|
display: flex;
|
align-items: center;
|
|
.gateway {
|
width: 32px;
|
height: 32px;
|
}
|
|
>* {
|
cursor: pointer;
|
}
|
}
|
}
|
|
.top-bar__item {
|
margin-right: 15px;
|
display: inline-block !important;
|
}
|
|
.top-user {
|
display: flex;
|
align-items: center;
|
}
|
|
.top-bar__img {
|
width: 36px;
|
height: 36px;
|
border-radius: 50%;
|
}
|
|
.el-dropdown-link {
|
cursor: pointer;
|
color: #606266;
|
}
|
|
.el-dropdown-link:hover {
|
color: #409EFF;
|
}
|
</style>
|