You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
526 lines
9.5 KiB
526 lines
9.5 KiB
<script setup lang="ts">
|
|
import zhCn from "element-plus/dist/locale/zh-cn.mjs";
|
|
const locale = zhCn as any;
|
|
</script>
|
|
|
|
<template>
|
|
<el-config-provider namespace="sy" :locale="locale">
|
|
<router-view></router-view>
|
|
</el-config-provider>
|
|
</template>
|
|
|
|
<style>
|
|
html,
|
|
body {
|
|
height: 100%;
|
|
width: 100%;
|
|
margin: 0;
|
|
padding: 0;
|
|
border: none;
|
|
overflow: hidden;
|
|
font-family: "Helvetica Neue", Helvetica, Tahoma, Arial, "Microsoft Yahei", "Hiragino Sans GB", "WenQuanYi Micro Hei",
|
|
sans-serif;
|
|
font-size: 14px;
|
|
/* color: #ffffff; */
|
|
background: #000;
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
body {
|
|
position: relative;
|
|
overflow-x: hidden;
|
|
overflow-y: hidden;
|
|
}
|
|
|
|
/**************** 一个黑色面板,指向左下角黄色连线start ****************/
|
|
.div-icon {
|
|
position: absolute;
|
|
left: 0;
|
|
top: 0;
|
|
pointer-events: none;
|
|
--text-font-size: 15px;
|
|
--boder-width: 162px;
|
|
--clip-width-1: 177px;
|
|
--clip-width-2: 175px;
|
|
--boder-height: 30px;
|
|
--clip-height-1: 40px;
|
|
--clip-height-2: 38px;
|
|
--text-color: #ccc;
|
|
--border-color: #15d1f2;
|
|
--box-shadow-color: rgba(21, 209, 242, 0.5);
|
|
}
|
|
|
|
.blackPanel {
|
|
min-width: 90px;
|
|
min-height: 35px;
|
|
position: absolute;
|
|
left: 16px;
|
|
bottom: 31px;
|
|
cursor: default;
|
|
border-radius: 4px;
|
|
opacity: 0.96;
|
|
border: 1px solid #14171c;
|
|
box-shadow: 0px 2px 21px 0px rgba(33, 34, 39, 0.55);
|
|
border-radius: 4px;
|
|
box-sizing: border-box;
|
|
background: linear-gradient(0deg, #1e202a 0%, #0d1013 100%);
|
|
}
|
|
|
|
.blackPanel::before {
|
|
content: "";
|
|
width: calc(100% + 22px);
|
|
height: 39px;
|
|
position: absolute;
|
|
bottom: -39px;
|
|
left: -22px;
|
|
background: url("/img/popupLbl.png") 0px 0px no-repeat;
|
|
background-position: 0px 0px;
|
|
}
|
|
|
|
.blackPanel-text {
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: 33px;
|
|
text-align: center;
|
|
padding: 5px;
|
|
margin: 0;
|
|
font-size: 14px;
|
|
font-weight: 400;
|
|
color: #ffffff;
|
|
border: 1px solid #ffffff4f;
|
|
-webkit-box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.animation-spaceInDown {
|
|
animation-duration: 1s;
|
|
animation-fill-mode: both;
|
|
animation-name: spaceInDown;
|
|
}
|
|
|
|
@keyframes spaceInDown {
|
|
0% {
|
|
opacity: 0;
|
|
transform-origin: 0% 100%;
|
|
transform: scale(0.2) translate(0, 200%);
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
transform-origin: 0% 100%;
|
|
transform: scale(1) translate(0, 0);
|
|
}
|
|
}
|
|
|
|
@keyframes rise {
|
|
0% {
|
|
opacity: 0.1;
|
|
transform: translate(0, 100%);
|
|
}
|
|
|
|
5% {
|
|
opacity: 0.3;
|
|
transform: translate(0, 95%);
|
|
}
|
|
|
|
10% {
|
|
opacity: 0.6;
|
|
transform: translate(0, 90%);
|
|
}
|
|
|
|
15% {
|
|
opacity: 1;
|
|
transform: translate(0, 85%);
|
|
}
|
|
|
|
75% {
|
|
opacity: 1;
|
|
transform: translate(0, 25%);
|
|
}
|
|
|
|
80% {
|
|
opacity: 0.7;
|
|
transform: translate(0, 20%);
|
|
}
|
|
|
|
90% {
|
|
opacity: 0.3;
|
|
transform: translate(0, 10%);
|
|
}
|
|
|
|
95% {
|
|
opacity: 0.2;
|
|
transform: translate(0, 5%);
|
|
}
|
|
|
|
100% {
|
|
opacity: 0.1;
|
|
transform: translate(0, 0);
|
|
}
|
|
}
|
|
|
|
/**************** 一个黑色面板,指向左下角黄色连线end ****************/
|
|
|
|
@keyframes divBoderLabel-animation {
|
|
0%,
|
|
100% {
|
|
clip: rect(0px, var(--clip-width-1), 2px, 0px);
|
|
}
|
|
|
|
25% {
|
|
clip: rect(0px, 2px, var(--clip-height-1), 0px);
|
|
}
|
|
|
|
50% {
|
|
clip: rect(var(--clip-height-2), var(--clip-width-1), var(--clip-width-1), 0px);
|
|
}
|
|
|
|
75% {
|
|
clip: rect(0px, var(--clip-width-1), var(--clip-height-1), var(--clip-width-2));
|
|
}
|
|
}
|
|
|
|
.divBoderLabel-boder {
|
|
width: var(--boder-width);
|
|
height: var(--boder-height);
|
|
margin: auto;
|
|
color: var(--border-color);
|
|
box-shadow: inset 0 0 0 1px var(--box-shadow-color);
|
|
}
|
|
|
|
.divBoderLabel-text {
|
|
color: var(--text-color);
|
|
font-size: var(--text-font-size);
|
|
display: flex;
|
|
width: 100%;
|
|
height: 100%;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-weight: bolder;
|
|
user-select: none;
|
|
cursor: pointer;
|
|
font-family: 微软雅黑;
|
|
}
|
|
|
|
.divBoderLabel-boder,
|
|
.divBoderLabel-boder::before,
|
|
.divBoderLabel-boder::after {
|
|
position: absolute;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
}
|
|
|
|
.divBoderLabel-boder::before,
|
|
.divBoderLabel-boder::after {
|
|
content: "";
|
|
margin: -5%;
|
|
box-shadow: inset 0 0 0 2px;
|
|
animation: divBoderLabel-animation 8s linear infinite;
|
|
}
|
|
|
|
.divBoderLabel-boder::before {
|
|
animation-delay: -4s;
|
|
}
|
|
|
|
/**************** 一个渐变的文本面板,中间竖直连线start ****************/
|
|
.blueGradientPnl {
|
|
text-align: center;
|
|
padding: 5px 30px;
|
|
margin: 0;
|
|
color: #fff;
|
|
background: linear-gradient(rgb(7 10 203 / 75%), rgb(16 238 220));
|
|
-webkit-border-radius: 5px;
|
|
-moz-border-radius: 5px;
|
|
border-radius: 5px;
|
|
max-height: 130px;
|
|
-webkit-user-select: none;
|
|
-moz-user-select: none;
|
|
-ms-user-select: none;
|
|
user-select: none;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.blueGradientPnl:after {
|
|
content: "";
|
|
position: absolute;
|
|
bottom: -60px;
|
|
left: calc(50% - 3px);
|
|
display: block;
|
|
width: 3px;
|
|
height: 60px;
|
|
border-right: 3px solid #2bcdbb;
|
|
}
|
|
|
|
.blueGradientPnl-highlight {
|
|
border: 2px solid yellow;
|
|
}
|
|
|
|
.blueGradientPnl-highlight:after {
|
|
border-right: 3px solid yellow;
|
|
}
|
|
|
|
/**************** 一个渐变的文本面板,中间竖直连线end ****************/
|
|
|
|
/********** 面板:倾斜指向左下角的面板样式start ***********/
|
|
.tiltPanel-wrap {
|
|
position: relative;
|
|
padding: 30px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.tiltPanel .area {
|
|
position: relative;
|
|
min-width: 180px;
|
|
}
|
|
|
|
.tiltPanel .b-t {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 44px;
|
|
right: 0;
|
|
height: 1px;
|
|
z-index: 10;
|
|
}
|
|
|
|
.tiltPanel .b-r {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 44px;
|
|
width: 1px;
|
|
z-index: 10;
|
|
}
|
|
|
|
.tiltPanel .b-b {
|
|
position: absolute;
|
|
left: 0;
|
|
right: 44px;
|
|
bottom: 0;
|
|
height: 1px;
|
|
z-index: 10;
|
|
}
|
|
|
|
.tiltPanel .b-l {
|
|
position: absolute;
|
|
top: 44px;
|
|
left: 0;
|
|
bottom: 0;
|
|
width: 1px;
|
|
z-index: 10;
|
|
}
|
|
|
|
.tiltPanel .b-t-l {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 1px;
|
|
height: 62px;
|
|
transform: rotate(45deg) translate(52px, -22px);
|
|
z-index: 10;
|
|
}
|
|
|
|
.tiltPanel .b-b-r {
|
|
position: absolute;
|
|
bottom: 0;
|
|
right: 0;
|
|
width: 1px;
|
|
height: 62px;
|
|
transform: rotate(45deg) translate(-52px, 22px);
|
|
z-index: 10;
|
|
}
|
|
|
|
.tiltPanel .label-wrap {
|
|
padding-left: 12px;
|
|
color: #fff;
|
|
font-size: 16px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.tiltPanel .title {
|
|
margin-top: 20px;
|
|
padding: 0 12px 0 30px;
|
|
height: 36px;
|
|
line-height: 36px;
|
|
position: relative;
|
|
}
|
|
|
|
.tiltPanel .title::before {
|
|
content: "";
|
|
position: absolute;
|
|
bottom: -4px;
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 10;
|
|
height: 2px;
|
|
}
|
|
|
|
.tiltPanel .label-content {
|
|
padding: 15px 0;
|
|
}
|
|
|
|
.tiltPanel .data-li {
|
|
padding: 4px 45px 4px 0;
|
|
}
|
|
|
|
.tiltPanel .data-label,
|
|
.data-value {
|
|
display: inline-block;
|
|
}
|
|
|
|
.tiltPanel .data-value {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.tiltPanel .label-num {
|
|
margin-right: 3px;
|
|
color: #f09e28;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.tiltPanel .label-tag {
|
|
display: inline-block;
|
|
position: relative;
|
|
margin-right: 6px;
|
|
padding: 0 6px;
|
|
font-weight: 600;
|
|
cursor: pointer;
|
|
background-color: #909399;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
.tiltPanel .label-tag::after {
|
|
content: attr(alt);
|
|
display: inline-block;
|
|
position: absolute;
|
|
bottom: -22px;
|
|
right: -35px;
|
|
z-index: -1;
|
|
padding: 2px 4px;
|
|
color: #fff;
|
|
font-size: 14px;
|
|
background-color: #333;
|
|
border-radius: 3px;
|
|
opacity: 0;
|
|
transition: all 0.3s ease-in;
|
|
}
|
|
|
|
.tiltPanel .label-tag:hover::after {
|
|
opacity: 1;
|
|
z-index: 11;
|
|
}
|
|
|
|
.tiltPanel .data-value-status-0 {
|
|
background-color: #f0285c;
|
|
}
|
|
|
|
.tiltPanel .data-value-status-1 {
|
|
background-color: #35b15b;
|
|
}
|
|
|
|
.tiltPanel .data-value-status-2 {
|
|
background-color: #f09e28;
|
|
}
|
|
|
|
.tiltPanel .arrow {
|
|
position: absolute;
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 45px;
|
|
height: 2px;
|
|
transform: rotate(-45deg) translate(5px, -15px);
|
|
}
|
|
|
|
/* 蓝色主题 */
|
|
|
|
.tiltPanel-theme-blue .b-t,
|
|
.tiltPanel-theme-blue .b-r,
|
|
.tiltPanel-theme-blue .b-b,
|
|
.tiltPanel-theme-blue .b-l,
|
|
.tiltPanel-theme-blue .b-t-l,
|
|
.tiltPanel-theme-blue .b-b-r {
|
|
background-color: #29baf1;
|
|
box-shadow: 0 0 10px 2px #29baf1;
|
|
}
|
|
|
|
.tiltPanel-theme-blue .area {
|
|
background-image: linear-gradient(135deg, transparent 30px, #28bbf06c 30px, #28bbf06c 50%, transparent 50%),
|
|
linear-gradient(-45deg, transparent 30px, #28bbf06c 30px, #28bbf06c 50.1%, transparent 50%);
|
|
}
|
|
|
|
.tiltPanel-theme-blue .title {
|
|
background-image: linear-gradient(135deg, transparent 25px, #29baf1 25px);
|
|
}
|
|
|
|
.tiltPanel-theme-blue .arrow,
|
|
.tiltPanel-theme-blue .title::before {
|
|
background-color: #28bbf0;
|
|
}
|
|
|
|
/********** 面板:倾斜指向左下角的面板样式end ***********/
|
|
|
|
/**************** 一个简洁文本面板,中间竖直连线start ****************/
|
|
.greenGradientPnl {
|
|
width: 100px;
|
|
text-align: center;
|
|
background-image: linear-gradient(to right, #565d39, #00ffc3);
|
|
position: relative;
|
|
left: -1px;
|
|
bottom: 29px;
|
|
cursor: default;
|
|
padding: 5px;
|
|
border: 1px solid #9c9944e8;
|
|
}
|
|
|
|
.greenGradientPnl:hover {
|
|
border: 1px solid rgb(9, 255, 0);
|
|
}
|
|
|
|
.greenGradientPnl::before {
|
|
position: absolute;
|
|
content: "";
|
|
left: 50%;
|
|
bottom: -30px;
|
|
height: 30px;
|
|
border-left: 2px dashed #c5e22770;
|
|
}
|
|
|
|
.greenGradientPnl-highlight {
|
|
border: 2px solid yellow;
|
|
}
|
|
|
|
.greenGradientPnl-highlight::before {
|
|
border-left: 2px dashed yellow !important;
|
|
}
|
|
|
|
/**************** 一个简洁文本面板,中间竖直连线end ****************/
|
|
|
|
.sy-four-color {
|
|
width: 100%;
|
|
position: relative;
|
|
top: -68px;
|
|
left: -60px;
|
|
padding: 5px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.sy-four-color .four-color_bg {
|
|
position: absolute;
|
|
}
|
|
|
|
.sy-four-color .four-color_name {
|
|
width: 150px;
|
|
position: absolute;
|
|
top: 14px;
|
|
left: 25px;
|
|
text-align: left;
|
|
}
|
|
|
|
.sy-animation {
|
|
animation: cameraMove 1s linear infinite alternate;
|
|
-webkit-animation: cameraMove 1s linear infinite alternate;
|
|
}
|
|
</style>
|
|
|