增加消息通知模块

This commit is contained in:
bb_pan 2025-11-07 10:42:57 +08:00
parent 58be34738a
commit 822b5fada3
2 changed files with 61 additions and 13 deletions

View File

@ -1,6 +1,11 @@
<template>
<div class="navbar">
<hamburger id="hamburger-container" :is-active="appStore.sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
<hamburger
id="hamburger-container"
:is-active="appStore.sidebar.opened"
class="hamburger-container"
@toggleClick="toggleSideBar"
/>
<breadcrumb v-if="!settingsStore.topNav" id="breadcrumb-container" class="breadcrumb-container" />
<top-nav v-if="settingsStore.topNav" id="topmenu-container" class="topmenu-container" />
@ -17,6 +22,25 @@
</div>
</el-tooltip>
<div class="right-menu-item" style="display: flex; align-items: center">
<el-dropdown>
<span class="badge-item">
<el-badge :value="200" :max="99">
<el-icon size="21"><Bell /></el-icon>
</el-badge>
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item>这是通知的内容</el-dropdown-item>
<el-dropdown-item>Action 2</el-dropdown-item>
<el-dropdown-item>Action 3</el-dropdown-item>
<el-dropdown-item>Action 4</el-dropdown-item>
<el-dropdown-item>Action 5</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</div>
<el-tooltip content="布局大小" effect="dark" placement="bottom">
<size-select id="size-select" class="right-menu-item hover-effect" />
</el-tooltip>
@ -25,7 +49,7 @@
<el-dropdown @command="handleCommand" class="avatar-container right-menu-item hover-effect" trigger="hover">
<div class="avatar-wrapper">
<img :src="userStore.avatar" class="user-avatar" />
<span class="user-nickname"> {{ userStore.nickName }} </span>
<span class="user-nickname">{{ userStore.nickName }}</span>
</div>
<template #dropdown>
<el-dropdown-menu>
@ -33,8 +57,8 @@
<el-dropdown-item>个人中心</el-dropdown-item>
</router-link>
<el-dropdown-item command="setLayout" v-if="settingsStore.showSettings">
<span>布局设置</span>
</el-dropdown-item>
<span>布局设置</span>
</el-dropdown-item>
<el-dropdown-item divided command="logout">
<span>退出登录</span>
</el-dropdown-item>
@ -67,10 +91,10 @@ function toggleSideBar() {
function handleCommand(command) {
switch (command) {
case "setLayout":
case 'setLayout':
setLayout()
break
case "logout":
case 'logout':
logout()
break
default:
@ -83,11 +107,13 @@ function logout() {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
userStore.logOut().then(() => {
location.href = '/index'
})
.then(() => {
userStore.logOut().then(() => {
location.href = '/index'
})
})
}).catch(() => { })
.catch(() => {})
}
const emits = defineEmits(['setLayout'])
@ -100,7 +126,7 @@ function toggleTheme() {
}
</script>
<style lang='scss' scoped>
<style lang="scss" scoped>
.navbar {
height: 50px;
overflow: hidden;
@ -168,7 +194,7 @@ function toggleTheme() {
svg {
transition: transform 0.3s;
&:hover {
transform: scale(1.15);
}
@ -193,7 +219,7 @@ function toggleTheme() {
border-radius: 50%;
}
.user-nickname{
.user-nickname {
position: relative;
left: 0px;
bottom: 10px;
@ -212,4 +238,10 @@ function toggleTheme() {
}
}
}
.badge-item {
margin-right: 10px;
display: flex;
align-items: center;
cursor: pointer;
}
</style>

View File

@ -0,0 +1,16 @@
<template>
<div class="app-container home">
<el-card>
<el-row :gutter="20">
<el-col :sm="24" :lg="12" style="padding-left: 20px">
<h2>安全工器具预警系统</h2>
</el-col>
</el-row>
<el-divider />
</el-card>
</div>
</template>
<script setup name="SafetyToolsWarning"></script>
<style lang="scss" scoped></style>