From d00dd22a29f5564da40507c6f9d8627b45697b71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=AF=BA?= <1253070437@qq.com> Date: Mon, 25 Sep 2023 00:49:28 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=9B=B4=E6=96=B0=E3=80=91=E9=87=8D?= =?UTF-8?q?=E5=86=99layout=E5=B8=83=E5=B1=80=EF=BC=8C=E4=B8=BA=E6=9B=B4?= =?UTF-8?q?=E5=A4=9A=E5=B8=83=E5=B1=80=E6=89=A9=E5=B1=95=E6=9B=B4=E6=96=B9?= =?UTF-8?q?=E4=BE=BF=EF=BC=8C=E9=A1=BA=E6=89=8B=E8=A7=A3=E5=86=B3=E6=A0=87?= =?UTF-8?q?=E7=AD=BE=E7=82=B9=E5=87=BB=E4=B8=8D=E5=88=87=E6=8D=A2=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- snowy-admin-web/index.html | 2 +- snowy-admin-web/src/config/index.js | 4 +- .../src/layout/components/iframeView.vue | 6 +- .../src/layout/components/message.vue | 13 +- .../src/layout/components/moduleMenu.vue | 37 +- .../src/layout/components/setting.vue | 24 +- .../src/layout/components/topbar.vue | 2 +- .../src/layout/components/userbar.vue | 4 +- snowy-admin-web/src/layout/index.vue | 855 ++++++++---------- .../src/layout/pattern/classical.vue | 146 +++ .../src/layout/pattern/doublerow.vue | 189 ++++ snowy-admin-web/src/router/scrollBehavior.js | 4 +- snowy-admin-web/src/store/global.js | 17 +- snowy-admin-web/src/style/index.less | 21 +- snowy-admin-web/src/style/media.less | 18 +- 15 files changed, 789 insertions(+), 553 deletions(-) create mode 100644 snowy-admin-web/src/layout/pattern/classical.vue create mode 100644 snowy-admin-web/src/layout/pattern/doublerow.vue diff --git a/snowy-admin-web/index.html b/snowy-admin-web/index.html index 64b7b182..11e014cf 100644 --- a/snowy-admin-web/index.html +++ b/snowy-admin-web/index.html @@ -28,7 +28,7 @@ We're sorry but Snowy2.0 doesn't work properly without JavaScript enabled. Please enable it to continue. -
+
-
+
- +
+ +
@@ -49,24 +51,30 @@ const store = globalStore() - const { moduleUnfoldOpen, topHanderThemeColorOpen } = storeToRefs(store) - const moduleBackColor = ref(topHanderThemeColorOpen) - + const { moduleUnfoldOpen, topHeaderThemeColorOpen } = storeToRefs(store) + const moduleBackColor = ref(topHeaderThemeColorOpen) + const module = computed(() => { + return store.module + }) // 监听目录是否折叠 watch(moduleUnfoldOpen, (newValue) => { nextTick(() => { setModuleBackColor() }) }) + watch(module, (newValue) => { + selectedKeys.value = [newValue] + setSelectedKeys() + }) // 监听是否开启了顶栏颜色 - watch(topHanderThemeColorOpen, (newValue) => { + watch(topHeaderThemeColorOpen, (newValue) => { moduleBackColor.value = newValue setModuleBackColor() }) const emit = defineEmits({ switchModule: null }) const menu = router.getMenu() - const selectedKeys = ref([tool.data.get('SNOWY_MENU_MODULE_ID')]) + const selectedKeys = ref([module.value]) const moduleClick = (id) => { emit('switchModule', id) tool.data.set('SNOWY_MENU_MODULE_ID', id) @@ -82,24 +90,24 @@ const setModuleBackColor = () => { if (moduleUnfoldOpen.value) { try { - const moduleMunu = document.getElementById('moduleMunu') + const moduleMenu = document.getElementById('moduleMenu') moduleBackColor.value - ? moduleMunu.classList.add('module-menu-color') - : moduleMunu.classList.remove('module-menu-color') + ? moduleMenu.classList.add('module-menu-color') + : moduleMenu.classList.remove('module-menu-color') } catch (err) {} setSelectedKeys() } } // 设置选中 const setSelectedKeys = () => { - // 顶部应用列表让显示出来默认的,不这么实现不会显示的,相信老俞 + // 顶部应用列表让显示出来默认的 moduleBackColor.value ? (selectedKeys.value = new Array([])) : (selectedKeys.value = [tool.data.get('SNOWY_MENU_MODULE_ID')]) } - diff --git a/snowy-admin-web/src/layout/components/setting.vue b/snowy-admin-web/src/layout/components/setting.vue index 52cfc0da..7161351d 100644 --- a/snowy-admin-web/src/layout/components/setting.vue +++ b/snowy-admin-web/src/layout/components/setting.vue @@ -41,14 +41,14 @@

顶栏应用主题色:

- +

顶栏主题色通栏:

@@ -99,8 +99,8 @@ sideUniqueOpen: 'SIDE_UNIQUE_OPEN', layoutTagsOpen: 'LAYOUT_TAGS_OPEN', breadcrumbOpen: 'BREADCRUMD_OPEN', - topHanderThemeColorOpen: 'TOP_HANDER_THEME_COLOR_OPEN', - topHanderThemeColorSpread: 'TOP_HANDER_THEME_COLOR_SPREAD', + topHeaderThemeColorOpen: 'TOP_HEADER_THEME_COLOR_OPEN', + topHeaderThemeColorSpread: 'TOP_HEADER_THEME_COLOR_SPREAD', moduleUnfoldOpen: 'MODULE_UNFOLD_OPEN' } export default defineComponent({ @@ -159,22 +159,22 @@ 'layoutTagsOpen', 'breadcrumbOpen', 'moduleUnfoldOpen', - 'topHanderThemeColorOpen', - 'topHanderThemeColorSpread', + 'topHeaderThemeColorOpen', + 'topHeaderThemeColorSpread', 'formStyle' ]) }, mounted() {}, methods: { changeTopHanderThemeColorOpen() { - this.toggleState('topHanderThemeColorOpen') - if (!this.topHanderThemeColorOpen) { - this.globalStore.topHanderThemeColorSpread = false - tool.data.set('SNOWY_TOP_HANDER_THEME_COLOR_SPREAD', false) + this.toggleState('topHeaderThemeColorOpen') + if (!this.topHeaderThemeColorOpen) { + this.globalStore.topHeaderThemeColorSpread = false + tool.data.set('SNOWY_TOP_HEADER_THEME_COLOR_SPREAD', false) } }, changeTopHanderThemeColorSpread() { - this.toggleState('topHanderThemeColorSpread') + this.toggleState('topHeaderThemeColorSpread') }, toggleState(stateName) { this.globalStore.toggleConfig(stateName) diff --git a/snowy-admin-web/src/layout/components/topbar.vue b/snowy-admin-web/src/layout/components/topbar.vue index 4da5b783..1d79853f 100644 --- a/snowy-admin-web/src/layout/components/topbar.vue +++ b/snowy-admin-web/src/layout/components/topbar.vue @@ -1,5 +1,5 @@