From 44ef538691b8be0fd925ca80c49157bad14962e8 Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期六, 06 七月 2024 22:01:26 +0800 Subject: [PATCH] 一些优化 --- src/layouts/default/feature/index.vue | 99 ++++++++++++++++++++++--------------------------- 1 files changed, 44 insertions(+), 55 deletions(-) diff --git a/src/layouts/default/feature/index.vue b/src/layouts/default/feature/index.vue index f387667..b56d81c 100644 --- a/src/layouts/default/feature/index.vue +++ b/src/layouts/default/feature/index.vue @@ -1,63 +1,52 @@ -<script lang="ts"> - import { defineComponent, computed, unref } from 'vue'; - import { BackTop } from 'ant-design-vue'; - - import { useRootSetting } from '/@/hooks/setting/useRootSetting'; - import { useHeaderSetting } from '/@/hooks/setting/useHeaderSetting'; - import { useDesign } from '/@/hooks/web/useDesign'; - import { useUserStoreWithOut } from '/@/store/modules/user'; - - import { SettingButtonPositionEnum } from '/@/enums/appEnum'; - import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent'; - - import SessionTimeoutLogin from '/@/views/sys/login/SessionTimeoutLogin.vue'; - export default defineComponent({ - name: 'LayoutFeatures', - components: { - BackTop, - LayoutLockPage: createAsyncComponent(() => import('/@/views/sys/lock/index.vue')), - SettingDrawer: createAsyncComponent(() => import('/@/layouts/default/setting/index.vue')), - SessionTimeoutLogin, - }, - setup() { - const { getUseOpenBackTop, getShowSettingButton, getSettingButtonPosition, getFullContent } = - useRootSetting(); - const userStore = useUserStoreWithOut(); - const { prefixCls } = useDesign('setting-drawer-feature'); - const { getShowHeader } = useHeaderSetting(); - - const getIsSessionTimeout = computed(() => userStore.getSessionTimeout); - - const getIsFixedSettingDrawer = computed(() => { - if (!unref(getShowSettingButton)) { - return false; - } - const settingButtonPosition = unref(getSettingButtonPosition); - - if (settingButtonPosition === SettingButtonPositionEnum.AUTO) { - return !unref(getShowHeader) || unref(getFullContent); - } - return settingButtonPosition === SettingButtonPositionEnum.FIXED; - }); - - return { - getTarget: () => document.body, - getUseOpenBackTop, - getIsFixedSettingDrawer, - prefixCls, - getIsSessionTimeout, - }; - }, - }); -</script> - <template> <LayoutLockPage /> - <BackTop v-if="getUseOpenBackTop" :target="getTarget" /> - <SettingDrawer v-if="getIsFixedSettingDrawer" :class="prefixCls" /> + <SettingDrawer + v-if="getIsFixedSettingDrawer && (!getShowMultipleTab || getFullContent)" + :class="prefixCls" + /> <SessionTimeoutLogin v-if="getIsSessionTimeout" /> </template> +<script lang="ts" setup> + import { computed, unref } from 'vue'; + import { useRootSetting } from '@/hooks/setting/useRootSetting'; + import { useHeaderSetting } from '@/hooks/setting/useHeaderSetting'; + import { useDesign } from '@/hooks/web/useDesign'; + import { useUserStoreWithOut } from '@/store/modules/user'; + + import { SettingButtonPositionEnum } from '@/enums/appEnum'; + import { createAsyncComponent } from '@/utils/factory/createAsyncComponent'; + + import SessionTimeoutLogin from '@/views/sys/login/SessionTimeoutLogin.vue'; + + import { useMultipleTabSetting } from '@/hooks/setting/useMultipleTabSetting'; + + defineOptions({ name: 'LayoutFeatures' }); + + const LayoutLockPage = createAsyncComponent(() => import('@/views/sys/lock/index.vue')); + const SettingDrawer = createAsyncComponent(() => import('@/layouts/default/setting/index.vue')); + + const { getShowSettingButton, getSettingButtonPosition, getFullContent } = useRootSetting(); + const userStore = useUserStoreWithOut(); + const { prefixCls } = useDesign('setting-drawer-feature'); + const { getShowHeader } = useHeaderSetting(); + + const getIsSessionTimeout = computed(() => userStore.getSessionTimeout); + + const getIsFixedSettingDrawer = computed(() => { + if (!unref(getShowSettingButton)) { + return false; + } + const settingButtonPosition = unref(getSettingButtonPosition); + + if (settingButtonPosition === SettingButtonPositionEnum.AUTO) { + return !unref(getShowHeader) || unref(getFullContent); + } + return settingButtonPosition === SettingButtonPositionEnum.FIXED; + }); + + const { getShowMultipleTab } = useMultipleTabSetting(); +</script> <style lang="less"> @prefix-cls: ~'@{namespace}-setting-drawer-feature'; -- Gitblit v1.9.3