From df9c850302bd27c1dba745b73bebfb099f1e56fd Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期五, 01 九月 2023 08:44:35 +0800 Subject: [PATCH] 优化代码 --- src/layout/components/Navbar.vue | 41 +++++++++++++++++++++++++++++------------ 1 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 9e86bfe..f669a6d 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -1,11 +1,11 @@ <template> <div class="navbar"> - <hamburger id="hamburger-container" :is-active="getters.sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" /> - <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!$store.state.settings.topNav" /> - <top-nav id="topmenu-container" class="topmenu-container" v-if="$store.state.settings.topNav" /> + <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" /> <div class="right-menu"> - <template v-if="getters.device !== 'mobile'"> + <template v-if="appStore.device !== 'mobile'"> <header-search id="header-search" class="right-menu-item" /> <el-tooltip content="婧愮爜鍦板潃" effect="dark" placement="bottom"> @@ -23,9 +23,9 @@ </el-tooltip> </template> <div class="avatar-container"> - <el-dropdown class="right-menu-item hover-effect" trigger="click"> + <el-dropdown @command="handleCommand" class="right-menu-item hover-effect" trigger="click"> <div class="avatar-wrapper"> - <img :src="getters.avatar" class="user-avatar" /> + <img :src="userStore.avatar" class="user-avatar" /> <el-icon><caret-bottom /></el-icon> </div> <template #dropdown> @@ -33,10 +33,10 @@ <router-link to="/user/profile"> <el-dropdown-item>涓汉涓績</el-dropdown-item> </router-link> - <el-dropdown-item @click="setLayout"> + <el-dropdown-item command="setLayout" v-if="settingsStore.showSettings"> <span>甯冨眬璁剧疆</span> </el-dropdown-item> - <el-dropdown-item divided @click="logout"> + <el-dropdown-item divided command="logout"> <span>閫�鍑虹櫥褰�</span> </el-dropdown-item> </el-dropdown-menu> @@ -57,12 +57,29 @@ import HeaderSearch from '@/components/HeaderSearch' import RuoYiGit from '@/components/RuoYi/Git' import RuoYiDoc from '@/components/RuoYi/Doc' +import useAppStore from '@/store/modules/app' +import useUserStore from '@/store/modules/user' +import useSettingsStore from '@/store/modules/settings' -const store = useStore(); -const getters = computed(() => store.getters); +const appStore = useAppStore() +const userStore = useUserStore() +const settingsStore = useSettingsStore() function toggleSideBar() { - store.dispatch('app/toggleSideBar') + appStore.toggleSideBar() +} + +function handleCommand(command) { + switch (command) { + case "setLayout": + setLayout(); + break; + case "logout": + logout(); + break; + default: + break; + } } function logout() { @@ -71,7 +88,7 @@ cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - store.dispatch('LogOut').then(() => { + userStore.logOut().then(() => { location.href = '/index'; }) }).catch(() => { }); -- Gitblit v1.9.3