From e2ffe9683ef007a45afbcdd897985d64cdcc7391 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期四, 24 十一月 2022 11:26:31 +0800
Subject: [PATCH] 修改
---
src/views/layout/components/Header/index.vue | 135 ++++++++++++++++++++------------------------
1 files changed, 62 insertions(+), 73 deletions(-)
diff --git a/src/views/layout/components/Header/index.vue b/src/views/layout/components/Header/index.vue
index 840e9af..015a5b4 100644
--- a/src/views/layout/components/Header/index.vue
+++ b/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)">
@@ -15,10 +15,10 @@
</div>
<!-- 鐧诲綍鐢ㄦ埛 -->
<div class="menu-right__item user" @mousemove="flag.user = true" @mouseleave="flag.user = false">
- <el-avatar :size="20" :src="user.icon" v-if="user.icon"></el-avatar>
+ <el-avatar :size="20" :src="user.user.icon" v-if="user.user.icon"></el-avatar>
<el-avatar :size="20" src="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png" v-else>
</el-avatar>
- <span style="padding: 0 5px;">{{ user.username}}</span>
+ <span style="padding: 0 5px;">{{ user.user.username }}</span>
<i class="el-icon-arrow-down"></i>
<!-- 鐢ㄦ埛鎿嶄綔 -->
<div class="user-card" v-if="flag.user" @mouseleave="flag.user = false">
@@ -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">
@@ -69,27 +63,24 @@
</el-dialog>
<el-dialog :visible.sync="baseInformationVisible" width="35%" title="鍩烘湰淇℃伅" v-if="baseInformationVisible"
:before-close="handleClose">
- <el-form :model="user" class="info" label-width="6vw">
+ <el-form :model="info" class="info" label-width="6vw">
<el-form-item label="鐢ㄦ埛ID" min-width="6">
- <el-input v-model="user.id"></el-input>
+ <el-input v-model="info.id"></el-input>
</el-form-item>
<el-form-item prop="nickName" label="鐢ㄦ埛鍚嶇О" min-width="10">
- <el-input v-model="user.nickName"></el-input>
+ <el-input v-model="info.nickName"></el-input>
</el-form-item>
- <el-form-item prop="nickName" label="鎵�灞炲鍚�" min-width="8">
- <el-input v-model="user.username"></el-input>
+ <el-form-item prop="nickName" label="鎵�灞炲鍚�" min-width="8">
+ <el-input v-model="info.username"></el-input>
</el-form-item>
- <el-form-item prop="mobile" label="鑱旂郴鏂瑰紡" min-width="7">
- <el-input v-model="user.mobile"></el-input>
+ <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="user.jobTitle"></el-input>
+ <el-input v-model="info.jobTitle"></el-input>
</el-form-item>
<el-form-item prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
- <el-input v-model="user.createTime"></el-input>
+ <el-input v-model="info.createTime"></el-input>
</el-form-item>
</el-form>
@@ -100,6 +91,8 @@
<script>
import updatePassword from "./updatePassword";
+import users from "@/api/users";
+
export default {
components: {
updatePassword
@@ -133,33 +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
};
},
created() {
- this.getLoginInfo();
+ this.setLoginInfo();
},
methods: {
baseInfo() {
@@ -171,14 +146,13 @@
})
.then(res => {
sessionStorage.setItem('user', JSON.stringify(res.data));
- this.user = res.data.user;
+ this.info = res.data.user;
})
},
handleClose(done) {
this.$confirm("纭鍏抽棴锛�")
.then((_) => {
this.dialogUpload = false;
- // this.dialogUpdate = false;
done();
})
.catch((_) => { });
@@ -197,47 +171,59 @@
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;
})
},
- // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
- getLoginInfo() {
+ // 璁剧疆鐢ㄦ埛鍩烘湰淇℃伅
+ async setLoginInfo() {
const info = JSON.parse(sessionStorage.getItem('user'));
if (info) {
this.user = info;
} else {
- const name = sessionStorage.getItem('name');
- this.$axios({
- method: 'get',
- url: 'sccg/admin/info?name=' + name,
- })
- .then(res => {
- sessionStorage.setItem('user', JSON.stringify(res.data));
- this.user = res.data.user;
- })
+ this.user = await this.getLoginInfo();
}
+ this.getMessage();
+ this.show = true
+ },
+ // 鑾峰彇鐧诲綍鐢ㄦ埛淇℃伅
+ async getLoginInfo() {
+ const name = sessionStorage.getItem('name');
+ let res = await this.$axios({
+ method: 'get',
+ url: 'sccg/admin/info?name=' + name,
+ })
+ sessionStorage.setItem('user', JSON.stringify(res.data));
+ return res.data;
+ },
+ getMessage() {
+ const userInfo = JSON.parse(sessionStorage.getItem('user'));
+ users.getMessageAuditList({ userId: userInfo.user.id })
+ .then(res => {
+ this.menuMessageList = res;
+ this.menuMessageList.forEach(item => {
+ this.messageCounts += item.messageNumber;
+ })
+ })
+ .catch(err => this.$message.error(`${err}`))
}
}
};
</script>
<style lang="scss" scoped>
- ::v-deep .el-form{
+::v-deep .el-form {
padding: 3vh 5vw;
- .el-form-item__label{
+
+ .el-form-item__label {
color: #4b9bb7;
}
}
+
.el-header {
background-color: #071a38;
color: #333;
@@ -252,6 +238,7 @@
.header-left {
display: flex;
+ flex: 1;
.menu-left__item {
width: 120px;
@@ -277,9 +264,11 @@
.header-right {
display: flex;
+ padding-left: 10vw;
+ flex: 1;
.item {
- width: 60px;
+ width: 100%;
position: relative;
:deep(.is-fixed) {
@@ -294,12 +283,12 @@
}
.search {
- width: 200px;
+ flex: 3;
}
.user {
margin-left: 20px;
- width: 120px;
+ flex: 2;
display: flex;
align-items: center;
justify-content: center;
@@ -334,7 +323,7 @@
}
.btn {
- width: 60px;
+ flex: 1;
font-size: 20px;
position: relative;
--
Gitblit v1.8.0