From b4668a820cb11703613c59d6529898e230be0b28 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 04 八月 2025 14:57:18 +0800
Subject: [PATCH] bug修改

---
 src/layout/components/Navbar.vue |   58 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 38 insertions(+), 20 deletions(-)

diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 6330837..e9918c7 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -1,10 +1,6 @@
 <template>
   <div class="navbar">
-    <hamburger
-      :is-active="sidebar.opened"
-      class="hamburger-container"
-      @toggleClick="toggleSideBar"
-    />
+    <hamburger :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
 
     <breadcrumb class="breadcrumb-container" />
     <!-- 鍥哄畾鍙充笂瑙� -->
@@ -13,16 +9,14 @@
     <div class="right-menu">
       <el-dropdown trigger="click" ref="eldrop" style="margin-right: 20px">
         <div class="avatar-wrapper" style="font-size: 20px">
-          {{ selectStaff.org.name }}
+          {{ selectStaff ? selectStaff.org.name : "" }}-{{
+            selectStaff && selectStaff.sysRole ? selectStaff.sysRole.name : ""
+          }}
           <i class="el-icon-caret-bottom"></i>
         </div>
         <el-dropdown-menu slot="dropdown" align="center">
-          <el-dropdown-item
-            v-for="item in staffs"
-            @click.native="changeStaff(item)"
-            :key="item.id"
-          >
-            {{ item.org.name }}
+          <el-dropdown-item v-for="item in staffs" @click.native="changeStaff(item)" :key="item.id">
+            {{ item ? item.org.name : "" }}-{{ item && item.sysRole ? item.sysRole.name : "" }}
           </el-dropdown-item>
         </el-dropdown-menu>
       </el-dropdown>
@@ -86,16 +80,33 @@
       // await this.$store.dispatch('user/logout')
       this.$router.push(`/login`);
     },
+    loadStaffs() {
+      const selectStaff = JSON.parse(localStorage.getItem("selectStaff"));
+      if (selectStaff) {
+        this.selectStaff = selectStaff;
+      }
+      const staffs = JSON.parse(localStorage.getItem("staffs"));
+
+      console.log('Navbar-created');
+      if (staffs) {
+        this.staffs = staffs;
+      }
+    },
+    beforeCreate() {
+      const user = JSON.parse(localStorage.getItem("user"));
+      if (!user) {
+        this.$router.push(`/login`);
+      }
+    },
   },
   created() {
-    const selectStaff = JSON.parse(localStorage.getItem("selectStaff"));
-    if (selectStaff) {
-      this.selectStaff = selectStaff;
-    }
-    const staffs = JSON.parse(localStorage.getItem("staffs"));
-    if (staffs) {
-      this.staffs = staffs;
-    }
+    this.loadStaffs();
+  },
+  mounted() {
+    this.$EventBus.$on("updateStaffs", (data) => {
+      
+      this.loadStaffs();
+    });
   },
 };
 </script>
@@ -178,4 +189,11 @@
     }
   }
 }
+
+.el-dropdown-menu {
+  max-height: 400px;
+  /*璁剧疆鑿滃崟楂樺害涓�200px*/
+  overflow-y: auto;
+  /*璁剧疆婊氬姩鏉�*/
+}
 </style>

--
Gitblit v1.8.0