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

<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>