|
@@ -0,0 +1,268 @@
|
|
|
+<template>
|
|
|
+ <div class="dustFallDevice">
|
|
|
+ <div class="fall-left-box">
|
|
|
+ <div class="box-c"></div>
|
|
|
+ <div class="box-left-t">
|
|
|
+ <div class="item-label">设备总数</div>
|
|
|
+ <div class="item-val">10</div>
|
|
|
+ </div>
|
|
|
+ <div class="box-left-b">
|
|
|
+ <div class="item-label">喷雾开启数</div>
|
|
|
+ <div class="item-val">10</div>
|
|
|
+ </div>
|
|
|
+ <div class="box-right-t">
|
|
|
+ <div class="item-label">联网数量</div>
|
|
|
+ <div class="item-val">10</div>
|
|
|
+ </div>
|
|
|
+ <div class="box-right-b">
|
|
|
+ <div class="item-label">断网数量</div>
|
|
|
+ <div class="item-val">10</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="fall-right-box">
|
|
|
+ <div class="fall-table-head">
|
|
|
+ <div class="fall-head-item" v-for="(item, index) in tabHeadList" :key="index">{{ item.title }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="fall-table-content">
|
|
|
+ <div class="scroll-box">
|
|
|
+ <div class="fall-content-item" v-for="(item, ind) in tabContentList" :key="ind">
|
|
|
+ <span class="content-item-val">{{ item.code }}</span>
|
|
|
+ <span class="content-item-val">{{ item.name }}</span>
|
|
|
+ <span class="content-item-val">{{ item.ljzt }}</span>
|
|
|
+ <span class="content-item-val">{{ item.status }}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup lang="ts">
|
|
|
+import { ref, reactive } from 'vue'
|
|
|
+
|
|
|
+//table头
|
|
|
+let tabHeadList = reactive([
|
|
|
+ { title: '编号' },
|
|
|
+ { title: '名称' },
|
|
|
+ { title: '连接状态' },
|
|
|
+ { title: '喷雾状态' },
|
|
|
+])
|
|
|
+//table content
|
|
|
+let tabContentList = reactive([
|
|
|
+ { code: 0, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 1, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 2, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 3, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 4, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 5, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 6, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 7, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 0, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 1, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 2, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 3, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 4, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 5, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 6, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+ { code: 7, name: '8号煤联通辅', ljzt: '已连接', status: '开启' },
|
|
|
+])
|
|
|
+
|
|
|
+
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+.dustFallDevice {
|
|
|
+ position: relative;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+
|
|
|
+ .fall-left-box {
|
|
|
+ position: relative;
|
|
|
+ width: calc(50% - 15px);
|
|
|
+ height: 100%;
|
|
|
+ margin-right: 15px;
|
|
|
+
|
|
|
+ .box-c {
|
|
|
+ position: absolute;
|
|
|
+ left: 50%;
|
|
|
+ top: 50%;
|
|
|
+ transform: translate(-50%, -45%);
|
|
|
+ width: 224px;
|
|
|
+ height: 203px;
|
|
|
+ background: url('../../../../../assets/images/dust/dusthome/left-box1.png') no-repeat center;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .box-left-t {
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ top: 0;
|
|
|
+ width: 80px;
|
|
|
+ height: 81px;
|
|
|
+ align-items: center;
|
|
|
+ background: url('../../../../../assets/images/dust/dusthome/left-box2.png') no-repeat center;
|
|
|
+ background-size: 100% 100%;
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .box-left-b {
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ top: 0;
|
|
|
+ width: 80px;
|
|
|
+ height: 81px;
|
|
|
+ background: url('../../../../../assets/images/dust/dusthome/left-box3.png') no-repeat center;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .box-right-t {
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ bottom: 0;
|
|
|
+ width: 80px;
|
|
|
+ height: 81px;
|
|
|
+ background: url('../../../../../assets/images/dust/dusthome/left-box4.png') no-repeat center;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .box-right-b {
|
|
|
+ position: absolute;
|
|
|
+ right: 0;
|
|
|
+ bottom: 0;
|
|
|
+ width: 80px;
|
|
|
+ height: 81px;
|
|
|
+ background: url('../../../../../assets/images/dust/dusthome/left-box5.png') no-repeat center;
|
|
|
+ background-size: 100% 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .item-label {
|
|
|
+ width: 100%;
|
|
|
+ position: absolute;
|
|
|
+ top: 2px;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 12px;
|
|
|
+ color: #9da5aa;
|
|
|
+ }
|
|
|
+
|
|
|
+ .item-val {
|
|
|
+ width: 100%;
|
|
|
+ position: absolute;
|
|
|
+ top: 21px;
|
|
|
+ text-align: center;
|
|
|
+ font-family: 'douyuFont';
|
|
|
+ font-size: 12px;
|
|
|
+ color: #1fb3f7;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .fall-right-box {
|
|
|
+ width: 50%;
|
|
|
+ height: 100%;
|
|
|
+
|
|
|
+ .fall-table-head {
|
|
|
+ width: 100%;
|
|
|
+ height: 32px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ border-bottom: 2px solid #1f8bb2;
|
|
|
+ background: linear-gradient(to bottom, rgba(12, 40, 55, .3), rgba(19, 90, 124, .9));
|
|
|
+
|
|
|
+ .fall-head-item {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ color: #1fb3f7;
|
|
|
+
|
|
|
+ &:nth-child(1) {
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(2) {
|
|
|
+ flex: 3;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(3) {
|
|
|
+ flex: 2;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(4) {
|
|
|
+ flex: 2;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .fall-table-content {
|
|
|
+ position: relative;
|
|
|
+ width: 100%;
|
|
|
+ height: calc(100% - 32px);
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ .scroll-box {
|
|
|
+ width: 100%;
|
|
|
+ -webkit-animation: 10s scrollTop linear infinite normal;
|
|
|
+ animation: 10s scrollTop linear infinite normal;
|
|
|
+
|
|
|
+ @keyframes scrollTop {
|
|
|
+ 0% {
|
|
|
+ -webkit-transform: translate3d(0, 0, 0);
|
|
|
+ transform: translate3d(0, 0, 0);
|
|
|
+ }
|
|
|
+
|
|
|
+ 100% {
|
|
|
+ -webkit-transform: translate3d(0, -250px, 0);
|
|
|
+ transform: translate3d(0, -250px, 0);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ .fall-content-item {
|
|
|
+ height: 34px;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ &:nth-child(odd) {
|
|
|
+ background-color: #0b202e;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(even) {
|
|
|
+ background-color: #0d3144;
|
|
|
+ }
|
|
|
+
|
|
|
+ .content-item-val {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ color: #fff;
|
|
|
+
|
|
|
+ &:nth-child(1) {
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(2) {
|
|
|
+ flex: 3;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(3) {
|
|
|
+ flex: 2;
|
|
|
+ color: #00ff91;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:nth-child(4) {
|
|
|
+ flex: 2;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|