diff --git a/assets/scss/common.scss b/assets/scss/common.scss index eb6aa08..8af5310 100644 --- a/assets/scss/common.scss +++ b/assets/scss/common.scss @@ -128,219 +128,6 @@ a { background: #383f5d; } -// router-tab header -.router-tab { - height: 100%; - - &__header { - align-items: flex-end; - height: 52px; - margin: -5px -5px 0; - padding: 0 20px; - box-sizing: border-box; - border-bottom: none !important; - } - - &-page { - height: 100%; - } - - & .router-tab__container { - overflow-y: auto; - height: calc(100vh - 105px); - max-height: calc(100vh - 105px); - padding: 20px; - } - - .router-tab__slot-end { - align-self: center; - display: flex; - align-items: center; - - >* { - flex: none; - margin-right: 6px; - - &:last-child { - margin-right: 0; - } - } - - .v-menu+.v-btn { - padding: 0 3px; - } - - .v-btn { - border-radius: 4px; - } - } - - .router-tab__nav { - padding-left: 0; - } - - .router-tab__scroll { - height: 46px; - } - - .router-tab__item { - height: 46px; - padding: 0 !important; - - &:first-child { - border-left: none - } - - &>span { - font-size: 14px; - } - - &.is-active { - border-bottom: 2px solid; - - &>span { - font-weight: 400; - } - } - - &+.router-tab__item { - margin-left: 16px; - } - - border:none; - } - -} - -// v-navigation-drawer (sidebar) -.v-navigation-drawer { - box-shadow: none; // 0 0 10px 0 rgba(0, 0, 0, 0.15); - - &--fixed { - z-index: 20; - } - - .home { - display: block; - line-height: 0; - } - - &__border { - display: none; - } - - &__append { - padding: 0 17px; - margin: 0 0 26px; - - >p { - margin-bottom: 0; - } - } - - .v-treeview { - padding: 0 10px; - box-sizing: border-box; - - .v-treeview-node__level { - width: 9px; - } - - >.v-treeview-node { - margin-top: 10px; - - &:first-child { - margin-top: 0; - } - - >.v-treeview-node__root { - min-height: 44px !important; - } - } - - .v-treeview-node { - .v-treeview-node__toggle { - display: none !important; - } - - &>.v-treeview-node__root:before { - border-radius: 6px; - z-index: -1; - } - - &>.v-treeview-node__root:hover:before { - opacity: 0 !important; - } - - .v-treeview-node__children { - .v-treeview-node__label { - >button>span { - font-size: 0.875rem; - } - } - } - } - - .v-treeview-node--click[aria-expanded="true"] { - &>.v-treeview-node__root:before { - opacity: 0 !important; - } - } - - .v-treeview-node[aria-expanded="true"] { - &>.v-treeview-node__root>.v-treeview-node__content - >.v-treeview-node__label>button { - >.anticon, - >.v-icon.mdi-chevron-down { - transform: rotate(-180deg); - } - } - } - - .v-treeview-node__label { - &>button { - width: 100%; - display: flex; - align-items: center; - // justify-content: center; - } - - & .anticon, - & .v-icon.mdi-chevron-down { - margin-left: auto; - animation-duration: 0.5s; - } - } - } - - .v-treeview-node--active { - &:before { - opacity: 0 !important; - } - } - - &.v-navigation-drawer--mini-variant { - .home { - display: none; - } - - .v-treeview-node__content { - margin-left: 0; - } - - .v-treeview-node__content span:not(.v-icon), - .v-treeview-node__root>button, - .v-treeview-node__level, - .v-treeview-node__content .v-icon.mdi-chevron-down, - .v-treeview-node__content .anticon { - display: none; - } - - .v-navigation-drawer__append { - display: none; - } - } -} .chart { height: 100%; @@ -452,10 +239,6 @@ a { gap: 8px; } - .v-navigation-drawer { - background: map-deep-get($config, #{$theme}, "menu-bg-color"); - } - .v-window__container { background: map-deep-get($config, #{$theme}, "card-default-backgroundColor"); } @@ -466,52 +249,16 @@ a { } } - ::-webkit-scrollbar { - width: 4px; - border-radius: 3px; - } - - ::-webkit-scrollbar-track { - background-color: map-deep-get($config, #{$theme}, "scrollbar-track"); - } - - ::-webkit-scrollbar-thumb { - width: 4px; - border-radius: 3px; - background-color: map-deep-get($config, #{$theme}, "scrollbar-thumb"); - background-clip: content-box; - } - .search-box-label { color: map-deep-get($config, #{$theme}, "v-select-label-color"); } - .header { - background-color: map-deep-get($config, #{$theme}, "header-backgroud"); - border-bottom: 1px solid map-deep-get($config, #{$theme}, "v-header-border"); - } - .custom-chart{ border: 1px solid map-deep-get($config, #{$theme}, "v-chart-border"); } - .btn-header { - background-color: map-deep-get($config, #{$theme}, "v-btn-header-background"); - border:1px solid map-deep-get($config, #{$theme}, "v-btn-header-border"); - color: map-deep-get($config, #{$theme}, "v-btn-header-text"); - } - - .container--fluid { - background-color: map-deep-get($config, #{$theme}, "container-fluid"); - - .menu-container { - height:calc(100vh - 60px); - overflow-y: auto; - border-right: 1px solid map-deep-get($config, #{$theme}, "v-sidebar-border") ; - } - } - .v-icon { + color: currentColor; &.icon-orange { svg { fill:map-deep-get($config, @@ -532,7 +279,6 @@ a { } - &.custom-chevron-down { fill:map-deep-get($config, @@ -622,12 +368,6 @@ a { } } - .v-navigation-drawer__append { - >p { - color: map-deep-get($config, #{$theme}, "v-banner-border-color" ) !important; - } - } - .border-bottom-1 { border-bottom: 1px solid map-deep-get($config, #{$theme}, "border-color"); } @@ -664,130 +404,6 @@ a { height: 282px; } - .v-treeview { - .v-treeview-node+.v-treeview-node { - margin-top: 2px; - } - - .v-treeview-node__root+.v-treeview-node__children { - margin-top: 2px; - } - - &>.v-treeview-node { - .v-treeview-node__root { - border-radius: 8px; - &:hover { - background-color: map-deep-get($config, #{$theme}, "v-calendar-weekday-border-color" ); - } - .v-treeview-node__content { - .v-treeview-node__label { - color: map-deep-get($config, #{$theme}, "tui-grid-title-color"); - } - } - - } - - &[aria-expanded="true"]{ - - // Level 1 - &>.v-treeview-node__root { - background-color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-bg" ); - border: 1px solid map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" ); - color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border"); - - &:before { - background-color: map-deep-get($config, #{$theme}, "v-treeview-node-subroot-backgroundColor"); - } - - .v-treeview-node__content { - .v-treeview-node__label { - color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border"); - } - - .v-icon:first-child, - .v-icon:first-child::before { - color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" ); - } - } - } - - &>.v-treeview-node__children { - // Level 2 - .v-treeview-node__root { - color: map-deep-get($config, #{$theme}, "v-treeview-node-root-label-color"); - &:hover { - background-color: map-deep-get($config, #{$theme}, "v-calendar-weekday-backgroundColor"); - } - } - &>[aria-expanded="true"] >.v-treeview-node__root, - .v-treeview-node__root.v-treeview-node--active { - background-color: map-deep-get($config, #{$theme}, "v-calendar-day-in-not-month-color" ); - .v-treeview-node__content { - .v-treeview-node__label { - color: map-deep-get($config, #{$theme}, "card-title-color"); - } - - .v-icon, - .v-icon::before, - .anticon { - color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" ); - } - } - } - - // Level 3 - .v-treeview-node__children { - .v-treeview-node { - >.v-treeview-node__root { - .v-treeview-node__content { - .v-treeview-node__label { - color: map-deep-get($config, #{$theme}, "card-default-color"); - } - } - - *:hover, - :hover { - border-width: 0; - } - - &:hover { - border: 1px solid map-deep-get($config, #{$theme}, "v-input-textarea-border"); - border-radius: 8px; - background-color: rgba(0, 0, 0, 0); - .v-treeview-node__content { - .v-treeview-node__label { - color: map-deep-get($config, #{$theme}, "tui-grid-title-color"); - } - } - - } - - &.v-treeview-node--active { - // color: map-deep-get($config, #{$theme}, "card-title-color"); - background-color: rgba(0, 0, 0, 0); - .v-treeview-node__content { - .v-treeview-node__label { - color: map-deep-get($config, #{$theme}, "tui-grid-title-color"); - } - - .v-icon, - .v-icon::before, - .anticon { - color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" ); - } - } - } - - } - } - - } - - } - } - } - } - .vc-weeks { >.vc-weekday { background-color: map-deep-get($config, diff --git a/assets/scss/common/button.scss b/assets/scss/common/button.scss index 0466fdc..b300118 100644 --- a/assets/scss/common/button.scss +++ b/assets/scss/common/button.scss @@ -144,10 +144,11 @@ } &.ant-btn-danger { + &.ant-btn-background-ghost { - color:map-deep-get($config, #{$theme}, "ant-btn-danger-color"); - border-color:map-deep-get($config, #{$theme}, "ant-btn-danger-border"); - background: map-deep-get($config, #{$theme}, "ant-btn-danger-bg") !important; + color: map-deep-get($config, #{$theme}, "ant-btn-danger-color"); + border-color: map-deep-get($config, #{$theme}, "ant-btn-danger-color"); + // background: map-deep-get($config, #{$theme}, "ant-btn-danger-color") !important; } } diff --git a/assets/scss/layout.scss b/assets/scss/layout.scss new file mode 100644 index 0000000..d5dc948 --- /dev/null +++ b/assets/scss/layout.scss @@ -0,0 +1,441 @@ +.loading { + z-index: 99; + position: fixed; + top: 50%; + left: 50%; + width: 100%; + height: 100%; + transform: translate(-50%, -50%); + background-color: rgba(0, 0, 0, 0.4); + //box-shadow: rgba(68, 67, 67, 0.9) 0 0 0 9999px; +} + +.v-spinner { + top: 50%; + left: 50%; +} + +::v-deep { + .container--fluid { + .menu-container { + height:calc(100vh - 60px); + overflow-y: auto; + min-width: 200px; + + // v-navigation-drawer (sidebar) + .v-navigation-drawer { + box-shadow: none; // 0 0 10px 0 rgba(0, 0, 0, 0.15); + min-width: 200px !important; + // transform: none !important; + // visibility: visible !important; + + &--fixed { + z-index: 20; + } + + .home { + display: block; + line-height: 0; + } + + &__border { + display: none; + } + + &__append { + padding: 0 17px; + margin: 0 0 26px; + + >p { + margin-bottom: 0; + } + } + + .v-treeview { + padding: 0 10px; + box-sizing: border-box; + + .v-treeview-node__level { + width: 9px; + } + + >.v-treeview-node { + margin-top: 10px; + + &:first-child { + margin-top: 0; + } + + >.v-treeview-node__root { + min-height: 44px !important; + } + } + + .v-treeview-node { + .v-treeview-node__toggle { + display: none !important; + } + + &>.v-treeview-node__root:before { + border-radius: 6px; + z-index: -1; + background-color: rgba(0, 0, 0, 0); + transition-duration: 0s; + } + + &>.v-treeview-node__root:hover:before { + opacity: 0 !important; + } + + .v-treeview-node__children { + .v-treeview-node__label { + >button>span { + font-size: 0.875rem; + } + } + } + } + + .v-treeview-node--click[aria-expanded="true"] { + &>.v-treeview-node__root:before { + opacity: 0 !important; + } + } + + .v-treeview-node[aria-expanded="true"] { + &>.v-treeview-node__root>.v-treeview-node__content + >.v-treeview-node__label>button { + >.anticon, + >.v-icon.mdi-chevron-down { + transform: rotate(-180deg); + } + } + } + + .v-treeview-node__label { + &>button { + width: 100%; + display: flex; + align-items: center; + // justify-content: center; + } + + & .anticon, + & .v-icon.mdi-chevron-down { + margin-left: auto; + animation-duration: 0.5s; + font-size: 12px; + } + } + } + + .v-treeview-node--active { + &:before { + opacity: 0 !important; + } + } + + &.v-navigation-drawer--mini-variant { + .home { + display: none; + } + + .v-treeview-node__content { + margin-left: 0; + } + + .v-treeview-node__content span:not(.v-icon), + .v-treeview-node__root>button, + .v-treeview-node__level, + .v-treeview-node__content .v-icon.mdi-chevron-down, + .v-treeview-node__content .anticon { + display: none; + } + + .v-navigation-drawer__append { + display: none; + } + } + } + } + } + + // router-tab header + .router-tab { + height: 100%; + + &__header { + align-items: flex-end; + height: 52px; + margin: -5px -5px 0; + padding: 0 20px; + box-sizing: border-box; + border-bottom: none !important; + } + + &-page { + height: 100%; + } + + & .router-tab__container { + overflow-y: auto; + height: calc(100vh - 110px); + max-height: calc(100vh - 115px); + padding: 20px; + } + + .router-tab__slot-end { + align-self: center; + display: flex; + align-items: center; + + >* { + flex: none; + margin-right: 6px; + + &:last-child { + margin-right: 0; + } + } + + .v-menu+.v-btn { + padding: 0 3px; + } + + .v-btn { + border-radius: 4px; + } + } + + .router-tab__nav { + padding-left: 0; + } + + .router-tab__scroll { + height: 46px; + } + + .router-tab__item { + height: 46px; + padding: 0 !important; + + &:first-child { + border-left: none + } + + &>span { + font-size: 14px; + } + + &.is-active { + border-bottom: 2px solid; + &>span { + font-weight: 400; + } + } + + &+.router-tab__item { + margin-left: 16px; + } + border:none; + } + + } +} + +@each $theme in dark, light { + @include theme($theme); + + .v-application.#{$theme}-mode { + ::v-deep { + + ::-webkit-scrollbar { + width: 4px; + border-radius: 3px; + } + + ::-webkit-scrollbar-track { + background-color: map-deep-get($config, #{$theme}, "scrollbar-track"); + } + + ::-webkit-scrollbar-thumb { + width: 4px; + border-radius: 3px; + background-color: map-deep-get($config, #{$theme}, "scrollbar-thumb"); + background-clip: content-box; + } + + .header { + background-color: map-deep-get($config, #{$theme}, "header-backgroud"); + border-bottom: 1px solid map-deep-get($config, #{$theme}, "v-header-border"); + } + + .btn-header { + background-color: map-deep-get($config, #{$theme}, "v-btn-header-background"); + border:1px solid map-deep-get($config, #{$theme}, "v-btn-header-border"); + color: map-deep-get($config, #{$theme}, "v-btn-header-text"); + } + + .container--fluid { + background-color: map-deep-get($config, #{$theme}, "container-fluid"); + .menu-container { + border-right: 1px solid map-deep-get($config, #{$theme}, "v-sidebar-border") ; + .v-navigation-drawer__append { + >p { + color: map-deep-get($config, #{$theme}, "v-banner-border-color" ) !important; + } + } + } + } + + .v-navigation-drawer { + background: map-deep-get($config, #{$theme}, "menu-bg-color"); + } + + .v-treeview { + .v-treeview-node+.v-treeview-node { + margin-top: 2px; + } + + .v-treeview-node__root+.v-treeview-node__children { + margin-top: 2px; + } + + &>.v-treeview-node { + .v-treeview-node__root { + border-radius: 8px; + &:hover { + background-color: map-deep-get($config, #{$theme}, "v-calendar-weekday-border-color" ); + } + .v-treeview-node__content { + .v-icon, + .v-treeview-node__label { + color: map-deep-get($config, #{$theme}, "tui-grid-title-color"); + } + + .anticon.anticon-down { + color: map-deep-get($config, #{$theme}, "icon-datepicker-color"); + } + } + } + + &[aria-expanded="true"]{ + // Level 1 + &>.v-treeview-node__root { + background-color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-bg" ); + border: 1px solid map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" ); + color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border"); + + &:before { + background-color: map-deep-get($config, #{$theme}, "v-treeview-node-subroot-backgroundColor"); + } + + .v-treeview-node__content { + .v-treeview-node__label { + color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border"); + } + + .v-icon:first-child, + .v-icon:first-child::before, + .anticon.anticon-down { + color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" ); + } + + } + } + + &>.v-treeview-node__children { + // Level 2 + .v-treeview-node__root { + color: map-deep-get($config, #{$theme}, "v-treeview-node-root-label-color"); + + &:hover { + background-color: map-deep-get($config, #{$theme}, "v-calendar-weekday-backgroundColor"); + } + + .v-treeview-node__content { + .v-icon, + .v-icon::before { + color: map-deep-get($config, #{$theme}, "icon-datepicker-color"); + } + } + } + + &>[aria-expanded="true"] >.v-treeview-node__root, + .v-treeview-node__root.v-treeview-node--active { + background-color: map-deep-get($config, #{$theme}, "v-calendar-day-in-not-month-color" ); + .v-treeview-node__content { + .v-treeview-node__label { + color: map-deep-get($config, #{$theme}, "card-title-color"); + } + + .v-icon, + .v-icon::before, + .anticon.anticon-down { + color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" ); + } + } + } + + // Level 3 + .v-treeview-node__children { + .v-treeview-node { + >.v-treeview-node__root { + + *:hover, + :hover { + border-width: 0; + } + + &:hover { + background-color: rgba(0, 0, 0, 0); + + &:before { + opacity: 1 !important; + border: 1px solid map-deep-get($config, #{$theme}, "v-input-textarea-border"); + border-radius: 8px; + } + + .v-treeview-node__content { + .v-treeview-node__label { + color: map-deep-get($config, #{$theme}, "tui-grid-title-color"); + } + } + + } + + &.v-treeview-node--active { + // color: map-deep-get($config, #{$theme}, "card-title-color"); + background-color: rgba(0, 0, 0, 0); + .v-treeview-node__content { + .v-treeview-node__label { + color: map-deep-get($config, #{$theme}, "tui-grid-title-color"); + } + + .v-icon, + .v-icon::before, + .anticon { + color: map-deep-get($config, #{$theme}, "v-treeview-node-label-active-border" ); + } + } + } + + .v-treeview-node__content { + .v-treeview-node__label { + color: map-deep-get($config, #{$theme}, "card-default-color"); + } + } + + } + } + + } + + } + } + } + } + + } + } +} diff --git a/assets/scss/var.scss b/assets/scss/var.scss index 4663d67..84c7cfa 100644 --- a/assets/scss/var.scss +++ b/assets/scss/var.scss @@ -166,7 +166,7 @@ $config: ( ant-btn-primary-color: #212224, ant-btn-danger-bg:#D32029, ant-btn-danger-border:#D32029, - ant-btn-danger-color:#212224, + ant-btn-danger-color:#D32029, ant-btn-default-border:#FFFFFF2E, ant-btn-default-bg:#FFFFFF2E, ant-btn-default-color:#FFFFFFD9, diff --git a/components/icons/anticonAppStore.vue b/components/icons/anticonAppStore.vue new file mode 100644 index 0000000..a60300f --- /dev/null +++ b/components/icons/anticonAppStore.vue @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/components/icons/anticonBulb.vue b/components/icons/anticonBulb.vue new file mode 100644 index 0000000..be7c129 --- /dev/null +++ b/components/icons/anticonBulb.vue @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/components/icons/anticonDesktop.vue b/components/icons/anticonDesktop.vue new file mode 100644 index 0000000..8434eae --- /dev/null +++ b/components/icons/anticonDesktop.vue @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/components/icons/anticonDrag.vue b/components/icons/anticonDrag.vue new file mode 100644 index 0000000..bcc46cc --- /dev/null +++ b/components/icons/anticonDrag.vue @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/components/icons/anticonFileText.vue b/components/icons/anticonFileText.vue new file mode 100644 index 0000000..3de4609 --- /dev/null +++ b/components/icons/anticonFileText.vue @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/components/icons/anticonLineChart.vue b/components/icons/anticonLineChart.vue new file mode 100644 index 0000000..f74ac70 --- /dev/null +++ b/components/icons/anticonLineChart.vue @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/components/icons/anticonMessage.vue b/components/icons/anticonMessage.vue new file mode 100644 index 0000000..a2bd9fa --- /dev/null +++ b/components/icons/anticonMessage.vue @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/components/icons/anticonNoteExpand.vue b/components/icons/anticonNoteExpand.vue new file mode 100644 index 0000000..e5ba547 --- /dev/null +++ b/components/icons/anticonNoteExpand.vue @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/components/icons/anticonPieChart.vue b/components/icons/anticonPieChart.vue new file mode 100644 index 0000000..168c95e --- /dev/null +++ b/components/icons/anticonPieChart.vue @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/components/icons/anticonSearch.vue b/components/icons/anticonSearch.vue new file mode 100644 index 0000000..6f24fc9 --- /dev/null +++ b/components/icons/anticonSearch.vue @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/components/icons/anticonSetting.vue b/components/icons/anticonSetting.vue new file mode 100644 index 0000000..13cd331 --- /dev/null +++ b/components/icons/anticonSetting.vue @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/components/icons/icoSend.vue b/components/icons/icoSend.vue index d7ac958..70591f0 100644 --- a/components/icons/icoSend.vue +++ b/components/icons/icoSend.vue @@ -1,5 +1,5 @@ \ No newline at end of file diff --git a/layouts/default.vue b/layouts/default.vue index f803b26..838b321 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -90,23 +90,40 @@