前端和后端源码,合并到一个git仓库中,方便用户下载,避免前后端不匹配的问题

This commit is contained in:
JEECG
2024-06-23 10:39:52 +08:00
parent bb918b742e
commit 0325e34dcb
1439 changed files with 171106 additions and 0 deletions

View File

@ -0,0 +1,323 @@
// button reset
.ant-btn {
// display: inline-flex;
// justify-content: center;
// align-items: center;
// &.ant-btn-success:not(.ant-btn-link),
// &.ant-btn-error:not(.ant-btn-link),
// &.ant-btn-warning:not(.ant-btn-link),
// &.ant-btn-primary:not(.ant-btn-link) {
// box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08) !important;
// }
// &-group {
// .ant-btn:not(:first-child) {
// bottom: 1px;
// }
// }
&-link:hover,
&-link:focus,
&-link:active {
border-color: transparent !important;
}
&-primary {
// update-begin--author:liaozhiyang---date:20240223---for【QQYUN-8327】btn样式显示不正确
// color: @white;
// background-color: @button-primary-color;
// update-end--author:liaozhiyang---date:20240223---for【QQYUN-8327】btn样式显示不正确
&:hover,
&:focus {
// update-begin--author:liaozhiyang---date:20240223---for【QQYUN-8327】btn样式显示不正确
// color: @white;
// background-color: @button-primary-hover-color;
// update-end--author:liaozhiyang---date:20240223---for【QQYUN-8327】btn样式显示不正确
}
//
//&[disabled],
//&[disabled]:hover {
// color: fade(@button-cancel-color, 40%) !important;
// background-color: fade(@button-cancel-bg-color, 40%) !important;
// border-color: fade(@button-cancel-border-color, 40%) !important;
//}
}
&-primary:not(&-background-ghost):not([disabled]) {
color: @white;
}
//&-primary:not(&-background-ghost) {
// border-width: 0;
//}
&-default {
// update-begin--author:liaozhiyang---date:20240223---for【QQYUN-8327】btn样式显示不正确
// color: @button-cancel-color;
// background-color: @button-cancel-bg-color;
// border-color: @button-cancel-border-color;
// &:hover,
// &:focus {
// color: @button-cancel-hover-color;
// background-color: @button-cancel-hover-bg-color;
// border-color: @button-cancel-hover-border-color;
// }
// update-end--author:liaozhiyang---date:20240223---for【QQYUN-8327】btn样式显示不正确
//
//&[disabled],
//&[disabled]:hover {
// color: fade(@button-cancel-color, 40%) !important;
// background: fade(@button-cancel-bg-color, 40%) !important;
// border-color: fade(@button-cancel-border-color, 40%) !important;
//}
}
[data-theme='light'] &.ant-btn-link.is-disabled {
color: rgba(0, 0, 0, 0.25);
text-shadow: none;
cursor: not-allowed !important;
background-color: transparent !important;
border-color: transparent !important;
box-shadow: none;
}
[data-theme='dark'] &.ant-btn-link.is-disabled {
color: rgba(255, 255, 255, 0.25) !important;
text-shadow: none;
cursor: not-allowed !important;
background-color: transparent !important;
border-color: transparent !important;
box-shadow: none;
}
// color: @white;
&-success.ant-btn-link:not([disabled='disabled']) {
color: @button-success-color;
&:hover,
&:focus {
color: @button-success-hover-color;
border-color: transparent;
}
&:active {
color: @button-success-active-color;
}
}
&-success.ant-btn-link.ant-btn-loading,
&-warning.ant-btn-link.ant-btn-loading,
&-error.ant-btn-link.ant-btn-loading,
&-background-ghost.ant-btn-link.ant-btn-loading,
&.ant-btn-link.ant-btn-loading {
&::before {
background: transparent;
}
}
&-success:not(.ant-btn-link, .is-disabled) {
color: @white;
background-color: @button-success-color;
border-color: @button-success-color;
//border-width: 0;
&:hover,
&:focus {
color: @white;
background-color: @button-success-hover-color;
border-color: @button-success-hover-color;
}
&:active {
background-color: @button-success-active-color;
border-color: @button-success-active-color;
}
//&[disabled],
//&[disabled]:hover {
// color: @white;
// background-color: fade(@button-success-color, 40%);
// border-color: fade(@button-success-color, 40%);
//}
}
&-warning.ant-btn-link:not([disabled='disabled']) {
color: @button-warn-color;
&:hover,
&:focus {
color: @button-warn-hover-color;
border-color: transparent;
}
&:active {
color: @button-warn-active-color;
}
}
&-warning:not(.ant-btn-link, .is-disabled) {
color: @white;
background-color: @button-warn-color;
border-color: @button-warn-color;
//border-width: 0;
&:hover,
&:focus {
color: @white;
background-color: @button-warn-hover-color;
border-color: @button-warn-hover-color;
}
&:active {
background-color: @button-warn-active-color;
border-color: @button-warn-active-color;
}
//&[disabled],
//&[disabled]:hover {
// color: @white;
// background-color: fade(@button-warn-color, 40%);
// border-color: fade(@button-warn-color, 40%);
//}
}
&-error.ant-btn-link:not([disabled='disabled']) {
color: @button-error-color;
&:hover,
&:focus {
color: @button-error-hover-color;
border-color: transparent;
}
&:active {
color: @button-error-active-color;
}
}
&-error:not(.ant-btn-link, .is-disabled) {
color: @white;
background-color: @button-error-color;
border-color: @button-error-color;
//border-width: 0;
&:hover,
&:focus {
color: @white;
background-color: @button-error-hover-color;
border-color: @button-error-hover-color;
}
&:active {
background-color: @button-error-active-color;
border-color: @button-error-active-color;
}
//&[disabled],
//&[disabled]:hover {
// color: @white;
// background-color: fade(@button-error-color, 40%);
// border-color: fade(@button-error-color, 40%);
//}
}
&-background-ghost {
border-width: 1px;
background-color: transparent !important;
&[disabled],
&[disabled]:hover {
color: fade(@white, 40%) !important;
background-color: transparent !important;
border-color: fade(@white, 40%) !important;
}
}
&-dashed&-background-ghost,
&-default&-background-ghost {
color: @button-ghost-color;
border-color: @button-ghost-color;
&:hover,
&:focus {
color: @button-ghost-hover-color;
border-color: @button-ghost-hover-color;
}
&:active {
color: @button-ghost-active-color;
border-color: @button-ghost-active-color;
}
&[disabled],
&[disabled]:hover {
color: fade(@white, 40%) !important;
border-color: fade(@white, 40%) !important;
}
}
&-background-ghost&-success:not(.ant-btn-link) {
color: @button-success-color;
background-color: transparent;
border-color: @button-success-color;
border-width: 1px;
&:hover,
&:focus {
color: @button-success-hover-color !important;
border-color: @button-success-hover-color;
}
&:active {
color: @button-success-active-color;
border-color: @button-success-active-color;
}
}
&-background-ghost&-warning:not(.ant-btn-link) {
color: @button-warn-color;
background-color: transparent;
border-color: @button-warn-color;
border-width: 1px;
&:hover,
&:focus {
color: @button-warn-hover-color !important;
border-color: @button-warn-hover-color;
}
&:active {
color: @button-warn-active-color;
border-color: @button-warn-active-color;
}
}
&-background-ghost&-error:not(.ant-btn-link) {
color: @button-error-color;
background-color: transparent;
border-color: @button-error-color;
border-width: 1px;
&:hover,
&:focus {
color: @button-error-hover-color !important;
border-color: @button-error-hover-color;
}
&:active {
color: @button-error-active-color;
border-color: @button-error-active-color;
}
}
&-ghost.ant-btn-link:not([disabled='disabled']) {
color: @button-ghost-color;
&:hover,
&:focus {
color: @button-ghost-hover-color;
border-color: transparent;
}
}
}

