From e963bfb9d54a9d139fc7f302d33269d539f8b2c1 Mon Sep 17 00:00:00 2001 From: gaoxq <376340421@qq.com> Date: Thu, 19 Mar 2026 16:34:46 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/layouts/default/header/index.vue | 17 +++++++++++++- web-vue/packages/core/store/modules/user.ts | 22 +++++++++---------- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/web-vue/packages/core/layouts/default/header/index.vue b/web-vue/packages/core/layouts/default/header/index.vue index 171cb5b..9ca41f9 100644 --- a/web-vue/packages/core/layouts/default/header/index.vue +++ b/web-vue/packages/core/layouts/default/header/index.vue @@ -26,10 +26,12 @@
+ + - + @@ -46,6 +48,7 @@ import { defineComponent, ref, unref, computed } from 'vue'; import { propTypes } from '@jeesite/core/utils/propTypes'; import { Layout } from 'ant-design-vue'; + import { Icon } from '@jeesite/core/components/Icon'; import { AppLogo } from '@jeesite/core/components/Application'; import { AppSearch } from '@jeesite/core/components/Application'; import { MenuModeEnum, MenuSplitTyeEnum } from '@jeesite/core/enums/menuEnum'; @@ -59,6 +62,7 @@ import { useLocale } from '@jeesite/core/locales/useLocale'; import { useUserStore } from '@jeesite/core/store/modules/user'; import { onMountedOrActivated } from '@jeesite/core/hooks/core/onMountedOrActivated'; + import { useRouter } from 'vue-router'; import LayoutMenu from '../menu/index.vue'; import LayoutTrigger from '../trigger/index.vue'; import { @@ -71,10 +75,12 @@ SettingDrawer, } from './components'; + export default defineComponent({ name: 'LayoutHeader', components: { ALayoutHeader: Layout.Header, + Icon, AppLogo, LayoutTrigger, LayoutBreadcrumb, @@ -92,6 +98,7 @@ }, setup(props) { const { prefixCls } = useDesign('layout-header'); + const router = useRouter(); // 增加延迟,修复Safari下首次加载顶部菜单重叠问题。 const getIsInitMenu = ref(false); onMountedOrActivated(() => { @@ -163,6 +170,13 @@ const getMenuMode = computed(() => { return unref(getSplit) ? MenuModeEnum.HORIZONTAL : null; }); + + const goToBigScreen = () => { + const { href } = router.resolve({ + path: "/bigScreen" + }); + window.open(href, '_blank'); + }; return { prefixCls, @@ -188,6 +202,7 @@ getShowSetting, getShowSearch, getUseCorpModel, + goToBigScreen, }; }, }); diff --git a/web-vue/packages/core/store/modules/user.ts b/web-vue/packages/core/store/modules/user.ts index f7b284d..dd3cd02 100644 --- a/web-vue/packages/core/store/modules/user.ts +++ b/web-vue/packages/core/store/modules/user.ts @@ -12,7 +12,7 @@ import { PageEnum } from '@jeesite/core/enums/pageEnum'; import { TOKEN_KEY, ROLES_KEY, USER_INFO_KEY, SESSION_TIMEOUT_KEY } from '@jeesite/core/enums/cacheEnum'; import { getAuthCache, setAuthCache } from '@jeesite/core/utils/auth'; import { loginApi, logoutApi, userInfoApi, LoginParams, LoginResult } from '@jeesite/core/api/sys/login'; -// import { useI18n } from '@jeesite/core/hooks/web/useI18n'; +import { useI18n } from '@jeesite/core/hooks/web/useI18n'; import { useMessage } from '@jeesite/core/hooks/web/useMessage'; import { router } from '@jeesite/core/router'; import { usePermissionStore } from '@jeesite/core/store/modules/permission'; @@ -215,16 +215,16 @@ export const useUserStore = defineStore('app-user', { * @description: Confirm before logging out */ async confirmLoginOut() { - // const { createConfirm } = useMessage(); - // const { t } = useI18n(); - // createConfirm({ - // iconType: 'warning', - // title: () => h('span', t('sys.app.logoutTip')), - // content: () => h('span', t('sys.app.logoutMessage')), - // onOk: async () => { - await this.logout(true); - // }, - // }); + const { createConfirm } = useMessage(); + const { t } = useI18n(); + createConfirm({ + iconType: 'warning', + title: () => t('sys.app.logoutTip'), + content: () => t('sys.app.logoutMessage'), + onOk: async () => { + await this.logout(true); + }, + }); }, }, });