This commit is contained in:
2026-08-03 10:51:53 +08:00
parent beb86d53e7
commit f098610a6c
15 changed files with 125 additions and 115 deletions
+17 -25
View File
@@ -2,12 +2,7 @@
import { computed, nextTick, onBeforeUnmount, onMounted, ref, watch } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { ElMessageBox } from 'element-plus'
import {
Building2,
LogOut,
Menu,
X,
} from '@lucide/vue'
import { LogOut, Menu, X } from '@lucide/vue'
import baiyueLogoDark from '@/assets/brand/baiyue-logo-dark.png'
import ClientSidebarMenu from '@/components/ClientSidebarMenu.vue'
import { useAuthStore } from '@/stores/auth'
@@ -100,15 +95,25 @@ async function handleLogout() {
<template>
<div class="client-shell" :class="{ 'mobile-menu-open': mobileMenuOpen }">
<header
class="top-header"
:inert="mobileMenuOpen"
:aria-hidden="mobileMenuOpen ? 'true' : undefined"
>
<header class="top-header" :inert="mobileMenuOpen" :aria-hidden="mobileMenuOpen ? 'true' : undefined">
<RouterLink class="client-brand" to="/">
<img class="client-brand-logo" :src="baiyueLogoDark" alt="柏悦物流" />
</RouterLink>
<div class="tenant-name"><Building2 :size="17" /> {{ auth.user?.tenantName }}</div>
<button
ref="menuButtonRef"
type="button"
class="client-header-menu-button"
aria-label="打开导航"
aria-controls="client-sidebar"
:aria-expanded="mobileMenuOpen"
@click="openMobileMenu"
>
<Menu :size="20" />
</button>
<div class="client-header-heading">
<h1>{{ pageTitle }}</h1>
<p v-if="pageDescription">{{ pageDescription }}</p>
</div>
<div class="client-user">
<span class="client-avatar">{{ auth.user?.name.slice(0, 1) }}</span>
<span class="client-user-copy"><strong>{{ auth.user?.name }}</strong><small>{{ auth.user?.roles.join('、') }}</small></span>
@@ -156,19 +161,6 @@ async function handleLogout() {
:inert="mobileMenuOpen"
:aria-hidden="mobileMenuOpen ? 'true' : undefined"
>
<div class="client-page-heading">
<button
ref="menuButtonRef"
type="button"
aria-label="打开导航"
aria-controls="client-sidebar"
:aria-expanded="mobileMenuOpen"
@click="openMobileMenu"
>
<Menu :size="20" />
</button>
<div><h1>{{ pageTitle }}</h1><p>{{ pageDescription }}</p></div>
</div>
<RouterView />
</main>
</div>