View File

@ -0,0 +1,209 @@
@import './pagination.less';
@import './input.less';
// update-begin--author:liaozhiyang---date:20240130---for【issues/5857】Button color类型颜色失效
@import './btn.less';
// update-end--author:liaozhiyang---date:20240130---for【issues/5857】Button color类型颜色失效
// @import './table.less';
// TODO beta.11 fix
.ant-col {
width: 100%;
}
.ant-image-preview-root {
img {
display: unset;
}
}
//update-begin---author:scott ---date:2023-08-28 for<6F><72><EFBFBD><EFBFBD>QQYUN-6374<37><34>UnoCSS<53><53><EFBFBD>windicss<73><73><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>--
/*span.anticon:not(.app-iconify) {
vertical-align: 0.125em !important;
}*/
//update-end---author:scott ---date::2023-08-28 for<6F><72><EFBFBD><EFBFBD>QQYUN-6374<37><34>UnoCSS<53><53><EFBFBD>windicss<73><73><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD>--
.ant-back-top {
right: 20px;
bottom: 20px;
}
.collapse-container__body {
> .ant-descriptions {
margin-left: 6px;
}
}
.ant-image-preview-operations {
background-color: rgba(0, 0, 0, 0.3);
}
.ant-popover {
&-content {
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
}
}
// =================================
// ==============modal message======
// =================================
.modal-icon-warning {
color: @warning-color !important;
}
.modal-icon-success {
color: @success-color !important;
}
.modal-icon-error {
color: @error-color !important;
}
.modal-icon-info {
color: @primary-color !important;
}
.ant-checkbox-checked .ant-checkbox-inner::after,
.ant-tree-checkbox-checked .ant-tree-checkbox-inner::after {
border-top: 0 !important;
border-left: 0 !important;
}
// update-begin--author:liaozhiyang---date:20231218---for【QQYUN-6366】升级到antd4.x
.ant-modal {
.ant-modal-close {
position: absolute;
top: 0;
right: 0;
width: auto;
height: auto;
}
.ant-modal-content {
padding: 0;
}
}
.ant-input-affix-wrapper > input.ant-input {
font-size: 14px;
}
.ant-pagination-options-size-changer.ant-select {
display: inline-block;
width: auto;
}
.ant-tree-select-dropdown .ant-select-tree .ant-select-tree-list-holder-inner {
align-items: stretch;
}
.ant-list .ant-list-item {padding-left: 0;padding-right: 0;}
.ant-list-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 0;
color: #000000d9;
}
/** anticon-down跟3.x保持一致*/
.ant-dropdown-trigger>.anticon.anticon-down, .ant-dropdown-link>.anticon.anticon-down, .ant-dropdown-button>.anticon.anticon-down {
font-size: 10px;
vertical-align: baseline;
}
/** 表格排序箭头尺寸保持跟3.x一致 */
.ant-table-wrapper .ant-table-column-sorter-up, .ant-table-wrapper .ant-table-column-sorter-down {
font-size: 11px;
}
/** 表格头部文字颜色跟3.x版本保持一致 */
.ant-table-wrapper .ant-table-thead >tr>th, .ant-table-wrapper .ant-table-thead >tr>td {
color: #000000d9;
font-weight: 500;
}
html[data-theme='dark'] .ant-table-wrapper .ant-table-thead >tr>th, .ant-table-wrapper .ant-table-thead >tr>td {
color:rgba(255,255,255,.65);
}
/** 下拉菜单文字和图标折叠了 */
.ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-title-content, .ant-dropdown-menu-submenu .ant-dropdown-menu .ant-dropdown-menu-title-content{
flex: auto;
white-space:nowrap;
}
// update-end--author:liaozhiyang---date:20231218---for【QQYUN-6366】升级到antd4.x
// update-end--author:liaozhiyang---date:20230105---for【QQYUN-7493】多行文本内容过多时内容会覆盖掉清空按钮
.ant-input-affix-wrapper-textarea-with-clear-btn {
.ant-input-clear-icon {
background-color: #fff;
}
}
html[data-theme='dark'] .ant-input-affix-wrapper-textarea-with-clear-btn {
.ant-input-clear-icon {
background-color: #141414;
}
}
// update-end--author:liaozhiyang---date:20230105---for【QQYUN-7493】多行文本内容过多时内容会覆盖掉清空按钮
// update-begin--author:liaozhiyang---date:20230108---for【QQYUN-7855】table页码同步3.x页面效果
.ant-table-pagination.ant-pagination {
.ant-pagination-item-active,
.ant-pagination-item-active:hover {
background-color: @primary-color;
border-color: transparent;
a {
color: #fff;
}
}
.ant-pagination-item:not(.ant-pagination-item-active) {
background-color: transparent !important;
border-color: transparent;
}
.ant-pagination-prev,
.ant-pagination-next,
.ant-pagination-item {
margin: 0 4px;
}
}
// update-end--author:liaozhiyang---date:20230108---for【QQYUN-7855】table页码同步3.x页面效果
//update-begin--author:wangshuai---date:20240429---for修改tinymce段落下拉框的字体和样式
.tox .tox-tbtn__select-label{
font-size: 14px;
}
.tox .tox-tbtn--select{
width: 80px !important;
}
.tox .tox-collection__item-label {
font-size: 14px !important;
}
//update-end--author:wangshuai---date:20240429---for修改tinymce段落下拉框的字体和样式
// update-begin--author:liaozhiyang---date:20240605---for【TV360X-189】统一只读样式
html[data-theme='light'] {
.ant-form:not(.jeecg-form-detail-effect) {
.ant-select.ant-select-disabled {
.ant-select-selection-item {
color: rgba(51, 51, 51, 0.25) !important;
// color: rgba(51, 51, 51, 0.25);
.ant-select-selection-item-content {
color: rgba(51, 51, 51, 0.25);
}
}
}
.ant-input-number.ant-input-number-disabled {
.ant-input-number-input {
color: rgba(51, 51, 51, 0.25);
}
}
}
}
html[data-theme='dark'] {
.ant-form:not(.jeecg-form-detail-effect) {
.ant-input-number.ant-input-number-disabled {
.ant-input-number-input {
color:rgba(255, 255, 255, 0.25);
}
}
}
}
// update-end--author:liaozhiyang---date:20240605---for【TV360X-189】统一只读样式

