From 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 04 三月 2025 08:39:55 +0800
Subject: [PATCH] 修改作业等级名称

---
 src/views/intellectInspect/intelligentLine/index.vue | 1985 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 1,226 insertions(+), 759 deletions(-)

diff --git a/src/views/intellectInspect/intelligentLine/index.vue b/src/views/intellectInspect/intelligentLine/index.vue
index 50d8ed4..51d5f1b 100644
--- a/src/views/intellectInspect/intelligentLine/index.vue
+++ b/src/views/intellectInspect/intelligentLine/index.vue
@@ -1,14 +1,18 @@
 <template>
-    <div class="container">
-        <div class="big-title" @click="goBack()">国泰新华智能巡检系统</div>
+    <div class="container" id="screenFull">
+        <div class="big-title" @click="goBack()">智能巡检系统</div>
         <div style="height: 20px;font-size: 14px;line-height: 20px; color: #00ffff; margin-top: 4px">{{ present }}</div>
         <div class="btns">
-            <div class="fullbtn" @click="onScreenfullClick">
-                <div class="toFull">
-                    <i class="iconfont" :title="isScreenfull ? $t('message.user.title6') : $t('message.user.title5')" :class="!isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>
-                </div>
-                <div>全屏</div>
-            </div>
+<!--            <div class="fullbtn" @click="onScreenfullClick">-->
+<!--                <div class="toFull">-->
+<!--                    <i class="iconfont" :title="全屏" :class="!isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>-->
+<!--                  <el-icon>-->
+<!--                    <FullScreen v-if="isScreenfull"/>-->
+<!--                    <Close v-else/>-->
+<!--                  </el-icon>-->
+<!--                </div>-->
+<!--                <div>全屏</div>-->
+<!--            </div>-->
             <div class="backBtn" @click="goBack()">
                 <img src="../../../assets/loginPage/back-icon.png"/>
                 <div>退出</div>
@@ -16,14 +20,47 @@
         </div>
         <div class="blocks">
             <div>
+            <div class="warning-part" ref="draggableElement">
+              <div class="warn-tit">异常警报:</div>
+              <div class="warn-msg" v-if="excepOrder && excepOrder.length>0">
+                <div class="warn-item" v-for="(item,index) in excepOrder" :key="index">
+                  <div class="i-tit">
+                    编号{{item.pointCode}} 巡检异常!
+                  </div>
+                  <div v-if="item.dataReportType == 2 || item.dataReportType == 3">
+                    正常值:<span>{{(item.secondReferenceSign==1?'>':'>=') + item.secondReferenceValue + ',' + (item.thirdReferenceSign==3?'<':'<=') + item.thirdReferenceValue}}</span>
+                  </div>
+                  <div>
+                    巡检值:
+                    <span v-if="item.dataReportType == 1">{{ item.firstReferenceResult==1?'正常':item.firstReferenceResult==2?'异常':'备'}}</span>
+                    <span v-if="item.dataReportType == 2">{{ item.secondReferenceResult}}</span>
+                  </div>
+                  <div>
+                    已通知负责人:<span>{{item.hiddenDangerHandlerName}}</span>
+                  </div>
+                  <div>
+                    负责人电话:<span>{{item.hiddenDangerHandlerPhone}}</span>
+                  </div>
+                  <div>
+                    工单回执状态:<span>{{item.handlerStatus==1?'待响应':item.handlerStatus==2?'标记误报':item.handlerStatus==3?'自查处理中':item.handlerStatus==4?'已移交上报':item.handlerStatus==5?'待验收':'已完成'}}</span>
+                  </div>
+                </div>
+              </div>
+              <div v-else>
+                暂无异常警报
+              </div>
+            </div>
             <div class="star-pic">
+                <dv-decoration-12 scanDur="5" haloDur="4" class="scan"/>
                 <div class="star-bg"><img src="../../../assets/loginPage/star-bg.png" /></div>
                 <div class="star"><img src="../../../assets/loginPage/device-pic.png" /></div>
             </div>
             <div class="line-map" v-if="dataList && dataList.length > 0">
                 <div class="line-item" v-for="(item, index) in dataList" :key="index">
                     <div class="picbox">
-                        <img src="../../../assets/loginPage/equipment.jpg"/>
+                        <div class="imgbox">
+                            <img :src="item.rfidImage==null?defaultImg:item.rfidImage"/>
+                        </div>
                         <p>
                             RFID: <span>{{ item.rfid }}</span>
                         </p>
@@ -61,7 +98,7 @@
                                     <span>参数:</span><span class="target">{{ t.secondReferenceResult + t.quotaUnit }}</span>
                                 </div>
                                 <div>
-                                    <span>巡检结果:</span><span class="target">{{ t.reportResult == null ? '--' : t.reportResult == 0 ? '正常' : '异常' }}</span>
+                                    <span>巡检结果:</span><span class="target">{{ t.reportResult == null ? '--' : t.reportResult == 0 ? '正常' : t.reportResult == 1 ? '异常' : '备' }}</span>
                                 </div>
                             </div>
                         </div>
@@ -85,7 +122,7 @@
 <script lang="ts">
 import screenfull from 'screenfull';
 import { lineApi } from '/@/api/intelligentLine';
-import {toRefs, reactive, ref, onMounted, onUnmounted, computed, nextTick} from 'vue';
+import {toRefs, reactive, ref, onMounted, onUnmounted, computed, nextTick, onActivated} from 'vue';
 import {useRoute} from 'vue-router';
 import { storeToRefs } from 'pinia';
 import { initBackEndControlRoutes } from '/@/router/backEnd';
