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