| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- <template>
- <div class="avue-top">
- <div class="top-bar__left">
- <div class="avue-breadcrumb"
- :class="[{ 'avue-breadcrumb--active': isCollapse }]"
- v-if="showCollapse">
- <i class="icon-navicon"
- @click="setCollapse"></i>
- </div>
- </div>
- <div class="top-bar__title">
- <div class="top-bar__item top-bar__item--show"
- v-if="showMenu">
- <top-menu></top-menu>
- </div>
- <!--<span class="top-bar__item"
- v-if="showSearch">
- <top-search></top-search>
- </span>-->
- </div>
- <div class="top-bar__right">
- <el-tooltip v-if="showColor"
- effect="dark"
- :content="$t('navbar.color')"
- placement="bottom">
- <div class="top-bar__item">
- <top-color></top-color>
- </div>
- </el-tooltip>
- <el-tooltip v-if="showDebug"
- effect="dark"
- :content="logsFlag?$t('navbar.bug'):logsLen+$t('navbar.bugs')"
- placement="bottom">
- <div class="top-bar__item">
- <top-logs></top-logs>
- </div>
- </el-tooltip>
- <el-tooltip v-if="showLock"
- effect="dark"
- :content="$t('navbar.lock')"
- placement="bottom">
- <div class="top-bar__item">
- <top-lock></top-lock>
- </div>
- </el-tooltip>
- <el-tooltip v-if="showTheme"
- effect="dark"
- :content="$t('navbar.theme')"
- placement="bottom">
- <div class="top-bar__item top-bar__item--show">
- <top-theme></top-theme>
- </div>
- </el-tooltip>
- <el-tooltip effect="dark"
- :content="$t('navbar.language')"
- placement="bottom">
- <div class="top-bar__item top-bar__item--show">
- <top-lang></top-lang>
- </div>
- </el-tooltip>
- <el-tooltip v-if="showFullScren"
- effect="dark"
- :content="isFullScren?$t('navbar.screenfullF'):$t('navbar.screenfull')"
- placement="bottom">
- <div class="top-bar__item">
- <i :class="isFullScren?'icon-tuichuquanping':'icon-quanping'"
- @click="handleScreen"></i>
- </div>
- </el-tooltip>
- <img class="top-bar__img"
- :src="userInfo.avatar">
- <el-dropdown>
- <span class="el-dropdown-link">
- {{userInfo.userName}}
- <i class="el-icon-arrow-down el-icon--right"></i>
- </span>
- <el-dropdown-menu slot="dropdown">
- <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.native="logout"
- divided>{{$t('navbar.logOut')}}</el-dropdown-item>
- </el-dropdown-menu>
- </el-dropdown>
- </div>
- </div>
- </template>
- <script>
- import { mapGetters, mapState } from "vuex";
- import { fullscreenToggel, listenfullscreen } from "@/util/util";
- import topLock from "./top-lock";
- import topMenu from "./top-menu";
- // import topSearch from "./top-search";
- import topTheme from "./top-theme";
- import topLogs from "./top-logs";
- import topColor from "./top-color";
- import topLang from "./top-lang";
- export default {
- components: {
- topLock,
- topMenu,
- // topSearch,
- topTheme,
- topLogs,
- topColor,
- topLang
- },
- name: "top",
- data() {
- return {};
- },
- filters: {},
- created() {},
- mounted() {
- listenfullscreen(this.setScreen);
- },
- computed: {
- ...mapState({
- showDebug: state => state.common.showDebug,
- showTheme: state => state.common.showTheme,
- showLock: state => state.common.showLock,
- showFullScren: state => state.common.showFullScren,
- showCollapse: state => state.common.showCollapse,
- showSearch: state => state.common.showSearch,
- showMenu: state => state.common.showMenu,
- showColor: state => state.common.showColor
- }),
- ...mapGetters([
- "userInfo",
- "isFullScren",
- "tagWel",
- "tagList",
- "isCollapse",
- "tag",
- "logsLen",
- "logsFlag"
- ])
- },
- methods: {
- handleScreen() {
- fullscreenToggel();
- },
- setCollapse() {
- this.$store.commit("SET_COLLAPSE");
- },
- setScreen() {
- this.$store.commit("SET_FULLSCREN");
- },
- logout() {
- this.$confirm(this.$t("logoutTip"), this.$t("tip"), {
- confirmButtonText: this.$t("submitText"),
- cancelButtonText: this.$t("cancelText"),
- type: "warning"
- }).then(() => {
- this.$store.dispatch("LogOut").then(() => {
- this.$router.push({ path: "/login" });
- });
- });
- }
- }
- };
- </script>
- <style lang="scss" scoped>
- </style>
|