View File

@ -0,0 +1,24 @@
@import (reference) '../color.less';
// input
.ant-input {
&-number {
min-width: 110px;
}
}
.ant-input-affix-wrapper .ant-input-suffix {
right: 9px;
}
.ant-input-clear-icon {
margin-right: 5px;
}
.ant-input-affix-wrapper-textarea-with-clear-btn {
padding: 0 !important;
textarea.ant-input {
padding: 4px;
}
}

View File

@ -0,0 +1,98 @@
html[data-theme='dark'] {
.ant-pagination {
&.mini {
.ant-pagination-prev,
.ant-pagination-next,
.ant-pagination-item {
background-color: rgb(255 255 255 / 4%) !important;
a {
color: #8b949e !important;
}
}
.ant-select-arrow {
color: @text-color-secondary !important;
}
.ant-pagination-item-active {
background-color: @primary-color !important;
border: none;
border-radius: none !important;
a {
color: @white !important;
}
}
}
}
}
.ant-pagination {
&.mini {
.ant-pagination-prev,
.ant-pagination-next {
font-size: 12px;
color: @text-color-base;
border: 1px solid;
}
.ant-pagination-prev:hover,
.ant-pagination-next:hover,
.ant-pagination-item:focus,
.ant-pagination-item:hover {
a {
color: @primary-color;
}
}
.ant-pagination-prev,
.ant-pagination-next,
.ant-pagination-item {
margin: 0 4px !important;
//update-begin---author:scott ---date:2022-09-30 for【美化】Table分页页面默认背景色丑去掉-----------
//background-color: #f4f4f5 !important;
//update-end---author:scott ---date::2022-09-30 for【美化】Table分页页面默认背景色丑去掉------------
border: none;
border-radius: none !important;
a {
margin-top: 1px;
color: #606266;
}
&:last-child {
margin-right: 0 !important;
}
}
.ant-pagination-item-active {
background-color: @primary-color !important;
border: none;
border-radius: none !important;
a {
color: @white !important;
}
}
.ant-pagination-options {
margin-left: 12px;
}
.ant-pagination-options-quick-jumper input {
height: 22px;
margin: 0 6px;
line-height: 22px;
text-align: center;
}
.ant-select-arrow {
color: @border-color-shallow-dark;
}
}
&-disabled {
display: none !important;
}
}

View File

@ -0,0 +1,76 @@
@prefix-cls: ~'@{namespace}-basic-table';
// fix table unnecessary scrollbar
.@{prefix-cls} {
.hide-scrollbar-y {
.ant-spin-nested-loading {
.ant-spin-container {
.ant-table {
.ant-table-content {
.ant-table-scroll {
.ant-table-hide-scrollbar {
overflow-y: auto !important;
}
.ant-table-content {
overflow-y: auto !important;
}
}
.ant-table-fixed-right {
.ant-table-body-outer {
.ant-table-body-inner {
overflow-y: auto !important;
}
}
}
.ant-table-fixed-left {
.ant-table-body-outer {
.ant-table-body-inner {
overflow-y: auto !important;
}
}
}
}
}
}
}
}
.hide-scrollbar-x {
.ant-spin-nested-loading {
.ant-spin-container {
.ant-table {
.ant-table-content {
.ant-table-scroll {
.ant-table-hide-scrollbar {
//overflow-x: auto !important;
}
.ant-table-content {
overflow: auto !important;
}
}
.ant-table-fixed-right {
.ant-table-body-outer {
.ant-table-body-inner {
overflow-x: auto !important;
}
}
}
.ant-table-fixed-left {
.ant-table-body-outer {
.ant-table-body-inner {
overflow-x: auto !important;
}
}
}
}
}
}
}
}
}

