350 lines
8.1 KiB
Vue
350 lines
8.1 KiB
Vue
<!--<template>-->
|
|
<!-- <div>-->
|
|
<!-- <div class="ant-spin-nested-loading" v-if="spinning && $slots.default">-->
|
|
<!-- <div class="ant-spin ant-spin-spinning" :class="{ 'ant-spin-lg': size === 'large', 'ant-spin-small': size === 'small' }">-->
|
|
<!-- <span class="ant-spin-dot ant-spin-dot-spin">-->
|
|
<!-- <i class="ant-spin-dot-item"></i>-->
|
|
<!-- <i class="ant-spin-dot-item"></i>-->
|
|
<!-- <i class="ant-spin-dot-item"></i>-->
|
|
<!-- <i class="ant-spin-dot-item"></i>-->
|
|
<!-- </span>-->
|
|
<!-- <div class="ant-spin-text" v-if="$props.tip">-->
|
|
<!-- {{ tip }}-->
|
|
<!-- </div>-->
|
|
<!-- </div>-->
|
|
<!-- <div class="ant-spin-container" :class="{ 'ant-spin-blur': spinning }">-->
|
|
<!-- <slot></slot>-->
|
|
<!-- </div>-->
|
|
<!-- </div>-->
|
|
|
|
<!-- <div class="ant-spin ant-spin-spinning" :class="{ 'ant-spin-lg': size === 'large', 'ant-spin-small': size === 'small' }" v-else>-->
|
|
<!-- <span class="ant-spin-dot ant-spin-dot-spin">-->
|
|
<!-- <i class="ant-spin-dot-item"></i>-->
|
|
<!-- <i class="ant-spin-dot-item"></i>-->
|
|
<!-- <i class="ant-spin-dot-item"></i>-->
|
|
<!-- <i class="ant-spin-dot-item"></i>-->
|
|
<!-- </span>-->
|
|
<!-- <div class="ant-spin-text" v-if="$props.tip">-->
|
|
<!-- {{ tip }}-->
|
|
<!-- </div>-->
|
|
<!-- </div>-->
|
|
<!-- </div>-->
|
|
<!--</template>-->
|
|
|
|
<!--<script>-->
|
|
<!--module.exports = {-->
|
|
<!-- name: "index",-->
|
|
<!-- props: {-->
|
|
<!-- size: String,-->
|
|
<!-- tip: String,-->
|
|
<!-- spinning: Boolean-->
|
|
<!-- },-->
|
|
<!-- computed: {}-->
|
|
<!--}-->
|
|
<!--</script>-->
|
|
|
|
<template>
|
|
<!-- <div :class="spinClassName" :style="style">-->
|
|
<!-- <div v-if="renderIndicator" class="ant-spin-dot">-->
|
|
<!-- <span class="ant-spin-dot-item"></span>-->
|
|
<!-- <span class="ant-spin-dot-item"></span>-->
|
|
<!-- <span class="ant-spin-dot-item"></span>-->
|
|
<!-- <span class="ant-spin-dot-item"></span>-->
|
|
<!-- </div>-->
|
|
<!-- <div v-if="tip" class="ant-spin-text">{{ tip }}</div>-->
|
|
<!-- <slot></slot>-->
|
|
<!-- </div>-->
|
|
<div class="ant-spin-nested-loading" data-v-2f42c11b="">
|
|
<div>
|
|
<div class="ant-spin ant-spin-spinning">
|
|
<span class="ant-spin-dot ant-spin-dot-spin">
|
|
<i class="ant-spin-dot-item"></i>
|
|
<i class="ant-spin-dot-item"></i>
|
|
<i class="ant-spin-dot-item"></i>
|
|
<i class="ant-spin-dot-item"></i>
|
|
</span>
|
|
<!---->
|
|
</div>
|
|
</div>
|
|
<div class="ant-spin-container ant-spin-blur">
|
|
<el-alert>
|
|
<p>22222222222222</p>
|
|
<p>22222222222222</p>
|
|
<p>22222222222222</p>
|
|
<p>22222222222222</p>
|
|
<p>22222222222222</p>
|
|
</el-alert>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
module.exports = {
|
|
name: "EL_SPIN",
|
|
props: {
|
|
spinning: {
|
|
type: Boolean,
|
|
default: undefined
|
|
},
|
|
size: String,
|
|
wrapperClassName: String,
|
|
tip: String,
|
|
delay: Number,
|
|
indicator: String
|
|
},
|
|
computed: {
|
|
spinClassName() {
|
|
const { size, spinning } = this
|
|
return {
|
|
[`ant-spin`]: true,
|
|
[`ant-spin-sm`]: size === "small",
|
|
[`ant-spin-lg`]: size === "large",
|
|
[`ant-spin-spinning`]: spinning,
|
|
[`ant-spin-show-text`]: !!this.tip,
|
|
[`ant-spin-rtl`]: this.direction === "rtl"
|
|
}
|
|
},
|
|
renderIndicator() {
|
|
// const indicator = getComponent(this, "indicator")
|
|
// return indicator !== null && !Array.isArray(indicator)
|
|
return true
|
|
},
|
|
style() {
|
|
return this.$attrs.style
|
|
},
|
|
direction() {
|
|
// return this.configProvider.direction
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
.ant-spin {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
color: #000000d9;
|
|
font-size: 14px;
|
|
font-variant: tabular-nums;
|
|
line-height: 1.5715;
|
|
list-style: none;
|
|
font-feature-settings: tnum;
|
|
position: absolute;
|
|
display: none;
|
|
color: #1890ff;
|
|
text-align: center;
|
|
vertical-align: middle;
|
|
opacity: 0;
|
|
transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
|
|
}
|
|
|
|
.ant-spin-spinning {
|
|
position: static;
|
|
display: inline-block;
|
|
opacity: 1;
|
|
}
|
|
|
|
.ant-spin-nested-loading {
|
|
position: relative;
|
|
}
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
z-index: 4;
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
max-height: 400px;
|
|
}
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin .ant-spin-dot {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
margin: -10px;
|
|
}
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin .ant-spin-text {
|
|
position: absolute;
|
|
top: 50%;
|
|
width: 100%;
|
|
padding-top: 5px;
|
|
text-shadow: 0 1px 2px #fff;
|
|
}
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin.ant-spin-show-text .ant-spin-dot {
|
|
margin-top: -20px;
|
|
}
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin-sm .ant-spin-dot {
|
|
margin: -7px;
|
|
}
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin-sm .ant-spin-text {
|
|
padding-top: 2px;
|
|
}
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin-sm.ant-spin-show-text .ant-spin-dot {
|
|
margin-top: -17px;
|
|
}
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin-lg .ant-spin-dot {
|
|
margin: -16px;
|
|
}
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin-lg .ant-spin-text {
|
|
padding-top: 11px;
|
|
}
|
|
|
|
.ant-spin-nested-loading > div > .ant-spin-lg.ant-spin-show-text .ant-spin-dot {
|
|
margin-top: -26px;
|
|
}
|
|
|
|
.ant-spin-container {
|
|
position: relative;
|
|
transition: opacity 0.3s;
|
|
}
|
|
|
|
.ant-spin-container:after {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
z-index: 10;
|
|
display: none \;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: #fff;
|
|
opacity: 0;
|
|
transition: all 0.3s;
|
|
content: "";
|
|
pointer-events: none;
|
|
}
|
|
|
|
.ant-spin-blur {
|
|
clear: both;
|
|
overflow: hidden;
|
|
opacity: 0.5;
|
|
user-select: none;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.ant-spin-blur:after {
|
|
opacity: 0.4;
|
|
pointer-events: auto;
|
|
}
|
|
|
|
.ant-spin-tip {
|
|
color: #00000073;
|
|
}
|
|
|
|
.ant-spin-dot {
|
|
position: relative;
|
|
display: inline-block;
|
|
font-size: 20px;
|
|
width: 1em;
|
|
height: 1em;
|
|
}
|
|
|
|
.ant-spin-dot-item {
|
|
position: absolute;
|
|
display: block;
|
|
width: 9px;
|
|
height: 9px;
|
|
background-color: #1890ff;
|
|
border-radius: 100%;
|
|
transform: scale(0.75);
|
|
transform-origin: 50% 50%;
|
|
opacity: 0.3;
|
|
animation: antSpinMove 1s infinite linear alternate;
|
|
}
|
|
|
|
.ant-spin-dot-item:nth-child(1) {
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
|
|
.ant-spin-dot-item:nth-child(2) {
|
|
top: 0;
|
|
right: 0;
|
|
animation-delay: 0.4s;
|
|
}
|
|
|
|
.ant-spin-dot-item:nth-child(3) {
|
|
right: 0;
|
|
bottom: 0;
|
|
animation-delay: 0.8s;
|
|
}
|
|
|
|
.ant-spin-dot-item:nth-child(4) {
|
|
bottom: 0;
|
|
left: 0;
|
|
animation-delay: 1.2s;
|
|
}
|
|
|
|
.ant-spin-dot-spin {
|
|
transform: rotate(45deg);
|
|
animation: antRotate 1.2s infinite linear;
|
|
}
|
|
|
|
.ant-spin-sm .ant-spin-dot {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.ant-spin-sm .ant-spin-dot i {
|
|
width: 6px;
|
|
height: 6px;
|
|
}
|
|
|
|
.ant-spin-lg .ant-spin-dot {
|
|
font-size: 32px;
|
|
}
|
|
|
|
.ant-spin-lg .ant-spin-dot i {
|
|
width: 14px;
|
|
height: 14px;
|
|
}
|
|
|
|
.ant-spin.ant-spin-show-text .ant-spin-text {
|
|
display: block;
|
|
}
|
|
|
|
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
|
|
.ant-spin-blur {
|
|
background: #fff;
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
|
|
@keyframes antSpinMove {
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes antRotate {
|
|
to {
|
|
transform: rotate(405deg);
|
|
}
|
|
}
|
|
|
|
.ant-spin-rtl {
|
|
direction: rtl;
|
|
}
|
|
|
|
.ant-spin-rtl .ant-spin-dot-spin {
|
|
transform: rotate(-45deg);
|
|
animation-name: antRotateRtl;
|
|
}
|
|
|
|
@keyframes antRotateRtl {
|
|
to {
|
|
transform: rotate(-405deg);
|
|
}
|
|
}
|
|
</style>
|