798 lines
13 KiB
SCSS
798 lines
13 KiB
SCSS
@import "iconfont/iconfont";
|
|
@import 'iconfont/logofont';
|
|
@import "ckeditor";
|
|
@import "vars";
|
|
|
|
$cdn: "https://cdn.cunwuyun.cn/";
|
|
$--color-primary: $primaryColor;
|
|
$--color-text-placeholder: $placeholderColor;
|
|
$--border-color-base: $borderColor;
|
|
$--color-success: $successColor;
|
|
$--color-warning: $warnColor;
|
|
$--color-danger: $errorColor;
|
|
$--color-info: $infoColor;
|
|
$--font-path: '~element-ui/lib/theme-chalk/fonts';
|
|
@import "~element-ui/packages/theme-chalk/src/index";
|
|
|
|
/**
|
|
常用内外边距样式
|
|
*/
|
|
@each $v in (333, 666, 888, 999, '26f', 'f46') {
|
|
.color-#{$v} {
|
|
color: \##{$v};
|
|
}
|
|
}
|
|
|
|
@each $v in (6, 8, 10, 12, 14, 16, 20, 24, 27, 32, 40, 48, 56, 64, 80) {
|
|
//gap
|
|
.gap-#{$v} {
|
|
gap: #{$v}px !important;
|
|
}
|
|
.font-#{$v} {
|
|
font-size: #{$v}px;
|
|
}
|
|
@each $padMar, $pm in (mar:margin, pad:padding) {
|
|
.#{$padMar}-#{$v} {
|
|
#{$pm}: #{$v}px
|
|
}
|
|
//纵向
|
|
.#{$padMar}-v#{$v} {
|
|
#{$pm}-top: #{$v}px;
|
|
#{$pm}-bottom: #{$v}px;
|
|
}
|
|
//横向
|
|
.#{$padMar}-h#{$v} {
|
|
#{$pm}-left: #{$v}px;
|
|
#{$pm}-right: #{$v}px;
|
|
}
|
|
@each $pos, $p in (l:left, r:right, t:top, b:bottom) {
|
|
.#{$padMar}-#{$pos+$v} {
|
|
#{$pm}-#{$p}: #{$v}px
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@each $where in (sticky, fixed) {
|
|
@each $pos, $p in (l:left, r:right, t:top, b:bottom) {
|
|
.#{$where}-#{$pos} {
|
|
position: fixed;
|
|
#{$p}: 0;
|
|
z-index: 202301031019;
|
|
width: 100%;
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
.w100 {
|
|
width: 100%;
|
|
}
|
|
|
|
.h100 {
|
|
height: 100%;
|
|
}
|
|
|
|
.relative {
|
|
position: relative;
|
|
}
|
|
|
|
/**
|
|
不换行文本
|
|
*/
|
|
.nowrap-text, .t-nowrap {
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.t-center {
|
|
text-align: center;
|
|
}
|
|
|
|
.t-bold {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.t-right {
|
|
text-align: right;
|
|
}
|
|
|
|
/**
|
|
表头式样
|
|
*/
|
|
.table-header {
|
|
background-color: rgba(243, 246, 249, 1) !important;
|
|
color: #333;
|
|
line-height: 44px;
|
|
font-size: 14px;
|
|
font-weight: bold;
|
|
padding: 0 !important;
|
|
border-bottom: none !important;
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
/**
|
|
表行样式
|
|
*/
|
|
.table-row {
|
|
height: 44px;
|
|
|
|
&:hover, &:hover td.table-cell {
|
|
background-color: #EFF6FF !important;
|
|
}
|
|
}
|
|
|
|
/**
|
|
表格样式
|
|
*/
|
|
.table-cell {
|
|
font-size: 14px;
|
|
padding: 0 !important;
|
|
|
|
.cell {
|
|
line-height: 15px;
|
|
}
|
|
}
|
|
|
|
/**
|
|
图标统一样式
|
|
*/
|
|
.iconfont {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.iconShow:hover, .iconEdit:hover, .iconParent:hover, .iconChange:hover {
|
|
color: $primaryColor;
|
|
}
|
|
|
|
.iconDelete:hover {
|
|
color: $errorColor;
|
|
}
|
|
|
|
.iconBack_Large {
|
|
width: 16px;
|
|
height: 16px;
|
|
color: $primaryColor;
|
|
cursor: pointer;
|
|
}
|
|
|
|
/**
|
|
缺省页相关样式
|
|
*/
|
|
.no-data {
|
|
background: url("https://cdn.cunwuyun.cn/ui/svg/NoData.svg") no-repeat center;
|
|
background-size: 120px 120px;
|
|
height: 120px;
|
|
margin: 48px auto 10px;
|
|
}
|
|
|
|
/**
|
|
缺省页相关样式
|
|
*/
|
|
.ai-empty__bg {
|
|
background: url("https://cdn.cunwuyun.cn/ui/svg/empty.svg") no-repeat center;
|
|
background-size: 120px 120px;
|
|
height: 120px;
|
|
margin: 48px auto 0;
|
|
}
|
|
|
|
.no-permission {
|
|
background: url("https://cdn.cunwuyun.cn/ui/svg/NoAuthority.svg") no-repeat center;
|
|
background-size: 120px 120px;
|
|
height: 120px;
|
|
margin-top: 48px;
|
|
}
|
|
|
|
.no-message {
|
|
background: url("https://cdn.cunwuyun.cn/ui/svg/NoMessage.svg") no-repeat center;
|
|
background-size: 120px 120px;
|
|
height: 120px;
|
|
margin-top: 48px;
|
|
}
|
|
|
|
.done-success {
|
|
background: url("https://cdn.cunwuyun.cn/ui/svg/Success.svg") no-repeat center;
|
|
background-size: 120px 120px;
|
|
height: 120px;
|
|
}
|
|
|
|
.no-div-text {
|
|
text-align: center;
|
|
font-size: 14px;
|
|
color: #666
|
|
}
|
|
|
|
.developing {
|
|
background: url("https://cdn.cunwuyun.cn/ui/svg/developing.svg") no-repeat center;
|
|
background-size: 400px 320px;
|
|
width: 100%;
|
|
height: 100%;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
|
|
&:after {
|
|
margin-top: 270px;
|
|
font-size: 14px;
|
|
color: $primaryColor;
|
|
display: block;
|
|
content: "功能正在开发中..."
|
|
}
|
|
}
|
|
|
|
/**
|
|
placeholder 样式
|
|
*/
|
|
input::-webkit-input-placeholder {
|
|
color: #ccc;
|
|
}
|
|
|
|
input::-moz-placeholder {
|
|
color: #ccc;
|
|
}
|
|
|
|
input::-ms-input-placeholder {
|
|
color: #ccc;
|
|
}
|
|
|
|
//切换地区Tab 样式
|
|
.area-popover {
|
|
right: 0;
|
|
}
|
|
|
|
//弹窗树菜单的样式
|
|
.dialog-tree {
|
|
&.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
|
|
background: rgba(239, 246, 255, 1);
|
|
border-radius: 2px;
|
|
font-weight: normal;
|
|
color: rgba(80, 136, 255, 1);
|
|
}
|
|
}
|
|
|
|
//发起群聊的按钮样式
|
|
.openIM {
|
|
width: 26px;
|
|
height: 20px;
|
|
background: rgba(255, 255, 255, 1);
|
|
border-radius: 12px;
|
|
border: 1px solid rgba(208, 212, 220, 1);
|
|
box-sizing: border-box;
|
|
text-align: center;
|
|
cursor: pointer;
|
|
|
|
&.iconGroup_IM {
|
|
color: #89B;
|
|
font-size: 16px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
&:hover {
|
|
background: $primaryColor;
|
|
border-color: $primaryColor;
|
|
|
|
&.iconGroup_IM {
|
|
color: #fff;
|
|
}
|
|
}
|
|
}
|
|
|
|
.fuzzy {
|
|
text-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
|
|
color: transparent !important;
|
|
}
|
|
|
|
/**
|
|
马赛克样式
|
|
*/
|
|
.mosaic {
|
|
position: relative;
|
|
|
|
&:before {
|
|
content: "";
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
height: 100%;
|
|
width: 100%;
|
|
background-position: 0 0, 10px 10px;
|
|
background-size: 20px 20px;
|
|
background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee 100%), linear-gradient(45deg, #eee 25%, white 25%, white 75%, #eee 75%, #eee 100%);
|
|
z-index: 202011051009;
|
|
}
|
|
}
|
|
|
|
/**
|
|
自定义弹性盒子快速用
|
|
*/
|
|
div[flex], .flex {
|
|
display: flex;
|
|
align-items: center;
|
|
|
|
&.column {
|
|
flex-direction: column;
|
|
}
|
|
|
|
&.wrap {
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
&.gap {
|
|
gap: 20px;
|
|
}
|
|
|
|
@for $i from 2 through 50 {
|
|
&.gap-#{$i} {
|
|
gap: #{$i}px;
|
|
}
|
|
}
|
|
|
|
&.center {
|
|
justify-content: center;
|
|
}
|
|
|
|
&.normal {
|
|
align-items: unset;
|
|
}
|
|
|
|
&.end {
|
|
align-items: flex-end;
|
|
}
|
|
}
|
|
|
|
.fill {
|
|
flex: 1;
|
|
min-height: 0;
|
|
min-width: 0;
|
|
}
|
|
|
|
.el-input {
|
|
input[type="number"] {
|
|
-moz-appearance: textfield;
|
|
|
|
&::-webkit-outer-spin-button, &::-webkit-inner-spin-button {
|
|
-webkit-appearance: none;
|
|
}
|
|
}
|
|
}
|
|
|
|
.grid {
|
|
display: grid;
|
|
gap: 8px;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
@for $i from 2 through 10 {
|
|
&.c-#{$i} {
|
|
grid-template-columns: repeat($i, 1fr);
|
|
}
|
|
&.r-#{$i} {
|
|
grid-template-rows: repeat($i, 1fr);
|
|
}
|
|
}
|
|
@for $i from 2 through 10 {
|
|
.sr-#{$i} {
|
|
grid-column: span #{$i};
|
|
}
|
|
.sc-#{$i} {
|
|
grid-row: span #{$i};
|
|
}
|
|
}
|
|
|
|
.row {
|
|
grid-column: 1/-1;
|
|
}
|
|
|
|
.column {
|
|
grid-row: 1/-1;
|
|
}
|
|
}
|
|
|
|
// 2.0公共样式
|
|
|
|
.ai-form {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
flex-wrap: wrap;
|
|
width: 100%;
|
|
|
|
.el-form-item {
|
|
width: 50%;
|
|
margin-bottom: 24px;
|
|
|
|
.el-form-item__content {
|
|
margin-left: 134px !important;
|
|
}
|
|
|
|
:deep(.el-form-item__content) {
|
|
& .el-input--small, & > .el-range-editor--small, & > .el-cascader, & > .el-select {
|
|
width: 325px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.el-message-box {
|
|
width: 520px;
|
|
padding-bottom: 0;
|
|
|
|
.el-message-box__header {
|
|
padding-left: 40px;
|
|
}
|
|
|
|
.el-message-box__content {
|
|
padding-top: 4px;
|
|
min-height: 60px;
|
|
padding-left: 40px;
|
|
padding-right: 40px;
|
|
}
|
|
|
|
.el-message-box__title {
|
|
justify-content: start;
|
|
font-size: 14px;
|
|
|
|
.el-icon-error:before {
|
|
content: "\e7a3";
|
|
}
|
|
}
|
|
|
|
.el-message-box__status {
|
|
padding-right: 12px;
|
|
}
|
|
|
|
.el-message-box__message {
|
|
text-align: start;
|
|
font-size: 16px;
|
|
color: #333;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.el-message-box__btns {
|
|
box-sizing: border-box;
|
|
text-align: center;
|
|
background-color: #F3F6F9;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
height: 64px;
|
|
|
|
.el-button {
|
|
padding: 0 32px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.table-options {
|
|
.el-button--text {
|
|
height: auto;
|
|
margin-right: 8px !important;
|
|
margin-left: 0 !important;
|
|
padding: 0;
|
|
border-radius: unset;
|
|
|
|
&:last-child {
|
|
margin-right: 0 !important;
|
|
}
|
|
}
|
|
|
|
span {
|
|
margin-right: 8px;
|
|
color: $primaryColor;
|
|
font-size: 14px;
|
|
|
|
&:last-child {
|
|
margin-right: 0;
|
|
}
|
|
|
|
&:hover {
|
|
opacity: 0.8;
|
|
}
|
|
}
|
|
|
|
.is-disabled span {
|
|
color: #999 !important;
|
|
}
|
|
}
|
|
|
|
textarea {
|
|
font-family: inherit;
|
|
}
|
|
|
|
.el-button--primary {
|
|
border: none;
|
|
background: $primaryBtnColor;
|
|
|
|
&:hover {
|
|
opacity: 0.6;
|
|
background: $primaryBtnColor;
|
|
}
|
|
}
|
|
|
|
.el-button {
|
|
font-size: 14px;
|
|
border-radius: 2px;
|
|
height: 32px;
|
|
padding: 8px;
|
|
box-sizing: border-box;
|
|
|
|
[class*=iconfont] {
|
|
font-size: 14px;
|
|
|
|
& + span {
|
|
margin-left: 5px;
|
|
}
|
|
}
|
|
}
|
|
|
|
.el-button--text [class*=iconfont] {
|
|
color: inherit;
|
|
font-size: inherit;
|
|
}
|
|
|
|
.wechat-message__container {
|
|
padding: 8px !important;
|
|
background: #F6F9FF !important;
|
|
border-radius: 2px !important;
|
|
color: #222222 !important;
|
|
font-size: 14px !important;
|
|
border: 1px solid $primaryColor !important;
|
|
|
|
h2 {
|
|
color: #222222;
|
|
font-weight: 500;
|
|
font-size: 14px;
|
|
}
|
|
}
|
|
|
|
h1, h2, h3, p {
|
|
margin: 0;
|
|
}
|
|
|
|
.el-tooltip__popper {
|
|
max-width: 600px;
|
|
word-break: break-all;
|
|
}
|
|
|
|
|
|
.ai-personselect .el-input__suffix .el-input__validateIcon {
|
|
display: none;
|
|
}
|
|
|
|
.AiWechatSelecter-container .el-input__suffix .el-input__validateIcon {
|
|
display: none;
|
|
}
|
|
|
|
.AiWechatSelecter-container .el-input__suffix .el-input__validateIcon {
|
|
display: none;
|
|
}
|
|
|
|
.icon-color89B {
|
|
color: #89B;
|
|
}
|
|
|
|
// flex 布局
|
|
.flex-between {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.flex-start {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.ailist-wrapper {
|
|
div, p, h2, h1, h3, h5, span {
|
|
box-sizing: border-box;
|
|
}
|
|
}
|
|
|
|
.mt10 {
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.ai-scan {
|
|
display: flex;
|
|
position: absolute;
|
|
top: -10px;
|
|
right: -14px;
|
|
cursor: pointer;
|
|
|
|
.poptip-arrow {
|
|
position: relative;
|
|
height: 24px;
|
|
line-height: 24px;
|
|
margin-right: 8px;
|
|
margin-top: 4px;
|
|
padding: 0 10px;
|
|
color: $primaryColor;
|
|
font-size: 12px;
|
|
text-align: center;
|
|
background: $primaryLightColor;
|
|
border: 1px solid $primaryColor;
|
|
|
|
em {
|
|
position: absolute;
|
|
width: 0;
|
|
height: 0;
|
|
border-color: hsla(0, 0%, 100%, 0);
|
|
border-style: solid;
|
|
overflow: hidden;
|
|
top: 50%;
|
|
right: -6px;
|
|
transform: translateY(-50%);
|
|
border-left-color: $primaryLightColor;
|
|
border-width: 6px 0 6px 6px;
|
|
}
|
|
|
|
a {
|
|
position: absolute;
|
|
width: 0;
|
|
height: 0;
|
|
border-color: hsla(0, 0%, 100%, 0);
|
|
border-style: solid;
|
|
overflow: hidden;
|
|
top: 50%;
|
|
right: -7px;
|
|
transform: translateY(-50%);
|
|
border-left-color: $primaryColor;
|
|
border-width: 6px 0 6px 6px;
|
|
}
|
|
}
|
|
|
|
& > i {
|
|
padding: 0;
|
|
color: $primaryColor;
|
|
font-size: 48px;
|
|
}
|
|
}
|
|
|
|
/**
|
|
背景图设置
|
|
*/
|
|
|
|
.signLeftBg {
|
|
background-image: url('#{$cdn}/ui/background/#{$theme}/loginLeft.png');
|
|
}
|
|
|
|
.navBg {
|
|
background-image: url('#{$cdn}/ui/background/#{$theme}/nav_bg.png');
|
|
}
|
|
|
|
/**
|
|
特殊样式字体
|
|
*/
|
|
.projectName {
|
|
font-family: "Microsoft YaHei UI", "Microsoft YaHei", serif;
|
|
height: 56px;
|
|
line-height: 56px;
|
|
font-size: 42px;
|
|
font-weight: 800;
|
|
white-space: nowrap;
|
|
position: relative;
|
|
text-shadow: 0 6px 3px rgba(#222, .1);
|
|
color: transparent;
|
|
|
|
&:after {
|
|
position: absolute;
|
|
left: 0;
|
|
content: attr(title);
|
|
background: $projectName;
|
|
-webkit-background-clip: text;
|
|
-webkit-text-fill-color: transparent;
|
|
z-index: 99;
|
|
}
|
|
|
|
&:before {
|
|
position: absolute;
|
|
left: 0;
|
|
content: attr(title);
|
|
text-shadow: 3px 0 0 #fff, -3px 0 0 #fff, 0 -3px 0 #fff, 0 3px 0 #fff;
|
|
z-index: 66;
|
|
}
|
|
}
|
|
|
|
.textShadow {
|
|
position: absolute;
|
|
top: 0;
|
|
text-shadow: 0 2px 0 $textShadow;
|
|
color: transparent;
|
|
z-index: -1;
|
|
}
|
|
|
|
#ai-waiting {
|
|
color: $primaryColor;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
}
|
|
|
|
.color-primary {
|
|
color: $primaryColor
|
|
}
|
|
|
|
.hoverActive {
|
|
&:hover, &.current, &.isActive {
|
|
color: $primaryColor !important;
|
|
}
|
|
}
|
|
|
|
/** 登录页左侧标题样式 **/
|
|
.signLeftContent {
|
|
.titlePane {
|
|
margin-top: 124px;
|
|
font-size: 20px;
|
|
margin-bottom: 64px;
|
|
|
|
& > b {
|
|
display: block;
|
|
font-size: 40px;
|
|
margin-bottom: 16px;
|
|
}
|
|
}
|
|
|
|
.subTitle {
|
|
margin-bottom: 16px;
|
|
opacity: 0.8;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 6px;
|
|
|
|
&:before {
|
|
content: " ";
|
|
background: transparent;
|
|
border-radius: 50%;
|
|
border: 1px solid #fff;
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
|
|
&:last-of-type {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
.AiConfirm {
|
|
position: fixed;
|
|
z-index: 202210261023;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
/**
|
|
节流器
|
|
*/
|
|
.throttle {
|
|
animation: throttle 0.5s step-end forwards;
|
|
}
|
|
|
|
.throttle:active {
|
|
animation: none;
|
|
}
|
|
|
|
@keyframes throttle {
|
|
from {
|
|
pointer-events: none;
|
|
}
|
|
to {
|
|
pointer-events: all;
|
|
}
|
|
}
|
|
|
|
.m-center {
|
|
margin-left: 50%;
|
|
transform: translateX(-50%);
|
|
}
|
|
|
|
.pointer {
|
|
cursor: pointer;
|
|
}
|