View File

@ -0,0 +1,140 @@
html {
// header
--header-bg-color: #394664;
--header-bg-hover-color: #273352;
--header-active-menu-bg-color: #273352;
// sider
--sider-dark-bg-color: #273352;
--sider-dark-darken-bg-color: #273352;
--sider-dark-lighten-bg-color: #273352;
--sider-logo-bg-color:linear-gradient(180deg, #000000, #021d37);
}
@white: #fff;
@content-bg: #f4f7f9;
// :export {
// name: "less";
// mainColor: @mainColor;
// fontSize: @fontSize;
// }
@iconify-bg-color: #5551;
// =================================
// ==============border-color=======
// =================================
// Dark-dark
@border-color-dark: #b6b7b9;
// Dark-light
@border-color-shallow-dark: #cececd;
// Light-dark
@border-color-light: @border-color-base;
// =================================
// ==============message==============
// =================================
// success-bg-color
@success-background-color: #f1f9ec;
// info-bg-color
@info-background-color: #e8eff8;
// warn-bg-color
@warning-background-color: #fdf6ed;
// danger-bg-color
@danger-background-color: #fef0f0;
// =================================
// ==============Header=============
// =================================
@header-dark-bg-color: var(--header-bg-color);
@header-dark-bg-hover-color: var(--header-bg-hover-color);
@header-light-bg-hover-color: #f6f6f6;
@header-light-desc-color: #7c8087;
@header-light-bottom-border-color: #eee;
// top-menu
@top-menu-active-bg-color: var(--header-active-menu-bg-color);
// =================================
// ==============Menu============
// =================================
// let -menu
@sider-logo-bg-color: var(--sider-logo-bg-color);
@sider-dark-bg-color: var(--sider-dark-bg-color);
@sider-dark-darken-bg-color: var(--sider-dark-darken-bg-color);
@sider-dark-lighten-bg-color: var(--sider-dark-lighten-bg-color);
// trigger
@trigger-dark-hover-bg-color: rgba(255, 255, 255, 0.2);
@trigger-dark-bg-color: rgba(255, 255, 255, 0.1);
// =================================
// ==============tree============
// =================================
// tree item hover background
@tree-hover-background-color: #f5f7fa;
// tree item hover font color
@tree-hover-font-color: #f5f7fa;
// =================================
// ==============link============
// =================================
@link-hover-color: @primary-color;
@link-active-color: darken(@primary-color, 10%);
// =================================
// ==============Text color-=============
// =================================
// Main text color
@text-color-base: @text-color;
// Label color
@text-color-call-out: #606266;
// Auxiliary information color-dark
@text-color-help-dark: #909399;
// =================================
// ==============breadcrumb=========
// =================================
@breadcrumb-item-normal-color: #999;
// =================================
// ==============button=============
// =================================
@button-primary-color: @primary-color;
@button-primary-hover-color: lighten(@primary-color, 5%);
@button-primary-active-color: darken(@primary-color, 5%);
@button-ghost-color: @white;
@button-ghost-hover-color: lighten(@white, 10%);
@button-ghost-hover-bg-color: #e1ebf6;
@button-ghost-active-color: darken(@white, 10%);
@button-success-color: @success-color;
@button-success-hover-color: lighten(@success-color, 10%);
@button-success-active-color: darken(@success-color, 10%);
@button-warn-color: @warning-color;
@button-warn-hover-color: lighten(@warning-color, 10%);
@button-warn-active-color: darken(@warning-color, 10%);
@button-error-color: @error-color;
@button-error-hover-color: lighten(@error-color, 10%);
@button-error-active-color: darken(@error-color, 10%);
@button-cancel-color: @text-color-call-out;
@button-cancel-bg-color: @white;
@button-cancel-border-color: @border-color-shallow-dark;
// Mouse over
@button-cancel-hover-color: @primary-color;
@button-cancel-hover-bg-color: @white;
@button-cancel-hover-border-color: @primary-color;

View File

@ -0,0 +1,2 @@
@import (reference) 'color.less';
@import (reference) 'var/index.less';

View File

@ -0,0 +1,181 @@
* > .enter-x:nth-child(1) {
transform: translateX(50px);
}
* > .-enter-x:nth-child(1) {
transform: translateX(-50px);
}
* > .enter-x:nth-child(1),
* > .-enter-x:nth-child(1) {
z-index: 9;
opacity: 0;
animation: enter-x-animation 0.4s ease-in-out 0.3s;
animation-fill-mode: forwards;
animation-delay: 0.1s;
}
* > .enter-x:nth-child(2) {
transform: translateX(50px);
}
* > .-enter-x:nth-child(2) {
transform: translateX(-50px);
}
* > .enter-x:nth-child(2),
* > .-enter-x:nth-child(2) {
z-index: 8;
opacity: 0;
animation: enter-x-animation 0.4s ease-in-out 0.3s;
animation-fill-mode: forwards;
animation-delay: 0.2s;
}
* > .enter-x:nth-child(3) {
transform: translateX(50px);
}
* > .-enter-x:nth-child(3) {
transform: translateX(-50px);
}
* > .enter-x:nth-child(3),
* > .-enter-x:nth-child(3) {
z-index: 7;
opacity: 0;
animation: enter-x-animation 0.4s ease-in-out 0.3s;
animation-fill-mode: forwards;
animation-delay: 0.3s;
}
* > .enter-x:nth-child(4) {
transform: translateX(50px);
}
* > .-enter-x:nth-child(4) {
transform: translateX(-50px);
}
* > .enter-x:nth-child(4),
* > .-enter-x:nth-child(4) {
z-index: 6;
opacity: 0;
animation: enter-x-animation 0.4s ease-in-out 0.3s;
animation-fill-mode: forwards;
animation-delay: 0.4s;
}
* > .enter-x:nth-child(5) {
transform: translateX(50px);
}
* > .-enter-x:nth-child(5) {
transform: translateX(-50px);
}
* > .enter-x:nth-child(5),
* > .-enter-x:nth-child(5) {
z-index: 5;
opacity: 0;
animation: enter-x-animation 0.4s ease-in-out 0.3s;
animation-fill-mode: forwards;
animation-delay: 0.5s;
}
* > .enter-y:nth-child(1) {
transform: translateX(50px);
}
* > .-enter-y:nth-child(1) {
transform: translateX(-50px);
}
* > .enter-y:nth-child(1),
* > .-enter-y:nth-child(1) {
z-index: 9;
opacity: 0;
animation: enter-y-animation 0.4s ease-in-out 0.3s;
animation-fill-mode: forwards;
animation-delay: 0.1s;
}
* > .enter-y:nth-child(2) {
transform: translateX(50px);
}
* > .-enter-y:nth-child(2) {
transform: translateX(-50px);
}
* > .enter-y:nth-child(2),
* > .-enter-y:nth-child(2) {
z-index: 8;
opacity: 0;
animation: enter-y-animation 0.4s ease-in-out 0.3s;
animation-fill-mode: forwards;
animation-delay: 0.2s;
}
* > .enter-y:nth-child(3) {
transform: translateX(50px);
}
* > .-enter-y:nth-child(3) {
transform: translateX(-50px);
}
* > .enter-y:nth-child(3),
* > .-enter-y:nth-child(3) {
z-index: 7;
opacity: 0;
animation: enter-y-animation 0.4s ease-in-out 0.3s;
animation-fill-mode: forwards;
animation-delay: 0.3s;
}
* > .enter-y:nth-child(4) {
transform: translateX(50px);
}
* > .-enter-y:nth-child(4) {
transform: translateX(-50px);
}
* > .enter-y:nth-child(4),
* > .-enter-y:nth-child(4) {
z-index: 6;
opacity: 0;
animation: enter-y-animation 0.4s ease-in-out 0.3s;
animation-fill-mode: forwards;
animation-delay: 0.4s;
}
* > .enter-y:nth-child(5) {
transform: translateX(50px);
}
* > .-enter-y:nth-child(5) {
transform: translateX(-50px);
}
* > .enter-y:nth-child(5),
* > .-enter-y:nth-child(5) {
z-index: 5;
opacity: 0;
animation: enter-y-animation 0.4s ease-in-out 0.3s;
animation-fill-mode: forwards;
animation-delay: 0.5s;
}
@keyframes enter-x-animation {
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes enter-y-animation {
to {
opacity: 1;
transform: translateY(0);
}
}
/*update-begin---author:wangshuai ---date:20230829 forUnoCSS替代windicss 导致全局默认边框样丢失------------*/
*, :before, :after {
box-sizing: border-box;
border-width: 0;
border-style: solid;
border-color: #e5e7eb;
}
.border-primary,.hover\:border-primary:hover {
--tw-border-opacity: 1;
border-color: rgba(24,144,255,var(--tw-border-opacity))
}
/*update-end---author:wangshuai ---date:20230829 forUnoCSS替代windicss 导致全局默认边框样丢失------------*/

View File

@ -0,0 +1,296 @@
@import 'transition/index.less';
@import 'var/index.less';
@import 'public.less';
@import 'ant/index.less';
@import './theme.less';
@import './entry.css';
input:-webkit-autofill {
-webkit-box-shadow: 0 0 0 1000px white inset !important;
}
:-webkit-autofill {
transition: background-color 5000s ease-in-out 0s !important;
}
html {
overflow: hidden;
-webkit-text-size-adjust: 100%;
}
html,
body {
width: 100%;
height: 100%;
// body添加行高保持跟3.x一致
line-height: 1.5715;
&.color-weak {
filter: invert(80%);
}
&.gray-mode {
filter: grayscale(100%);
filter: progid:dximagetransform.microsoft.basicimage(grayscale=1);
}
}
/* 【LOWCOD-2300】【vue3】online--online表单开发下拉框位置靠下时点开下拉框整屏跳 */
body {
overflow: visible;
overflow-x: hidden;
}
a:focus,
a:active,
button,
div,
svg,
span {
outline: none !important;
}
// 保持 和 windi 一样的全局样式,减少升级带来的影响
ul {
list-style: none;
margin: 0;
padding: 0;
}
img, video {
max-width: 100%;
height: auto;
}
// 保持 和 windi 一样的全局样式,减少升级带来的影响
// update-begin--author:liaozhiyang---date:20230925---for【issues/5407】字段信息校验是多行提示会被遮挡
.vxe-cell--valid-error-msg {
white-space: nowrap;
}
// update-end--author:liaozhiyang---date:20230925---for【issues/5407】字段信息校验是多行提示会被遮挡
// update-begin--author:liaozhiyang---date:20231013---for【QQYUN-5133】升级之后提示样式跟之前一致
.vxe-table .vxe-body--row:last-child .vxe-cell--valid-error-hint {
margin-top: auto;
}
.vxe-cell--valid-error-hint {
margin-top: 6px;
}
.vxe-cell--valid-error-msg {
display: inline-block;
border-radius: 4px !important;
padding: 8px 12px !important;
color: #fff !important;
background-color: #f56c6c !important;
}
// update-end--author:liaozhiyang---date:20231013---for【QQYUN-5133】升级之后提示样式跟之前一致
// update-begin--author:liaozhiyang---date:20231116---for【QQYUN-7011】online表单多了一个蓝色的边框
// .vxe-table.vxe-table--render-default .vxe-body--column.col--selected {
// box-shadow: none;
// }
// update-end--author:liaozhiyang---date:20231116---for【QQYUN-7011】online表单多了一个蓝色的边框
// update-begin--author:liaozhiyang---date:20240424---for【issues/1175】解决vxetable鼠标hover之后title显示不对的问题
.vxe-cell {
pointer-events: none;
> * {
pointer-events: auto;
}
}
// update-end--author:liaozhiyang---date:20240424---for【issues/1175】解决vxetable鼠标hover之后title显示不对的问题
// update-begin--author:liaozhiyang---date:20240429---for【QQYUN-9023】引导样式调整
.introjs-tooltipReferenceLayer {
.introjs-tooltip-title {
font-size: 15px;
}
.introjs-skipbutton {
font-size: 20px;
line-height: 35px;
height: 35px;
width: 35px;
font-weight: 500;
}
.introjs-tooltiptext {
padding: 16px;
font-size: 14px;
}
.introjs-bullets {
padding-top: 0;
padding-bottom: 8px;
}
.introjs-bullets ul li a {
width: 4px;
height: 4px;
}
.introjs-button {
padding: .2rem 0.5rem;
font-size: 13px;
}
}
// update-end--author:liaozhiyang---date:20240429---for【QQYUN-9023】引导样式调整
// update-begin--author:liaozhiyang---date:20240605---for【TV360X-857】online代码生成详情样式调整
html[data-theme='light'] {
.jeecg-form-detail-effect {
*:not(.ant-select-selection-placeholder){
color: #606266!important;
}
.ant-row label {
color: #797c81 !important;
}
.ant-select-selector,
.ant-btn,
.ant-input,
.ant-input-affix-wrapper,
.ant-picker,
.ant-input-number {
// border: none !important;
// color: rgba(51, 51, 51, 0.25) !important;
color: #606266!important;
background-color: #f9f9fa !important;
}
a,
.anticon {
pointer-events: none;
cursor: text;
color: #606266!important;
&:hover {
background: transparent;
}
}
.ant-select.ant-select-disabled .ant-select-selection-item .ant-select-selection-item-content {
color: #606266!important;
}
.ant-select-selection-item {
color: #606266!important;
}
:where(.css-dev-only-do-not-override-dvamda).ant-picker .ant-picker-input >input-disabled, :where(.css-dev-only-do-not-override-dvamda).ant-picker .ant-picker-input >input[disabled] {
color: #606266!important;
}
.ant-select-selection-item {
border-color: #eee !important;
background-color: transparent !important;
}
}
}
html[data-theme='dark'] {
.jeecg-form-detail-effect {
* {
color: #606266;
}
.ant-upload-text-icon, a {
color:rgba(255, 255, 255, 0.25) ;
}
}
.ant-select-selector,
.ant-btn,
.ant-input,
.ant-input-affix-wrapper,
.ant-picker,
.ant-input-number {
background-color: transparent !important;
}
.ant-select-selection-item {
background-color: transparent !important;
}
// 暗黑模式下输入框等icon隐藏
.ant-picker-suffix,.ant-select-arrow {
content:" ";
display: none;
}
}
.jeecg-form-detail-effect {
.ant-select-selector,
.ant-btn,
.ant-input,
.ant-input-affix-wrapper,
.ant-picker,
.ant-input-number {
border: none !important;
}
a,
.anticon {
pointer-events: none;
cursor: text;
&:hover {
background: transparent;
}
}
.ant-picker {
width: 100%;
}
textarea {
resize: none !important;
}
input {
border: none !important;
}
input, textarea {
user-select: auto;
cursor: text !important;
}
.JSelectDept,
.JselectUser,
.JSelectPosition {
> div {
> .ant-row {
.left {
width: 100%;
}
.right {
display: none;
}
}
}
}
.ant-select-selection-item-remove {
display: none;
}
.jeecg-j-upload-container {
.ant-upload {
display: none;
}
.ant-upload-list-item-done {
a {
pointer-events: auto !important;
cursor: pointer !important;
}
.ant-upload-list-item-actions {
display: none;
}
}
}
.ant-upload-picture-card-wrapper {
.ant-upload {
pointer-events: none;
cursor: not-allowed;
.ant-upload-text,.anticon {
display: none;
}
}
.ant-upload-list-item-done {
a {
pointer-events: auto !important;
cursor: pointer !important;
}
.ant-btn {
display: none;
}
}
}
}
// update-end--author:liaozhiyang---date:20240605---for【TV360X-857】online代码生成详情样式调整
// update-begin--author:wangshuai---date:20240611---for【TV360X-1070】一对多内嵌为什么多这一块不从头对齐
.ant-table-wrapper .ant-table.ant-table-middle .ant-table-tbody .ant-table-wrapper:only-child .ant-table{
margin-block: 0;
margin-inline: 0;
}
// update-end--author:wangshuai---date:20240611---for【TV360X-1070】一对多内嵌为什么多这一块不从头对齐

View File

@ -0,0 +1,113 @@
#app {
width: 100%;
height: 100%;
}
// =================================
// ==============scrollbar==========
// =================================
::-webkit-scrollbar {
width: 7px;
height: 8px;
}
// ::-webkit-scrollbar-track {
// background: transparent;
// }
::-webkit-scrollbar-track {
background-color: rgba(0, 0, 0, 0.05);
}
::-webkit-scrollbar-thumb {
// background: rgba(0, 0, 0, 0.6);
background-color: rgba(144, 147, 153, 0.3);
// background-color: rgba(144, 147, 153, 0.3);
border-radius: 2px;
box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.2);
}
::-webkit-scrollbar-thumb:hover {
background-color: @border-color-dark;
}
[data-theme='dark'] {
::-webkit-scrollbar-thumb:hover {
background-color: #5e6063;
}
}
// =================================
// ==============nprogress==========
// =================================
#nprogress {
pointer-events: none;
.bar {
position: fixed;
top: 0;
left: 0;
z-index: 99999;
width: 100%;
height: 2px;
background-color: @primary-color;
opacity: 0.75;
}
}
// =======================================
// ============ [sjl] 按钮组样式 ==========
// =======================================
.j-table-operator {
// Button按钮间距
.ant-btn {
margin: 0 8px 8px 0;
transition: margin 0s;
}
& > .ant-btn:last-of-type {
margin: 0 0 8px 0;
}
.ant-btn-group,
&.ant-btn-group {
.ant-btn {
margin: 0;
transition: margin 0s;
}
& > .ant-btn:last-of-type {
margin: 0 8px 8px 0;
}
}
}
// ========================================
// ============ [sjl] 底部按钮样式 ==========
// ========================================
.j-box-bottom-button {
height: 28px;
&-float {
position: absolute;
left: 0;
right: 0;
bottom: 0;
border-top: 1px solid #e8e8e8;
padding: 10px 16px;
text-align: right;
background: #fff;
border-radius: 0 0 2px 2px;
& .ant-btn {
margin-left: 8px;
}
}
&.offset-20 &-float {
left: -20px;
right: -20px;
bottom: -20px;
}
}

