This commit is contained in:
oneao committed 2025-12-28 22:35:36 +08:00
1 parent e98ab295c4
commit 92fb1b74a7
22 files changed
+1204 -45

No files matched your search

@@ -6,7 +6,9 @@ import {
import { useRoute, useRouter } from 'vue-router'
import SafeImage from '@/components/SafeImage.vue'
import { useUserStore } from '@/store/user'
import { useWebSocket } from '@/store/websocket'
const websocket = useWebSocket()
const route = useRoute()
const router = useRouter()
const userStore = useUserStore()
@@ -25,6 +27,7 @@ function navigateTo(path: string) {
function exitLogin() {
userStore.clear()
websocket.logout()
router.push('/auth/login')
}
@@ -57,14 +60,16 @@ function isActive(path: string) {
<div class="action">
<i-tdesign:search class="action-item" />
<i-tdesign:notification v-if="userStore.isLogined" class="action-item" />
<i-tdesign:notification v-if="userStore.isLogined" class="action-item" @click="navigateTo('/im')" />
<template v-if="userStore.isLogined">
<el-divider direction="vertical" />
<el-dropdown>
<div class="user">
<SafeImage :url="userStore.user.avatar || userStore.company.logo" :size="36" round />
<el-badge v-if="websocket.connected.value" :value="12" is-dot>
<SafeImage :url="userStore.user.avatar || userStore.company.logo" :size="36" round />
</el-badge>
<div class="info">
<span class="name">{{ userStore.user.name }}</span>
<span class="company">{{ userStore.company.name }}</span>
@@ -183,6 +188,10 @@ function isActive(path: string) {
cursor: pointer;
outline: 0;
:deep(.el-badge__content.is-dot) {
width: 10px;
height: 10px;
}
.info {
display: flex;
flex-direction: column;