From fe47552c5a8beecf0cf8eb790de42f4771655ff1 Mon Sep 17 00:00:00 2001 From: hujiale <13306077+hujiale9527@user.noreply.gitee.com> Date: Wed, 9 Oct 2024 19:02:44 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=A1=86=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui-kit/layout-ui/src/vben-layout.vue | 120 +++++------------- .../shadcn-ui/src/components/logo/logo.vue | 23 ++-- .../src/widgets/notification/notification.vue | 8 +- .../widgets/user-dropdown/user-dropdown.vue | 8 +- 4 files changed, 53 insertions(+), 106 deletions(-) diff --git a/packages/@core/ui-kit/layout-ui/src/vben-layout.vue b/packages/@core/ui-kit/layout-ui/src/vben-layout.vue index 7d2dfa9e..b4117136 100644 --- a/packages/@core/ui-kit/layout-ui/src/vben-layout.vue +++ b/packages/@core/ui-kit/layout-ui/src/vben-layout.vue @@ -18,7 +18,7 @@ import { } from './components'; import { useLayout } from './hooks/use-layout'; -interface Props extends VbenLayoutProps {} +interface Props extends VbenLayoutProps { } defineOptions({ name: 'VbenLayout', @@ -120,7 +120,6 @@ const sidebarEnableState = computed(() => { */ const sidebarMarginTop = computed(() => { const { headerHeight, isMobile } = props; - console.log(props); return (isMixedNav.value && !isMobile) || currentLayout.value === 'sidebar-topbar' ? headerHeight @@ -245,9 +244,9 @@ const tabbarStyle = computed((): CSSProperties => { let marginLeft = 0; // 如果不是混合导航,tabbar 的宽度为 100% - if (!isMixedNav.value || props.sidebarHidden) { + if ((!isMixedNav.value || props.sidebarHidden) && currentLayout.value !== 'sidebar-topbar') { width = '100%'; - } else if (sidebarEnable.value) { + } else if (sidebarEnable.value ) { // 鼠标在侧边栏上时,且侧边栏展开时的宽度 const onHoveringWidth = sidebarExpandOnHover.value ? props.sidebarWidth @@ -278,9 +277,9 @@ const contentStyle = computed((): CSSProperties => { return { marginTop: fixed && - !isFullContent.value && - !headerIsHidden.value && - (!isHeaderAutoMode.value || scrollY.value < headerWrapperHeight.value) + !isFullContent.value && + !headerIsHidden.value && + (!isHeaderAutoMode.value || scrollY.value < headerWrapperHeight.value) ? `${headerWrapperHeight.value}px` : 0, paddingBottom: `${footerEnable && footerFixed ? footerHeight : 0}px`, @@ -448,31 +447,15 @@ function handleHeaderToggle() { diff --git a/packages/@core/ui-kit/shadcn-ui/src/components/logo/logo.vue b/packages/@core/ui-kit/shadcn-ui/src/components/logo/logo.vue index 1c3b4470..ea4b01e1 100644 --- a/packages/@core/ui-kit/shadcn-ui/src/components/logo/logo.vue +++ b/packages/@core/ui-kit/shadcn-ui/src/components/logo/logo.vue @@ -26,6 +26,10 @@ interface Props { * @zh_CN Logo 主题 */ theme?: string; + /** + * logo字体颜色 + */ + textClass?: string; } defineOptions({ @@ -43,21 +47,10 @@ withDefaults(defineProps(), { diff --git a/packages/effects/layouts/src/widgets/user-dropdown/user-dropdown.vue b/packages/effects/layouts/src/widgets/user-dropdown/user-dropdown.vue index 9a0f2d10..7406561f 100644 --- a/packages/effects/layouts/src/widgets/user-dropdown/user-dropdown.vue +++ b/packages/effects/layouts/src/widgets/user-dropdown/user-dropdown.vue @@ -53,6 +53,10 @@ interface Props { * 文本 */ text?: string; + /** + * 是否隐藏锁定屏幕 + */ + hideLockLcreen?: boolean } defineOptions({ @@ -196,7 +200,8 @@ if (enableShortcutKey.value) { {{ menu.text }} - + Date: Wed, 9 Oct 2024 19:04:42 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=A4=B4=E9=83=A8=E3=80=81=E4=BE=A7?= =?UTF-8?q?=E8=BE=B9=E6=A0=8F=20=E6=A0=B7=E5=BC=8F=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-test/package.json | 7 + apps/web-test/src/layouts/basic.vue | 34 +- .../layouts/basic/content/content-spinner.vue | 12 + .../src/layouts/basic/content/content.vue | 107 ++++++ .../src/layouts/basic/content/index.ts | 2 + .../basic/content/use-content-spinner.ts | 50 +++ .../src/layouts/basic/copyright/copyright.vue | 48 +++ .../src/layouts/basic/copyright/index.ts | 1 + .../src/layouts/basic/footer/footer.vue | 11 + .../src/layouts/basic/footer/index.ts | 1 + .../src/layouts/basic/header/header.vue | 149 ++++++++ .../src/layouts/basic/header/index.ts | 1 + apps/web-test/src/layouts/basic/index.ts | 1 + apps/web-test/src/layouts/basic/layout.vue | 339 ++++++++++++++++++ .../src/layouts/basic/menu/extra-menu.vue | 40 +++ apps/web-test/src/layouts/basic/menu/index.ts | 5 + apps/web-test/src/layouts/basic/menu/menu.vue | 37 ++ .../src/layouts/basic/menu/mixed-menu.vue | 37 ++ .../src/layouts/basic/menu/use-extra-menu.ts | 109 ++++++ .../src/layouts/basic/menu/use-mixed-menu.ts | 129 +++++++ .../src/layouts/basic/menu/use-navigation.ts | 19 + .../src/layouts/basic/tabbar/index.ts | 2 + .../src/layouts/basic/tabbar/tabbar.vue | 81 +++++ .../src/layouts/basic/tabbar/use-tabbar.ts | 220 ++++++++++++ apps/web-test/src/layouts/layout.vue | 1 + .../src/layouts/notification/index.ts | 3 + .../src/layouts/notification/notification.vue | 184 ++++++++++ .../src/layouts/notification/types.ts | 9 + apps/web-test/src/preferences.ts | 5 +- .../src/router/routes/modules/dashboard.ts | 33 +- pnpm-lock.yaml | 27 +- 31 files changed, 1664 insertions(+), 40 deletions(-) create mode 100644 apps/web-test/src/layouts/basic/content/content-spinner.vue create mode 100644 apps/web-test/src/layouts/basic/content/content.vue create mode 100644 apps/web-test/src/layouts/basic/content/index.ts create mode 100644 apps/web-test/src/layouts/basic/content/use-content-spinner.ts create mode 100644 apps/web-test/src/layouts/basic/copyright/copyright.vue create mode 100644 apps/web-test/src/layouts/basic/copyright/index.ts create mode 100644 apps/web-test/src/layouts/basic/footer/footer.vue create mode 100644 apps/web-test/src/layouts/basic/footer/index.ts create mode 100644 apps/web-test/src/layouts/basic/header/header.vue create mode 100644 apps/web-test/src/layouts/basic/header/index.ts create mode 100644 apps/web-test/src/layouts/basic/index.ts create mode 100644 apps/web-test/src/layouts/basic/layout.vue create mode 100644 apps/web-test/src/layouts/basic/menu/extra-menu.vue create mode 100644 apps/web-test/src/layouts/basic/menu/index.ts create mode 100644 apps/web-test/src/layouts/basic/menu/menu.vue create mode 100644 apps/web-test/src/layouts/basic/menu/mixed-menu.vue create mode 100644 apps/web-test/src/layouts/basic/menu/use-extra-menu.ts create mode 100644 apps/web-test/src/layouts/basic/menu/use-mixed-menu.ts create mode 100644 apps/web-test/src/layouts/basic/menu/use-navigation.ts create mode 100644 apps/web-test/src/layouts/basic/tabbar/index.ts create mode 100644 apps/web-test/src/layouts/basic/tabbar/tabbar.vue create mode 100644 apps/web-test/src/layouts/basic/tabbar/use-tabbar.ts create mode 100644 apps/web-test/src/layouts/layout.vue create mode 100644 apps/web-test/src/layouts/notification/index.ts create mode 100644 apps/web-test/src/layouts/notification/notification.vue create mode 100644 apps/web-test/src/layouts/notification/types.ts diff --git a/apps/web-test/package.json b/apps/web-test/package.json index 14584c33..866f9270 100644 --- a/apps/web-test/package.json +++ b/apps/web-test/package.json @@ -39,6 +39,13 @@ "@vben/stores": "workspace:*", "@vben/styles": "workspace:*", "@vben/types": "workspace:*", + "@vben-core/form-ui": "workspace:*", + "@vben-core/layout-ui": "workspace:*", + "@vben-core/menu-ui": "workspace:*", + "@vben-core/popup-ui": "workspace:*", + "@vben-core/shadcn-ui": "workspace:*", + "@vben-core/shared": "workspace:*", + "@vben-core/tabs-ui": "workspace:*", "@vben/utils": "workspace:*", "@vueuse/core": "^11.0.3", "ant-design-vue": "^4.2.3", diff --git a/apps/web-test/src/layouts/basic.vue b/apps/web-test/src/layouts/basic.vue index 3c302634..49a07abd 100644 --- a/apps/web-test/src/layouts/basic.vue +++ b/apps/web-test/src/layouts/basic.vue @@ -7,11 +7,11 @@ import { AuthenticationLoginExpiredModal } from '@vben/common-ui'; import { VBEN_DOC_URL, VBEN_GITHUB_URL } from '@vben/constants'; import { BookOpenText, CircleHelp, MdiGithub } from '@vben/icons'; import { - BasicLayout, LockScreen, - Notification, UserDropdown, } from '@vben/layouts'; +import { Notification } from './notification'; +import { BasicLayout } from '#/layouts/basic/index' import { preferences } from '@vben/preferences'; import { useAccessStore, useUserStore } from '@vben/stores'; import { openWindow } from '@vben/utils'; @@ -66,7 +66,7 @@ const menus = computed(() => [ }); }, icon: BookOpenText, - text: $t('widgets.document'), + text: '个人信息', }, { handler: () => { @@ -75,7 +75,7 @@ const menus = computed(() => [ }); }, icon: MdiGithub, - text: 'GitHub', + text: '切换租户', }, { handler: () => { @@ -84,7 +84,7 @@ const menus = computed(() => [ }); }, icon: CircleHelp, - text: $t('widgets.qa'), + text: '个人偏好', }, ]); @@ -107,29 +107,17 @@ function handleMakeAll() {