From dae8c5016c0b8894119618754acfe509123d2f91 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期三, 30 四月 2025 10:29:32 +0800
Subject: [PATCH] 上传组件新增拖动排序属性
---
src/layout/components/Navbar.vue | 50 +++++++++++++++++++++++++++++++++++++-------------
1 files changed, 37 insertions(+), 13 deletions(-)
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 8a2605d..a7b467a 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -1,8 +1,8 @@
<template>
<div class="navbar">
<hamburger id="hamburger-container" :is-active="appStore.sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
- <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!settingsStore.topNav" />
- <top-nav id="topmenu-container" class="topmenu-container" v-if="settingsStore.topNav" />
+ <breadcrumb v-if="!settingsStore.topNav" id="breadcrumb-container" class="breadcrumb-container" />
+ <top-nav v-if="settingsStore.topNav" id="topmenu-container" class="topmenu-container" />
<div class="right-menu">
<template v-if="appStore.device !== 'mobile'">
@@ -17,6 +17,13 @@
</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" />
@@ -33,7 +40,7 @@
<router-link to="/user/profile">
<el-dropdown-item>涓汉涓績</el-dropdown-item>
</router-link>
- <el-dropdown-item command="setLayout">
+ <el-dropdown-item command="setLayout" v-if="settingsStore.showSettings">
<span>甯冨眬璁剧疆</span>
</el-dropdown-item>
<el-dropdown-item divided command="logout">
@@ -72,13 +79,13 @@
function handleCommand(command) {
switch (command) {
case "setLayout":
- setLayout();
- break;
+ setLayout()
+ break
case "logout":
- logout();
- break;
+ logout()
+ break
default:
- break;
+ break
}
}
@@ -89,14 +96,18 @@
type: 'warning'
}).then(() => {
userStore.logOut().then(() => {
- location.href = '/index';
+ location.href = '/index'
})
- }).catch(() => { });
+ }).catch(() => { })
}
const emits = defineEmits(['setLayout'])
function setLayout() {
- emits('setLayout');
+ emits('setLayout')
+}
+
+function toggleTheme() {
+ settingsStore.toggleTheme()
}
</script>
@@ -105,7 +116,7 @@
height: 50px;
overflow: hidden;
position: relative;
- background: #fff;
+ background: var(--navbar-bg);
box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
.hamburger-container {
@@ -150,7 +161,7 @@
padding: 0 8px;
height: 100%;
font-size: 18px;
- color: #5a5e66;
+ color: var(--navbar-text);
vertical-align: text-bottom;
&.hover-effect {
@@ -161,6 +172,19 @@
background: rgba(0, 0, 0, 0.025);
}
}
+
+ &.theme-switch-wrapper {
+ display: flex;
+ align-items: center;
+
+ svg {
+ transition: transform 0.3s;
+
+ &:hover {
+ transform: scale(1.15);
+ }
+ }
+ }
}
.avatar-container {
--
Gitblit v1.9.3