From 145fd1abd1e77e142982da48064b98f1e436dc6c Mon Sep 17 00:00:00 2001
From: zzw <228544128@qq.com>
Date: 星期五, 02 十月 2026 18:41:01 +0800
Subject: [PATCH] feat: show menu path in header

---
 emergency-repair-web/src/components/AppHeader.vue |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/emergency-repair-web/src/components/AppHeader.vue b/emergency-repair-web/src/components/AppHeader.vue
index 2894e69..146bf5c 100644
--- a/emergency-repair-web/src/components/AppHeader.vue
+++ b/emergency-repair-web/src/components/AppHeader.vue
@@ -4,6 +4,7 @@
       <repair-logo></repair-logo>
       <span>涓存姠淇鐞嗙郴缁�</span>
       <em>缃戠粶鐗�</em>
+      <span v-if="menuPathText" class="menu-path" :title="menuPathText">{{ menuPathText }}</span>
     </div>
     <div class="header-right">
       <span><i class="el-icon-user-solid"></i> {{ realName }}</span>
@@ -18,7 +19,13 @@
 export default {
   name: 'AppHeader',
   components: { RepairLogo },
+  props: {
+    menuPath: { type: Array, default: () => [] }
+  },
   computed: {
+    menuPathText() {
+      return this.menuPath.join(' / ')
+    },
     realName() {
       return sessionStorage.getItem('realName') || '绯荤粺绠$悊鍛�'
     }
@@ -36,6 +43,7 @@
 
 <style scoped>
 .app-header {
+  gap: 20px;
   display: flex;
   align-items: center;
   justify-content: space-between;
@@ -46,10 +54,12 @@
   box-shadow: 0 1px 4px rgba(18, 41, 63, 0.24);
   flex-shrink: 0;
 }
-.brand { display: flex; align-items: center; gap: 9px; font-size: 18px; font-weight: 600; }
+.brand { display: flex; flex: 1; align-items: center; min-width: 0; gap: 9px; font-size: 18px; font-weight: 600; }
 .brand .repair-logo { color: #7fc4ff; font-size: 25px; transform: translateY(2px); }
 .brand em { padding: 1px 6px; border: 1px solid rgba(255,255,255,.35); border-radius: 3px; font-size: 11px; font-style: normal; font-weight: 400; opacity: .85; }
-.header-right { display: flex; align-items: center; gap: 14px; font-size: 14px; }
+.brand > .repair-logo, .brand > span:not(.menu-path), .brand > em { flex: 0 0 auto; }
+.menu-path { flex: 0 1 auto; min-width: 0; padding-left: 14px; border-left: 1px solid rgba(255,255,255,.28); overflow: hidden; color: #d8e9f7; font-size: 13px; font-weight: 400; text-overflow: ellipsis; white-space: nowrap; }
+.header-right { display: flex; flex: 0 0 auto; align-items: center; gap: 14px; font-size: 14px; }
 .header-right .el-button { color: #d8e9f7; }
 .header-right .el-button:hover { color: #fff; }
 </style>

--
Gitblit v1.9.1