View File

@ -0,0 +1,84 @@
.bg-white {
background-color: @component-background !important;
}
html[data-theme='light'] {
// update-begin--author:liaozhiyang---date:20240407---for【QQYUN-8774】给body加上打底的字体颜色
body{
color: rgba(0, 0, 0, 0.65);
}
// update-end--author:liaozhiyang---date:20240407---for【QQYUN-8774】给body加上打底的字体颜色
.text-secondary {
color: rgba(0, 0, 0, 0.45);
}
/*【美化】自定义table字体颜色*/
.ant-table {
color: rgba(0, 0, 0, 0.65);
}
/*【美化】自定义table字体颜色*/
/*【美化】自定义form字体颜色*/
.ant-select-multiple .ant-select-selection-item-content {
color: rgba(0, 0, 0, 0.65);
}
.ant-input-affix-wrapper > input.ant-input {
// update-begin--author:liaozhiyang---date:20240605---for【TV360X-189】统一只读样式
&:not([disabled]) {
color: rgba(0, 0, 0, 0.65);
}
// update-end--author:liaozhiyang---date:20240605---for【TV360X-189】统一只读样式
}
.ant-select-single.ant-select-show-arrow .ant-select-selection-item, .ant-select-single.ant-select-show-arrow {
color: rgba(0, 0, 0, 0.65);
}
/*【美化】自定义form字体颜色*/
.ant-alert-success {
background-color: #f6ffed;
border: 1px solid #b7eb8f;
}
.ant-alert-error {
background-color: #fff2f0;
border: 1px solid #ffccc7;
}
.ant-alert-warning {
background-color: #fffbe6;
border: 1px solid #ffe58f;
}
:not(:root):fullscreen::backdrop {
background-color: @layout-body-background !important;
}
}
[data-theme='dark'] {
// update-begin--author:liaozhiyang---date:20240407---for【QQYUN-8774】给body加上打底的字体颜色
body{
color: rgba(255, 255, 255, 0.85);
}
// update-end--author:liaozhiyang---date:20240407---for【QQYUN-8774】给body加上打底的字体颜色
// update-begin--author:liaozhiyang---date:20240407---for【QQYUN-8641】黑色主题-流程办理
.ant-list .ant-list-item {
color: rgba(255, 255, 255, 0.85);
}
// update-end--author:liaozhiyang---date:20240407---for【QQYUN-8641】黑色主题-流程办理
.text-secondary {
color: #8b949e;
}
.ant-card-grid-hoverable:hover {
box-shadow: 0 3px 6px -4px rgb(0 0 0 / 48%), 0 6px 16px 0 rgb(0 0 0 / 32%), 0 9px 28px 8px rgb(0 0 0 / 20%);
}
.ant-card-grid {
box-shadow: 1px 0 0 0 #434343, 0 1px 0 0 #434343, 1px 1px 0 0 #434343, 1px 0 0 0 #434343 inset, 0 1px 0 0 #434343 inset;
}
.ant-calendar-selected-day .ant-calendar-date {
color: rgba(0, 0, 0, 0.8);
}
.ant-select-tree li .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected {
color: rgba(0, 0, 0, 0.9);
}
}

