|
@@ -5,16 +5,25 @@
|
|
|
<div class="ve_logo_time">{{ currentTime }}</div>
|
|
|
<div class="ve_logo_text">数据驱动飞行器智能优化设计平台</div>
|
|
|
<div class="ve_logo_user">
|
|
|
- <el-dropdown trigger="hover">
|
|
|
- <el-avatar :icon="UserFilled"/>
|
|
|
+ <el-avatar :icon="UserFilled" :size="24" />
|
|
|
+ <el-dropdown trigger="hover" class="user-dropdown">
|
|
|
<span class="el-dropdown-link">
|
|
|
{{ nickName }}
|
|
|
</span>
|
|
|
<template #dropdown>
|
|
|
<el-dropdown-menu>
|
|
|
- <el-dropdown-item>个人信息</el-dropdown-item>
|
|
|
- <el-dropdown-item>修改密码</el-dropdown-item>
|
|
|
- <el-dropdown-item divided>登出</el-dropdown-item>
|
|
|
+ <el-dropdown-item>
|
|
|
+ <el-icon><User /></el-icon>
|
|
|
+ <span>个人信息</span>
|
|
|
+ </el-dropdown-item>
|
|
|
+ <el-dropdown-item>
|
|
|
+ <el-icon><Key /></el-icon>
|
|
|
+ <span>修改密码</span>
|
|
|
+ </el-dropdown-item>
|
|
|
+ <el-dropdown-item divided @click="handleLogout" style="color: #F56C6C;">
|
|
|
+ <el-icon><SwitchButton /></el-icon>
|
|
|
+ <span>登出</span>
|
|
|
+ </el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</template>
|
|
|
</el-dropdown>
|
|
@@ -27,17 +36,32 @@
|
|
|
<script setup>
|
|
|
import { ref, onMounted, reactive, } from "vue";
|
|
|
import logo from "@/assets/img/bgheader.png";
|
|
|
+import { UserFilled, ArrowDown, User, Key, SwitchButton } from '@element-plus/icons-vue'
|
|
|
|
|
|
import useCurrentTime from "@/utils/useCurrentTime";
|
|
|
import { useUserStore } from '@/store/user'
|
|
|
+import { removeToken,removeUserId} from "@/utils/token";
|
|
|
+import { useRouter } from 'vue-router'
|
|
|
|
|
|
-import { UserFilled } from '@element-plus/icons-vue'
|
|
|
+import {message} from "@/utils/message";
|
|
|
|
|
|
const userStore = useUserStore()
|
|
|
-const nickName = computed(() => userStore.userInfo.nickName || '用户登录')
|
|
|
+const router = useRouter()
|
|
|
+
|
|
|
+const nickName = computed(() => userStore.userInfo?.nickName || '用户登录')
|
|
|
|
|
|
const { currentTime } = useCurrentTime()
|
|
|
|
|
|
+const handleLogout = () => {
|
|
|
+ userStore.clearUserInfo();
|
|
|
+ removeToken();
|
|
|
+ removeUserId();
|
|
|
+ // 跳转到登录页面
|
|
|
+ message.success('登出成功');
|
|
|
+ router.push('/login');
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
.ve_menu_logo {
|
|
@@ -85,21 +109,30 @@ const { currentTime } = useCurrentTime()
|
|
|
.ve_logo_user{
|
|
|
position: absolute;
|
|
|
top: 40%;
|
|
|
- right: 10%;
|
|
|
+ right: 2%;
|
|
|
transform: translate(-50%, -50%);
|
|
|
font-size: 18px;
|
|
|
color: #FFFFFF;
|
|
|
font-weight: 400;
|
|
|
|
|
|
- :deep(.el-avatar) {
|
|
|
- background-color: transparent;
|
|
|
- }
|
|
|
-
|
|
|
- :deep(.el-avatar--icon) {
|
|
|
- color: #2CFFFF;
|
|
|
- }
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+.user-dropdown {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ cursor: pointer;
|
|
|
+
|
|
|
+ :deep(.el-dropdown-link) {
|
|
|
+ margin-left: 10px;
|
|
|
+ color: #fff;
|
|
|
+ font-size: 14px;
|
|
|
+ font-weight: 400;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|