release: update 4.1.0

This commit is contained in:
xiaoxian521
2023-05-12 13:27:40 +08:00
parent 9c0872fa6a
commit 4e95672cb4
75 changed files with 4013 additions and 2078 deletions

View File

@@ -30,8 +30,8 @@ html.dark {
.tags-view {
.arrow-left,
.arrow-right {
box-shadow: none;
border-right: 1px solid $border-style;
box-shadow: none;
}
.arrow-right {
@@ -44,6 +44,7 @@ html.dark {
.el-divider__text {
--el-bg-color: var(--el-bg-color);
}
.el-divider--horizontal {
border-top: none;
}
@@ -53,14 +54,18 @@ html.dark {
.el-table__cell {
background: var(--el-bg-color);
}
.el-card {
--el-card-bg-color: var(--el-bg-color);
// border: none !important;
}
.el-backtop {
--el-backtop-bg-color: var(--el-color-primary-light-9);
--el-backtop-hover-bg-color: var(--el-color-primary);
}
.el-dropdown-menu__item:not(.is-disabled):hover {
background: transparent;
}
@@ -72,18 +77,18 @@ html.dark {
&.el-message-box__close,
&.el-notification__closeBtn {
&:hover {
color: rgba(255, 255, 255, 0.85) !important;
background-color: rgba(255, 255, 255, 0.12);
color: rgb(255 255 255 / 85%) !important;
background-color: rgb(255 255 255 / 12%);
}
}
}
/* 克隆并自定义 ElMessage 样式,不会影响 ElMessage 原本样式,在 src/utils/message.ts 中调用自定义样式 ElMessage 方法即可,非暗黑模式在 src/style/element-plus.scss 文件进行了适配 */
.pure-message {
background-color: rgb(36 37 37) !important;
background-image: initial !important;
background-color: rgb(36, 37, 37) !important;
box-shadow: rgb(13 13 13 / 12%) 0px 3px 6px -4px,
rgb(13 13 13 / 8%) 0px 6px 16px 0px, rgb(13 13 13 / 5%) 0px 9px 28px 8px !important;
box-shadow: rgb(13 13 13 / 12%) 0 3px 6px -4px,
rgb(13 13 13 / 8%) 0 6px 16px 0, rgb(13 13 13 / 5%) 0 9px 28px 8px !important;
& .el-message__content {
color: $color-white !important;
@@ -93,8 +98,8 @@ html.dark {
& .el-message__closeBtn {
&:hover {
color: rgba(255, 255, 255, 0.85);
background-color: rgba(255, 255, 255, 0.12);
color: rgb(255 255 255 / 85%);
background-color: rgb(255 255 255 / 12%);
}
}
}

View File

@@ -78,6 +78,7 @@
}
}
}
.el-icon {
&.el-dialog__close,
&.el-drawer__close,
@@ -85,22 +86,23 @@
&.el-notification__closeBtn {
width: 24px;
height: 24px;
outline: none;
border-radius: 4px;
outline: none;
transition: background-color 0.2s, color 0.2s;
&:hover {
color: rgba(0, 0, 0, 0.88) !important;
background-color: rgba(0, 0, 0, 0.06);
color: rgb(0 0 0 / 88%) !important;
text-decoration: none;
background-color: rgb(0 0 0 / 6%);
}
}
}
/* 克隆并自定义 ElMessage 样式,不会影响 ElMessage 原本样式,在 src/utils/message.ts 中调用自定义样式 ElMessage 方法即可,暗黑模式在 src/style/dark.scss 文件进行了适配 */
.pure-message {
border-width: 0 !important;
background: #fff !important;
padding: 10px 13px !important;
background: #fff !important;
border-width: 0 !important;
box-shadow: 0 3px 6px -4px #0000001f, 0 6px 16px #00000014,
0 9px 28px 8px #0000000d !important;
@@ -119,13 +121,13 @@
}
& .el-message__closeBtn {
outline: none;
border-radius: 4px;
right: 9px !important;
border-radius: 4px;
outline: none;
transition: background-color 0.2s, color 0.2s;
&:hover {
background-color: rgba(0, 0, 0, 0.06);
background-color: rgb(0 0 0 / 6%);
}
}
}

View File

@@ -1,8 +1,7 @@
@import "./mixin.scss";
@import "./transition.scss";
@import "./element-plus.scss";
@import "./sidebar.scss";
@import "./dark.scss";
@import "./transition";
@import "./element-plus";
@import "./sidebar";
@import "./dark";
/* 自定义全局 CssVar */
:root {

View File

@@ -1,28 +0,0 @@
@mixin clearfix {
&::after {
content: "";
display: table;
clear: both;
}
}
@mixin relative {
position: relative;
width: 100%;
height: 100%;
}
@mixin scrollBar {
&::-webkit-scrollbar-track-piece {
background: #d3dce6;
}
&::-webkit-scrollbar {
width: 6px;
}
&::-webkit-scrollbar-thumb {
background: #99a9bf;
border-radius: 20px;
}
}

View File

@@ -2,9 +2,9 @@
::before,
::after {
box-sizing: border-box;
border-width: 0;
border-style: solid;
border-color: currentColor;
border-style: solid;
border-width: 0;
}
#app {
@@ -13,25 +13,24 @@
}
html {
line-height: 1.5;
-webkit-text-size-adjust: 100%;
-moz-tab-size: 4;
tab-size: 4;
box-sizing: border-box;
width: 100%;
height: 100%;
box-sizing: border-box;
line-height: 1.5;
tab-size: 4;
text-size-adjust: 100%;
}
body {
margin: 0;
line-height: inherit;
width: 100%;
height: 100%;
margin: 0;
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB",
"Microsoft YaHei", "微软雅黑", Arial, sans-serif;
line-height: inherit;
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizelegibility;
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB",
"Microsoft YaHei", "微软雅黑", Arial, sans-serif;
}
hr {
@@ -69,9 +68,9 @@ small {
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
@@ -85,8 +84,8 @@ sup {
table {
text-indent: 0;
border-color: inherit;
border-collapse: collapse;
border-color: inherit;
}
button,
@@ -94,12 +93,12 @@ input,
optgroup,
select,
textarea {
padding: 0;
margin: 0;
font-family: inherit;
font-size: 100%;
line-height: inherit;
color: inherit;
margin: 0;
padding: 0;
}
button,
@@ -160,8 +159,8 @@ pre {
}
fieldset {
margin: 0;
padding: 0;
margin: 0;
}
legend {
@@ -171,9 +170,9 @@ legend {
ol,
ul,
menu {
list-style: none;
margin: 0;
padding: 0;
margin: 0;
list-style: none;
}
textarea {
@@ -182,8 +181,8 @@ textarea {
input::placeholder,
textarea::placeholder {
opacity: 1;
color: #9ca3af;
opacity: 1;
}
button,
@@ -238,9 +237,9 @@ a:active {
a,
a:focus,
a:hover {
cursor: pointer;
color: inherit;
text-decoration: none;
cursor: pointer;
}
div:focus {
@@ -249,11 +248,11 @@ div:focus {
.clearfix {
&::after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
clear: both;
font-size: 0;
visibility: hidden;
content: " ";
}
}

View File

@@ -2,20 +2,21 @@
@mixin merge-style($sideBarWidth) {
$menuActiveText: #7a80b4;
@media screen and (min-width: 150px) and (max-width: 420px) {
@media screen and (width >= 150px) and (width <= 420px) {
.app-main-nofixed-header {
overflow-y: hidden;
}
}
@media screen and (min-width: 420px) {
@media screen and (width >= 420px) {
.app-main-nofixed-header {
overflow: hidden;
}
}
.sub-menu-icon {
font-size: 18px;
margin-right: 5px;
font-size: 18px;
svg {
width: 18px;
@@ -24,26 +25,27 @@
}
.set-icon {
height: 48px;
width: 40px;
display: flex;
cursor: pointer;
align-items: center;
justify-content: center;
width: 40px;
height: 48px;
cursor: pointer;
}
.main-container {
position: relative;
height: 100vh;
min-height: 100%;
/* main-content 属性动画 */
transition: margin-left var(--pure-transition-duration);
margin-left: $sideBarWidth;
position: relative;
background: #f0f2f5;
/* main-content 属性动画 */
transition: margin-left var(--pure-transition-duration);
.el-scrollbar__wrap {
overflow: auto;
height: 100%;
overflow: auto;
}
}
@@ -53,6 +55,7 @@
right: 0;
z-index: 998;
width: calc(100% - 210px);
/* fixed-header 属性左上角动画 */
transition: width var(--pure-transition-duration);
}
@@ -70,20 +73,21 @@
}
.sidebar-container {
/* 展开动画 */
transition: width var(--pure-transition-duration);
width: $sideBarWidth !important;
background: $menuBg;
height: 100%;
position: fixed;
font-size: 0;
top: 0;
bottom: 0;
left: 0;
z-index: 1001;
width: $sideBarWidth !important;
height: 100%;
overflow: hidden;
font-size: 0;
background: $menuBg;
box-shadow: 0 0 1px #888;
/* 展开动画 */
transition: width var(--pure-transition-duration);
.scrollbar-wrapper {
overflow-x: hidden !important;
}
@@ -101,6 +105,7 @@
/* logo: 48px、leftCollapse: 40px、leftCollapse-shadow: 4px */
height: calc(100% - 92px);
}
.el-scrollbar.mobile {
height: 100%;
}
@@ -113,15 +118,15 @@
a {
display: inline-block;
display: flex;
padding-left: 10px;
flex-wrap: wrap;
width: 100%;
padding-left: 10px;
}
.el-menu {
border: none;
height: 100%;
background-color: transparent !important;
border: none;
}
.el-menu-item,
@@ -158,8 +163,8 @@
}
.is-active {
transition: color 0.3s;
color: $subMenuActiveText !important;
transition: color 0.3s;
}
.el-menu-item.is-active.nest-menu > * {
@@ -168,22 +173,19 @@
}
.el-menu-item.is-active.nest-menu::before {
content: "";
clear: both;
position: absolute;
left: 8px;
right: 8px;
inset: 0 8px;
margin: 4px 0;
top: 0;
bottom: 0;
border-radius: 3px;
clear: both;
content: "";
background: var(--el-color-primary) !important;
border-radius: 3px;
}
.el-menu .el-menu--inline .el-sub-menu__title,
& .el-sub-menu .el-menu-item {
font-size: 12px;
min-width: $sideBarWidth !important;
font-size: 12px;
background-color: $subMenuBg !important;
}
@@ -196,21 +198,21 @@
left: 0;
width: 2px;
height: 100%;
background-color: $menuActiveBefore;
content: "";
clear: both;
content: "";
background-color: $menuActiveBefore;
transition: all var(--pure-transition-duration) ease-in-out;
transform: translateY(0);
}
.el-menu--collapse .outer-most.el-sub-menu > .el-sub-menu__title::before {
content: "";
display: block;
position: absolute;
height: 0;
width: 3px;
transform: translateY(-50%);
top: 50%;
display: block;
width: 3px;
height: 0;
content: "";
transform: translateY(-50%);
}
/* 无子集的激活菜单背景 */
@@ -218,17 +220,15 @@
z-index: 1;
color: #fff;
}
.is-active.submenu-title-noDropdown.outer-most::before {
content: "";
clear: both;
position: absolute;
left: 8px;
right: 8px;
inset: 0 8px;
margin: 4px 0;
top: 0;
bottom: 0;
border-radius: 3px;
clear: both;
content: "";
background: var(--el-color-primary) !important;
border-radius: 3px;
}
}
@@ -261,8 +261,8 @@
/* 子菜单中还有子菜单 */
.el-menu .el-sub-menu__title {
font-size: 12px;
min-width: $sideBarWidth !important;
font-size: 12px;
background-color: $subMenuBg !important;
}
@@ -279,8 +279,8 @@
}
.is-active {
transition: color 0.3s;
color: $subMenuActiveText !important;
transition: color 0.3s;
}
.el-menu-item.is-active.nest-menu > * {
@@ -289,15 +289,12 @@
}
.el-menu-item.is-active.nest-menu::before {
content: "";
clear: both;
position: absolute;
left: 8px;
right: 8px;
top: 0;
bottom: 0;
border-radius: 3px;
inset: 0 8px;
clear: both;
content: "";
background: var(--el-color-primary) !important;
border-radius: 3px;
}
.el-menu-item,
@@ -345,8 +342,8 @@
/* 子菜单中还有子菜单 */
.el-menu .el-sub-menu__title {
font-size: 12px;
min-width: $sideBarWidth !important;
font-size: 12px;
background-color: $subMenuBg !important;
&:hover {
@@ -371,8 +368,8 @@
}
.el-menu-item.is-active {
transition: color 0.3s;
color: $subMenuActiveText !important;
transition: color 0.3s;
}
.el-menu-item.is-active.nest-menu > * {
@@ -381,68 +378,65 @@
}
.el-menu-item.is-active.nest-menu::before {
content: "";
clear: both;
position: absolute;
left: 5px;
right: 5px;
top: 0;
bottom: 0;
border-radius: 3px;
inset: 0 5px;
clear: both;
content: "";
background: var(--el-color-primary) !important;
border-radius: 3px;
}
}
.horizontal-header {
display: flex;
align-items: center;
justify-content: space-around;
background: $menuBg;
width: 100%;
height: 48px;
align-items: center;
background: $menuBg;
.horizontal-header-left {
display: flex;
height: 100%;
align-items: center;
width: auto;
min-width: 200px;
align-items: center;
height: 100%;
padding-left: 10px;
cursor: pointer;
transition: all var(--pure-transition-duration) ease;
img {
height: 32px;
display: inline-block;
height: 32px;
}
span {
height: 32px;
line-height: 32px;
margin: 2px 0 0 12px;
color: $subMenuActiveText;
display: inline-block;
height: 32px;
margin: 2px 0 0 12px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 18px;
font-weight: 600;
line-height: 32px;
color: $subMenuActiveText;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.horizontal-header-menu {
height: 100%;
min-width: 0;
flex: 1;
align-items: center;
min-width: 0;
height: 100%;
}
.horizontal-header-right {
display: flex;
min-width: 340px;
align-items: center;
color: $subMenuActiveText;
justify-content: flex-end;
min-width: 340px;
color: $subMenuActiveText;
/* 搜索 */
.search-container,
@@ -463,13 +457,13 @@
}
.el-dropdown-link {
height: 48px;
padding: 10px;
display: flex;
cursor: pointer;
align-items: center;
justify-content: space-around;
height: 48px;
padding: 10px;
color: $subMenuActiveText;
cursor: pointer;
p {
font-size: 14px;
@@ -484,10 +478,10 @@
}
.el-menu {
border: none;
height: 100%;
width: 100% !important;
height: 100%;
background-color: transparent;
border: none;
}
.el-menu-item,
@@ -521,8 +515,8 @@
}
.is-active {
transition: color 0.3s;
color: $subMenuActiveText !important;
transition: color 0.3s;
}
}
@@ -542,8 +536,8 @@
}
.sidebar-container {
transition: transform var(--pure-transition-duration);
width: $sideBarWidth;
transition: transform var(--pure-transition-duration);
}
&.hideSidebar {
@@ -558,6 +552,7 @@
body[layout="vertical"] {
$sideBarWidth: 210px;
@include merge-style($sideBarWidth);
.el-menu--collapse {
@@ -575,8 +570,8 @@ body[layout="vertical"] {
}
.sidebar-container {
transition: width var(--pure-transition-duration);
width: 54px !important;
transition: width var(--pure-transition-duration);
.is-active.submenu-title-noDropdown.outer-most {
background: transparent !important;
@@ -592,8 +587,8 @@ body[layout="vertical"] {
.el-sub-menu {
& > .el-sub-menu__title {
& > span {
height: 100%;
width: 100%;
height: 100%;
text-align: center;
visibility: visible;
}
@@ -630,6 +625,7 @@ body[layout="vertical"] {
body[layout="horizontal"] {
$sideBarWidth: 0;
@include merge-style($sideBarWidth);
.fixed-header,
@@ -644,6 +640,7 @@ body[layout="horizontal"] {
body[layout="mix"] {
$sideBarWidth: 210px;
@include merge-style($sideBarWidth);
.el-menu--collapse {
@@ -661,8 +658,8 @@ body[layout="mix"] {
}
.sidebar-container {
transition: width var(--pure-transition-duration);
width: 54px !important;
transition: width var(--pure-transition-duration);
.is-active.submenu-title-noDropdown.outer-most {
background: transparent !important;
@@ -678,9 +675,10 @@ body[layout="mix"] {
.el-sub-menu {
& > .el-sub-menu__title {
padding: 0;
& > span {
height: 100%;
width: 100%;
height: 100%;
text-align: center;
visibility: visible;
}

View File

@@ -31,6 +31,7 @@
}
.breadcrumb-leave-active {
position: absolute;
transition: all 0.3s;
}
@@ -40,10 +41,6 @@
transform: translateX(20px);
}
.breadcrumb-leave-active {
position: absolute;
}
/**
* @description 重置el-menu的展开收起动画时长
*/