整合前端仓库并保留提交历史

This commit is contained in:
2026-08-31 11:52:41 +08:00
172 changed files with 120216 additions and 1 deletions
+127
View File
@@ -0,0 +1,127 @@
@use 'sass:map';
@use 'mixins' as *;
@use 'var' as *;
* {
margin: 0;
padding: 0;
box-sizing: border-box;
outline: none !important;
}
html,
body,
#app {
width: 100%;
height: 100%;
font-family:
Helvetica Neue,
Helvetica,
PingFang SC,
Hiragino Sans GB,
Microsoft YaHei,
SimSun,
sans-serif;
font-weight: 400;
-webkit-font-smoothing: antialiased;
-webkit-tap-highlight-color: transparent;
background-color: var(--ma-bg-color);
color: var(--el-text-color-primary);
font-size: var(--el-font-size-base);
}
.w100 {
width: 100% !important;
}
.h100 {
height: 100% !important;
}
.-center {
display: flex;
align-items: center;
justify-content: center;
}
/* 鼠标置入浮动效果-s */
.suspension {
transition: all 0.3s ease;
}
.suspension:hover {
-webkit-transform: translateY(-4px) scale(1.02);
-moz-transform: translateY(-4px) scale(1.02);
-ms-transform: translateY(-4px) scale(1.02);
-o-transform: translateY(-4px) scale(1.02);
transform: translateY(-4px) scale(1.02);
-webkit-box-shadow: 0 14px 24px rgba(0, 0, 0, 0.2);
box-shadow: 0 14px 24px rgba(0, 0, 0, 0.2);
z-index: 999;
border-radius: 6px;
}
/* 鼠标置入浮动效果-e */
/* 输入组件-s */
.block-help {
display: block;
width: 100%;
color: #909399;
font-size: 13px;
line-height: 16px;
padding-top: 5px;
}
.img-preview-dialog .el-dialog__body {
display: flex;
align-items: center;
justify-content: center;
img {
max-width: 100%;
}
}
/* 输入组件-e */
/* 布局相关-s */
.layouts-main {
min-height: calc(100vh - 120px);
}
.user-views {
padding: 0 15px;
.user-views-card {
margin-bottom: 15px;
}
}
.fallback-loading {
display: flex;
align-items: center;
justify-content: center;
}
.ma-aside-drawer {
.el-drawer__body {
padding: 0;
}
}
/* 布局相关-e */
/* 暗黑模式公共样式-s */
.ma-icon-dark {
color: var(--el-text-color-primary) !important;
}
/* 暗黑模式公共样式-e */
/* 自适应-s */
@media screen and (max-width: 768px) {
.xs-hidden {
display: none;
}
}
/* 自适应-e */
/* 全局遮罩-s */
.ma-layout-shade {
position: fixed;
top: 0;
left: 0;
height: 100vh;
width: 100vw;
background-color: rgba(0, 0, 0, 0.5);
z-index: 9999990;
}
/* 全局遮罩-e */
+25
View File
@@ -0,0 +1,25 @@
@use 'sass:map';
@use 'mixins' as *;
// Dark theme variables
$dark-bg-color: () !default;
$dark-bg-color: map.merge(
(
'': #141414,
'overlay': #1d1e1f,
),
$dark-bg-color
);
$dark-border-color: () !default;
$dark-border-color: map.merge(
(
'': #58585b,
),
$dark-border-color
);
html.dark {
@include set-component-css-var('bg-color', $dark-bg-color);
@include set-component-css-var('border-color', $dark-border-color);
}
+90
View File
@@ -0,0 +1,90 @@
.el-menu {
user-select: none;
.el-sub-menu__title:hover {
background-color: var(--el-color-primary-light-9) !important;
}
}
.el-table {
--el-table-border-color: var(--ba-border-color);
}
.el-card {
border: none;
.el-card__header {
border-bottom: 1px solid var(--el-border-color-extra-light);
}
}
.el-divider__text.is-center {
transform: translateX(-50%) translateY(-62%);
}
/* 修复 Chrome 浏览器输入框内选中字符行高异常的问题开始 <<< */
.el-input {
.el-input__inner {
line-height: calc(var(--el-input-height, 40px) - 4px);
}
}
/* 修复 Chrome 浏览器输入框内选中字符行高异常的问题结束 >>> */
/* 输入框样式统一开始 <<< */
.el-input-number.is-controls-right {
.el-input__wrapper {
padding-left: 11px;
}
.el-input__inner {
text-align: left;
}
}
.el-textarea__inner {
padding: 5px 11px;
}
.datetime-picker {
height: 32px;
padding-top: 0;
padding-bottom: 0;
}
.w100 .el-input__wrapper {
width: 100%;
}
/* 输入框样式统一结束 >>> */
/* dialog 滚动条样式优化开始 <<< */
.el-overlay-dialog,
.ma-scroll-style {
&::-webkit-scrollbar {
width: 5px;
height: 5px;
}
&::-webkit-scrollbar-thumb {
background: #eaeaea;
border-radius: var(--el-border-radius-base);
box-shadow: none;
-webkit-box-shadow: none;
}
&:hover {
&::-webkit-scrollbar-thumb:hover {
background: #c8c9cc;
}
}
}
@supports not (selector(::-webkit-scrollbar)) {
.el-overlay-dialog,
.ba-scroll-style {
scrollbar-width: thin;
scrollbar-color: #c8c9cc #eaeaea;
}
}
/* dialog 滚动条样式优化结束 >>> */
/* 小屏设备 el-radio-group 样式优化开始 <<< */
.ma-input-item-radio {
margin-bottom: 10px;
.el-radio-group {
.el-radio {
margin-bottom: 8px;
}
}
}
/* 小屏设备 el-radio-group 样式优化结束 >>> */
@@ -0,0 +1,6 @@
@forward 'element-plus/theme-chalk/src/dark/var.scss' with (
$bg-color: (
'page': #0a0a0a,
'overlay': #1d1e1f,
)
);
@@ -0,0 +1,26 @@
$-colors: (
'primary': (
'base': rgba(107,33,168, 1),
),
'success': (
'base': green,
),
'warning': (
'base': #f9a23c,
),
'danger': (
'base': #ff3300,
),
'error': (
'base': #f56c6c,
),
'info': (
'base': #909399,
),
);
@forward 'element-plus/theme-chalk/src/common/var.scss' with (
$colors: $-colors
);
@use './dark.scss';
+4
View File
@@ -0,0 +1,4 @@
@forward 'app';
@forward 'dark';
@forward 'element';
@forward 'var';
+30
View File
@@ -0,0 +1,30 @@
@mixin set-css-var-value($name, $value) {
#{joinVarName($name)}: #{$value};
}
@function joinVarName($list) {
$name: '--ma';
@each $item in $list {
@if $item != '' {
$name: $name + '-' + $item;
}
}
@return $name;
}
@function getCssVarName($args...) {
@return joinVarName($args);
}
/*
* 通过映射设置所有的CSS变量
*/
@mixin set-component-css-var($name, $variables) {
@each $attribute, $value in $variables {
@if $attribute == 'default' {
#{getCssVarName($name)}: #{$value};
} @else {
#{getCssVarName($name, $attribute)}: #{$value};
}
}
}
+25
View File
@@ -0,0 +1,25 @@
@use 'sass:map';
@use 'mixins' as *;
// Light theme variables
$light-bg-color: () !default;
$light-bg-color: map.merge(
(
'': #f5f5f5,
'overlay': #ffffff,
),
$light-bg-color
);
$light-border-color: () !default;
$light-border-color: map.merge(
(
'': #f6f6f6,
),
$light-border-color
);
:root {
@include set-component-css-var('bg-color', $light-bg-color);
@include set-component-css-var('border-color', $light-border-color);
}