YM-WMS-WCS/src/assets/scss/common.scss
2023-04-14 15:07:53 +08:00

727 lines
16 KiB
SCSS

*,
*:before,
*:after {
box-sizing: border-box;
}
body {
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",
"微软雅黑", Arial, sans-serif;
font-size: $--font-size-base;
line-height: $base--line-height;
color: $--color-text-primary;
background-color: #fff;
}
a {
color: mix(#fff, $--color-primary, 20%);
text-decoration: none;
&:focus,
&:hover {
color: $--color-primary;
text-decoration: underline;
}
}
img {
vertical-align: middle;
}
:focus,
:hover {
outline: none;
}
/* Utils
------------------------------ */
[v-cloak] {
display: none;
}
.clearfix:before,
.clearfix:after {
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
.fr {
float: right !important;
}
.fl {
float: left !important;
}
.fi {
float: initial !important;
}
.m-auto {
margin: auto !important;
}
.mt-auto {
margin-top: auto !important;
}
.mr-auto {
margin-right: auto !important;
}
.mb-auto {
margin-bottom: auto !important;
}
.ml-auto {
margin-left: auto !important;
}
.text-right {
text-align: right !important;
}
.text-center {
text-align: center !important;
}
.text-left {
text-align: left !important;
}
.w-percent-100 {
width: 100% !important;
}
.base-line-height {
line-height: $base--line-height !important;
}
/* Reset element-ui
------------------------------ */
.aui-wrapper {
.el-card + .el-card {
margin-top: 15px;
}
.el-input__prefix .el-input__icon {
display: inline-block;
vertical-align: middle;
}
.el-date-editor .el-range-separator {
width: 8%;
}
.el-table th {
color: $--color-text-primary;
background-color: $--background-color-base;
}
.el-pagination {
margin-top: 15px;
text-align: right;
}
.el-table__expand-icon {
display: inline-block;
width: 14px;
vertical-align: middle;
margin-right: 5px;
}
}
/* Common
------------------------------ */
// 图标
.icon-svg {
width: 1em;
height: 1em;
fill: currentColor;
vertical-align: middle;
overflow: hidden;
}
// 卡片
.aui-card--fill .el-card__header {
height: $content--card-header-height;
line-height: $content--card-header-height - 36px;
}
.aui-card__title {
font-size: 16px;
}
// 表单
.aui-form__label-icon {
display: inline-block;
margin: 0 3px;
vertical-align: middle;
font-size: 18px;
color: $--color-text-secondary;
}
// 按钮
.aui-button--dashed {
border-style: dashed;
&:focus,
&:hover {
background-color: transparent;
}
&-add {
> span > *[class*="el-icon-"],
> span > *[class*="icon"] {
vertical-align: middle;
font-size: 18px;
margin-right: 5px;
}
}
}
// 主题工具
.aui-theme-tools {
position: fixed;
top: $navbar--height + $content--tabs-header-height + 15px;
right: -210px;
bottom: 0;
z-index: 1010;
width: 210px;
transition: right 0.3s;
&--open {
right: 0;
}
&__toggle {
position: absolute;
top: 80px;
left: -40px;
width: 40px;
padding: 10px 8px;
text-align: center;
font-size: 20px;
border-right: 0;
border-radius: $--border-radius-base 0 0 $--border-radius-base;
color: #fff;
background-color: $--color-primary;
cursor: pointer;
}
&__content {
height: 100%;
padding: 5px 20px 20px;
border: 1px solid $--border-color-lighter;
border-radius: $--border-radius-base 0 0 $--border-radius-base;
background-color: #fff;
.el-radio {
display: block;
margin-left: 0 !important;
line-height: 28px;
}
}
&__item + &__item {
margin-top: 15px;
border-top: 1px solid $--border-color-lighter;
}
}
/* Layout
------------------------------ */
.aui-wrapper {
position: relative;
padding-top: $navbar--height;
}
/* Sidebar fold
------------------------------ */
.aui-sidebar--fold {
.aui-navbar {
&__header,
&__brand {
width: $sidebar--width-fold;
}
&__brand {
&-lg {
display: none;
}
&-mini {
display: inline-block;
}
}
&__icon-menu--switch {
transform: rotateZ(180deg);
}
}
.aui-sidebar {
&__inner {
width: $sidebar--width-fold + 20px;
}
&,
&__menu {
width: $sidebar--width-fold;
}
&__menu > li > .el-submenu__title {
text-align: center;
}
&__menu-icon {
margin-right: 0;
font-size: 18px;
}
}
.aui-content {
&__wrapper {
margin-left: $sidebar--width-fold;
}
&--tabs > .el-tabs > .el-tabs__header {
left: $sidebar--width-fold;
}
}
}
/* Navbar
------------------------------ */
.aui-navbar {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 1030;
display: flex;
align-items: stretch;
height: $navbar--height;
background-color: $--color-primary;
box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.05);
&--colorful {
.aui-navbar__body {
}
.aui-navbar__menu {
> .el-menu-item,
> .el-submenu > .el-submenu__title {
color: #fff;
&:focus,
&:hover {
color: #fff;
background-color: mix(#fff, $--color-primary, 15%);
}
}
> .el-menu-item.is-active,
> .el-submenu.is-active > .el-submenu__title {
color: #fff;
&:focus,
&:hover {
color: #fff;
}
}
.el-menu-item i,
.el-submenu__title i,
.el-menu-item svg,
.el-submenu__title svg,
.el-menu-item .el-dropdown {
color: grey;
}
.el-button {
color: #fff;
background-color: transparent;
}
}
.aui-navbar__search {
&-txt {
.el-input__inner {
color: #fff;
border-color: #fff;
&::-webkit-input-placeholder {
color: #fff;
}
}
}
}
}
&__header {
position: relative;
width: $sidebar--width;
height: $navbar--height;
transition: width 0.3s;
}
&__brand {
background-color: rgba(0, 21, 41, 1);
display: flex;
justify-content: center;
align-items: center;
padding: 5px;
margin: 0;
width: 100%;
height: 100%;
font-size: 20px;
text-transform: uppercase;
white-space: nowrap;
color: #fff;
overflow: hidden;
transition: width 0.3s;
&-lg,
&-mini {
max-width: 100%;
color: #fff;
cursor: pointer;
&:focus,
&:hover {
color: #fff;
text-decoration: none;
}
}
&-mini {
display: none;
}
}
&__body {
position: relative;
display: flex;
flex: 1;
background-color: #fff;
overflow: hidden;
}
&__menu {
background-color: transparent;
border-bottom: 0 !important;
a:focus,
a:hover {
text-decoration: none;
}
.el-menu-item,
.el-submenu > .el-submenu__title {
height: $navbar--height;
padding: 0 15px;
line-height: $navbar--height;
border-color: transparent !important;
}
.el-menu-item.is-active,
.el-submenu.is-active > .el-submenu__title {
color: $--color-text-secondary;
&:focus,
&:hover {
color: $--color-text-primary;
}
}
.el-menu-item {
&:focus,
&:hover {
.aui-navbar__icon-menu {
color: $--color-text-primary;
}
.el-dropdown {
color: $--color-text-primary;
.el-icon-arrow-down {
transform: rotateZ(180deg);
}
}
}
* {
vertical-align: initial;
}
.aui-navbar__icon-menu {
vertical-align: middle;
font-size: 24px;
}
.el-dropdown {
color: $--color-text-secondary;
.el-icon-arrow-down {
width: auto;
font-size: 12px;
margin: 0 0 0 5px;
transition: transform 0.3s;
}
}
}
.el-badge {
display: inline;
z-index: 2;
&__content {
line-height: 16px;
}
}
}
&__search {
> *[class*="el-icon-"],
> *[class*="icon"] {
display: inline-block;
vertical-align: middle;
}
&-txt {
width: 0;
transition: width 0.3s, margin-left 0.3s;
&.is-show {
width: 210px;
margin-left: 8px;
}
.el-input__inner {
height: $navbar--height - 20px;
padding: 0;
line-height: $navbar--height - 20px;
border-color: $--color-text-primary;
border-top: 0;
border-right: 0;
border-left: 0;
border-radius: 0;
background: transparent;
}
}
}
&__avatar {
.el-dropdown-link {
> img {
width: 36px;
height: auto;
margin-right: 5px;
border-radius: 100%;
vertical-align: middle;
}
}
}
}
/* Sidebar
------------------------------ */
.aui-sidebar {
position: fixed;
top: $navbar--height;
left: 0;
bottom: 0;
z-index: 1020;
width: $sidebar--width;
background-color: #fff;
box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.05);
overflow: hidden;
transition: width 0.3s;
&--dark {
background-color: $sidebar--background-color-dark;
.aui-sidebar__menu,
> .el-menu--popup {
background-color: $sidebar--background-color-dark;
.el-menu-item,
.el-submenu > .el-submenu__title {
color: $sidebar--text-color-dark;
&:focus,
&:hover {
color: #fff;
background-color: rgba(11, 88, 255, 1);
.aui-sidebar__menu-icon-son{
background: #fff;
border-radius: 4px;
}
}
}
.el-menu,
.el-submenu.is-opened {
background-color: rgba(11, 37, 63, 1);
}
.el-menu-item.is-active,
.el-submenu.is-active > .el-submenu__title {
color: #fff;
}
}
}
&__inner {
position: relative;
z-index: 1;
width: $sidebar--width + 20px;
height: 100%;
padding-bottom: 15px;
overflow-x: hidden;
overflow-y: scroll;
transition: width 0.3s;
}
&__menu {
width: $sidebar--width;
border-right: 0;
transition: width 0.3s;
.el-menu-item,
.el-submenu__title {
height: $sidebar--menu-item-height;
line-height: $sidebar--menu-item-height;
}
}
&__menu-icon {
display: inline-block;
vertical-align: middle;
width: 24px !important;
margin-right: 5px;
text-align: center;
font-size: 16px;
color: inherit !important;
transition: font-size 0.3s;
}
&__menu-icon-son {
display: inline-block;
vertical-align: middle;
width: 8px !important;
margin-right: 15px;
text-align: center;
font-size: 8px;
color: inherit !important;
transition: font-size 0.3s;
}
}
/* Content
------------------------------ */
.aui-content {
position: relative;
padding: $content--padding;
min-height: calc(100vh - #{$navbar--height});
&__wrapper {
position: relative;
margin-left: $sidebar--width;
min-height: calc(100vh - #{$navbar--height});
background-color: $content--background-color;
transition: margin-left 0.3s;
}
> .aui-card--fill > .el-card__body {
min-height: calc(#{$content--fill-height} - 2px);
}
> .aui-card--fill > .el-card__header + .el-card__body {
min-height: calc(#{$content--fill-height} - #{$content--card-header-height} - 2px);
}
&--tabs {
padding: $content--tabs-header-height 0 0;
}
&--tabs-tools {
position: fixed;
top: $navbar--height;
right: 0;
z-index: 931;
min-width: $content--tabs-header-height;
height: $content--tabs-header-height;
padding: 0 12px;
text-align: center;
font-size: 16px;
line-height: $content--tabs-header-height;
background-color: $--background-color-base;
cursor: pointer;
}
&--tabs-icon-nav {
display: inline-block;
vertical-align: middle;
font-size: 16px;
}
> .el-tabs {
> .el-tabs__header {
position: fixed;
top: $navbar--height;
left: $sidebar--width;
right: 0;
z-index: 930;
padding: 0 55px 0 15px;
margin: 0;
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
background-color: #fff;
transition: left 0.3s;
> .el-tabs__nav-wrap {
margin-bottom: 0;
&:after {
display: none;
}
> .el-tabs__nav-next,
> .el-tabs__nav-prev {
line-height: $content--tabs-header-height;
}
> .el-tabs__nav-scroll > .el-tabs__nav {
& > .el-tabs__active-bar {
display: none;
}
& > .el-tabs__item {
height: $content--tabs-header-height;
border: 0;
padding: 0 10px;
color: rgba(89, 89, 89, 1);
&:focus,
&:hover,
&.is-active {
&:after {
display: block;
}
> .el-icon-close {
color: rgba(255, 255, 255, 1);
}
}
&:after {
display: none;
position: absolute;
bottom: 0;
left: 0;
content: "";
width: 100%;
height: 2px;
background-color: $--color-primary;
}
+ .el-tabs__item {
margin-left: 5px;
height: 24px;
font-size: 12px;
line-height: 24px;
border-radius: 5px;
background-color: rgba(239, 239, 239, 1);
&.is-active {
color: rgba(255, 255, 255, 1);
background-color: rgba(62, 142, 247, 1);
}
}
> .el-icon-close {
width: 14px;
margin-left: 6px;
color: $--color-text-secondary;
}
> i.icon {
display: inline-block;
vertical-align: middle;
font-size: 18px;
}
}
}
}
}
> .el-tabs__content {
padding: $content--padding;
.el-loading-mask {
z-index: 830;
}
> .el-tab-pane {
min-height: calc(#{$content--fill-height-tabs});
> .aui-card--fill > .el-card__body {
min-height: calc(#{$content--fill-height-tabs} - 2px);
}
> .aui-card--fill > .el-card__header + .el-card__body {
min-height: calc(#{$content--fill-height-tabs} - #{$content--card-header-height} - 2px);
}
&.is-iframe {
height: calc(#{$content--fill-height-tabs} + #{$content--padding * 2});
margin: -$content--padding;
min-height: auto;
> .aui-card--fill {
background-color: transparent;
}
> .aui-card--fill > .el-card__header {
background-color: #fff;
}
> .aui-card--fill > .el-card__body {
height: calc(#{$content--fill-height-tabs} - 2px);
margin: $content--padding;
min-height: auto;
border: $--border-base;
border-color: $--border-color-lighter;
border-radius: $--border-radius-base;
background-color: #fff;
}
> .aui-card--fill > .el-card__header + .el-card__body {
height: calc(#{$content--fill-height-tabs} - #{$content--card-header-height} - 2px);
}
}
}
}
}
// quill富文本编辑器
.ql-toolbar {
line-height: 20px;
&.ql-snow {
border-color: $--border-color-base;
}
.ql-formats {
margin: 0 5px;
}
}
.ql-container {
height: 150px;
&.ql-snow {
border-color: $--border-color-base;
}
}
}
/* Page
------------------------------ */
*[class*="aui-page__"] {
padding-top: 0;
.aui-content {
min-height: auto;
&__wrapper {
min-height: 100vh;
margin-left: 0;
}
> .aui-card--fill > .el-card__body {
min-height: calc(100vh - #{$content--padding * 2} - 2px);
}
> .aui-card--fill > .el-card__header + .el-card__body {
min-height: calc(100vh - #{$content--padding * 2} - #{$content--card-header-height} - 2px);
}
}
}