| | |
| | | <template> |
| | | <div class="navbar"> |
| | | <!-- <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>--> |
| | | <!-- <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>--> |
| | | <!-- <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>--> |
| | | <!-- <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>--> |
| | | <div class="logo"> |
| | | <img src="@/assets/logo/ZTTlogo.png" /> |
| | | </div> |
| | | <div class="center-menu"> |
| | | <span class="label">LIMS实验室管理系统</span> |
| | | <span class="label">装备LIMS实验室管理系统</span> |
| | | </div> |
| | | <div class="right-menu"> |
| | | <div class="avatar-wrapper"> |
| | | <img :src="avatar" class="user-avatar"> |
| | | <span class="userName">Admin</span> |
| | | <img class="logoout" src="@/assets/images/logoout.png" @click="logout" title="退出账号" /> |
| | | <el-avatar shape="square" :size="30">{{ nickName.substring(0, 1) }}</el-avatar> |
| | | <span class="userName">{{ nickName }}</span> |
| | | <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click"> |
| | | <div class="avatar-wrapper"> |
| | | <i class="el-icon-caret-bottom" /> |
| | | </div> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <router-link to="/user/profile"> |
| | | <el-dropdown-item>个人中心</el-dropdown-item> |
| | | </router-link> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | <img |
| | | class="logoout" |
| | | src="@/assets/images/logoout.png" |
| | | @click="logout" |
| | | title="退出账号" |
| | | /> |
| | | </div> |
| | | <!-- <template v-if="device!=='mobile'">--> |
| | | <!-- <search id="header-search" class="right-menu-item" />--> |
| | | <!-- <template v-if="device!=='mobile'">--> |
| | | <!-- <search id="header-search" class="right-menu-item" />--> |
| | | |
| | | <!-- <el-tooltip content="源码地址" effect="dark" placement="bottom">--> |
| | | <!-- <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />--> |
| | | <!-- </el-tooltip>--> |
| | | <!-- <el-tooltip content="源码地址" effect="dark" placement="bottom">--> |
| | | <!-- <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />--> |
| | | <!-- </el-tooltip>--> |
| | | |
| | | <!-- <el-tooltip content="文档地址" effect="dark" placement="bottom">--> |
| | | <!-- <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />--> |
| | | <!-- </el-tooltip>--> |
| | | <!-- <el-tooltip content="文档地址" effect="dark" placement="bottom">--> |
| | | <!-- <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />--> |
| | | <!-- </el-tooltip>--> |
| | | |
| | | <!-- <screenfull id="screenfull" class="right-menu-item hover-effect" />--> |
| | | <!-- <screenfull id="screenfull" class="right-menu-item hover-effect" />--> |
| | | |
| | | <!-- <el-tooltip content="布局大小" effect="dark" placement="bottom">--> |
| | | <!-- <size-select id="size-select" class="right-menu-item hover-effect" />--> |
| | | <!-- </el-tooltip>--> |
| | | <!-- <el-tooltip content="布局大小" effect="dark" placement="bottom">--> |
| | | <!-- <size-select id="size-select" class="right-menu-item hover-effect" />--> |
| | | <!-- </el-tooltip>--> |
| | | |
| | | <!-- </template>--> |
| | | <!-- </template>--> |
| | | |
| | | <!-- <div class="avatar-container">--> |
| | | <!-- <el-dropdown-menu slot="dropdown">--> |
| | | <!-- <router-link to="/user/profile">--> |
| | | <!-- <el-dropdown-item>个人中心</el-dropdown-item>--> |
| | | <!-- </router-link>--> |
| | | <!-- <el-dropdown-item @click.native="setting = true">--> |
| | | <!-- <span>布局设置</span>--> |
| | | <!-- </el-dropdown-item>--> |
| | | <!-- <el-dropdown-item divided @click.native="logout">--> |
| | | <!-- <span>退出登录</span>--> |
| | | <!-- </el-dropdown-item>--> |
| | | <!-- </el-dropdown-menu>--> |
| | | <!-- </div>--> |
| | | <!-- <div class="avatar-container">--> |
| | | <!-- <el-dropdown-menu slot="dropdown">--> |
| | | <!-- <router-link to="/user/profile">--> |
| | | <!-- <el-dropdown-item>个人中心</el-dropdown-item>--> |
| | | <!-- </router-link>--> |
| | | <!-- <el-dropdown-item @click.native="setting = true">--> |
| | | <!-- <span>布局设置</span>--> |
| | | <!-- </el-dropdown-item>--> |
| | | <!-- <el-dropdown-item divided @click.native="logout">--> |
| | | <!-- <span>退出登录</span>--> |
| | | <!-- </el-dropdown-item>--> |
| | | <!-- </el-dropdown-menu>--> |
| | | <!-- </div>--> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapGetters } from 'vuex' |
| | | import Breadcrumb from '@/components/Breadcrumb' |
| | | import TopNav from '@/components/TopNav' |
| | | import Hamburger from '@/components/Hamburger' |
| | | import Screenfull from '@/components/Screenfull' |
| | | import SizeSelect from '@/components/SizeSelect' |
| | | import Search from '@/components/HeaderSearch' |
| | | import RuoYiGit from '@/components/RuoYi/Git' |
| | | import RuoYiDoc from '@/components/RuoYi/Doc' |
| | | import { mapGetters } from "vuex"; |
| | | import Breadcrumb from "@/components/Breadcrumb"; |
| | | import TopNav from "@/components/TopNav"; |
| | | import Hamburger from "@/components/Hamburger"; |
| | | import Screenfull from "@/components/Screenfull"; |
| | | import SizeSelect from "@/components/SizeSelect"; |
| | | import Search from "@/components/HeaderSearch"; |
| | | import RuoYiGit from "@/components/RuoYi/Git"; |
| | | import RuoYiDoc from "@/components/RuoYi/Doc"; |
| | | |
| | | export default { |
| | | components: { |
| | |
| | | SizeSelect, |
| | | Search, |
| | | RuoYiGit, |
| | | RuoYiDoc |
| | | RuoYiDoc, |
| | | }, |
| | | computed: { |
| | | ...mapGetters([ |
| | | 'avatar', |
| | | 'device' |
| | | ]), |
| | | ...mapGetters(["device", "nickName"]), |
| | | setting: { |
| | | get() { |
| | | return this.$store.state.settings.showSettings |
| | | return this.$store.state.settings.showSettings; |
| | | }, |
| | | set(val) { |
| | | this.$store.dispatch('settings/changeSetting', { |
| | | key: 'showSettings', |
| | | value: val |
| | | }) |
| | | } |
| | | this.$store.dispatch("settings/changeSetting", { |
| | | key: "showSettings", |
| | | value: val, |
| | | }); |
| | | }, |
| | | }, |
| | | topNav: { |
| | | get() { |
| | | return this.$store.state.settings.topNav |
| | | } |
| | | } |
| | | return this.$store.state.settings.topNav; |
| | | }, |
| | | }, |
| | | }, |
| | | methods: { |
| | | async logout() { |
| | | this.$confirm('确定注销并退出系统吗?', '提示', { |
| | | confirmButtonText: '确定', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.$store.dispatch('LogOut').then(() => { |
| | | location.href = '/index'; |
| | | this.$confirm("确定注销并退出系统吗?", "提示", { |
| | | confirmButtonText: "确定", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | }) |
| | | .then(() => { |
| | | this.$store.dispatch("LogOut").then(() => { |
| | | location.href = "/index"; |
| | | }); |
| | | }) |
| | | }).catch(() => {}); |
| | | } |
| | | } |
| | | } |
| | | .catch(() => {}); |
| | | }, |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | |
| | | overflow: hidden; |
| | | //position: relative; |
| | | background: #fff; |
| | | box-shadow: 0 1px 4px rgba(0,21,41,.08); |
| | | box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); |
| | | position: fixed; /* 将头部固定 */ |
| | | top: 0; /* 在顶部固定 */ |
| | | width: 100%; /* 宽度100%,覆盖整个视口 */ |
| | |
| | | width: 118px; |
| | | height: 40px; |
| | | img { |
| | | width: 118px; |
| | | height: 40px; |
| | | margin-left: 20px; |
| | | cursor: pointer; |
| | | } |
| | |
| | | |
| | | &.hover-effect { |
| | | cursor: pointer; |
| | | transition: background .3s; |
| | | transition: background 0.3s; |
| | | |
| | | &:hover { |
| | | background: rgba(0, 0, 0, .025) |
| | | background: rgba(0, 0, 0, 0.025); |
| | | } |
| | | } |
| | | } |
| | | |
| | | .avatar-container { |
| | | margin-right: 30px; |
| | | } |
| | | } |
| | | } |
| | | </style> |