From 2f5c50a2f13fa06d069c6cd2e5fecb8efab18d0d Mon Sep 17 00:00:00 2001 From: XaoLi717 <144221124+XaoLi717@users.noreply.github.com> Date: Mon, 13 Jan 2025 11:12:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=B8=83=E5=B1=80=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/Layout.vue | 3 + src/layout/components/AppView.vue | 4 +- src/layout/components/Logo/src/Logo.vue | 2 +- src/layout/components/Menu/src/Menu.vue | 4 +- .../src/components/LayoutRadioPicker.vue | 4 +- src/layout/components/TabMenu/index.ts | 2 + .../components/TabMenu/src/TabMenu2.vue | 70 ++++----- src/layout/components/ToolHeader.vue | 2 +- src/layout/components/useRenderLayout.tsx | 136 ++++++++++-------- src/types/layout.d.ts | 2 +- 10 files changed, 127 insertions(+), 102 deletions(-) diff --git a/src/layout/Layout.vue b/src/layout/Layout.vue index af51970..6d52e6c 100644 --- a/src/layout/Layout.vue +++ b/src/layout/Layout.vue @@ -38,6 +38,9 @@ const renderLayout = () => { case 'cutMenu': const { renderCutMenu } = useRenderLayout() return renderCutMenu() + case 'leftTop': + const { NewTopLeft } = useRenderLayout() + return NewTopLeft() default: break } diff --git a/src/layout/components/AppView.vue b/src/layout/components/AppView.vue index 4434187..d8ff9e1 100644 --- a/src/layout/components/AppView.vue +++ b/src/layout/components/AppView.vue @@ -40,14 +40,14 @@ provide('reload', reload) { '!min-h-[calc(100%-var(--app-content-padding)-var(--app-content-padding)-var(--app-footer-height))]': (fixedHeader && - (layout === 'classic' || layout === 'topLeft' || layout === 'top') && + (layout === 'classic' || layout === 'topLeft' || layout === 'top'|| layout === 'leftTop') && footer) || (!tagsView && layout === 'top' && footer), '!min-h-[calc(100%-var(--app-content-padding)-var(--app-content-padding)-var(--app-footer-height)-var(--tags-view-height))]': tagsView && layout === 'top' && footer, '!min-h-[calc(100%-var(--tags-view-height)-var(--app-content-padding)-var(--app-content-padding)-var(--top-tool-height)-var(--app-footer-height))]': - !fixedHeader && layout === 'classic' && footer, + !fixedHeader && (layout === 'classic'|| layout === 'leftTop') && footer, '!min-h-[calc(100%-var(--tags-view-height)-var(--app-content-padding)-var(--app-content-padding)-var(--app-footer-height))]': !fixedHeader && layout === 'topLeft' && footer, diff --git a/src/layout/components/Logo/src/Logo.vue b/src/layout/components/Logo/src/Logo.vue index d241130..1b77d32 100644 --- a/src/layout/components/Logo/src/Logo.vue +++ b/src/layout/components/Logo/src/Logo.vue @@ -75,7 +75,7 @@ watch( :class="[ 'ml-10px text-16px font-700', { - 'text-[var(--logo-title-text-color)]': layout === 'classic', + 'text-[var(--logo-title-text-color)]': layout === 'classic' || layout === 'leftTop', 'text-[var(--top-header-text-color)]': layout === 'topLeft' || layout === 'top' || layout === 'cutMenu' } diff --git a/src/layout/components/Menu/src/Menu.vue b/src/layout/components/Menu/src/Menu.vue index 466cca5..6df2b8d 100644 --- a/src/layout/components/Menu/src/Menu.vue +++ b/src/layout/components/Menu/src/Menu.vue @@ -32,7 +32,7 @@ export default defineComponent({ const menuMode = computed((): 'vertical' | 'horizontal' => { // 竖 - const vertical: LayoutType[] = ['classic', 'topLeft', 'cutMenu'] + const vertical: LayoutType[] = ['classic', 'topLeft', 'cutMenu', 'leftTop'] if (vertical.includes(unref(layout))) { return 'vertical' @@ -42,7 +42,7 @@ export default defineComponent({ }) const routers = computed(() => - unref(layout) === 'cutMenu' ? permissionStore.getMenuTabRouters : permissionStore.getRouters + (unref(layout) === 'cutMenu' || unref(layout) === 'leftTop') ? permissionStore.getMenuTabRouters : permissionStore.getRouters ) const collapse = computed(() => appStore.getCollapse) diff --git a/src/layout/components/Setting/src/components/LayoutRadioPicker.vue b/src/layout/components/Setting/src/components/LayoutRadioPicker.vue index 801686c..43433cd 100644 --- a/src/layout/components/Setting/src/components/LayoutRadioPicker.vue +++ b/src/layout/components/Setting/src/components/LayoutRadioPicker.vue @@ -30,10 +30,10 @@ const layout = computed(() => appStore.getLayout) `${prefixCls}__top-left`, 'relative w-56px h-48px cursor-pointer bg-gray-300', { - 'is-acitve': layout === 'topLeft' + 'is-acitve': layout === 'leftTop' } ]" - @click="appStore.setLayout('topLeft')" + @click="appStore.setLayout('leftTop')" >
{t(item.meta?.title)}
+{t(item.meta?.title)}
- )}