View File

@ -0,0 +1,18 @@
.transition-default() {
&-enter-active,
&-leave-active {
transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1) !important;
}
&-move {
transition: transform 0.4s;
}
}
.expand-transition {
.transition-default();
}
.expand-x-transition {
.transition-default();
}

View File

@ -0,0 +1,81 @@
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.2s ease-in-out;
}
.fade-enter-from,
.fade-leave-to {
opacity: 0;
}
/* fade-slide */
.fade-slide-leave-active,
.fade-slide-enter-active {
transition: all 0.3s;
}
.fade-slide-enter-from {
opacity: 0;
transform: translateX(-30px);
}
.fade-slide-leave-to {
opacity: 0;
transform: translateX(30px);
}
// ///////////////////////////////////////////////
// Fade Bottom
// ///////////////////////////////////////////////
// Speed: 1x
.fade-bottom-enter-active,
.fade-bottom-leave-active {
transition: opacity 0.25s, transform 0.3s;
}
.fade-bottom-enter-from {
opacity: 0;
transform: translateY(-10%);
}
.fade-bottom-leave-to {
opacity: 0;
transform: translateY(10%);
}
// fade-scale
.fade-scale-leave-active,
.fade-scale-enter-active {
transition: all 0.28s;
}
.fade-scale-enter-from {
opacity: 0;
transform: scale(1.2);
}
.fade-scale-leave-to {
opacity: 0;
transform: scale(0.8);
}
// ///////////////////////////////////////////////
// Fade Top
// ///////////////////////////////////////////////
// Speed: 1x
.fade-top-enter-active,
.fade-top-leave-active {
transition: opacity 0.2s, transform 0.25s;
}
.fade-top-enter-from {
opacity: 0;
transform: translateY(8%);
}
.fade-top-leave-to {
opacity: 0;
transform: translateY(-8%);
}