@@ -98,12 +135,19 @@
 // 定义接口来定义对象的类型
 interface stateType {
     present: string;
-    isScreenfull: boolean;
     path: string;
     socket: any;
     socketData: string;
     data: Array<any>;
-    id: string
+    excepOrder: Array<any>;
+    id: string;
+    defaultImg: string;
+    isDragging:boolean
+    initialX:number|null
+    initialY:number|null
+    xOffset:number|null
+    yOffset:number|null
+    timer: null | any
 }
 export default {
     name: 'intelligentLine',
@@ -114,24 +158,37 @@
         const route = useRoute();
         const state = reactive<stateType>({
             present: '',
-            isScreenfull: false,
             path: '',
             socketData: '',
             socket: null,
             data: [],
-            id: ''
+            excepOrder: [],
+            id: '',
+            defaultImg: new URL('../../../assets/default-img.jpg',import.meta.url).href,
+            isDragging: false,
+            initialX: 0,
+            initialY: 0,
+            xOffset: 0,
+            yOffset: 0,
+            timer: null
         });
 
         onMounted(() => {
-            setInterval(() => {
+            state.timer = setInterval(() => {
                 state.present = new Date().toLocaleString();
             }, 1000);
             let curId = route.query.id
             state.id = curId.toString()
             getLine(state.id)
             getUrl(state.id)
+            draggableElement.value.addEventListener('mousedown', handleMouseDown);
+            draggableElement.value.addEventListener('mousemove', handleMouseMove);
+            draggableElement.value.addEventListener('mouseup', handleMouseUp);
         });
-
+      onActivated(()=>{
+        onScreenfullClick();
+      })
+        const draggableElement = ref(null);
         const dataList = computed(() => {
             return userInfos.value.dataList;
         });
@@ -142,17 +199,14 @@
             const res = await lineApi().getUrl();
             if (res.data.code === '200') {
                 state.path = 'http://' + res.data.data.ip + ':' + res.data.data.port + '/ws/test/'
-                if (typeof window.WebSocket === 'undefined') {
+                if (typeof WebSocket === 'undefined') {
                     alert('您的浏览器不支持socket');
                 } else {
                     // 实例化socket
-                    // debugger
                     let uid =  userInfos.value.uid.toString()
                     var url = state.path + uid + '*' + id;
-                    console.log(url,'url',uid,'uid')
                     url = url.replace('https', 'ws').replace('http', 'ws');
-                    console.log(url, '获取地址');
-                    state.socket = new window.WebSocket(url);
+                    state.socket = new WebSocket(url);
                     // 监听socket连接
                     state.socket.onopen = () => {
                         console.log('socket连接成功');
@@ -163,9 +217,11 @@
                     };
                     // 监听socket消息
                     state.socket.onmessage = (msg) => {
+                      console.log(msg.data,'msg.data')
+                      console.log(msg.data.rfidInfos,'rfidInfos')
                         if (msg.data === '连接成功') return;
-                        console.log(msg.data,'data')
-                        userInfos.value.dataList = JSON.parse(msg.data);
+                        userInfos.value.dataList = JSON.parse(msg.data).rfidInfos;
+                        state.excepOrder = JSON.parse(msg.data).excepOrder;
                     };
                 }
             } else {
@@ -184,7 +240,12 @@
         const getLine = async (id:string) => {
             let res = await lineApi().getLine({ id: id });
             if (res.data.code === '200') {
-                userInfos.value.dataList = res.data.data;
+                userInfos.value.dataList = res.data.data.rfidInfos
+              if(res.data.data.excepOrder){
+                state.excepOrder = res.data.data.excepOrder
+              }else{
+                state.excepOrder = []
+              }
             } else {
                 ElMessage({
                     type: 'warning',
@@ -195,24 +256,37 @@
 
         // 全屏
         const onScreenfullClick = () => {
+            const element = document.getElementById('screenFull')
             if (!screenfull.isEnabled) {
                 ElMessage.warning('暂不不支持全屏');
                 return false;
             }
-            screenfull.toggle();
-            screenfull.on('change', () => {
-                if (screenfull.isFullscreen) {
-                    state.isScreenfull = true;
-                } else {
-                    state.isScreenfull = false;
-                }
-            });
+            screenfull.toggle(element);
         };
 
         // 返回
         const goBack = () => {
             window.history.go(-1);
         };
+
+      const handleMouseDown = (e) => {
+        state.initialX = e.clientX - state.xOffset;
+        state.initialY = e.clientY - state.yOffset;
+        state.isDragging = true;
+      };
+
+      const handleMouseMove = (e) => {
+        if (state.isDragging) {
+          state.xOffset = e.clientX - state.initialX;
+          state.yOffset = e.clientY - state.initialY;
+
+          draggableElement.value.style.transform = `translate3d(${state.xOffset}px, ${state.yOffset}px, 0)`;
+        }
+      };
+
+      const handleMouseUp = () => {
+        state.isDragging = false;
+      };
 
         // 页面关闭处理
         onUnmounted(() => {
@@ -222,502 +296,840 @@
                     console.log('socket已经关闭');
                 };
             })
+            clearInterval(state.timer)
+          draggableElement.value.removeEventListener('mousedown', handleMouseDown);
+          draggableElement.value.removeEventListener('mousemove', handleMouseMove);
+          draggableElement.value.removeEventListener('mouseup', handleMouseUp);
         });
         return {
             dataList,
+            draggableElement,
             goBack,
             onScreenfullClick,
             ...toRefs(state)
         };
     }
 };
-// export default {
-//   name: 'NewForm',
-//   props: {
-//
-//   },
-//   data(){
-//     return{
-//       present: '',
-//       isScreenfull: false,
-//       path: "http://192.168.0.29:8008/ws/test/",
-//       socket: null,
-//       socketData: '',
-//       data: []
-//     }
-//   },
-//   created() {
-//     setInterval(() => {
-//       this.present = new Date().toLocaleString()
-//     }, 1000)
-//   },
-//   mounted () {
-//     // 初始化
-//     this.init()
-//     // this.getLine()
-//   },
-//   methods:{
-//     goBack(){
-//       window.history.go(-1)
-//     },
-//
-//     async getLine (){
-//       let res = await lineApi().getLine({ id: '80647416891768832' });
-//       if (res.data.code === '200') {
-//         console.log(res.data.data,'获取巡检点')
-//         this.data = res.data.data
-//         console.log(this.data,'---')
-//       } else {
-//         ElMessage({
-//           type: 'warning',
-//           message: res.data.msg
-//         });
-//       }
-//     },
-//
-//     // 全屏点击时
-//     onScreenfullClick(){
-//       const t = this
-//       if (!screenfull.isEnabled) {
-//         ElMessage.warning('暂不不支持全屏');
-//         return false;
-//       }
-//       screenfull.toggle();
-//       screenfull.on('change', () => {
-//         if (screenfull.isFullscreen) {
-//           t.isScreenfull = true
-//         }
-//         else{
-//           t.isScreenfull = false
-//         }
-//       });
-//     },
-//
-//     // socket获取数据
-//     init: function () {
-//       if(typeof(window.WebSocket) === "undefined"){
-//         alert("您的浏览器不支持socket")
-//       }else{
-//         // 实例化socket
-//         var url = this.path + '80938081556545536'
-//         url = url.replace("https","ws").replace("http","ws");
-//         console.log(url,'获取地址')
-//         this.socket = new window.WebSocket(url)
-//         // 监听socket连接
-//         this.socket.onopen = this.open
-//         // 监听socket错误信息
-//         this.socket.onerror = this.error
-//         // 监听socket消息
-//         this.socket.onmessage = this.getMessage
-//       }
-//     },
-//     open: function () {
-//       console.log("socket连接成功")
-//     },
-//     error: function () {
-//       console.log("连接错误")
-//     },
-//     getMessage: function (msg) {
-//       console.log(typeof msg.data,'type')
-//       if(msg.data =='连接成功') return
-//       this.socketData = msg.data
-//       console.log(JSON.parse(this.socketData),'------------------',)
-//       if(typeof JSON.parse(this.socketData) == Array){
-//         this.data = JSON.parse(this.socketData)
-//         console.log(this.data)
-//       }
-//       // console.log(msg,'msg')
-//       // console.log(this.data,'data-------')
-//     },
-//     send: function () {
-//       this.socket.send(params)
-//     },
-//     close: function () {
-//       console.log("socket已经关闭")
-//     }
-//   },
-//   destroyed () {
-//     // 销毁监听
-//     this.socket.onclose = this.close
-//   }
-// }
 </script>
 
-<!-- Add "scoped" attribute to limit CSS to this component only -->
+<!-- Add "scoped" attribute to limit CSS to this components only -->
 <style scoped lang="scss">
-@keyframes warn {
-    0% {
-        transform: scale(0.3);
-        -webkit-transform: scale(0.3);
-        opacity: 0;
-    }
-
-    25% {
-        transform: scale(0.3);
-        -webkit-transform: scale(0.3);
-        opacity: 0.1;
-    }
-
-    50% {
-        transform: scale(0.5);
-        -webkit-transform: scale(0.5);
-        opacity: 0.3;
-    }
-
-    75% {
-        transform: scale(0.8);
-        -webkit-transform: scale(0.8);
-        opacity: 0.6;
-    }
-
-    100% {
-        transform: scale(1);
-        -webkit-transform: scale(1);
-        opacity: 0;
-    }
-}
-
-@keyframes warn1 {
-    0% {
-        transform: scale(0.3);
-        -webkit-transform: scale(0.3);
-        opacity: 0;
-    }
-
-    25% {
-        transform: scale(0.3);
-        -webkit-transform: scale(0.3);
-        opacity: 0.1;
-    }
-
-    50% {
-        transform: scale(0.3);
-        -webkit-transform: scale(0.3);
-        opacity: 0.3;
-    }
-
-    75% {
-        transform: scale(0.5);
-        -webkit-transform: scale(0.5);
-        opacity: 0.6;
-    }
-
-    100% {
-        transform: scale(0.8);
-        -webkit-transform: scale(0.8);
-        opacity: 0;
-    }
-}
-
-@keyframes circle {
-    0% {
-        transform: rotate(0);
-        -webkit-transform: rotate(0);
-    }
-    100% {
-        transform: rotate(360deg);
-        -webkit-transform: rotate(360deg);
-    }
-}
-@keyframes run {
-    to {
-        transform: translateX(calc((100vw - 180px) / 6 - 80px));
-    }
-}
-.container {
-    width: 100%;
-    height: 100%;
-    position: relative;
-    display: flex;
-    flex-direction: column;
-    align-items: center;
-    background: url('../../../assets/loginPage/map-bg.jpg') no-repeat center;
-    background-size: 100% 100%;
-    .big-title {
-        height: 40px;
-        line-height: 40px;
-        font-size: 28px;
-        font-weight: bold;
-        margin: 10px 0 20px;
-        text-align: center;
-        color: #fff;
-        display: flex;
-        align-items: center;
-        justify-content: center;
-    }
-    .btns {
-        position: absolute;
-        z-index: 99999;
-        right: 60px;
-        top: 40px;
-        display: flex;
-        align-items: center;
-        .fullbtn {
-            cursor: pointer;
+    @media screen and (min-width: 1366px) {
+        .big-title {
+            font-size: 28px;
+            margin: 10px 0 20px;
+        }
+        .btns {
+            position: absolute;
+            z-index: 99999;
+            right: 60px;
+            top: 40px;
+            div {
+                font-size: 16px;
+                color: #00ffff;
+            }
+        }
+        .line-item {
+            width: calc((100vw - 40px) / 6);
+            padding-left: 20px;
             display: flex;
-            align-items: center;
+            flex-direction: column;
+            align-items: flex-start;
             margin-right: 20px;
-            .toFull {
-                font-weight: bolder;
-                color: #00ffff;
-                margin-right: 10px;
-            }
-            div {
-                font-size: 16px;
-                color: #00ffff;
-            }
-        }
+            flex-wrap: nowrap;
 
-        .backBtn {
-            cursor: pointer;
-            display: flex;
-            align-items: center;
-            img {
-                width: 14px;
-                height: 14px;
-                margin-right: 10px;
-            }
-            div {
-                font-size: 16px;
-                color: #00ffff;
-            }
-        }
-    }
-    .blocks {
-        width: 100%;
-        height: calc(100% - 90px);
-        padding: 10px 40px 35px;
-        box-sizing: border-box;
-
-        &>div{
-            width: 100%;
-            height: 100%;
-            display: flex;
-            justify-content: center;
-            align-items: flex-start;
-            overflow: hidden;
-            overflow-x: auto;
-            overflow-y: auto;
-        }
-
-        .line-map {
-            display: flex;
-            justify-content: center;
-            align-items: flex-start;
-
-            .line-item {
-                width: calc((100vw - 180px) / 6);
-                padding-left: 20px;
-                display: flex;
-                flex-direction: column;
-                align-items: flex-start;
-                margin-right: 20px;
-                flex-wrap: nowrap;
-
-                .picbox {
+            .picbox {
+                width: 100%;
+                height: 200px;
+                padding: 10px;
+                margin-bottom: 20px;
+                box-sizing: border-box;
+                .imgbox{
                     width: 100%;
-                    height: calc((100vh - 130px) / 5);
-                    padding: 10px;
-                    margin-bottom: 40px;
-                    box-sizing: border-box;
-
+                    height: 120px;
+                    position: relative;
+                    margin-bottom: 10px;
+                    border-radius: 4px;
+                    overflow: hidden;
                     img {
                         display: block;
                         width: 100%;
-                        height: 100px;
-                        margin-bottom: 10px;
-                        border-radius: 4px;
+                        height: auto;
+                        position: absolute;
+                        top: 0;
+                        left: 0;
+                        bottom: 0;
+                        right: 0;
+                        margin: auto;
                     }
-                    p {
-                        font-size: 14px;
-                        color: rgba(255, 255, 255, 0.8);
-                        margin-top: 10px;
-                        span {
-                            color: #fff;
+                }
+
+                p {
+                    font-size: 14px;
+                    white-space: nowrap;
+                    color: rgba(255, 255, 255, 0.8);
+                    margin-bottom: 4px;
+                    span {
+                        color: #fff;
+                    }
+                }
+            }
+        }
+        .item {
+            width: calc((100vw - 40px) / 6);
+            height: calc((100vh - 130px) / 5);
+            padding: 0 40px 20px 50px;
+            position: relative;
+            box-sizing: border-box;
+            border-left: 1px solid #36fcfc;
+
+            &:last-of-type {
+                border: none;
+            }
+
+            section {
+                width: 24px;
+                height: 24px;
+                border-radius: 50%;
+                position: absolute;
+                border: 1px solid rgba(0, 114, 255, 0.6);
+                top: -12px;
+                left: 10px;
+
+                .dot {
+                    position: absolute;
+                    width: 12px;
+                    height: 12px;
+                    left: 5px;
+                    top: 5px;
+                    -webkit-border-radius: 50%;
+                    -moz-border-radius: 50%;
+                    border: 1px solid #0072ff;
+                    border-radius: 50%;
+                    background-color: #0072ff;
+                    z-index: 2;
+                }
+                .pulse {
+                    position: absolute;
+                    width: 48px;
+                    height: 48px;
+                    left: -13px;
+                    top: -13px;
+                    border: 1px solid #0072ff;
+                    -webkit-border-radius: 50%;
+                    -moz-border-radius: 50%;
+                    border-radius: 50%;
+                    z-index: 1;
+                    opacity: 0;
+                    -webkit-animation: warn 2s ease-out;
+                    -moz-animation: warn 2s ease-out;
+                    animation: warn 2s ease-out;
+                    -webkit-animation-iteration-count: infinite;
+                    -moz-animation-iteration-count: infinite;
+                    animation-iteration-count: infinite;
+                    box-shadow: 1px 1px 30px #0072ff;
+                }
+                .pulse1 {
+                    position: absolute;
+                    width: 48px;
+                    height: 48px;
+                    left: -13px;
+                    top: -13px;
+                    border: 1px solid #0072ff;
+                    -webkit-border-radius: 50%;
+                    -moz-border-radius: 50%;
+                    border-radius: 50%;
+                    z-index: 1;
+                    opacity: 0;
+                    -webkit-animation: warn1 2s ease-out;
+                    -moz-animation: warn1 2s ease-out;
+                    animation: warn1 2s ease-out;
+                    -webkit-animation-iteration-count: infinite;
+                    -moz-animation-iteration-count: infinite;
+                    animation-iteration-count: infinite;
+                    box-shadow: 1px 1px 30px #0072ff;
+                }
+            }
+            & > div {
+                padding: 10px 0;
+                transform: translateY(-14px);
+                border-radius: 8px;
+                background-image: linear-gradient(to right, rgba(8, 109, 209, 0.4), rgba(11, 255, 255, 0.2));
+                border: 1px solid rgba(54, 252, 252, 1);
+                display: flex;
+                flex-direction: column;
+                justify-content: center;
+
+                div {
+                    margin-bottom: 5px;
+                    display: flex;
+                    align-items: flex-start;
+                    &:last-of-type {
+                        margin-bottom: 0;
+                    }
+                    span {
+                        width: 50%;
+                        font-size: 13px;
+                        color: #fff;
+                        text-align: left;
+                        word-break: break-all;
+
+                        &:first-of-type {
+                            text-align: right;
+                            color: rgba(255, 255, 255, 0.8);
                         }
                     }
                 }
-                .area-head {
+            }
+            .noBorder{
+                border: 1px solid rgba(54, 252, 252, 0.1);
+            }
+            .redBorder{
+                border: 1px solid #ff0000;
+            }
+            p {
+                width: 140px;
+                height: 50px;
+                font-size: 18px;
+                line-height: 48px;
+                text-align: center;
+                color: #fff;
+                border-radius: 8px;
+                background-image: linear-gradient(to right, rgba(11, 255, 255, 0.2), rgba(8, 109, 209, 0.4));
+                border: 1px solid rgba(54, 252, 252, 0.6);
+            }
+        }
+        .finish-point {
+            position: absolute;
+            width: 90px;
+            height: 90px;
+            border: 2px solid #0072ff;
+            left: -30px;
+            top: -45px;
+            border-radius: 50%;
+
+            & > div {
+                width: 80px;
+                height: 80px;
+                position: absolute;
+                left: 3px;
+                top: 3px;
+                background: #0072ff;
+                border-radius: 50%;
+                color: #fff;
+                font-size: 16px;
+                line-height: 80px;
+                text-align: center;
+                font-weight: bolder;
+            }
+        }
+    }
+
+    @media screen and (min-width: 1200px) and (max-width: 1366px){
+        .big-title {
+            font-size: 28px;
+            margin: 10px 0 20px;
+        }
+        .btns {
+            position: absolute;
+            z-index: 99999;
+            right: 40px;
+            top: 40px;
+            div {
+                font-size: 14px;
+                color: #00ffff;
+            }
+        }
+        .line-item {
+            width: calc((100vw - 40px) / 5);
+            padding-left: 20px;
+            display: flex;
+            flex-direction: column;
+            align-items: flex-start;
+            margin-right: 20px;
+            flex-wrap: nowrap;
+            .picbox {
+                width: 100%;
+                height: 180px;
+                padding: 10px;
+                margin-bottom: 40px;
+                box-sizing: border-box;
+                .imgbox{
+                    width: 100%;
+                    height: 100px;
                     position: relative;
+                    margin-bottom: 6px;
+                    border-radius: 4px;
+                    overflow: hidden;
+                    img {
+                        display: block;
+                        width: 100%;
+                        height: auto;
+                        position: absolute;
+                        top: 0;
+                        left: 0;
+                        bottom: 0;
+                        right: 0;
+                        margin: auto;
+                    }
+                }
+                p {
+                    font-size: 14px;
+                    white-space: nowrap;
+                    color: rgba(255, 255, 255, 0.8);
+                    margin-top: 10px;
+                    span {
+                        color: #fff;
+                    }
+                }
+            }
+        }
+        .item {
+            width: calc((100vw - 40px) / 5);
+            height: calc((100vh - 130px) / 5);
+            padding: 0 20px 20px 40px;
+            position: relative;
+            box-sizing: border-box;
+            border-left: 1px solid #36fcfc;
+
+            &:last-of-type {
+                border: none;
+            }
+
+            section {
+                width: 24px;
+                height: 24px;
+                border-radius: 50%;
+                position: absolute;
+                border: 1px solid rgba(0, 114, 255, 0.6);
+                top: -12px;
+                left: 10px;
+
+                .dot {
+                    position: absolute;
+                    width: 12px;
+                    height: 12px;
+                    left: 5px;
+                    top: 5px;
+                    -webkit-border-radius: 50%;
+                    -moz-border-radius: 50%;
+                    border: 1px solid #0072FF;
+                    border-radius: 50%;
+                    background-color: #0072FF;
+                    z-index: 2;
+                }
+                .pulse {
+                    position: absolute;
+                    width: 48px;
+                    height: 48px;
+                    left: -13px;
+                    top: -13px;
+                    border: 1px solid #0072FF;
+                    -webkit-border-radius: 50%;
+                    -moz-border-radius: 50%;
+                    border-radius: 50%;
+                    z-index: 1;
+                    opacity: 0;
+                    -webkit-animation: warn 2s ease-out;
+                    -moz-animation: warn 2s ease-out;
+                    animation: warn 2s ease-out;
+                    -webkit-animation-iteration-count: infinite;
+                    -moz-animation-iteration-count: infinite;
+                    animation-iteration-count: infinite;
+                    box-shadow: 1px 1px 30px #0072FF;
+                }
+                .pulse1 {
+                    position: absolute;
+                    width: 48px;
+                    height: 48px;
+                    left: -13px;
+                    top: -13px;
+                    border: 1px solid #0072FF;
+                    -webkit-border-radius: 50%;
+                    -moz-border-radius: 50%;
+                    border-radius: 50%;
+                    z-index: 1;
+                    opacity: 0;
+                    -webkit-animation: warn1 2s ease-out;
+                    -moz-animation: warn1 2s ease-out;
+                    animation: warn1 2s ease-out;
+                    -webkit-animation-iteration-count: infinite;
+                    -moz-animation-iteration-count: infinite;
+                    animation-iteration-count: infinite;
+                    box-shadow: 1px 1px 30px #0072FF;
+                }
+            }
+            & > div {
+                width: 90%;
+                padding: 10px 0;
+                transform: translateY(-14px);
+                border-radius: 8px;
+                background-image: linear-gradient(to right, rgba(8, 109, 209, 0.4), rgba(11, 255, 255, 0.2));
+                border: 1px solid rgba(54, 252, 252, 1);
+                display: flex;
+                flex-direction: column;
+                justify-content: center;
+
+                div {
+                    width: 100%;
+                    margin-bottom: 5px;
+                    display: flex;
+                    align-items: flex-start;
+                    &:last-of-type {
+                        margin-bottom: 0;
+                    }
+                    span {
+                        width: 50%;
+                        font-size: 13px;
+                        color: #fff;
+                        text-align: left;
+                        word-break: break-all;
+
+                        &:first-of-type {
+                            text-align: right;
+                            color: rgba(255, 255, 255, 0.8);
+                        }
+                    }
+                }
+            }
+            .noBorder{
+                border: 1px solid rgba(54, 252, 252, 0.1);
+            }
+            .redBorder{
+                border: 1px solid #ff0000;
+            }
+            p {
+                width: 140px;
+                height: 50px;
+                font-size: 18px;
+                line-height: 48px;
+                text-align: center;
+                color: #fff;
+                border-radius: 8px;
+                background-image: linear-gradient(to right, rgba(11, 255, 255, 0.2), rgba(8, 109, 209, 0.4));
+                border: 1px solid rgba(54, 252, 252, 0.6);
+            }
+        }
+        .finish-point {
+            position: absolute;
+            width: 80px;
+            height: 80px;
+            border: 1px solid #0072ff;
+            left: -20px;
+            top: -40px;
+            border-radius: 50%;
+
+            & > div {
+                width: 70px;
+                height: 70px;
+                position: absolute;
+                left: 4px;
+                top: 4px;
+                background: #0072ff;
+                border-radius: 50%;
+                color: #fff;
+                font-size: 14px;
+                line-height: 70px;
+                text-align: center;
+                font-weight: bolder;
+            }
+        }
+    }
+
+    @media screen and (max-width: 1200px){
+        .big-title {
+            font-size: 20px;
+            margin: 5px 0 10px;
+        }
+        .btns {
+            position: absolute;
+            z-index: 99999;
+            right: 20px;
+            top: 40px;
+            div {
+                font-size: 12px;
+                color: #00ffff;
+            }
+        }
+        .line-item {
+            width: 20vw;
+            padding-left: 10px;
+            display: flex;
+            flex-direction: column;
+            align-items: flex-start;
+            margin-right: 20px;
+            flex-wrap: nowrap;
+            .picbox {
+                width: 100%;
+                height: 160px;
+                padding: 10px;
+                margin-bottom: 30px;
+                box-sizing: border-box;
+                .imgbox{
                     width: 100%;
                     height: 80px;
-                    padding-left: 38px;
-                    border-left: 1px solid #36fcfc;
-
-                    .indicator {
-                        width: 36px;
-                        height: 36px;
-                        border-radius: 50%;
-                        position: absolute;
-                        border: 1px solid #00ff66;
-                        top: -18px;
-                        left: -18px;
-
-                        .indi-dot {
-                            position: absolute;
-                            width: 20px;
-                            height: 20px;
-                            left: 7px;
-                            top: 7px;
-                            -webkit-border-radius: 50%;
-                            -moz-border-radius: 50%;
-                            border: 1px solid #00ff66;
-                            border-radius: 50%;
-                            background-color: #00ff66;
-                            z-index: 2;
-                        }
-                        .indi-pulse {
-                            position: absolute;
-                            width: 56px;
-                            height: 56px;
-                            left: -11px;
-                            top: -11px;
-                            border: 1px solid #00ff66;
-                            -webkit-border-radius: 50%;
-                            -moz-border-radius: 50%;
-                            border-radius: 50%;
-                            z-index: 1;
-                            opacity: 0;
-                            -webkit-animation: warn 2s ease-out;
-                            -moz-animation: warn 2s ease-out;
-                            animation: warn 2s ease-out;
-                            -webkit-animation-iteration-count: infinite;
-                            -moz-animation-iteration-count: infinite;
-                            animation-iteration-count: infinite;
-                            box-shadow: 1px 1px 30px #00ff66;
-                        }
-                        .indi-pulse1 {
-                            position: absolute;
-                            width: 56px;
-                            height: 56px;
-                            left: -11px;
-                            top: -11px;
-                            border: 1px solid #3399ff;
-                            -webkit-border-radius: 50%;
-                            -moz-border-radius: 50%;
-                            border-radius: 50%;
-                            z-index: 1;
-                            opacity: 0;
-                            -webkit-animation: warn1 2s ease-out;
-                            -moz-animation: warn1 2s ease-out;
-                            animation: warn1 2s ease-out;
-                            -webkit-animation-iteration-count: infinite;
-                            -moz-animation-iteration-count: infinite;
-                            animation-iteration-count: infinite;
-                            box-shadow: 1px 1px 30px #3399ff;
-                        }
-                    }
-                    .someUndone {
-                        width: 36px;
-                        height: 36px;
-                        border-radius: 50%;
-                        position: absolute;
-                        border: 1px solid #ccc;
-                        top: -18px;
-                        left: -18px;
-
-                        .indi-dot {
-                            position: absolute;
-                            width: 20px;
-                            height: 20px;
-                            left: 7px;
-                            top: 7px;
-                            -webkit-border-radius: 50%;
-                            -moz-border-radius: 50%;
-                            border: 1px solid #ccc;
-                            border-radius: 50%;
-                            background-color: #ccc;
-                            z-index: 2;
-                        }
-                    }
-                    .somewarning {
-                        width: 36px;
-                        height: 36px;
-                        border-radius: 50%;
-                        position: absolute;
-                        border: 1px solid #ff0000;
-                        top: -18px;
-                        left: -18px;
-
-                        .indi-dot {
-                            position: absolute;
-                            width: 20px;
-                            height: 20px;
-                            left: 7px;
-                            top: 7px;
-                            -webkit-border-radius: 50%;
-                            -moz-border-radius: 50%;
-                            border: 1px solid #ff0000;
-                            border-radius: 50%;
-                            background-color: #ff0000;
-                            z-index: 2;
-                        }
-                    }
-                    .arrow {
-                        position: absolute;
-                        width: 58px;
-                        height: 20px;
-                        left: 38px;
-                        top: -10px;
-                        background: url('../../../assets/loginPage/arrow-r.png') 0 / cover no-repeat;
-                        animation: run 2s steps(4) 0s infinite;
-                    }
-                    .top-line {
+                    position: relative;
+                    margin-bottom: 10px;
+                    border-radius: 4px;
+                    overflow: hidden;
+                    img {
+                        display: block;
                         width: 100%;
-                        border-top: 2px solid #36fcfc;
-                    }
-                    .fadeLine {
-                        width: 100%;
-                        border-top: 1px solid rgba(54,252,252,.6);
+                        height: auto;
+                        position: absolute;
+                        top: 0;
+                        left: 0;
+                        bottom: 0;
+                        right: 0;
+                        margin: auto;
                     }
                 }
-                .fadeBorder {
-                    border-left: 1px solid #ccc;
+                p {
+                    font-size: 12px;
+                    color: rgba(255, 255, 255, 0.8);
+                    margin-top: 6px;
+                    span {
+                        color: #fff;
+                    }
                 }
-                .more-info {
+            }
+        }
+        .item {
+            width: 20vw;
+            height: calc((100vh - 130px) / 5);
+            padding: 0 0 20px 30px;
+            position: relative;
+            box-sizing: border-box;
+            border-left: 1px solid #36fcfc;
+
+            &:last-of-type {
+                border: none;
+            }
+
+            section {
+                width: 24px;
+                height: 24px;
+                border-radius: 50%;
+                position: absolute;
+                border: 1px solid rgba(0, 114, 255, 0.6);
+                top: -12px;
+                left: 2px;
+
+                .dot {
+                    position: absolute;
+                    width: 12px;
+                    height: 12px;
+                    left: 5px;
+                    top: 5px;
+                    -webkit-border-radius: 50%;
+                    -moz-border-radius: 50%;
+                    border: 1px solid #0072ff;
+                    border-radius: 50%;
+                    background-color: #0072ff;
+                    z-index: 2;
+                }
+                .pulse {
+                    position: absolute;
+                    width: 48px;
+                    height: 48px;
+                    left: -13px;
+                    top: -13px;
+                    border: 1px solid #0072ff;
+                    -webkit-border-radius: 50%;
+                    -moz-border-radius: 50%;
+                    border-radius: 50%;
+                    z-index: 1;
+                    opacity: 0;
+                    -webkit-animation: warn 2s ease-out;
+                    -moz-animation: warn 2s ease-out;
+                    animation: warn 2s ease-out;
+                    -webkit-animation-iteration-count: infinite;
+                    -moz-animation-iteration-count: infinite;
+                    animation-iteration-count: infinite;
+                    box-shadow: 1px 1px 30px #0072ff;
+                }
+                .pulse1 {
+                    position: absolute;
+                    width: 48px;
+                    height: 48px;
+                    left: -13px;
+                    top: -13px;
+                    border: 1px solid #0072ff;
+                    -webkit-border-radius: 50%;
+                    -moz-border-radius: 50%;
+                    border-radius: 50%;
+                    z-index: 1;
+                    opacity: 0;
+                    -webkit-animation: warn1 2s ease-out;
+                    -moz-animation: warn1 2s ease-out;
+                    animation: warn1 2s ease-out;
+                    -webkit-animation-iteration-count: infinite;
+                    -moz-animation-iteration-count: infinite;
+                    animation-iteration-count: infinite;
+                    box-shadow: 1px 1px 30px #0072ff;
+                }
+            }
+            & > div {
+                width: 80%;
+                padding: 4px 0;
+                transform: translateY(-14px);
+                border-radius: 8px;
+                background-image: linear-gradient(to right, rgba(8, 109, 209, 0.4), rgba(11, 255, 255, 0.2));
+                border: 1px solid rgba(54, 252, 252, 1);
+                display: flex;
+                flex-direction: column;
+                justify-content: center;
+
+                div {
                     width: 100%;
+                    margin-bottom: 2px;
+                    display: flex;
+                    align-items: flex-start;
+                    &:last-of-type {
+                        margin-bottom: 0;
+                    }
+                    span {
+                        width: 50%;
+                        font-size: 12px;
+                        color: #fff;
+                        text-align: left;
+                        word-break: break-all;
 
-                    .item {
-                        width: calc((100vw - 120px) / 6);
-                        height: calc((100vh - 130px) / 5);
-                        padding: 0 50px 20px;
+                        &:first-of-type {
+                            text-align: right;
+                            color: rgba(255, 255, 255, 0.8);
+                        }
+                    }
+                }
+            }
+            .noBorder{
+                border: 1px solid rgba(54, 252, 252, 0.1);
+            }
+            .redBorder{
+                border: 1px solid #ff0000;
+            }
+            p {
+                width: 140px;
+                height: 50px;
+                font-size: 18px;
+                line-height: 48px;
+                text-align: center;
+                color: #fff;
+                border-radius: 8px;
+                background-image: linear-gradient(to right, rgba(11, 255, 255, 0.2), rgba(8, 109, 209, 0.4));
+                border: 1px solid rgba(54, 252, 252, 0.6);
+            }
+        }
+        .finish-point {
+            position: absolute;
+            width: 70px;
+            height: 70px;
+            border: 1px solid #0072ff;
+            left: -10px;
+            top: -35px;
+            border-radius: 50%;
+
+            & > div {
+                width: 60px;
+                height: 60px;
+                position: absolute;
+                left: 4px;
+                top: 4px;
+                background: #0072ff;
+                border-radius: 50%;
+                color: #fff;
+                font-size: 12px;
+                line-height: 60px;
+                text-align: center;
+                font-weight: bolder;
+            }
+        }
+    }
+
+    @keyframes warn {
+        0% {
+            transform: scale(0.3);
+            -webkit-transform: scale(0.3);
+            opacity: 0;
+        }
+
+        25% {
+            transform: scale(0.3);
+            -webkit-transform: scale(0.3);
+            opacity: 0.1;
+        }
+
+        50% {
+            transform: scale(0.5);
+            -webkit-transform: scale(0.5);
+            opacity: 0.3;
+        }
+
+        75% {
+            transform: scale(0.8);
+            -webkit-transform: scale(0.8);
+            opacity: 0.6;
+        }
+
+        100% {
+            transform: scale(1);
+            -webkit-transform: scale(1);
+            opacity: 0;
+        }
+    }
+
+    @keyframes warn1 {
+        0% {
+            transform: scale(0.3);
+            -webkit-transform: scale(0.3);
+            opacity: 0;
+        }
+
+        25% {
+            transform: scale(0.3);
+            -webkit-transform: scale(0.3);
+            opacity: 0.1;
+        }
+
+        50% {
+            transform: scale(0.3);
+            -webkit-transform: scale(0.3);
+            opacity: 0.3;
+        }
+
+        75% {
+            transform: scale(0.5);
+            -webkit-transform: scale(0.5);
+            opacity: 0.6;
+        }
+
+        100% {
+            transform: scale(0.8);
+            -webkit-transform: scale(0.8);
+            opacity: 0;
+        }
+    }
+
+    @keyframes circle {
+        0% {
+            transform: rotate(0);
+            -webkit-transform: rotate(0);
+        }
+        100% {
+            transform: rotate(360deg);
+            -webkit-transform: rotate(360deg);
+        }
+    }
+    @keyframes run {
+        to {
+            transform: translateX(calc((100vw - 180px) / 6 - 80px));
+        }
+    }
+    .container {
+        width: 100%;
+        height: 100%;
+        position: relative;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        background: url('../../../assets/loginPage/map-bg.jpg') no-repeat center;
+        background-size: 100% 100%;
+        .big-title {
+            height: 40px;
+            line-height: 40px;
+            font-weight: bold;
+            text-align: center;
+            color: #fff;
+            display: flex;
+            align-items: center;
+            justify-content: center;
+        }
+        .btns {
+            display: flex;
+            align-items: center;
+            .fullbtn {
+                cursor: pointer;
+                display: flex;
+                align-items: center;
+                margin-right: 20px;
+                .toFull {
+                    font-weight: bolder;
+                    color: #00ffff;
+                    margin-right: 10px;
+                }
+            }
+
+            .backBtn {
+                cursor: pointer;
+                display: flex;
+                align-items: center;
+                img {
+                    width: 14px;
+                    height: 14px;
+                    margin-right: 10px;
+                }
+            }
+        }
+        .blocks {
+            width: 100%;
+            height: calc(100% - 90px);
+            padding: 10px 40px 35px;
+            box-sizing: border-box;
+
+            &>div{
+                width: 100%;
+                height: 100%;
+                display: flex;
+                justify-content: left;
+                align-items: flex-start;
+                overflow-y: hidden;
+                overflow-x: hidden;
+                overflow: auto;
+            }
+
+            .line-map {
+                display: flex;
+                justify-content: center;
+                align-items: flex-start;
+
+                .line-item {
+
+                    .area-head {
                         position: relative;
-                        box-sizing: border-box;
+                        width: 100%;
+                        height: 80px;
+                        padding-left: 38px;
                         border-left: 1px solid #36fcfc;
 
-                        &:last-of-type {
-                            border: none;
-                        }
-
-                        section {
-                            width: 24px;
-                            height: 24px;
+                        .indicator {
+                            width: 36px;
+                            height: 36px;
                             border-radius: 50%;
                             position: absolute;
-                            border: 1px solid rgba(0, 225, 255, 0.6);
-                            top: -12px;
-                            left: 10px;
+                            border: 1px solid #00ff66;
+                            top: -18px;
+                            left: -18px;
 
-                            .dot {
+                            .indi-dot {
                                 position: absolute;
-                                width: 12px;
-                                height: 12px;
-                                left: 5px;
-                                top: 5px;
+                                width: 20px;
+                                height: 20px;
+                                left: 7px;
+                                top: 7px;
                                 -webkit-border-radius: 50%;
                                 -moz-border-radius: 50%;
-                                border: 1px solid #0072ff;
+                                border: 1px solid #00ff66;
                                 border-radius: 50%;
-                                background-color: #00e1ff;
+                                background-color: #00ff66;
                                 z-index: 2;
                             }
-                            .pulse {
+                            .indi-pulse {
                                 position: absolute;
-                                width: 48px;
-                                height: 48px;
-                                left: -13px;
-                                top: -13px;
-                                border: 1px solid #00e1ff;
+                                width: 56px;
+                                height: 56px;
+                                left: -11px;
+                                top: -11px;
+                                border: 1px solid #00ff66;
                                 -webkit-border-radius: 50%;
                                 -moz-border-radius: 50%;
                                 border-radius: 50%;
@@ -729,15 +1141,15 @@
                                 -webkit-animation-iteration-count: infinite;
                                 -moz-animation-iteration-count: infinite;
                                 animation-iteration-count: infinite;
-                                box-shadow: 1px 1px 30px #00e1ff;
+                                box-shadow: 1px 1px 30px #00ff66;
                             }
-                            .pulse1 {
+                            .indi-pulse1 {
                                 position: absolute;
-                                width: 48px;
-                                height: 48px;
-                                left: -13px;
-                                top: -13px;
-                                border: 1px solid #00e1ff;
+                                width: 56px;
+                                height: 56px;
+                                left: -11px;
+                                top: -11px;
+                                border: 1px solid #3399ff;
                                 -webkit-border-radius: 50%;
                                 -moz-border-radius: 50%;
                                 border-radius: 50%;
@@ -749,319 +1161,374 @@
                                 -webkit-animation-iteration-count: infinite;
                                 -moz-animation-iteration-count: infinite;
                                 animation-iteration-count: infinite;
-                                box-shadow: 1px 1px 30px #00e1ff;
+                                box-shadow: 1px 1px 30px #3399ff;
                             }
                         }
-                        & > div {
-                            padding: 10px 0;
-                            transform: translateY(-14px);
-                            border-radius: 8px;
-                            background-image: linear-gradient(to right, rgba(8, 109, 209, 0.4), rgba(11, 255, 255, 0.2));
-                            border: 1px solid rgba(54, 252, 252, 1);
-                            display: flex;
-                            flex-direction: column;
-                            justify-content: center;
+                        .someUndone {
+                            width: 36px;
+                            height: 36px;
+                            border-radius: 50%;
+                            position: absolute;
+                            border: 1px solid #ccc;
+                            top: -18px;
+                            left: -18px;
 
-                            div {
-                                margin-bottom: 5px;
-                                &:last-of-type {
-                                    margin-bottom: none;
+                            .indi-dot {
+                                position: absolute;
+                                width: 20px;
+                                height: 20px;
+                                left: 7px;
+                                top: 7px;
+                                -webkit-border-radius: 50%;
+                                -moz-border-radius: 50%;
+                                border: 1px solid #ccc;
+                                border-radius: 50%;
+                                background-color: #ccc;
+                                z-index: 2;
+                            }
+                        }
+                        .somewarning {
+                            width: 36px;
+                            height: 36px;
+                            border-radius: 50%;
+                            position: absolute;
+                            border: 1px solid #ff0000;
+                            top: -18px;
+                            left: -18px;
+
+                            .indi-dot {
+                                position: absolute;
+                                width: 20px;
+                                height: 20px;
+                                left: 7px;
+                                top: 7px;
+                                -webkit-border-radius: 50%;
+                                -moz-border-radius: 50%;
+                                border: 1px solid #ff0000;
+                                border-radius: 50%;
+                                background-color: #ff0000;
+                                z-index: 2;
+                            }
+                        }
+                        .arrow {
+                            position: absolute;
+                            width: 58px;
+                            height: 20px;
+                            left: 38px;
+                            top: -10px;
+                            background: url('../../../assets/loginPage/arrow-r.png') 0 / cover no-repeat;
+                            animation: run 2s steps(4) 0s infinite;
+                        }
+                        .top-line {
+                            width: 100%;
+                            border-top: 2px solid #36fcfc;
+                        }
+                        .fadeLine {
+                            width: 100%;
+                            border-top: 1px solid rgba(54,252,252,.6);
+                        }
+                    }
+                    .fadeBorder {
+                        border-left: 1px solid #ccc;
+                    }
+                    .more-info {
+                        width: 100%;
+
+                        .warning {
+                            & > section {
+                                border: 1px solid #ff0000;
+
+                                .dot {
+                                    border: 1px solid #ff0000;
+                                    background: #ff0000;
                                 }
-                                span {
-                                    display: inline-block;
-                                    width: 50%;
-                                    font-size: 13px;
-                                    color: #fff;
-                                    text-align: left;
+                                .pulse {
+                                    border: 1px solid #ff0000;
+                                    box-shadow: 1px 1px 30px #ff0000;
+                                }
+                                .pulse1 {
+                                    border: 1px solid #ff0000;
+                                    box-shadow: 1px 1px 30px #ff0000;
+                                }
+                            }
 
-                                    &:first-of-type {
-                                        text-align: right;
-                                        color: rgba(255, 255, 255, 0.8);
+                            & > div {
+                                div {
+                                    span.target {
+                                        color: #ff2929;
+                                        font-weight: bolder;
                                     }
                                 }
                             }
                         }
-                        .noBorder{
-                            border: 1px solid rgba(54, 252, 252, 0.1);
-                        }
-                        .redBorder{
-                            border: 1px solid #ff0000;
-                        }
-                        p {
-                            width: 140px;
-                            height: 50px;
-                            font-size: 18px;
-                            line-height: 48px;
-                            text-align: center;
-                            color: #fff;
-                            border-radius: 8px;
-                            background-image: linear-gradient(to right, rgba(11, 255, 255, 0.2), rgba(8, 109, 209, 0.4));
-                            border: 1px solid rgba(54, 252, 252, 0.6);
-                        }
-                    }
-                    .warning {
-                        & > section {
-                            border: 1px solid #ff0000;
+                        .undone {
+                            & > section {
+                                border: 1px solid #ccc;
 
-                            .dot {
-                                border: 1px solid #ff0000;
-                                background: #ff0000;
-                            }
-                            .pulse {
-                                border: 1px solid #ff0000;
-                                box-shadow: 1px 1px 30px #ff0000;
-                            }
-                            .pulse1 {
-                                border: 1px solid #ff0000;
-                                box-shadow: 1px 1px 30px #ff0000;
-                            }
-                        }
-
-                        & > div {
-                            div {
-                                span.target {
-                                    color: #ff2929;
-                                    font-weight: bolder;
+                                .dot {
+                                    border: 1px solid #ccc;
+                                    background: #ccc;
+                                }
+                                .pulse {
+                                    display: none;
+                                }
+                                .pulse1 {
+                                    display: none;
                                 }
                             }
                         }
                     }
-                    .undone {
-                        & > section {
-                            border: 1px solid #ccc;
-
-                            .dot {
-                                border: 1px solid #ccc;
-                                background: #ccc;
-                            }
-                            .pulse {
-                                display: none;
-                            }
-                            .pulse1 {
-                                display: none;
-                            }
-                        }
+                }
+                .finish {
+                    .area-head {
+                        position: relative;
+                        width: 100%;
+                        height: 80px;
+                        border-left: none;
                     }
                 }
-            }
-            .finish {
-                .area-head {
-                    position: relative;
-                    width: 100%;
-                    height: 80px;
-                    border-left: none;
-                    .finish-point {
-                        position: absolute;
-                        width: 90px;
+                .pic-tit {
+                    display: flex;
+                    width: calc((100vw - 120px) / 7);
+                    height: 160px;
+                    padding: 20px;
+                    transform: translate(-20px, -40%);
+                    flex-direction: column;
+                    align-items: flex-start;
+
+                    img {
+                        width: calc((100vw - 120px) / 7 - 40px);
                         height: 90px;
-                        border: 2px solid #0072ff;
-                        left: -30px;
-                        top: -45px;
-                        border-radius: 50%;
+                        margin-bottom: 10px;
+                        border-radius: 4px;
+                    }
+                    p {
+                        font-size: 16px;
+                        color: #00ffff;
+                        font-weight: bold;
+                    }
+                }
 
-                        & > div {
-                            width: 80px;
-                            height: 80px;
-                            position: absolute;
-                            left: 3px;
-                            top: 3px;
-                            background: #0072ff;
-                            border-radius: 50%;
-                            color: #fff;
-                            font-size: 16px;
-                            line-height: 80px;
-                            text-align: center;
-                            font-weight: bolder;
-                        }
+                .water {
+                    transform: none;
+                }
+                .start {
+                    padding: 40px 0;
+                    p {
+                        margin-top: -21px;
+                        margin-left: 20px;
+                    }
+                    span {
+                        width: 1px;
+                        height: 50px;
+                        background: #36fcfc;
+                        position: absolute;
+                        top: -10px;
+                        left: 0;
+                    }
+                    section {
+                        position: absolute;
+                        top: 30px;
+                        left: -14px;
                     }
                 }
             }
-            .pic-tit {
-                display: flex;
-                width: calc((100vw - 120px) / 7);
-                height: 160px;
-                padding: 20px;
-                transform: translate(-20px, -40%);
-                flex-direction: column;
-                align-items: flex-start;
-
-                img {
-                    width: calc((100vw - 120px) / 7 - 40px);
-                    height: 90px;
-                    margin-bottom: 10px;
-                    border-radius: 4px;
-                }
-                p {
-                    font-size: 16px;
-                    color: #00ffff;
-                    font-weight: bold;
-                }
+            .tip {
+                width: 100%;
+                font-size: 30px;
+                text-align: center;
+                margin-top: 100px;
+                color: #fff;
+                font-weight: bolder;
             }
-
-            .water {
-                transform: none;
-            }
-            .start {
-                padding: 40px 0;
-                p {
-                    margin-top: -21px;
-                    margin-left: 20px;
-                }
-                span {
-                    width: 1px;
-                    height: 50px;
-                    background: #36fcfc;
-                    position: absolute;
-                    top: -10px;
-                    left: 0;
-                }
-                section {
-                    position: absolute;
-                    top: 30px;
-                    left: -14px;
-                }
-            }
-        }
-        .tip {
-            width: 100%;
-            font-size: 30px;
-            text-align: center;
-            margin-top: 100px;
-            color: #fff;
-            font-weight: bolder;
-        }
-        .current-task {
-            position: absolute;
-            width: calc((500vw - 600px) / 7);
-            z-index: 999999;
-            top: 0;
-            right: 0;
-            padding: 0 60px;
-            display: flex;
-            align-items: center;
-            justify-content: space-between;
-
-            .task-des {
-                padding: 10px 20px;
+            .current-task {
+                position: absolute;
+                width: calc((500vw - 600px) / 7);
+                z-index: 999999;
+                top: 0;
+                right: 0;
+                padding: 0 60px;
                 display: flex;
                 align-items: center;
-                border: 1px solid #36fcfc;
+                justify-content: space-between;
 
-                .task-des-l {
-                    display: flex;
-                    flex-direction: column;
-                    align-items: center;
-                    font-size: 20px;
-                    color: #36fcfc;
-                    border-right: 1px solid #36fcfc;
-                    padding-right: 20px;
-                    img {
-                        margin-bottom: 10px;
-                    }
-                }
-                .task-des-r {
-                    width: calc((200vw - 240px) / 7);
-                    display: flex;
-                    flex-direction: column;
-                    align-items: center;
-                    font-size: 20px;
-                    line-height: 28px;
-                    color: #fcfc36;
-                    padding-left: 20px;
-                }
-            }
-            .current-data {
-                width: 267px;
-                height: 138px;
-                padding: 20px 30px;
-                box-sizing: border-box;
-                background: url('../../../assets/loginPage/xj-bg.png') no-repeat center;
-                background-size: 100% 100%;
-
-                .data-area {
+                .task-des {
+                    padding: 10px 20px;
                     display: flex;
                     align-items: center;
-                    border-bottom: 1px solid #040c3b;
-                    font-weight: bold;
-                    padding-bottom: 10px;
-                    box-sizing: border-box;
+                    border: 1px solid #36fcfc;
 
-                    img {
-                        width: 30px;
-                        height: 30px;
-                        margin-right: 10px;
-                        animation: circle 1s ease-in-out infinite;
-                    }
-
-                    div {
-                        font-size: 15px;
-                        color: rgba(4, 12, 59, 0.8);
-
-                        span {
-                            color: #040c3b;
-                        }
-                    }
-                }
-
-                .data-spot {
-                    display: flex;
-                    align-items: flex-start;
-                    margin-top: 10px;
-
-                    & > div {
+                    .task-des-l {
                         display: flex;
                         flex-direction: column;
                         align-items: center;
-                        width: 50%;
-                        font-size: 14px;
-                        color: rgba(4, 12, 59, 0.8);
+                        font-size: 20px;
+                        color: #36fcfc;
+                        border-right: 1px solid #36fcfc;
+                        padding-right: 20px;
+                        img {
+                            margin-bottom: 10px;
+                        }
+                    }
+                    .task-des-r {
+                        width: calc((200vw - 240px) / 7);
+                        display: flex;
+                        flex-direction: column;
+                        align-items: center;
+                        font-size: 20px;
+                        line-height: 28px;
+                        color: #fcfc36;
+                        padding-left: 20px;
+                    }
+                }
+                .current-data {
+                    width: 267px;
+                    height: 138px;
+                    padding: 20px 30px;
+                    box-sizing: border-box;
+                    background: url('../../../assets/loginPage/xj-bg.png') no-repeat center;
+                    background-size: 100% 100%;
 
-                        p {
-                            margin-top: 6px;
-                            color: #040c3b;
+                    .data-area {
+                        display: flex;
+                        align-items: center;
+                        border-bottom: 1px solid #040c3b;
+                        font-weight: bold;
+                        padding-bottom: 10px;
+                        box-sizing: border-box;
+
+                        img {
+                            width: 30px;
+                            height: 30px;
+                            margin-right: 10px;
+                            animation: circle 1s ease-in-out infinite;
                         }
 
-                        &:first-of-type {
-                            border-right: 1px solid #040c3b;
+                        div {
+                            font-size: 15px;
+                            color: rgba(4, 12, 59, 0.8);
+
+                            span {
+                                color: #040c3b;
+                            }
+                        }
+                    }
+
+                    .data-spot {
+                        display: flex;
+                        align-items: flex-start;
+                        margin-top: 10px;
+
+                        & > div {
+                            display: flex;
+                            flex-direction: column;
+                            align-items: center;
+                            width: 50%;
+                            font-size: 14px;
+                            color: rgba(4, 12, 59, 0.8);
+
+                            p {
+                                margin-top: 6px;
+                                color: #040c3b;
+                            }
+
+                            &:first-of-type {
+                                border-right: 1px solid #040c3b;
+                            }
                         }
                     }
                 }
             }
-        }
-        .star-pic {
-            position: absolute;
-            width: calc((100vw - 120px) / 7);
-            height: calc((100vw - 120px) / 7);
-            z-index: 999999999;
-            bottom: 40px;
-            right: 40px;
-            padding: 20px;
+            .warning-part{
+              position: absolute;
+              width: calc((100vw - 120px) / 7);
+              height: calc((100vw - 120px) / 7);
+              background-image: linear-gradient(to right, rgba(8, 109, 209, 0.4), rgba(11, 255, 255, 0.2));
+              border: 1px solid #36fcfc;
+              z-index: 99999;
+              top: 100px;
+              right: 60px;
+              padding: 10px;
+              color: rgb(0, 255, 255);
+              backdrop-filter: blur(5px);
 
-            .star-bg {
-                position: inherit;
+              .warn-tit{
+                height: 26px;
+                padding-bottom: 5px;
+                font-weight: bolder;
+                border-bottom: 1px solid rgb(0, 255, 255);
+              }
+              .warn-msg{
                 width: 100%;
-                height: 100%;
-                left: 0;
-                top: 0;
-                img {
-                    width: 100%;
-                    height: auto;
-                    animation: circle 30s linear infinite;
+                margin-top: 10px;
+                height: calc(100% - 36px);
+                overflow: hidden;
+                overflow-y: scroll;
+                scrollbar-width: none; /* firefox */
+                -ms-overflow-style: none; /* IE 10+ */
+
+                &::-webkit-scrollbar {
+                  display: none; /* Chrome Safari */
                 }
-            }
+                .warn-item{
+                  padding: 0 0 10px;
+                  margin-bottom: 10px;
+                  border-bottom: 1px solid rgb(0, 255, 255);
 
-            .star {
-                position: inherit;
-                width: 100%;
-                height: 100%;
-                left: 0;
-                top: 0;
-                img {
+                  &:last-of-type{
+                    border-bottom: none;
+                    margin-bottom: 0;
+                  }
+                }
+              }
+            }
+            .star-pic {
+                position: absolute;
+                width: calc((100vw - 120px) / 7);
+                height: calc((100vw - 120px) / 7);
+                z-index: 9999;
+                bottom: 40px;
+                right: 40px;
+                padding: 20px;
+
+                .scan{
+                    position: inherit;
+                    width: 65%;
+                    height: 65%;
+                    z-index: 99997;
+                    left: 0;
+                    top: 0;
+                    right: 0;
+                    bottom: 0;
+                    margin: auto;
+                }
+
+                .star-bg {
+                    position: inherit;
                     width: 100%;
-                    height: auto;
+                    height: 100%;
+                    z-index: 99998;
+                    left: 0;
+                    top: 0;
+                    img {
+                        width: 100%;
+                        height: auto;
+                        animation: circle 30s linear infinite;
+                    }
+                }
+                .star {
+                    position: inherit;
+                    width: 100%;
+                    height: 100%;
+                    z-index: 99999;
+                    left: 0;
+                    top: 0;
+                    img {
+                        width: 100%;
+                        height: auto;
+                    }
                 }
             }
         }
     }
-}
 </style>

--
Gitblit v1.9.2