luobisheng
2022-11-08 2406ac9a70e51e76c6ba95efb69f641c7b22e8ea
src/views/layout/components/Header/index.vue
@@ -1,6 +1,6 @@
<template>
  <!-- 头部 -->
  <el-header>
  <el-header v-if="show">
    <!-- 左侧菜单 -->
    <div class="header-left">
      <div class="menu-left__item" v-for="(item, index) in menuLeftList" :key="item.id" @click="changeActive(index)">
@@ -157,10 +157,12 @@
      ],
      keyword: '',
      info:null,
      show:false
    };
  },
  created() {
    this.getLoginInfo();
    this.setLoginInfo()
    console.log(this.user)
  },
  methods: {
    baseInfo() {
@@ -211,22 +213,27 @@
        }
      })
    },
    // 获取登录用户信息
    getLoginInfo() {
    // 设置用户基本信息
    async setLoginInfo() {
      const info = JSON.parse(sessionStorage.getItem('user'));
      if (info) {
        console.log(info)
        this.user = info;
      } else {
        this.user = await this.getLoginInfo();
        console.log(this.user)
      }
      this.show = true
    },
    // 获取登录用户信息
    async getLoginInfo(){
        const name = sessionStorage.getItem('name');
        this.$axios({
        let res = await this.$axios({
          method: 'get',
          url: 'sccg/admin/info?name=' + name,
        })
          .then(res => {
            sessionStorage.setItem('user', JSON.stringify(res.data));
            this.user = res.data;
          })
      }
        sessionStorage.setItem('user', JSON.stringify(res.data));
        return res.data
    }
  }
};
@@ -253,7 +260,7 @@
  .header-left {
    display: flex;
    flex: 1;
    .menu-left__item {
      width: 120px;
@@ -278,9 +285,10 @@
  .header-right {
    display: flex;
    padding-left: 10vw;
    flex: 1;
    .item {
      width: 60px;
      width: 100%;
      position: relative;
      :deep(.is-fixed) {
@@ -295,12 +303,12 @@
    }
    .search {
      width: 200px;
      flex: 3;
    }
    .user {
      margin-left: 20px;
      width: 120px;
      flex: 2;
      display: flex;
      align-items: center;
      justify-content: center;
@@ -335,7 +343,7 @@
    }
    .btn {
      width: 60px;
      flex: 1;
      font-size: 20px;
      position: relative;