1420 lines
33 KiB
SCSS
1420 lines
33 KiB
SCSS
/**Variable**/
|
|
@import './helpers/mixin.scss';
|
|
@import './base/common.scss';
|
|
@import './loading.scss';
|
|
|
|
%DefaultColumnHeight {
|
|
height: var(--vxe-table-row-height-default);
|
|
}
|
|
|
|
%MediumColumnHeight {
|
|
height: var(--vxe-table-row-height-medium);
|
|
}
|
|
|
|
%SmallColumnHeight {
|
|
height: var(--vxe-table-row-height-small);
|
|
}
|
|
|
|
%MiniColumnHeight {
|
|
height: var(--vxe-table-row-height-mini);
|
|
}
|
|
|
|
.vxe-table-slots,
|
|
.vxe-table--file-form {
|
|
display: none;
|
|
}
|
|
|
|
.vxe-table--print-frame {
|
|
position: fixed;
|
|
bottom: -100%;
|
|
left: -100%;
|
|
height: 0;
|
|
width: 0;
|
|
border: 0;
|
|
}
|
|
.vxe-table--render-wrapper {
|
|
background-color: var(--vxe-table-body-background-color);
|
|
}
|
|
.vxe-table--body-wrapper {
|
|
scroll-behavior: auto;
|
|
}
|
|
.vxe-table--body-wrapper,
|
|
.vxe-table--fixed-left-body-wrapper,
|
|
.vxe-table--fixed-right-body-wrapper {
|
|
overflow-y: auto;
|
|
overflow-x: auto;
|
|
}
|
|
|
|
/*默认的渲染*/
|
|
.vxe-cell,
|
|
.vxe-table--filter-wrapper {
|
|
.vxe-default-input,
|
|
.vxe-default-textarea {
|
|
background-color: var(--vxe-table-body-background-color);
|
|
}
|
|
.vxe-default-input,
|
|
.vxe-default-textarea,
|
|
.vxe-default-select {
|
|
outline: 0;
|
|
padding: 0 2px;
|
|
width: 100%;
|
|
color: var(--vxe-font-color);
|
|
border-radius: var(--vxe-border-radius);
|
|
border: 1px solid var(--vxe-input-border-color);
|
|
&:focus {
|
|
border: 1px solid var(--vxe-primary-color);
|
|
}
|
|
&[disabled] {
|
|
cursor: not-allowed;
|
|
background-color: var(--vxe-input-disabled-background-color);
|
|
}
|
|
}
|
|
.vxe-default-input,
|
|
.vxe-default-textarea,
|
|
.vxe-default-select {
|
|
height: var(--vxe-input-height-default);
|
|
}
|
|
.vxe-default-input {
|
|
&[type="date"]::-webkit-inner-spin-button {
|
|
margin-top: 4px;
|
|
}
|
|
&[type="date"]::-webkit-inner-spin-button,
|
|
&[type="number"]::-webkit-inner-spin-button {
|
|
height: 24px;
|
|
}
|
|
&::placeholder {
|
|
color: var(--vxe-input-placeholder-color);
|
|
}
|
|
}
|
|
.vxe-default-textarea {
|
|
resize: none;
|
|
vertical-align: middle;
|
|
}
|
|
.vxe-input,
|
|
.vxe-textarea,
|
|
.vxe-select {
|
|
width: 100%;
|
|
display: block;
|
|
}
|
|
.vxe-input > .vxe-input--inner,
|
|
.vxe-textarea > .vxe-textarea--inner {
|
|
padding: 0 2px;
|
|
}
|
|
.vxe-textarea--inner,
|
|
.vxe-default-textarea {
|
|
resize: none;
|
|
}
|
|
}
|
|
|
|
.vxe-table--checkbox-range,
|
|
.vxe-table--cell-main-area,
|
|
.vxe-table--cell-extend-area,
|
|
.vxe-table--cell-active-area,
|
|
.vxe-table--cell-copy-area {
|
|
display: none;
|
|
position: absolute;
|
|
pointer-events: none;
|
|
z-index: 1;
|
|
}
|
|
|
|
.vxe-table--fixed-left-wrapper,
|
|
.vxe-table--fixed-right-wrapper {
|
|
.vxe-table--checkbox-range,
|
|
.vxe-table--cell-main-area,
|
|
.vxe-table--cell-extend-area,
|
|
.vxe-table--cell-active-area,
|
|
.vxe-table--cell-copy-area {
|
|
z-index: 2;
|
|
}
|
|
}
|
|
|
|
.vxe-table--fixed-left-wrapper {
|
|
.vxe-table--cell-main-area,
|
|
.vxe-table--cell-extend-area,
|
|
.vxe-table--cell-active-area {
|
|
&[half="1"] {
|
|
border-right: 0;
|
|
}
|
|
}
|
|
.vxe-table--cell-copy-area {
|
|
&[half="1"] {
|
|
background-size: var(--vxe-table-cell-copy-area-border-width) 12px, 0 12px, 12px var(--vxe-table-cell-copy-area-border-width), 12px var(--vxe-table-cell-copy-area-border-width);
|
|
}
|
|
}
|
|
}
|
|
|
|
.vxe-table--fixed-right-wrapper {
|
|
.vxe-table--cell-main-area,
|
|
.vxe-table--cell-extend-area,
|
|
.vxe-table--cell-active-area {
|
|
&[half="1"] {
|
|
border-left: 0;
|
|
}
|
|
}
|
|
.vxe-table--cell-copy-area {
|
|
&[half="1"] {
|
|
background-size: 0 12px, var(--vxe-table-cell-copy-area-border-width) 12px, 12px var(--vxe-table-cell-copy-area-border-width), 12px var(--vxe-table-cell-copy-area-border-width);
|
|
}
|
|
}
|
|
}
|
|
|
|
/*复选框-范围选择*/
|
|
.vxe-table--checkbox-range {
|
|
background-color: var(--vxe-table-checkbox-range-background-color);
|
|
border: var(--vxe-table-checkbox-range-border-width) solid var(--vxe-table-checkbox-range-border-color);
|
|
}
|
|
|
|
.vxe-table--cell-area {
|
|
height: 0;
|
|
font-size: 0;
|
|
display: none;
|
|
& > .vxe-table--cell-main-area {
|
|
background-color: var(--vxe-table-cell-area-background-color);
|
|
border: var(--vxe-table-cell-area-border-width) solid var(--vxe-table-cell-area-border-color);
|
|
}
|
|
.vxe-table--cell-main-area-btn {
|
|
display: none;
|
|
position: absolute;
|
|
right: -1px;
|
|
bottom: -1px;
|
|
width: 7px;
|
|
height: 7px;
|
|
border-style: solid;
|
|
border-color: var(--vxe-table-cell-main-area-extension-border-color);
|
|
border-width: 1px 0 0 1px;
|
|
background-color: var(--vxe-table-cell-main-area-extension-background-color);
|
|
pointer-events: auto;
|
|
cursor: crosshair;
|
|
}
|
|
.vxe-table--cell-extend-area {
|
|
border: var(--vxe-table-cell-extend-area-border-width) solid var(--vxe-table-cell-extend-area-border-color);
|
|
}
|
|
}
|
|
|
|
@keyframes moveCopyCellBorder {
|
|
from {
|
|
}
|
|
to {
|
|
background-position: 0 -12px, 100% 12px, 12px 0, -12px 100%;
|
|
}
|
|
}
|
|
|
|
.vxe-table--cell-copy-area {
|
|
background: linear-gradient(0deg, transparent 6px, var(--vxe-table-cell-copy-area-border-color) 6px) repeat-y,
|
|
linear-gradient(0deg, transparent 50%, var(--vxe-table-cell-copy-area-border-color) 0) repeat-y,
|
|
linear-gradient(90deg, transparent 50%, var(--vxe-table-cell-copy-area-border-color) 0) repeat-x,
|
|
linear-gradient(90deg, transparent 50%, var(--vxe-table-cell-copy-area-border-color) 0) repeat-x;
|
|
background-size: var(--vxe-table-cell-copy-area-border-width) 12px, var(--vxe-table-cell-copy-area-border-width) 12px, 12px var(--vxe-table-cell-copy-area-border-width), 12px var(--vxe-table-cell-copy-area-border-width);
|
|
background-position: 0 0, 100% 0, 0 0, 0 100%;
|
|
animation: moveCopyCellBorder .5s infinite linear;
|
|
}
|
|
|
|
.vxe-table--cell-active-area {
|
|
border: var(--vxe-table-cell-active-area-border-width) solid var(--vxe-table-cell-active-area-border-color);
|
|
}
|
|
|
|
.vxe-table--cell-multi-area {
|
|
& > .vxe-table--cell-main-area {
|
|
background-color: var(--vxe-table-cell-area-background-color);
|
|
}
|
|
}
|
|
|
|
/*圆角*/
|
|
.vxe-table--render-default {
|
|
&.is--round {
|
|
%AllRadius {
|
|
border-radius: var(--vxe-table-border-radius);
|
|
}
|
|
%TopRadius {
|
|
border-radius: var(--vxe-table-border-radius) var(--vxe-table-border-radius) 0 0;
|
|
}
|
|
%TopLeftRadius {
|
|
border-radius: var(--vxe-table-border-radius) 0 0 0;
|
|
}
|
|
%TopRightRadius {
|
|
border-radius: 0 var(--vxe-table-border-radius) 0 0;
|
|
}
|
|
%BottomRadius {
|
|
border-radius: 0 0 var(--vxe-table-border-radius) var(--vxe-table-border-radius);
|
|
}
|
|
%BottomLeftRadius {
|
|
border-radius: 0 0 0 var(--vxe-table-border-radius);
|
|
}
|
|
%BottomRightRadius {
|
|
border-radius: 0 0 var(--vxe-table-border-radius) 0;
|
|
}
|
|
@extend %AllRadius;
|
|
.vxe-table--border-line {
|
|
@extend %AllRadius;
|
|
}
|
|
&.is--header {
|
|
&:not(.is--footer) {
|
|
.vxe-table--body-wrapper {
|
|
&.fixed-left--wrapper {
|
|
@extend %BottomLeftRadius;
|
|
}
|
|
&.body--wrapper {
|
|
@extend %BottomRadius;
|
|
}
|
|
&.fixed-right--wrapper {
|
|
@extend %BottomRightRadius;
|
|
}
|
|
}
|
|
}
|
|
.vxe-table--header-wrapper {
|
|
&.fixed-left--wrapper {
|
|
@extend %TopLeftRadius;
|
|
}
|
|
&.body--wrapper {
|
|
@extend %TopRadius;
|
|
}
|
|
&.fixed-right--wrapper {
|
|
@extend %TopRightRadius;
|
|
}
|
|
}
|
|
}
|
|
&:not(.is--header) {
|
|
&:not(.is--footer) {
|
|
.vxe-table--body-wrapper {
|
|
&.body--wrapper {
|
|
@extend %AllRadius;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&.is--footer {
|
|
&:not(.is--header) {
|
|
.vxe-table--body-wrapper {
|
|
&.fixed-left--wrapper {
|
|
@extend %BottomLeftRadius;
|
|
}
|
|
&.body--wrapper {
|
|
@extend %TopRadius;
|
|
}
|
|
&.fixed-right--wrapper {
|
|
@extend %BottomRightRadius;
|
|
}
|
|
}
|
|
}
|
|
.vxe-table--footer-wrapper {
|
|
&.fixed-left--wrapper {
|
|
@extend %BottomLeftRadius;
|
|
}
|
|
&.body--wrapper {
|
|
@extend %BottomRadius;
|
|
}
|
|
&.fixed-right--wrapper {
|
|
@extend %BottomRightRadius;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/*header*/
|
|
.vxe-table {
|
|
.vxe-table--header-wrapper {
|
|
color: var(--vxe-table-header-font-color);
|
|
.vxe-table--header-border-line {
|
|
position: absolute;
|
|
left: 0;
|
|
bottom: 0;
|
|
height: 0;
|
|
border-bottom: var(--vxe-table-border-width) solid var(--vxe-table-border-color);
|
|
}
|
|
}
|
|
/*排序*/
|
|
.vxe-cell--sort {
|
|
text-align: center;
|
|
position: relative;
|
|
padding: 0 0.1em 0 0.2em;
|
|
}
|
|
.vxe-cell--sort-vertical-layout {
|
|
display: inline-flex;
|
|
flex-direction: column;
|
|
height: 1.8em;
|
|
vertical-align: middle;
|
|
.vxe-sort--asc-btn,
|
|
.vxe-sort--desc-btn {
|
|
height: 0.6em;
|
|
}
|
|
}
|
|
.vxe-cell--sort-horizontal-layout {
|
|
display: inline-flex;
|
|
flex-direction: row;
|
|
.vxe-sort--asc-btn,
|
|
.vxe-sort--desc-btn {
|
|
width: 0.5em;
|
|
}
|
|
}
|
|
.vxe-sort--asc-btn,
|
|
.vxe-sort--desc-btn {
|
|
color: var(--vxe-table-column-icon-border-color);
|
|
cursor: pointer;
|
|
&:hover {
|
|
color: var(--vxe-font-color);
|
|
}
|
|
&.sort--active {
|
|
color: var(--vxe-primary-color);
|
|
}
|
|
}
|
|
}
|
|
|
|
.vxe-header--column {
|
|
position: relative;
|
|
font-weight: var(--vxe-table-header-font-weight);
|
|
// user-select: none;
|
|
&.col--ellipsis {
|
|
& > .vxe-cell {
|
|
display: flex;
|
|
align-items: center;
|
|
.vxe-cell--title {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
& > i,
|
|
& > span {
|
|
&:not(.vxe-cell--title) {
|
|
flex-shrink: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.vxe-cell--required-icon {
|
|
display: inline-block;
|
|
color: var(--vxe-table-validate-error-color);
|
|
width: 0.8em;
|
|
height: 1em;
|
|
line-height: 1em;
|
|
font-family: var(--vxe-icon-font-family);
|
|
font-weight: normal;
|
|
position: relative;
|
|
&:before {
|
|
content: "*";
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0.2em;
|
|
}
|
|
}
|
|
// .vxe-cell--required-icon,
|
|
// .vxe-cell--edit-icon,
|
|
// .vxe-cell-title-prefix-icon,
|
|
// .vxe-cell-title-suffix-icon,
|
|
// .vxe-cell--title {
|
|
// vertical-align: middle;
|
|
// }
|
|
.vxe-cell--required-icon {
|
|
margin-right: 0.1em;
|
|
}
|
|
.vxe-cell--edit-icon,
|
|
.vxe-cell-title-prefix-icon,
|
|
.vxe-cell-title-suffix-icon {
|
|
margin-right: 0.2em;
|
|
}
|
|
.vxe-cell-title-prefix-icon,
|
|
.vxe-cell-title-suffix-icon {
|
|
cursor: help;
|
|
}
|
|
.vxe-resizable {
|
|
position: absolute;
|
|
right: -7px;
|
|
bottom: 0;
|
|
width: 14px;
|
|
height: 100%;
|
|
text-align: center;
|
|
z-index: 1;
|
|
cursor: col-resize;
|
|
&.is--line {
|
|
&:before,
|
|
&:after {
|
|
content: "";
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
}
|
|
&:before {
|
|
width: 1px;
|
|
height: 50%;
|
|
background-color: var(--vxe-table-resizable-line-color);
|
|
}
|
|
&:after {
|
|
width: 0;
|
|
height: 100%;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.vxe-table--fixed-right-wrapper {
|
|
.vxe-header--column {
|
|
.vxe-resizable {
|
|
right: auto;
|
|
left: -7px;
|
|
}
|
|
}
|
|
}
|
|
|
|
/*table*/
|
|
.vxe-table--render-default {
|
|
position: relative;
|
|
font-size: var(--vxe-font-size);
|
|
color: var(--vxe-font-color);
|
|
font-family: var(--vxe-font-family);
|
|
direction: ltr;
|
|
.vxe-table--body-wrapper {
|
|
table {
|
|
background-color: var(--vxe-table-body-background-color);
|
|
}
|
|
}
|
|
.vxe-table--footer-wrapper {
|
|
table {
|
|
background-color: var(--vxe-table-footer-background-color);
|
|
}
|
|
}
|
|
.vxe-table--header,
|
|
.vxe-table--body,
|
|
.vxe-table--footer {
|
|
border: 0;
|
|
border-spacing: 0;
|
|
border-collapse: separate;
|
|
table-layout: fixed;
|
|
}
|
|
.vxe-table--header-wrapper,
|
|
.vxe-table--footer-wrapper {
|
|
overflow-x: hidden;
|
|
overflow-y: hidden;
|
|
}
|
|
&:not(.is--empty) {
|
|
&.is--footer {
|
|
&.is--scroll-x {
|
|
.vxe-table--body-wrapper {
|
|
overflow-x: scroll;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.vxe-body--row {
|
|
&.row--stripe {
|
|
background-color: var(--vxe-table-row-striped-background-color);
|
|
}
|
|
&.row--radio {
|
|
background-color: var(--vxe-table-row-radio-checked-background-color);
|
|
}
|
|
&.row--checked {
|
|
background-color: var(--vxe-table-row-checkbox-checked-background-color);
|
|
}
|
|
&.row--current {
|
|
background-color: var(--vxe-table-row-current-background-color);
|
|
}
|
|
&.row--hover {
|
|
background-color: var(--vxe-table-row-hover-background-color);
|
|
&.row--stripe {
|
|
background-color: var(--vxe-table-row-hover-striped-background-color);
|
|
}
|
|
&.row--radio {
|
|
background-color: var(--vxe-table-row-hover-radio-checked-background-color);
|
|
}
|
|
&.row--checked {
|
|
background-color: var(--vxe-table-row-hover-checkbox-checked-background-color);
|
|
}
|
|
&.row--current {
|
|
background-color: var(--vxe-table-row-hover-current-background-color);
|
|
}
|
|
}
|
|
}
|
|
// &.is--tree-line {
|
|
// .vxe-body--row {
|
|
// &.row--stripe {
|
|
// .vxe-tree--btn-wrapper {
|
|
// background-color: var(--vxe-table-row-striped-background-color);
|
|
// }
|
|
// }
|
|
// &.row--radio {
|
|
// .vxe-tree--btn-wrapper {
|
|
// background-color: var(--vxe-table-row-radio-checked-background-color);
|
|
// }
|
|
// }
|
|
// &.row--checked {
|
|
// .vxe-tree--btn-wrapper {
|
|
// background-color: var(--vxe-table-row-checkbox-checked-background-color);
|
|
// }
|
|
// }
|
|
// &.row--current {
|
|
// .vxe-tree--btn-wrapper {
|
|
// background-color: var(--vxe-table-row-current-background-color);
|
|
// }
|
|
// }
|
|
// &.row--hover {
|
|
// .vxe-tree--btn-wrapper {
|
|
// background-color: var(--vxe-table-row-hover-background-color);
|
|
// }
|
|
// &.row--stripe {
|
|
// .vxe-tree--btn-wrapper {
|
|
// background-color: var(--vxe-table-row-hover-striped-background-color);
|
|
// }
|
|
// }
|
|
// &.row--radio {
|
|
// .vxe-tree--btn-wrapper {
|
|
// background-color: var(--vxe-table-row-hover-radio-checked-background-color);
|
|
// }
|
|
// }
|
|
// &.row--checked {
|
|
// .vxe-tree--btn-wrapper {
|
|
// background-color: var(--vxe-table-row-hover-checkbox-checked-background-color);
|
|
// }
|
|
// }
|
|
// &.row--current {
|
|
// .vxe-tree--btn-wrapper {
|
|
// background-color: var(--vxe-table-row-hover-current-background-color);
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
&.drag--resize {
|
|
.vxe-table--main-wrapper,
|
|
.vxe-table--fixed-left-wrapper,
|
|
.vxe-table--fixed-right-wrapper {
|
|
* {
|
|
cursor: col-resize;
|
|
}
|
|
}
|
|
}
|
|
&.drag--range,
|
|
&.drag--area {
|
|
.vxe-table--main-wrapper,
|
|
.vxe-table--fixed-left-wrapper,
|
|
.vxe-table--fixed-right-wrapper {
|
|
* {
|
|
cursor: default;
|
|
}
|
|
}
|
|
}
|
|
&.drag--extend-range {
|
|
.vxe-table--main-wrapper,
|
|
.vxe-table--fixed-left-wrapper,
|
|
.vxe-table--fixed-right-wrapper {
|
|
* {
|
|
cursor: crosshair;
|
|
}
|
|
}
|
|
}
|
|
&.column--highlight {
|
|
.vxe-header--column {
|
|
&:not(.col--seq) {
|
|
&:hover {
|
|
background-color: var(--vxe-table-column-hover-background-color);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&.cell--area {
|
|
.vxe-table--main-wrapper {
|
|
user-select: none;
|
|
}
|
|
}
|
|
&.drag--range {
|
|
.vxe-cell--checkbox {
|
|
user-select: none;
|
|
}
|
|
}
|
|
.vxe-header--column,
|
|
.vxe-body--column,
|
|
.vxe-footer--column {
|
|
position: relative;
|
|
line-height: var(--vxe-table-row-line-height);
|
|
text-align: left;
|
|
&:not(.col--ellipsis) {
|
|
padding: var(--vxe-table-column-padding-default);
|
|
}
|
|
&.col--current {
|
|
background-color: var(--vxe-table-column-current-background-color);
|
|
// .vxe-tree--btn-wrapper {
|
|
// background-color: var(--vxe-table-column-current-background-color);
|
|
// }
|
|
}
|
|
&.col--center {
|
|
text-align: center;
|
|
}
|
|
&.col--right {
|
|
text-align: right;
|
|
}
|
|
}
|
|
// &.is--tree-line {
|
|
// .vxe-header--column,
|
|
// .vxe-body--column,
|
|
// .vxe-footer--column {
|
|
// &.col--current {
|
|
// .vxe-tree--btn-wrapper {
|
|
// background-color: var(--vxe-table-column-current-background-color);
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
.vxe-header--column,
|
|
.vxe-footer--column {
|
|
&.col--ellipsis {
|
|
&.col--center {
|
|
.vxe-cell{
|
|
justify-content: center;
|
|
}
|
|
}
|
|
&.col--right {
|
|
.vxe-cell{
|
|
justify-content: flex-end;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/*边框*/
|
|
.vxe-table--footer-wrapper {
|
|
border-top: var(--vxe-table-border-width) solid var(--vxe-table-border-color);
|
|
}
|
|
&.border--default,
|
|
&.border--full,
|
|
&.border--outer {
|
|
.vxe-table--header-wrapper {
|
|
background-color: var(--vxe-table-header-background-color);
|
|
}
|
|
}
|
|
&.border--default,
|
|
&.border--inner {
|
|
.vxe-header--column,
|
|
.vxe-body--column,
|
|
.vxe-footer--column {
|
|
background-image: linear-gradient(var(--vxe-table-border-color), var(--vxe-table-border-color));
|
|
background-repeat: no-repeat;
|
|
background-size: 100% var(--vxe-table-border-width);
|
|
background-position: right bottom;
|
|
}
|
|
}
|
|
&.border--full {
|
|
.vxe-header--column,
|
|
.vxe-body--column,
|
|
.vxe-footer--column {
|
|
background-image: linear-gradient(var(--vxe-table-border-color), var(--vxe-table-border-color)), linear-gradient(var(--vxe-table-border-color), var(--vxe-table-border-color));
|
|
background-repeat: no-repeat;
|
|
background-size: var(--vxe-table-border-width) 100%, 100% var(--vxe-table-border-width);
|
|
background-position: right top, right bottom;
|
|
}
|
|
.vxe-table--fixed-left-wrapper {
|
|
// border-right: 1px solid var(--vxe-table-border-color);
|
|
.vxe-body--column{
|
|
border-right-color: var(--vxe-table-border-color);
|
|
}
|
|
}
|
|
}
|
|
&.border--default,
|
|
&.border--full,
|
|
&.border--outer,
|
|
&.border--inner {
|
|
.vxe-table--header-wrapper {
|
|
.vxe-header--row {
|
|
&:last-child {
|
|
.vxe-header--gutter {
|
|
background-image: linear-gradient(var(--vxe-table-border-color), var(--vxe-table-border-color));
|
|
background-repeat: no-repeat;
|
|
background-size: 100% var(--vxe-table-border-width);
|
|
background-position: right bottom;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&.border--inner,
|
|
&.border--none {
|
|
.vxe-table--header-wrapper {
|
|
background-color: var(--vxe-table-header-background-color);
|
|
}
|
|
.vxe-table--fixed-left-wrapper {
|
|
border-right: 0;
|
|
}
|
|
}
|
|
&.border--inner {
|
|
.vxe-table--border-line {
|
|
border-width: 0 0 1px 0;
|
|
}
|
|
}
|
|
&.border--none {
|
|
.vxe-table--border-line {
|
|
display: none;
|
|
}
|
|
.vxe-table--header-border-line {
|
|
display: none;
|
|
}
|
|
}
|
|
|
|
&.size--medium {
|
|
font-size: var(--vxe-font-size-medium);
|
|
.vxe-table--empty-placeholder,
|
|
.vxe-table--empty-block {
|
|
min-height: var(--vxe-table-row-height-medium);
|
|
}
|
|
.vxe-header--column,
|
|
.vxe-body--column,
|
|
.vxe-footer--column {
|
|
&:not(.col--ellipsis) {
|
|
padding: var(--vxe-table-column-padding-medium);
|
|
}
|
|
}
|
|
.vxe-cell {
|
|
.vxe-default-input,
|
|
.vxe-default-textarea,
|
|
.vxe-default-select {
|
|
height: var(--vxe-input-height-medium);
|
|
}
|
|
.vxe-default-input {
|
|
&[type="date"]::-webkit-inner-spin-button {
|
|
margin-top: 3px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&.size--small {
|
|
font-size: var(--vxe-font-size-small);
|
|
.vxe-table--empty-placeholder,
|
|
.vxe-table--empty-block {
|
|
min-height: var(--vxe-table-row-height-small);
|
|
}
|
|
.vxe-header--column,
|
|
.vxe-body--column,
|
|
.vxe-footer--column {
|
|
&:not(.col--ellipsis) {
|
|
padding: var(--vxe-table-column-padding-small);
|
|
}
|
|
}
|
|
.vxe-cell {
|
|
.vxe-default-input,
|
|
.vxe-default-textarea,
|
|
.vxe-default-select {
|
|
height: var(--vxe-input-height-small);
|
|
}
|
|
.vxe-default-input {
|
|
&[type="date"]::-webkit-inner-spin-button {
|
|
margin-top: 2px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&.size--mini {
|
|
font-size: var(--vxe-font-size-mini);
|
|
.vxe-table--empty-placeholder,
|
|
.vxe-table--empty-block {
|
|
min-height: var(--vxe-table-row-height-mini);
|
|
}
|
|
.vxe-header--column,
|
|
.vxe-body--column,
|
|
.vxe-footer--column {
|
|
&:not(.col--ellipsis) {
|
|
padding: var(--vxe-table-column-padding-mini);
|
|
}
|
|
}
|
|
.vxe-cell {
|
|
.vxe-default-input,
|
|
.vxe-default-textarea,
|
|
.vxe-default-select {
|
|
height: var(--vxe-input-height-mini);
|
|
}
|
|
.vxe-default-input {
|
|
&[type="date"]::-webkit-inner-spin-button {
|
|
margin-top: 1px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.vxe-cell {
|
|
white-space: pre-line;
|
|
word-break: break-all;
|
|
padding-left: var(--vxe-table-cell-padding-left);
|
|
padding-right: var(--vxe-table-cell-padding-right);
|
|
}
|
|
|
|
// 单元格占位符
|
|
.vxe-cell--placeholder {
|
|
color: var(--vxe-table-cell-placeholder-color);
|
|
}
|
|
|
|
// 单选框和复选框
|
|
.vxe-cell--radio {
|
|
@include createRadioIcon();
|
|
}
|
|
.vxe-cell--checkbox {
|
|
@include createCheckboxIcon();
|
|
}
|
|
|
|
.fixed--hidden {
|
|
visibility: hidden;
|
|
}
|
|
.vxe-table--fixed-left-wrapper,
|
|
.vxe-table--fixed-right-wrapper {
|
|
width: 100%;
|
|
position: absolute;
|
|
top: 0;
|
|
z-index: 5;
|
|
overflow: hidden;
|
|
background-color: inherit;
|
|
transition: 0.3s box-shadow;
|
|
.vxe-table--body-wrapper {
|
|
overflow-x: hidden;
|
|
}
|
|
}
|
|
.vxe-table--fixed-left-wrapper {
|
|
.vxe-table--body-wrapper {
|
|
width: calc(100% + 40px);
|
|
}
|
|
}
|
|
&.is--header {
|
|
.vxe-table--fixed-left-wrapper,
|
|
.vxe-table--fixed-right-wrapper {
|
|
.vxe-table--body-wrapper {
|
|
&:before {
|
|
display: none;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.vxe-table--fixed-left-wrapper {
|
|
left: 0;
|
|
width: 200px;
|
|
&.scrolling--middle {
|
|
box-shadow: var(--vxe-table-fixed-left-scrolling-box-shadow);
|
|
}
|
|
}
|
|
.vxe-table--fixed-right-wrapper {
|
|
right: 0;
|
|
&.scrolling--middle {
|
|
box-shadow: var(--vxe-table-fixed-right-scrolling-box-shadow);
|
|
}
|
|
}
|
|
.vxe-table--header-wrapper,
|
|
.vxe-table--body-wrapper,
|
|
.vxe-table--footer-wrapper {
|
|
position: relative;
|
|
&.fixed-left--wrapper,
|
|
&.fixed-right--wrapper {
|
|
position: absolute;
|
|
top: 0;
|
|
}
|
|
&.fixed-left--wrapper {
|
|
left: 0;
|
|
}
|
|
&.fixed-right--wrapper {
|
|
right: 0;
|
|
overflow-y: auto;
|
|
}
|
|
}
|
|
.vxe-body--x-space {
|
|
width: 100%;
|
|
height: 1px;
|
|
margin-bottom: -1px;
|
|
}
|
|
.vxe-body--y-space {
|
|
width: 0;
|
|
float: left;
|
|
}
|
|
|
|
/*列宽线*/
|
|
.vxe-table--resizable-bar {
|
|
display: none;
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 1px;
|
|
height: 100%;
|
|
z-index: 9;
|
|
cursor: col-resize;
|
|
&:before {
|
|
content: "";
|
|
display: block;
|
|
height: 100%;
|
|
background-color: var(--vxe-table-resizable-drag-line-color);
|
|
}
|
|
}
|
|
|
|
/*边框线*/
|
|
.vxe-table--border-line {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
z-index: 10;
|
|
pointer-events: none;
|
|
border: var(--vxe-table-border-width) solid var(--vxe-table-border-color);
|
|
}
|
|
|
|
/*树形节点*/
|
|
// &.is--tree-line {
|
|
// .vxe-body--row {
|
|
// &:first-child {
|
|
// .vxe-tree--line {
|
|
// border-width: 0 0 1px 0;
|
|
// }
|
|
// }
|
|
// }
|
|
// .vxe-body--row {
|
|
// .vxe-body--column {
|
|
// background-image: none;
|
|
// }
|
|
// }
|
|
// }
|
|
.vxe-tree--line-wrapper {
|
|
position: relative;
|
|
display: block;
|
|
height: 0;
|
|
}
|
|
.vxe-tree--line {
|
|
content: "";
|
|
position: absolute;
|
|
bottom: -0.9em;
|
|
width: 0.8em;
|
|
border-width: 0 0 1px 1px;
|
|
border-style: var(--vxe-table-tree-node-line-style);
|
|
border-color: var(--vxe-table-tree-node-line-color);
|
|
pointer-events: none;
|
|
}
|
|
.vxe-cell--tree-node {
|
|
position: relative;
|
|
}
|
|
.vxe-tree--btn-wrapper {
|
|
position: absolute;
|
|
top: 50%;
|
|
width: 1em;
|
|
height: 1em;
|
|
text-align: center;
|
|
transform: translateY(-50%);
|
|
z-index: 1;
|
|
user-select: none;
|
|
cursor: pointer;
|
|
}
|
|
.vxe-tree--node-btn {
|
|
display: block;
|
|
color: var(--vxe-font-lighten-color);
|
|
&:hover {
|
|
color: var(--vxe-font-color);
|
|
}
|
|
}
|
|
.vxe-tree-cell {
|
|
display: block;
|
|
padding-left: 1.5em;
|
|
}
|
|
.vxe-body--column {
|
|
&.col--ellipsis {
|
|
& > .vxe-cell {
|
|
.vxe-tree-cell {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/*展开行*/
|
|
.vxe-table--expanded {
|
|
cursor: pointer;
|
|
.vxe-table--expand-btn {
|
|
display: inline-block;
|
|
width: 1em;
|
|
height: 1em;
|
|
text-align: center;
|
|
user-select: none;
|
|
color: var(--vxe-font-lighten-color);
|
|
&:hover {
|
|
color: var(--vxe-font-color);
|
|
}
|
|
}
|
|
&+.vxe-table--expand-label {
|
|
padding-left: 0.5em;
|
|
}
|
|
}
|
|
.vxe-body--expanded-column {
|
|
border-bottom: var(--vxe-table-border-width) solid var(--vxe-table-border-color);
|
|
&.col--ellipsis {
|
|
& > .vxe-body--expanded-cell {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
}
|
|
.vxe-body--expanded-cell {
|
|
position: relative;
|
|
z-index: 1;
|
|
&.is--ellipsis {
|
|
overflow: auto;
|
|
}
|
|
}
|
|
|
|
/*设置列高度*/
|
|
&.vxe-editable {
|
|
.vxe-body--column {
|
|
@extend %DefaultColumnHeight;
|
|
}
|
|
&.size--medium {
|
|
.vxe-body--column {
|
|
@extend %MediumColumnHeight;
|
|
}
|
|
}
|
|
&.size--small {
|
|
.vxe-body--column {
|
|
@extend %SmallColumnHeight;
|
|
}
|
|
}
|
|
&.size--mini {
|
|
.vxe-body--column {
|
|
@extend %MiniColumnHeight;
|
|
}
|
|
}
|
|
}
|
|
|
|
/*溢出列*/
|
|
.vxe-header--column,
|
|
.vxe-body--column,
|
|
.vxe-footer--column {
|
|
&.col--ellipsis {
|
|
@extend %DefaultColumnHeight;
|
|
&:not(.col--active) {
|
|
& > .vxe-cell {
|
|
@extend %TextEllipsis;
|
|
}
|
|
}
|
|
& > .vxe-cell {
|
|
max-height: var(--vxe-table-row-height-default);
|
|
}
|
|
}
|
|
}
|
|
&.size--medium {
|
|
.vxe-header--column,
|
|
.vxe-body--column,
|
|
.vxe-footer--column {
|
|
&.col--ellipsis {
|
|
@extend %MediumColumnHeight;
|
|
& > .vxe-cell {
|
|
max-height: var(--vxe-table-row-height-medium);
|
|
}
|
|
}
|
|
}
|
|
.vxe-cell--checkbox {
|
|
font-size: var(--vxe-checkbox-font-size-medium);
|
|
}
|
|
.vxe-cell--radio {
|
|
font-size: var(--vxe-radio-font-size-medium);
|
|
}
|
|
}
|
|
&.size--small {
|
|
.vxe-header--column,
|
|
.vxe-body--column,
|
|
.vxe-footer--column {
|
|
&.col--ellipsis {
|
|
@extend %SmallColumnHeight;
|
|
& > .vxe-cell {
|
|
max-height: var(--vxe-table-row-height-small);
|
|
}
|
|
}
|
|
}
|
|
.vxe-cell--checkbox {
|
|
font-size: var(--vxe-checkbox-font-size-small);
|
|
}
|
|
.vxe-cell--radio {
|
|
font-size: var(--vxe-radio-font-size-small);
|
|
}
|
|
}
|
|
&.size--mini {
|
|
.vxe-header--column,
|
|
.vxe-body--column,
|
|
.vxe-footer--column {
|
|
&.col--ellipsis {
|
|
@extend %MiniColumnHeight;
|
|
& > .vxe-cell {
|
|
max-height: var(--vxe-table-row-height-mini);
|
|
}
|
|
}
|
|
}
|
|
.vxe-cell--checkbox {
|
|
font-size: var(--vxe-checkbox-font-size-mini);
|
|
}
|
|
.vxe-cell--radio {
|
|
font-size: var(--vxe-radio-font-size-mini);
|
|
}
|
|
}
|
|
|
|
/*暂无数据*/
|
|
.vxe-table--empty-placeholder,
|
|
.vxe-table--empty-block {
|
|
min-height: var(--vxe-table-row-height-default);
|
|
justify-content: center;
|
|
align-items: center;
|
|
text-align: center;
|
|
overflow: hidden;
|
|
width: 100%;
|
|
pointer-events: none;
|
|
}
|
|
.vxe-table--empty-block {
|
|
display: none;
|
|
visibility: hidden;
|
|
}
|
|
.vxe-table--empty-placeholder {
|
|
display: none;
|
|
position: absolute;
|
|
top: 0;
|
|
z-index: 5;
|
|
}
|
|
.vxe-table--empty-content {
|
|
display: block;
|
|
width: 50%;
|
|
pointer-events: auto;
|
|
}
|
|
&.is--empty {
|
|
.vxe-table--empty-block,
|
|
.vxe-table--empty-placeholder {
|
|
display: flex;
|
|
}
|
|
}
|
|
|
|
.vxe-body--column {
|
|
&.col--selected {
|
|
box-shadow: inset 0px 0px 0px 2px var(--vxe-primary-color);
|
|
}
|
|
}
|
|
|
|
/*校验不通过*/
|
|
.vxe-body--column {
|
|
&.col--active,
|
|
&.col--selected {
|
|
position: relative;
|
|
}
|
|
&.col--valid-error {
|
|
.vxe-cell--valid-error-hint {
|
|
width: 100%;
|
|
position: absolute;
|
|
left: 50%;
|
|
font-size: 12px;
|
|
line-height: 1.2em;
|
|
transform: translateX(-50%);
|
|
text-align: left;
|
|
z-index: 4;
|
|
padding-left: var(--vxe-table-cell-padding-left);
|
|
padding-right: var(--vxe-table-cell-padding-right);
|
|
.vxe-cell--valid-error-msg {
|
|
display: inline-block;
|
|
border-radius: var(--vxe-border-radius);
|
|
color: var(--vxe-table-validate-error-color);
|
|
background-color: var(--vxe-table-validate-error-background-color);
|
|
pointer-events: auto;
|
|
}
|
|
}
|
|
.vxe-default-input,
|
|
.vxe-default-textarea,
|
|
.vxe-default-select {
|
|
border-color: var(--vxe-table-validate-error-color);
|
|
}
|
|
.vxe-input {
|
|
> .vxe-input--inner {
|
|
border-color: var(--vxe-table-validate-error-color);
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
&.valid-msg--single {
|
|
.vxe-body--row {
|
|
&:last-child {
|
|
.vxe-cell--valid-error-hint {
|
|
bottom: calc(100%);
|
|
}
|
|
&:first-child {
|
|
.vxe-cell--valid-error-hint {
|
|
bottom: auto;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
&.valid-msg--full {
|
|
.vxe-body--row {
|
|
&:last-child {
|
|
.vxe-cell--valid-error-hint {
|
|
top: calc(100% - 1.3em);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/*已废弃,旧的校验样式**/
|
|
&.old-cell-valid {
|
|
.vxe-body--column {
|
|
&.col--valid-error {
|
|
.vxe-cell--valid-error-hint {
|
|
width: 320px;
|
|
position: absolute;
|
|
bottom: calc(100% + 4px);
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
text-align: center;
|
|
pointer-events: none;
|
|
z-index: 4;
|
|
.vxe-cell--valid-error-msg {
|
|
display: inline-block;
|
|
border-radius: $vxe-border-radius;
|
|
padding: 8px 12px;
|
|
color: #fff;
|
|
background-color: #f56c6c;
|
|
pointer-events: auto;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.vxe-body--row {
|
|
&:first-child {
|
|
.vxe-cell--valid-error-hint {
|
|
bottom: auto;
|
|
top: calc(100% + 4px);
|
|
}
|
|
}
|
|
}
|
|
.vxe-body--column {
|
|
&:first-child {
|
|
.vxe-cell--valid-error-hint {
|
|
left: 10px;
|
|
transform: translateX(0);
|
|
text-align: left;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/*单元格标记删除状态*/
|
|
.vxe-body--row {
|
|
&.row--pending {
|
|
color: var(--vxe-table-validate-error-color);
|
|
text-decoration: line-through;
|
|
cursor: no-drop;
|
|
.vxe-body--column {
|
|
position: relative;
|
|
&:after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 0;
|
|
border-bottom: 1px solid var(--vxe-table-validate-error-color);
|
|
z-index: 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/*单元格编辑状态*/
|
|
.vxe-body--row {
|
|
&.row--new {
|
|
& > .vxe-body--column {
|
|
position: relative;
|
|
&:before {
|
|
content: "";
|
|
top: calc(var(--vxe-table-cell-dirty-width) * -1);
|
|
left: calc(var(--vxe-table-cell-dirty-width) * -1);
|
|
position: absolute;
|
|
border-width: var(--vxe-table-cell-dirty-width);
|
|
border-style: solid;
|
|
border-color: transparent var(--vxe-table-cell-dirty-insert-color) transparent transparent;
|
|
transform: rotate(45deg);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.vxe-body--column {
|
|
&.col--dirty {
|
|
position: relative;
|
|
&:before {
|
|
content: "";
|
|
top: calc(var(--vxe-table-cell-dirty-width) * -1);
|
|
left: calc(var(--vxe-table-cell-dirty-width) * -1);
|
|
position: absolute;
|
|
border-width: var(--vxe-table-cell-dirty-width);
|
|
border-style: solid;
|
|
border-color: transparent var(--vxe-table-cell-dirty-update-color) transparent transparent;
|
|
transform: rotate(45deg);
|
|
}
|
|
}
|
|
}
|
|
|
|
/*可编辑*/
|
|
&.vxe-editable {
|
|
&.cell--highlight {
|
|
.vxe-body--column {
|
|
&.col--active {
|
|
box-shadow: inset 0px 0px 0px 2px var(--vxe-primary-color);
|
|
&.col--valid-error {
|
|
box-shadow: inset 0px 0px 0px 2px var(--vxe-table-validate-error-color);
|
|
}
|
|
.vxe-cell {
|
|
.vxe-default-input,
|
|
.vxe-default-textarea {
|
|
border: 0;
|
|
padding: 0;
|
|
}
|
|
.vxe-default-input {
|
|
height: var(--vxe-table-row-line-height);
|
|
}
|
|
.vxe-input {
|
|
.vxe-input--inner {
|
|
border: 0;
|
|
padding-left: 0;
|
|
}
|
|
}
|
|
.vxe-textarea {
|
|
height: calc(var(--vxe-table-row-line-height) - 1px);
|
|
.vxe-textarea--inner {
|
|
border: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.vxe-body--column {
|
|
padding: 0;
|
|
&.col--active {
|
|
padding: 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/*valid error*/
|
|
div.vxe-table--tooltip-wrapper {
|
|
&.vxe-table--valid-error {
|
|
padding: 0;
|
|
color: var(--vxe-table-validate-error-color);
|
|
background-color: var(--vxe-table-validate-error-background-color);
|
|
&.old-cell-valid {
|
|
padding: 8px 12px;
|
|
background-color: #f56c6c;
|
|
color: #fff;
|
|
}
|
|
}
|
|
}
|
|
|
|
/*footer*/
|
|
.vxe-table--footer-wrapper {
|
|
color: var(--vxe-table-footer-font-color);
|
|
margin-top: -1px;
|
|
&.body--wrapper{
|
|
overflow-x: auto;
|
|
}
|
|
}
|
|
|
|
.vxe-footer--column {
|
|
&.col--ellipsis {
|
|
& > .vxe-cell {
|
|
display: flex;
|
|
align-items: center;
|
|
.vxe-cell--item {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
}
|
|
} |