luobisheng
2022-11-22 35c30ecf074b292e955d96df7a713a2166daff0e
src/views/layout/components/Header/index.vue
@@ -31,8 +31,8 @@
      <!-- 消息 -->
      <div class="menu-right__item btn" @mousemove="flag.message = true" @mouseleave="flag.message = false">
        <el-tooltip effect="dark" content="消息中心" placement="bottom-end" :hide-after="600">
          <el-badge :value="50" :max="99" class="item">
            <i class="el-icon-message-solid"></i>
          <el-badge :value="messageCounts" class="item">
            <i @click="getMessage" class="el-icon-message-solid"></i>
          </el-badge>
        </el-tooltip>
        <!-- 消息操作 -->
@@ -44,19 +44,13 @@
            </div>
            <div v-for="item in menuMessageList" :key="item.id" class="message-card__item">
              <router-link to='/home/operate/message/messageIndex'>
                <span @click="" class="label">{{ item.label }}</span>
                <span class="label">{{ item.columnName }}</span>
              </router-link>
              <span>({{ item.num }})</span>
              <span>({{ item.messageNumber }})</span>
            </div>
          </el-card>
        </div>
      </div>
      <!-- 设置 -->
      <!-- <div class="menu-right__item btn">
        <el-tooltip effect="dark" content="账户设置" placement="bottom-end" :hide-after="1000">
          <i class="el-icon-s-tools"></i>
        </el-tooltip>
      </div> -->
      <!-- 退出登录 -->
      <div class="menu-right__item btn" @click="loginout">
        <el-tooltip effect="dark" content="退出登录" placement="bottom-end" :hide-after="1000">
@@ -82,9 +76,6 @@
          <el-form-item  prop="mobile" label="联系方式" min-width="7">
            <el-input v-model="info.mobile"></el-input>
          </el-form-item>
          <!-- <el-form-item  prop="departName" label="所属部门" min-width="8">
            <el-input v-model="user.mobile"></el-input>
          </el-form-item> -->
          <el-form-item prop="jobTitle" label="所属职务" min-width="8">
            <el-input v-model="info.jobTitle"></el-input>
          </el-form-item>
@@ -100,6 +91,8 @@
<script>
import updatePassword from "./updatePassword";
import users from "@/api/users";
export default {
  components: {
    updatePassword
@@ -133,36 +126,15 @@
        message: false
      },
      user: '',
      menuMessageList: [
        {
          label: '全部消息',
          num: 10,
          id: '1m'
        },
        {
          label: '产品消息',
          num: 10,
          id: '2m'
        },
        {
          label: '安全消息',
          num: 10,
          id: '3m'
        },
        {
          label: '服务消息',
          num: 10,
          id: '4m'
        },
      ],
      menuMessageList: [],
      messageCounts: 0,
      keyword: '',
      info:null,
      show:false
      info: null,
      show: false
    };
  },
  created() {
    this.setLoginInfo()
    console.log(this.user)
    this.setLoginInfo();
  },
  methods: {
    baseInfo() {
@@ -181,7 +153,6 @@
      this.$confirm("确认关闭?")
        .then((_) => {
          this.dialogUpload = false;
          // this.dialogUpdate = false;
          done();
        })
        .catch((_) => { });
@@ -200,30 +171,24 @@
        sessionStorage.clear();
        this.$router.push({ path: "/login" })
      }).catch(err => {
        console.log(err);
      })
    },
    // 改变选中状态
    changeActive(idx) {
      this.menuLeftList.forEach((item, index) => {
        if (index === idx) {
          item.checked = true;
        } else {
          item.checked = false;
        }
        item.checked = index === idx;
      })
    },
    // 设置用户基本信息
    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
      this.show = true;
      this.getMessage();
    },
    // 获取登录用户信息
    async getLoginInfo(){
@@ -233,7 +198,17 @@
          url: 'sccg/admin/info?name=' + name,
        })
        sessionStorage.setItem('user', JSON.stringify(res.data));
        return res.data
        return res.data;
    },
    getMessage() {
      users.getMessageAuditList({ userId: this.user.user.id })
          .then(res => {
            this.menuMessageList = res;
            this.menuMessageList.forEach(item => {
              this.messageCounts += item.messageNumber;
            })
          })
          .catch(err => this.$message.error(`${err}`))
    }
  }
};