View File

@ -0,0 +1,10 @@
@import './base.less';
@import './fade.less';
@import './scale.less';
@import './slide.less';
@import './scroll.less';
@import './zoom.less';
.collapse-transition {
transition: 0.2s height ease-in-out, 0.2s padding-top ease-in-out, 0.2s padding-bottom ease-in-out;
}

View File

@ -0,0 +1,21 @@
.scale-transition {
.transition-default();
&-enter-from,
&-leave,
&-leave-to {
opacity: 0;
transform: scale(0);
}
}
.scale-rotate-transition {
.transition-default();
&-enter-from,
&-leave,
&-leave-to {
opacity: 0;
transform: scale(0) rotate(-45deg);
}
}

View File

@ -0,0 +1,67 @@
.scroll-y-transition {
.transition-default();
&-enter-from,
&-leave-to {
opacity: 0;
}
&-enter-from {
transform: translateY(-15px);
}
&-leave-to {
transform: translateY(15px);
}
}
.scroll-y-reverse-transition {
.transition-default();
&-enter-from,
&-leave-to {
opacity: 0;
}
&-enter-from {
transform: translateY(15px);
}
&-leave-to {
transform: translateY(-15px);
}
}
.scroll-x-transition {
.transition-default();
&-enter-from,
&-leave-to {
opacity: 0;
}
&-enter-from {
transform: translateX(-15px);
}
&-leave-to {
transform: translateX(15px);
}
}
.scroll-x-reverse-transition {
.transition-default();
&-enter-from,
&-leave-to {
opacity: 0;
}
&-enter-from {
transform: translateX(15px);
}
&-leave-to {
transform: translateX(-15px);
}
}

