From 4063a4f08adc3b375447de389e40325f308a9204 Mon Sep 17 00:00:00 2001 From: iczer <1126263215@qq.com> Date: Mon, 6 Jul 2020 21:52:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20add=20global=20night=20mode;=20:star2:?= =?UTF-8?q?=20=E6=96=B0=E5=A2=9E=EF=BC=9A=E5=85=A8=E5=B1=80=E5=A4=9C?= =?UTF-8?q?=E6=99=9A=E6=A8=A1=E5=BC=8F=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 8 +- src/components/card/ChartCard.vue | 3 +- src/components/chart/RankingList.vue | 8 +- src/components/exception/ExceptionPage.vue | 2 +- src/components/menu/SideMenu.vue | 43 +-------- src/components/menu/index.less | 37 ++++++++ src/components/menu/menu.js | 5 +- .../page/{ => header}/PageHeader.vue | 43 +-------- src/components/page/header/index.less | 42 +++++++++ src/components/result/Result.vue | 8 +- src/components/setting/Setting.vue | 3 +- src/components/setting/i18n.js | 3 + src/components/task/TaskGroup.vue | 4 +- src/components/task/TaskItem.vue | 1 - src/components/tool/DetailList.vue | 8 +- src/components/tool/Drawer.vue | 6 +- src/components/tool/FooterToolBar.vue | 4 +- src/components/tool/HeadInfo.vue | 4 +- src/config/config.js | 1 + src/config/default/index.js | 3 +- src/config/default/theme.js | 64 +++++++++++++ src/layouts/CommonLayout.vue | 7 +- src/layouts/PageLayout.vue | 4 +- src/layouts/header/AdminHeader.vue | 94 ++----------------- src/layouts/header/HeaderNotice.vue | 18 ++-- src/layouts/header/index.less | 84 +++++++++++++++++ src/pages/dashboard/analysis/HotSearch.vue | 6 +- src/pages/dashboard/workplace/WorkPlace.vue | 87 +---------------- src/pages/dashboard/workplace/index.less | 59 ++++++++++++ src/pages/detail/BasicDetail.vue | 2 +- src/pages/form/advance/AdvancedForm.vue | 2 +- src/pages/list/CardList.vue | 1 - src/pages/list/StandardList.vue | 2 +- src/pages/list/search/SearchLayout.vue | 4 +- src/pages/login/Login.vue | 6 +- src/pages/result/Error.vue | 2 +- src/theme/default/color.less | 18 ++++ src/utils/colors.js | 42 ++++++++- src/utils/themeUtil.js | 70 +++++++++----- 39 files changed, 480 insertions(+), 328 deletions(-) create mode 100644 src/components/menu/index.less rename src/components/page/{ => header}/PageHeader.vue (63%) create mode 100644 src/components/page/header/index.less create mode 100644 src/config/default/theme.js create mode 100644 src/layouts/header/index.less create mode 100644 src/pages/dashboard/workplace/index.less diff --git a/src/App.vue b/src/App.vue index 8b7bb64..d97b438 100644 --- a/src/App.vue +++ b/src/App.vue @@ -33,9 +33,15 @@ export default { lang(val) { this.setLanguage(val) }, + theme(val) { + let closeMessage = this.$message.loading(`您选择了主题模式 ${val}, 正在切换...`) + themeUtil.changeThemeColor(this.themeColor, val).then(() => { + setTimeout(closeMessage, 1000) + }) + }, themeColor(val) { let closeMessage = this.$message.loading(`您选择了主题色 ${val}, 正在切换...`) - themeUtil.changeThemeColor(val).then(() => { + themeUtil.changeThemeColor(val, this.theme).then(() => { setTimeout(closeMessage, 1000) }) } diff --git a/src/components/card/ChartCard.vue b/src/components/card/ChartCard.vue index fc0ae7f..43cca3f 100644 --- a/src/components/card/ChartCard.vue +++ b/src/components/card/ChartCard.vue @@ -27,7 +27,7 @@ export default { } - diff --git a/src/components/menu/index.less b/src/components/menu/index.less new file mode 100644 index 0000000..171897f --- /dev/null +++ b/src/components/menu/index.less @@ -0,0 +1,37 @@ +.shadow{ + box-shadow: 2px 0 6px rgba(0, 21, 41, .35); +} +.side-menu{ + min-height: 100%; + z-index: 10; + .logo{ + height: 64px; + position: relative; + line-height: 64px; + padding-left: 24px; + -webkit-transition: all .3s; + transition: all .3s; + overflow: hidden; + background-color: @layout-trigger-background; + &.light{ + background-color: #fff; + h1{ + color: @primary-color; + } + } + h1{ + color: @menu-dark-highlight-color; + font-size: 20px; + margin: 0 0 0 12px; + display: inline-block; + vertical-align: middle; + } + img{ + width: 32px; + vertical-align: middle; + } + } +} +.menu{ + padding: 16px 0; +} diff --git a/src/components/menu/menu.js b/src/components/menu/menu.js index 638493b..f3e5a49 100644 --- a/src/components/menu/menu.js +++ b/src/components/menu/menu.js @@ -73,6 +73,9 @@ export default { keys.push(item.path) }) return keys + }, + menuTheme() { + return this.theme == 'light' ? this.theme : 'dark' } }, beforeMount() { @@ -212,7 +215,7 @@ export default { Menu, { props: { - theme: this.$props.theme, + theme: this.menuTheme, mode: this.$props.mode, openKeys: this.openKeys, selectedKeys: this.selectedKeys diff --git a/src/components/page/PageHeader.vue b/src/components/page/header/PageHeader.vue similarity index 63% rename from src/components/page/PageHeader.vue rename to src/components/page/header/PageHeader.vue index 5920abb..2ae5e85 100644 --- a/src/components/page/PageHeader.vue +++ b/src/components/page/header/PageHeader.vue @@ -57,46 +57,5 @@ export default { diff --git a/src/components/page/header/index.less b/src/components/page/header/index.less new file mode 100644 index 0000000..ba5b1d5 --- /dev/null +++ b/src/components/page/header/index.less @@ -0,0 +1,42 @@ +.page-header{ + background: @base-bg-color; + padding: 16px 24px; + .page-header-wide{ + &.head{ + margin: auto; + max-width: 1400px; + } + &.side{ + } + .breadcrumb{ + margin-bottom: 20px; + } + .detail{ + display: flex; + .row { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + } + .avatar { + margin:0 24px 0 0; + } + .main{ + width: 100%; + .title{ + font-size: 20px; + color: @title-color; + margin-bottom: 16px; + } + .content{ + display: flex; + flex-wrap: wrap; + color: @text-color-second; + } + .extra{ + display: flex; + } + } + } + } +} diff --git a/src/components/result/Result.vue b/src/components/result/Result.vue index c0d0238..58d1a7a 100644 --- a/src/components/result/Result.vue +++ b/src/components/result/Result.vue @@ -35,11 +35,11 @@ export default { color: @success-color; } .error { - color: red; + color: @error-color; } .title{ font-size: 24px; - color: rgba(0,0,0,.85); + color: @title-color; font-weight: 500; line-height: 32px; margin-bottom: 16px; @@ -47,11 +47,11 @@ export default { .desc{ font-size: 14px; line-height: 22px; - color: rgba(0, 0, 0, 0.45); + color: @text-color-second; margin-bottom: 24px; } .content{ - background: #fafafa; + background-color: @background-color-light; padding: 24px 40px; border-radius: 2px; text-align: left; diff --git a/src/components/setting/Setting.vue b/src/components/setting/Setting.vue index ab6b60f..8cd02d9 100644 --- a/src/components/setting/Setting.vue +++ b/src/components/setting/Setting.vue @@ -4,6 +4,7 @@ + @@ -136,7 +137,7 @@ export default { diff --git a/src/layouts/header/HeaderNotice.vue b/src/layouts/header/HeaderNotice.vue index 7fd3f66..9fd10ce 100644 --- a/src/layouts/header/HeaderNotice.vue +++ b/src/layouts/header/HeaderNotice.vue @@ -2,7 +2,7 @@
- + @@ -32,7 +32,7 @@
- + @@ -65,20 +65,24 @@ export default { } - diff --git a/src/pages/dashboard/workplace/index.less b/src/pages/dashboard/workplace/index.less new file mode 100644 index 0000000..c684c26 --- /dev/null +++ b/src/pages/dashboard/workplace/index.less @@ -0,0 +1,59 @@ +.project-list { + .card-title { + span{ + vertical-align: middle; + &:last-child{ + margin-left: 12px; + } + } + } + .project-item { + display: flex; + justify-content: space-between; + margin-top: 8px; + overflow: hidden; + font-size: 12px; + color: inherit; + .group{ + color: @text-color; + flex: 1 1 0; + &:hover { + color: @primary-color; + } + } + .datetime { + color: @text-color-second; + flex: 0 0 auto; + } + } + .ant-card-meta-description { + height: 44px; + line-height: 22px; + overflow: hidden; + } +} +.item-group{ + padding: 20px 0 8px 24px; + font-size: 0; + a{ + color: inherit; + display: inline-block; + font-size: 14px; + margin-bottom: 13px; + width: 25%; + } +} +.members { + a { + display: block; + margin: 12px 0; + color: @text-color; + &:hover { + color: @primary-color; + } + .member { + vertical-align: middle; + margin-left: 12px; + } + } +} diff --git a/src/pages/detail/BasicDetail.vue b/src/pages/detail/BasicDetail.vue index c93fda2..567b907 100644 --- a/src/pages/detail/BasicDetail.vue +++ b/src/pages/detail/BasicDetail.vue @@ -199,7 +199,7 @@ export default {