zhanghua
2024-09-12 64adf0faa3ee49de1d4ba3abe6c9de5bb565f44b
src/layout/components/Navbar.vue
@@ -3,27 +3,17 @@
    <hamburger :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
    <breadcrumb class="breadcrumb-container" />
    <!-- 固定右上角 -->
    <h3 style="position: fixed; top: 0; font-size: 16px; color: #5a5e66; " :style="'right:' + orgCss() ">{{ getOrgName() }}</h3>
    <div class="right-menu">
      <el-dropdown class="avatar-container" trigger="click">
        <div class="avatar-wrapper">
          <img :src="avatar+'?imageView2/1/w/80/h/80'" class="user-avatar">
          <i class="el-icon-caret-bottom" />
          {{ '你好,' + getUserName() }}
          <i class="el-icon-caret-bottom"></i>
        </div>
        <el-dropdown-menu slot="dropdown" class="user-dropdown">
          <router-link to="/">
            <el-dropdown-item>
              Home
            </el-dropdown-item>
          </router-link>
          <a target="_blank" href="https://github.com/PanJiaChen/vue-admin-template/">
            <el-dropdown-item>Github</el-dropdown-item>
          </a>
          <a target="_blank" href="https://panjiachen.github.io/vue-element-admin-site/#/">
            <el-dropdown-item>Docs</el-dropdown-item>
          </a>
          <el-dropdown-item divided @click.native="logout">
            <span style="display:block;">Log Out</span>
          <el-dropdown-item @click.native="logout">
            <span style="display:block;">退出登录</span>
          </el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
@@ -48,12 +38,21 @@
    ])
  },
  methods: {
    orgCss() {
      return JSON.parse(localStorage.getItem("user")).name.length * 20 + 100 + 'px';
    },
    getOrgName() {
      return JSON.parse(localStorage.getItem("user")).staffs[0].org.name;
    },
    getUserName() {
      return JSON.parse(localStorage.getItem("user")).name;
    },
    toggleSideBar() {
      this.$store.dispatch('app/toggleSideBar')
    },
    async logout() {
      await this.$store.dispatch('user/logout')
      this.$router.push(`/login?redirect=${this.$route.fullPath}`)
      // await this.$store.dispatch('user/logout')
      this.$router.push(`/login`)
    }
  }
}
@@ -112,11 +111,12 @@
    }
    .avatar-container {
      margin-right: 30px;
      margin-right: 50px;
      .avatar-wrapper {
        margin-top: 5px;
        position: relative;
        cursor: pointer;
        .user-avatar {
          cursor: pointer;