View File

@ -0,0 +1,39 @@
.slide-y-transition {
.transition-default();
&-enter-from,
&-leave-to {
opacity: 0;
transform: translateY(-15px);
}
}
.slide-y-reverse-transition {
.transition-default();
&-enter-from,
&-leave-to {
opacity: 0;
transform: translateY(15px);
}
}
.slide-x-transition {
.transition-default();
&-enter-from,
&-leave-to {
opacity: 0;
transform: translateX(-15px);
}
}
.slide-x-reverse-transition {
.transition-default();
&-enter-from,
&-leave-to {
opacity: 0;
transform: translateX(15px);
}
}

View File

@ -0,0 +1,27 @@
// zoom-out
.zoom-out-enter-active,
.zoom-out-leave-active {
transition: opacity 0.1 ease-in-out, transform 0.15s ease-out;
}
.zoom-out-enter-from,
.zoom-out-leave-to {
opacity: 0;
transform: scale(0);
}
// zoom-fade
.zoom-fade-enter-active,
.zoom-fade-leave-active {
transition: transform 0.2s, opacity 0.3s ease-out;
}
.zoom-fade-enter-from {
opacity: 0;
transform: scale(0.92);
}
.zoom-fade-leave-to {
opacity: 0;
transform: scale(1.06);
}

View File

@ -0,0 +1,33 @@
// =================================
// ==============屏幕断点============
// =================================
// Extra small screen / phone
@screen-xs: 480px;
@screen-xs-min: @screen-xs;
// Small screen / tablet
@screen-sm: 576px;
@screen-sm-min: @screen-sm;
// Medium screen / desktop
@screen-md: 768px;
@screen-md-min: @screen-md;
// Large screen / wide desktop
@screen-lg: 992px;
@screen-lg-min: @screen-lg;
// Extra large screen / full hd
@screen-xl: 1200px;
@screen-xl-min: @screen-xl;
// Extra extra large screen / large desktop
@screen-2xl: 1600px;
@screen-2xl-min: @screen-2xl;
@screen-xs-max: (@screen-sm-min - 1px);
@screen-sm-max: (@screen-md-min - 1px);
@screen-md-max: (@screen-lg-min - 1px);
@screen-lg-max: (@screen-xl-min - 1px);
@screen-xl-max: (@screen-2xl-min - 1px);

View File

@ -0,0 +1,18 @@
// =================================
// ==============动画函数-===========
// =================================
@ease-base-out: cubic-bezier(0.7, 0.3, 0.1, 1);
@ease-base-in: cubic-bezier(0.9, 0, 0.3, 0.7);
@ease-out: cubic-bezier(0.215, 0.61, 0.355, 1);
@ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);
@ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
@ease-out-back: cubic-bezier(0.12, 0.4, 0.29, 1.46);
@ease-in-back: cubic-bezier(0.71, -0.46, 0.88, 0.6);
@ease-in-out-back: cubic-bezier(0.71, -0.46, 0.29, 1.46);
@ease-out-circ: cubic-bezier(0.08, 0.82, 0.17, 1);
@ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.34);
@ease-in-out-circ: cubic-bezier(0.78, 0.14, 0.15, 0.86);
@ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
@ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
@ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);

View File

@ -0,0 +1,46 @@
@import (reference) '../color.less';
@import 'easing';
@import 'breakpoint';
@namespace: jeecg;
// tabs
// updateBy:sunjianlei---updateDate:2021-09-03---修改tab切换栏样式更改高度
@multiple-height: 30px;
@multiple-card-height: 50px;
// update-begin--author:liaozhiyang---date:20240407---for【QQYUN-8762】标签页圆滑高度
@multiple-smooth-height: 48px;
// update-end--author:liaozhiyang---date:20240407---for【QQYUN-8762】标签页圆滑高度
// headers
// update-begin--author:liaozhiyang---date:20240407---for【QQYUN-8762】顶栏高度
@header-height: 60px;
// update-end--author:liaozhiyang---date:20240407---for【QQYUN-8762】顶栏高度
// logo width
@logo-width: 32px;
//
@side-drag-z-index: 200;
@page-loading-z-index: 10000;
@lock-page-z-index: 3000;
@layout-header-fixed-z-index: 500;
@multiple-tab-fixed-z-index: 505;
@layout-sider-fixed-z-index: 510;
@layout-mix-sider-fixed-z-index: 550;
@preview-comp-z-index: 1000;
@page-footer-z-index: 99;
.bem(@n; @content) {
@{namespace}-@{n} {
@content();
}
}