From 2a9112650755dc3c98e6806f8eec48bce7741c20 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 06 六月 2025 17:28:10 +0800
Subject: [PATCH] 1.样式根据页面宽度修改 2.系统标题修改

---
 src/layout/components/Navbar.vue |  108 +++++++++++++++++++++++++++++++++--------------------
 1 files changed, 67 insertions(+), 41 deletions(-)

diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index cab43c5..b6312ca 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -1,35 +1,18 @@
 <template>
   <div class="navbar">
-    <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" />
-
+<!--    <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" />-->
+    <div v-if="sidebar.hide">
+      <top-nav id="topmenu-container" class="topmenu-container" />
+    </div>
+    <div class="logo" v-if="!sidebar.hide">
+      <img src="@/assets/logo/logo.png" alt=""/>
+    </div>
     <div class="right-menu">
       <template v-if="appStore.device !== 'mobile'">
         <header-search id="header-search" class="right-menu-item" />
-
-        <el-tooltip content="婧愮爜鍦板潃" effect="dark" placement="bottom">
-          <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
-        </el-tooltip>
-
-        <el-tooltip content="鏂囨。鍦板潃" effect="dark" placement="bottom">
-          <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
-        </el-tooltip>
-
         <screenfull id="screenfull" class="right-menu-item hover-effect" />
-
-        <el-tooltip content="涓婚妯″紡" effect="dark" placement="bottom">
-          <div class="right-menu-item hover-effect theme-switch-wrapper" @click="toggleTheme">
-            <svg-icon v-if="settingsStore.isDark" icon-class="sunny" />
-            <svg-icon v-if="!settingsStore.isDark" icon-class="moon" />
-          </div>
-        </el-tooltip>
-
-        <el-tooltip content="甯冨眬澶у皬" effect="dark" placement="bottom">
-          <size-select id="size-select" class="right-menu-item hover-effect" />
-        </el-tooltip>
       </template>
-
       <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" />
@@ -40,20 +23,24 @@
             <router-link to="/user/profile">
               <el-dropdown-item>涓汉涓績</el-dropdown-item>
             </router-link>
+<!--            <el-dropdown-item command="setLayout" v-if="settingsStore.showSettings">-->
+<!--              <span>甯冨眬璁剧疆</span>-->
+<!--            </el-dropdown-item>-->
             <el-dropdown-item divided command="logout">
               <span>閫�鍑虹櫥褰�</span>
             </el-dropdown-item>
           </el-dropdown-menu>
         </template>
       </el-dropdown>
-      <div class="right-menu-item hover-effect setting" @click="setLayout" v-if="settingsStore.showSettings">
-        <svg-icon icon-class="more-up" />
-      </div>
+<!--      <div class="right-menu-item hover-effect setting" @click="setLayout" v-if="settingsStore.showSettings">-->
+<!--        <svg-icon icon-class="more-up" />-->
+<!--      </div>-->
     </div>
   </div>
 </template>
 
 <script setup>
+import {useWindowSize} from '@vueuse/core'
 import { ElMessageBox } from 'element-plus'
 import Breadcrumb from '@/components/Breadcrumb'
 import TopNav from '@/components/TopNav'
@@ -66,11 +53,47 @@
 import useAppStore from '@/store/modules/app'
 import useUserStore from '@/store/modules/user'
 import useSettingsStore from '@/store/modules/settings'
+const sidebar = computed(() => useAppStore().sidebar)
+const device = computed(() => useAppStore().device)
+import Sidebar from "@/layout/components/Sidebar/index.vue";
 
 const appStore = useAppStore()
 const userStore = useUserStore()
 const settingsStore = useSettingsStore()
+const isShowTop = ref(false)
 
+const { width, height } = useWindowSize()
+const WIDTH = 992 // refer to Bootstrap's responsive design
+
+watch(() => device.value, () => {
+  if (device.value === 'mobile' && sidebar.value.opened) {
+    useAppStore().closeSideBar({ withoutAnimation: false })
+  }
+})
+
+watchEffect(() => {
+  if (width.value - 1 < WIDTH) {
+    useAppStore().toggleDevice('mobile')
+    appStore.toggleSideBarHide(true)
+    useAppStore().closeSideBar({ withoutAnimation: true })
+  } else {
+    useAppStore().toggleDevice('desktop')
+    appStore.toggleSideBarHide(false)
+  }
+})
+// 鏍规嵁绐楀彛瀹藉害璁剧疆 isShowTop
+// const handleResize = () => {
+//   settingsStore.topNav = !(window.innerWidth < 992)
+// }
+//
+// onMounted(() => {
+//   handleResize() // 鍒濆鍒ゆ柇涓�娆�
+//   window.addEventListener('resize', handleResize)
+// })
+//
+// onUnmounted(() => {
+//   window.removeEventListener('resize', handleResize)
+// })
 function toggleSideBar() {
   appStore.toggleSideBar()
 }
@@ -114,20 +137,24 @@
 .navbar {
   height: 50px;
   overflow: hidden;
-  position: relative;
+  position: fixed; /* 灏嗗ご閮ㄥ浐瀹� */
+  top: 0; /* 鍦ㄩ《閮ㄥ浐瀹� */
+  width: 100%; /* 瀹藉害100%锛岃鐩栨暣涓鍙� */
+  //background-color: #f8f9fa; /* 璁剧疆鑳屾櫙棰滆壊锛屼互渚挎洿鏄庢樉鍦扮湅鍒版晥鏋� */
+  z-index: 1000; /* 纭繚澶撮儴鍦ㄥ叾浠栧唴瀹逛箣涓� */
   background: var(--navbar-bg);
   box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
-
-  .hamburger-container {
-    line-height: 46px;
-    height: 100%;
-    float: left;
-    cursor: pointer;
-    transition: background 0.3s;
-    -webkit-tap-highlight-color: transparent;
-
-    &:hover {
-      background: rgba(0, 0, 0, 0.025);
+  display: flex;
+  justify-content: space-between;
+  padding: 0 20px;
+  
+  .logo {
+    height: 50px;
+    line-height: 50px;
+    img {
+      cursor: pointer;
+      width: 146px;
+      height: 46px;
     }
   }
 
@@ -137,7 +164,6 @@
 
   .topmenu-container {
     position: absolute;
-    left: 50px;
   }
 
   .errLog-container {

--
Gitblit v1.9.3