From 4925fd52af4f8823a3737fb454929f533b244f9e Mon Sep 17 00:00:00 2001 From: toesbieya <1647775459@126.com> Date: Mon, 9 Nov 2020 08:43:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E4=BB=BF=E4=B8=83?= =?UTF-8?q?=E7=89=9B=E4=BA=91=E7=9A=84=E5=8F=8C=E5=B1=82=E4=BE=A7=E8=BE=B9?= =?UTF-8?q?=E6=A0=8F=E5=AF=BC=E8=88=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vue/src/asset/style/transition.scss | 3 - vue/src/asset/style/variables.scss | 2 +- vue/src/component/Icon/index.vue | 2 + vue/src/component/menu/NavMenu/index.vue | 35 ++- vue/src/component/menu/NavMenu/item.vue | 6 +- .../menu/NavMenu}/style.scss | 114 ++++----- vue/src/layout/component/Aside/Logo.vue | 45 ++++ .../layout/component/Aside/OnePart/index.vue | 222 +++++++++++++++++ .../layout/component/Aside/TwoPart/index.vue | 86 ++++++- .../layout/component/Aside/TwoPart/root.vue | 101 +++++++- .../layout/component/Aside/TwoPart/sub.vue | 103 +++++++- vue/src/layout/component/Aside/index.vue | 228 +++--------------- .../{component => }/Navbar/component/Bell.vue | 0 .../Navbar/component/Hamburger.vue | 0 .../Navbar/component/HeadMenu.vue | 8 +- .../Header/{component => }/Navbar/index.vue | 62 ++++- .../{component => }/TagsView/ScrollPanel.vue | 0 .../Header/{component => }/TagsView/index.vue | 0 .../{component => }/TagsView/style.scss | 0 .../Header/component/Navbar/style.scss | 101 -------- vue/src/layout/component/Header/index.vue | 4 +- vue/src/layout/util.js | 8 +- 22 files changed, 725 insertions(+), 405 deletions(-) rename vue/src/{layout/component/Aside => component/menu/NavMenu}/style.scss (54%) create mode 100644 vue/src/layout/component/Aside/OnePart/index.vue rename vue/src/layout/component/Header/{component => }/Navbar/component/Bell.vue (100%) rename vue/src/layout/component/Header/{component => }/Navbar/component/Hamburger.vue (100%) rename vue/src/layout/component/Header/{component => }/Navbar/component/HeadMenu.vue (98%) rename vue/src/layout/component/Header/{component => }/Navbar/index.vue (76%) rename vue/src/layout/component/Header/{component => }/TagsView/ScrollPanel.vue (100%) rename vue/src/layout/component/Header/{component => }/TagsView/index.vue (100%) rename vue/src/layout/component/Header/{component => }/TagsView/style.scss (100%) delete mode 100644 vue/src/layout/component/Header/component/Navbar/style.scss diff --git a/vue/src/asset/style/transition.scss b/vue/src/asset/style/transition.scss index e187ba2..f05199c 100644 --- a/vue/src/asset/style/transition.scss +++ b/vue/src/asset/style/transition.scss @@ -209,19 +209,16 @@ $transition-easing: cubic-bezier(0.215, 0.61, 0.355, 1); &-enter-to, &-leave { transform: perspective(400px) rotate3d(1, 1, 0, 0deg) - } } .flip-right { &-enter { transform: perspective(400px) rotate3d(0, 1, 0, -180deg) - } &-leave-to { transform: perspective(400px) rotate3d(0, 1, 0, 180deg) - } } diff --git a/vue/src/asset/style/variables.scss b/vue/src/asset/style/variables.scss index 7265234..2f0bbc5 100644 --- a/vue/src/asset/style/variables.scss +++ b/vue/src/asset/style/variables.scss @@ -51,7 +51,7 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts'; $menu-icon-text-gap: 10px; //侧边菜单icon的大小 -$aside-icon-size: 14px; +$aside-icon-size: 16px; //侧边栏菜单的背景色 $aside-menu-background: #304156; //侧边栏子菜单的背景色 diff --git a/vue/src/component/Icon/index.vue b/vue/src/component/Icon/index.vue index cc074a7..4c42251 100644 --- a/vue/src/component/Icon/index.vue +++ b/vue/src/component/Icon/index.vue @@ -11,6 +11,8 @@ export default { render(h, context) { const {data, props: {icon}} = context + if (!icon) return + //渲染成svg if (icon.startsWith(SVG_PREFIX)) { return ( diff --git a/vue/src/component/menu/NavMenu/index.vue b/vue/src/component/menu/NavMenu/index.vue index 694c6ee..240160b 100644 --- a/vue/src/component/menu/NavMenu/index.vue +++ b/vue/src/component/menu/NavMenu/index.vue @@ -11,11 +11,31 @@ export default { mode: {type: String, default: 'vertical'}, collapse: Boolean, showParentOnCollapse: Boolean, - showIconMaxDepth: {type: Number, default: 1} + showIconMaxDepth: {type: Number, default: 1}, + switchTransition: Boolean, + switchTransitionName: {type: String, default: 'sidebar'} }, render(h, context) { - const {data, props: {mode, menus, collapse, showParentOnCollapse, showIconMaxDepth}} = context + const { + data, children, + props: { + mode, menus, collapse, showParentOnCollapse, + showIconMaxDepth, switchTransition, switchTransitionName + } + } = context + + let items = children || menus.map(m => ( + + )) + if (switchTransition) { + items = {items} + } return ( - {menus.map(m => ( - - ))} + {items} ) } } + + diff --git a/vue/src/component/menu/NavMenu/item.vue b/vue/src/component/menu/NavMenu/item.vue index b9feda5..9c92941 100644 --- a/vue/src/component/menu/NavMenu/item.vue +++ b/vue/src/component/menu/NavMenu/item.vue @@ -1,7 +1,5 @@ + + diff --git a/vue/src/layout/component/Aside/OnePart/index.vue b/vue/src/layout/component/Aside/OnePart/index.vue new file mode 100644 index 0000000..267d4c0 --- /dev/null +++ b/vue/src/layout/component/Aside/OnePart/index.vue @@ -0,0 +1,222 @@ + + + diff --git a/vue/src/layout/component/Aside/TwoPart/index.vue b/vue/src/layout/component/Aside/TwoPart/index.vue index 21364fd..2a80b49 100644 --- a/vue/src/layout/component/Aside/TwoPart/index.vue +++ b/vue/src/layout/component/Aside/TwoPart/index.vue @@ -1,12 +1,84 @@ - + + diff --git a/vue/src/layout/component/Aside/TwoPart/root.vue b/vue/src/layout/component/Aside/TwoPart/root.vue index aa7553c..ae10ee3 100644 --- a/vue/src/layout/component/Aside/TwoPart/root.vue +++ b/vue/src/layout/component/Aside/TwoPart/root.vue @@ -1,6 +1,45 @@ diff --git a/vue/src/layout/component/Aside/TwoPart/sub.vue b/vue/src/layout/component/Aside/TwoPart/sub.vue index 912014f..2130146 100644 --- a/vue/src/layout/component/Aside/TwoPart/sub.vue +++ b/vue/src/layout/component/Aside/TwoPart/sub.vue @@ -1,20 +1,97 @@ -