123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- <template>
- <div class="navbar">
- <div class="left-menu">
- <hamburger
- :is-active="sidebar.opened"
- class="hamburger-container"
- @toggleClick="toggleSideBar"
- />
- </div>
- <h3 class="tmrTitle">{{$t('navbar.title')}}</h3>
- <div class="right-menu">
- <!-- <search id="header-search" class="right-menu-item" />-->
- <!--<screenfull id="screenfull" class="right-menu-item hover-effect" /> -->
- <!-- <el-dropdown id="news" class="avatar-container" trigger="click">
- <span class="right-menu-news">
- <svg-icon class="right-menu-news-icon" :icon-class="'icon-news'" />
- <i class="right-menu-news-right">{{ sumAmount }}</i>
- </span>
- <el-dropdown-menu slot="dropdown" class="user-dropdown">
- <div class="newsTitle" style="padding-left: 10px">
- 消息通知
- </div>
- <el-dropdown-item v-for="(item,index) in meslist" :key="index" divided>
- <span style="display:block;" @click="clickList(item)"><span style="margin-right:30px;">{{ item.remark }}</span><span style="float:right;">{{ item.mesTime }}</span></span>
- </el-dropdown-item>
- <router-link to="/console/News">
- <el-dropdown-item style="text-align:center;margin-top:10px;">
- 查看全部
- </el-dropdown-item>
- </router-link>
- </el-dropdown-menu>
- </el-dropdown> -->
- <!-- 切换中英文 -->
- <!-- <el-switch
- class="swichs"
- v-model="langValue"
- :active-text="active_text"
- :inactive-text="inactive_text"
- active-color="#13ce66"
- inactive-color="#ff4949"
- @change="translate"
- ></el-switch> -->
- <el-dropdown class="avatar-container" trigger="click">
- <div class="avatar-wrapper">
- <!-- <img src="@/assets/cow.jpg" class="user-avatar"> -->
- <span style="font-size: 12px; color: #fff"
- >{{$t('navbar.Welcome')}} , {{ employename }}</span
- >
- <i class="el-icon-caret-bottom" style="color: #fff" />
- </div>
- <el-dropdown-menu slot="dropdown" class="user-dropdown">
- <router-link to="/">
- <el-dropdown-item> {{$t('navbar.homePage')}} </el-dropdown-item>
- </router-link>
- <el-dropdown-item divided>
- <span style="display: block" @click="logout">{{$t('navbar.singOUt')}}</span>
- </el-dropdown-item>
- <router-link to="/changpwd/Changpwd">
- <el-dropdown-item> {{$t('navbar.editPassword')}} </el-dropdown-item>
- </router-link>
- </el-dropdown-menu>
- </el-dropdown>
- </div>
- </div>
- </template>
- <script>
- // import { GetDataByName } from '@/api/common'
- import { mapGetters } from 'vuex'
- import Hamburger from '@/components/Hamburger'
- // import Screenfull from '@/components/Screenfull'
- // import Search from '@/components/HeaderSearch'
- // import path from 'path'
- // import Cookies from 'js-cookie'
- export default {
- components: {
- Hamburger
- // Screenfull,
- // Search
- },
- data() {
- return {
- sumAmount: '',
- meslist: '',
- langValue: false,
- lang: '',
- active_text: '',
- inactive_text: ''
- }
- },
- computed: {
- ...mapGetters([
- 'sidebar',
- 'avatar',
- 'employename',
- 'employeid',
- 'pastureid',
- 'departmentid',
- 'sumamount'
- ])
- },
- created() {
- this.setSwitch()
- // window.setInterval(() => {
- // setTimeout(() => {
- // this.sumAmount = JSON.parse(sessionStorage.sumamount)
- // this.meslist = JSON.parse(sessionStorage.meslist)
- // }, 0)
- // }, 100)
- },
- methods: {
- // 切换中英文
- setSwitch() {
- this.active_text = navigator.language === 'zh' ? '英文' : '中文'
- this.inactive_text = navigator.language === 'zh' ? '中文' : '英文'
- this.lang = navigator.language
- },
- // 切换调用
- translate() {
- this.lang = this.lang === 'zh' ? 'en' : 'zh'
- console.log(this.lang)
- this.$i18n.locale = this.lang
- },
- toggleSideBar() {
- this.$store.dispatch('app/toggleSideBar')
- },
- async logout() {
- await this.$store.dispatch('user/logout')
- this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {
- this.$router.push(`/login}`) // 跳转到主页
- })
- // this.$router.push(`/login?redirect=${this.$route.fullPath}`) //跳转到登陆前页面
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .swichs {
- padding: 0 20px;
- color: #fff;
- }
- .navbar {
- height: 50px;
- overflow: hidden;
- position: relative;
- background: url(../../assets/images/index/topBg.png);
- box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
- .tmrTitle {
- color: #fff;
- float: left;
- }
- .hamburger-container {
- line-height: 46px;
- height: 100%;
- float: left;
- cursor: pointer;
- color: #fff !important;
- transition: background 0.3s;
- -webkit-tap-highlight-color: transparent;
- &:hover {
- background: rgba(255, 255, 255, 0.025);
- }
- }
- h3 {
- margin-top: 11px;
- }
- .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;
- transition: background 0.3s;
- &:hover {
- background: rgba(0, 0, 0, 0.025);
- }
- }
- }
- .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: 18px;
- font-size: 12px;
- }
- }
- }
- .right-menu-news {
- margin-right: 25px;
- position: relative;
- .right-menu-news-icon {
- display: block;
- float: left;
- width: 25px;
- height: 40px;
- }
- .right-menu-news-right {
- display: block;
- width: 20px;
- height: 20px;
- float: left;
- border-radius: 10px;
- background: red;
- font-style: normal;
- position: absolute;
- right: -12px;
- bottom: 25px;
- font-weight: 300;
- font-size: 12px;
- line-height: 20px;
- text-align: center;
- color: #fff;
- }
- }
- }
- }
- </style>
- <style lang="scss" >
- .user-dropdown {
- top: 40px !important;
- color: #fff !important;
- }
- </style>
|