From 77028321816f00799cc3f70d3f0d6bde27c34522 Mon Sep 17 00:00:00 2001 From: vben Date: Sat, 31 Oct 2020 19:51:24 +0800 Subject: [PATCH] perf: layout style optimization --- .env | 2 +- CHANGELOG.zh_CN.md | 10 +++ src/assets/images/logo.png | Bin 14626 -> 28304 bytes src/components/Breadcrumb/Breadcrumb.vue | 2 +- src/components/Menu/src/BasicMenu.tsx | 4 +- src/components/Menu/src/SearchInput.vue | 2 +- src/components/Menu/src/index.less | 32 +++---- src/components/Menu/src/props.ts | 4 + src/design/ant/index.less | 5 ++ src/design/index.less | 5 +- src/design/public.less | 10 +-- src/design/var/index.less | 8 +- src/layouts/Logo.vue | 31 +++++-- src/layouts/default/LayoutContent.tsx | 5 +- src/layouts/default/LayoutHeader.tsx | 29 +++++-- src/layouts/default/LayoutMenu.tsx | 5 ++ src/layouts/default/LayoutSideBar.tsx | 11 +-- src/layouts/default/UserDropdown.tsx | 50 +++++------ .../default/actions/LockActionItem.less | 4 +- .../default/actions/LockActionItem.tsx | 2 +- src/layouts/default/index.less | 81 ++++-------------- src/layouts/default/index.tsx | 14 ++- src/layouts/default/multitabs/index.less | 76 ++++++---------- src/layouts/default/multitabs/index.tsx | 2 +- src/layouts/default/setting/index.vue | 10 ++- src/layouts/iframe/index.vue | 7 +- src/settings/projectSetting.ts | 6 +- 27 files changed, 200 insertions(+), 217 deletions(-) diff --git a/.env b/.env index 51d5db51..fdd62d5c 100644 --- a/.env +++ b/.env @@ -2,7 +2,7 @@ VITE_PORT = 3100 # spa-title -VITE_GLOB_APP_TITLE = Vben Admin 2.0 +VITE_GLOB_APP_TITLE = Vben Admin # spa shortname VITE_GLOB_APP_SHORT_NAME = vue_vben_admin_2x diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md index 62a1be5f..f8d8e881 100644 --- a/CHANGELOG.zh_CN.md +++ b/CHANGELOG.zh_CN.md @@ -1,3 +1,13 @@ +## Wip + +### ⚡ Performance Improvements + +- Layout 界面布局样式调整 + +### 🐛 Bug Fixes + +- 修复表格类型错误 + ## 2.0.0-rc.7 (2020-10-31) ### ✨ Features diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png index 6977038cfa560f6ff882af845bf4dec4559d2e0e..16f2e7ab7c74552c5653652547ebce7adc4901dc 100644 GIT binary patch literal 28304 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 literal 14626 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 { + if (props.isTop) return true; if (!props.isAppMenu) return true; if (!props.collapsedShowTitle) { return !menuStore.getCollapsedState; @@ -247,7 +248,6 @@ export default defineComponent({ return () => { const { getCollapsedState } = menuStore; const { mode } = props; - return mode === MenuModeEnum.HORIZONTAL ? ( renderMenu() ) : ( diff --git a/src/components/Menu/src/SearchInput.vue b/src/components/Menu/src/SearchInput.vue index 7c504fe7..2a2424b1 100644 --- a/src/components/Menu/src/SearchInput.vue +++ b/src/components/Menu/src/SearchInput.vue @@ -94,7 +94,7 @@ .ant-input { color: @text-color-base; background: #fff; - border: 0; + // border: 0; outline: none; &:hover, diff --git a/src/components/Menu/src/index.less b/src/components/Menu/src/index.less index 7e57fd05..c1c3e789 100644 --- a/src/components/Menu/src/index.less +++ b/src/components/Menu/src/index.less @@ -4,7 +4,7 @@ color: @white; background: linear-gradient( 118deg, - rgba(@primary-color, 0.7), + rgba(@primary-color, 0.8), rgba(@primary-color, 1) ) !important; border-radius: 2px; @@ -32,6 +32,7 @@ font-size: 12px; flex-direction: column; line-height: 24px; + align-items: center; } & > li[role='menuitem']:not(.ant-menu-submenu) { @@ -93,6 +94,8 @@ } &-bg__sidebar-hor { + overflow: hidden; + &.ant-menu-horizontal { display: flex; border: 0; @@ -105,23 +108,16 @@ &.ant-menu-light { .ant-menu-item { &.basic-menu-item__level1 { - height: 38px; - line-height: 38px; + height: @header-height; + line-height: @header-height; } } - .ant-menu-item:hover, .ant-menu-submenu:hover, - .ant-menu-item-active, - .ant-menu-submenu-active, .ant-menu-item-open, .ant-menu-submenu-open, .ant-menu-item-selected, - .ant-menu-submenu-selected { - color: @primary-color !important; - border-bottom: 3px solid @primary-color; - } - + .ant-menu-submenu-selected, .ant-menu-item:hover, .ant-menu-item-active, .ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, @@ -261,10 +257,13 @@ } &.ant-menu-light { + overflow-x: hidden; + border-right: none; + .basic-menu-item__level1 { &.top-active-menu { color: @primary-color; - border-bottom: 6px solid @primary-color; + border-bottom: 3px solid @primary-color; } } @@ -306,16 +305,9 @@ } &-light { - border-right: 1px solid rgba(221, 221, 221, 0.6); - .ant-layout-sider-trigger { color: @text-color-base; - background: @trigger-light-bg-color; - - &:hover { - color: @text-color-base; - background: @trigger-light-hover-bg-color; - } + border-top: 1px solid @border-color-light; } } } diff --git a/src/components/Menu/src/props.ts b/src/components/Menu/src/props.ts index 60193c9a..ad28f487 100644 --- a/src/components/Menu/src/props.ts +++ b/src/components/Menu/src/props.ts @@ -54,6 +54,10 @@ export const basicProps = { type: Boolean as PropType, default: true, }, + isTop: { + type: Boolean as PropType, + default: false, + }, beforeClickFn: { type: Function as PropType, default: null, diff --git a/src/design/ant/index.less b/src/design/ant/index.less index 17e24c19..8f4bf94f 100644 --- a/src/design/ant/index.less +++ b/src/design/ant/index.less @@ -2,10 +2,15 @@ @import './input.less'; @import './btn.less'; +// TODO beta.11 fix .ant-col { width: 100%; } +// .ant-form-item-label { +// text-align: unset; +// } + // ================================= // ==============descriptions======= // ================================= diff --git a/src/design/index.less b/src/design/index.less index 542632b4..166a5e50 100644 --- a/src/design/index.less +++ b/src/design/index.less @@ -36,7 +36,8 @@ input::-ms-reveal { } body { - font-family: 'Microsoft YaHei,微软雅黑,Arial,sans-serif,Helvetica Neue,Helvetica,Pingfang SC,Hiragino Sans GB'; + // font-family: 'Microsoft YaHei,微软雅黑,Arial,sans-serif,Helvetica Neue,Helvetica,Pingfang SC,Hiragino Sans GB'; + font-family: '-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji'; font-style: normal; font-weight: normal; line-height: 1.428571429; // 20/14 @@ -149,7 +150,7 @@ object { } .ant-layout { - background: #f1f1f6; + background: #f0f2f5; &-content { position: relative; diff --git a/src/design/public.less b/src/design/public.less index cb8ab901..2bcaa9f2 100644 --- a/src/design/public.less +++ b/src/design/public.less @@ -5,11 +5,11 @@ } // TODO 滚动条样式-待修改 -::-webkit-scrollbar-track { - // background: rgba(0, 0, 0, 0.06); - // border-radius: 2px; - // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); -} +// ::-webkit-scrollbar-track { +// // background: rgba(0, 0, 0, 0.06); +// // border-radius: 2px; +// // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); +// } /* 滚动条滑块 */ ::-webkit-scrollbar-thumb { diff --git a/src/design/var/index.less b/src/design/var/index.less index a9736c91..48029ce7 100644 --- a/src/design/var/index.less +++ b/src/design/var/index.less @@ -3,13 +3,13 @@ @import 'breakpoint'; // tabs -@multiple-height: 36px; +@multiple-height: 30px; // headers -@header-height: 36px; +@header-height: 46px; // logo width -@logo-width: 40px; +@logo-width: 36px; // @sider-drag-z-index: 200; @@ -18,4 +18,4 @@ // app menu // left-menu -@app-menu-item-height: 44px; +@app-menu-item-height: 42px; diff --git a/src/layouts/Logo.vue b/src/layouts/Logo.vue index f2b133ed..de506c1b 100644 --- a/src/layouts/Logo.vue +++ b/src/layouts/Logo.vue @@ -1,18 +1,23 @@ diff --git a/src/settings/projectSetting.ts b/src/settings/projectSetting.ts index e5f19efa..9e0d9a58 100644 --- a/src/settings/projectSetting.ts +++ b/src/settings/projectSetting.ts @@ -55,7 +55,7 @@ const setting: ProjectConfig = { // 是否显示搜索框 showSearch: true, // 菜单宽度 - menuWidth: 180, + menuWidth: 200, // 菜单模式 mode: MenuModeEnum.INLINE, // 菜单类型 @@ -65,7 +65,7 @@ const setting: ProjectConfig = { // 分割菜单 split: false, // 顶部菜单布局 - topMenuAlign: 'start', + topMenuAlign: 'center', }, // 消息配置 messageSetting: { @@ -83,7 +83,7 @@ const setting: ProjectConfig = { // 开启快速操作 showQuick: true, // 显示icon - showIcon: true, + showIcon: false, // 标签页缓存最大数量 max: 12, }, -- GitLab