From 9bc4417c85acb89059a5dc039dcad218a1c0d468 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期五, 12 八月 2022 13:01:31 +0800
Subject: [PATCH] lct

---
 src/stores/userInfo.ts                               |  119 ++-
 src/router/route.ts                                  |    8 
 src/stores/interface/index.ts                        |    1 
 src/views/intellectInspect/intelligentLine/index.vue | 1650 +++++++++++++++++++++++++++---------------------------
 4 files changed, 902 insertions(+), 876 deletions(-)

diff --git a/src/router/route.ts b/src/router/route.ts
index 3bcf1c9..1aa3929 100644
--- a/src/router/route.ts
+++ b/src/router/route.ts
@@ -87,5 +87,13 @@
         meta: {
             title: '巡检路线'
         }
+    },
+    {
+        path: '/intelligentLine',
+        name: 'intelligentMap',
+        component: () => import('/@/views/intellectInspect/intelligentLine/index.vue'),
+        meta: {
+            title: '巡检路线'
+        }
     }
 ];
diff --git a/src/stores/interface/index.ts b/src/stores/interface/index.ts
index ba56687..455383e 100644
--- a/src/stores/interface/index.ts
+++ b/src/stores/interface/index.ts
@@ -12,6 +12,7 @@
     userName: string;
     uid: string;
     projectId: string;
+    dataList: [];
 }
 export interface UserInfosStates {
     userInfos: UserInfosState;
diff --git a/src/stores/userInfo.ts b/src/stores/userInfo.ts
index 9714aab..c4eb3bc 100644
--- a/src/stores/userInfo.ts
+++ b/src/stores/userInfo.ts
@@ -8,63 +8,64 @@
  * @methods setUserInfos 设置用户信息
  */
 export const useUserInfo = defineStore('userInfo', {
-	state: (): UserInfosStates => ({
-		userInfos: {
-			userName: '',
-			photo: 'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=317673774,2961727727&fm=26&gp=0.jpg',
-			time: 0,
-			roles: [],
-			authBtnList: [],
-			uid:'',
-			projectId:''
-		},
-	}),
-	actions: {
-		async setUserInfos(value: any) {
-			this.userInfos.userName = value.username
-			this.userInfos.uid = value.uid
-			this.userInfos.roles = value.role
-			// const userName = Cookies.get('userName');
-			// // 模拟数据
-			// let defaultRoles: Array<string> = [];
-			// let defaultAuthBtnList: Array<string> = [];
-			// // admin 页面权限标识,对应路由 meta.roles,用于控制路由的显示/隐藏
-			// let adminRoles: Array<string> = ['admin'];
-			// // admin 按钮权限标识
-			// let adminAuthBtnList: Array<string> = ['btn.add', 'btn.del', 'btn.edit', 'btn.link'];
-			// // test 页面权限标识,对应路由 meta.roles,用于控制路由的显示/隐藏
-			// let testRoles: Array<string> = ['common'];
-			// // test 按钮权限标识
-			// let testAuthBtnList: Array<string> = ['btn.add', 'btn.link'];
-			// // 不同用户模拟不同的用户权限
-			// if (userName === 'admin') {
-			// 	defaultRoles = adminRoles;
-			// 	defaultAuthBtnList = adminAuthBtnList;
-			// } else {
-			// 	defaultRoles = testRoles;
-			// 	defaultAuthBtnList = testAuthBtnList;
-			// }
-			// // 用户信息模拟数据
-			// const userInfos = {
-			// 	userName: userName,
-			// 	photo:
-			// 		userName === 'admin'
-			// 			? 'https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1813762643,1914315241&fm=26&gp=0.jpg'
-			// 			: 'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=317673774,2961727727&fm=26&gp=0.jpg',
-			// 	time: new Date().getTime(),
-			// 	roles: defaultRoles,
-			// 	authBtnList: defaultAuthBtnList,
-			// 	uid:'',
-			// 	projectId:'',
-			// };
-			// // 存储用户信息到浏览器缓存
-			// Session.set('userInfo', userInfos);
-			//
-			// if (Session.get('userInfo')) {
-			// 	this.userInfos = Session.get('userInfo');
-			// } else {
-			// 	this.userInfos = userInfos;
-			// }
-		},
-	},
+    state: (): UserInfosStates => ({
+        userInfos: {
+            userName: '',
+            photo: 'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=317673774,2961727727&fm=26&gp=0.jpg',
+            time: 0,
+            roles: [],
+            authBtnList: [],
+            uid: '',
+            projectId: '',
+            dataList: []
+        }
+    }),
+    actions: {
+        async setUserInfos(value: any) {
+            this.userInfos.userName = value.username;
+            this.userInfos.uid = value.uid;
+            this.userInfos.roles = value.role;
+            // const userName = Cookies.get('userName');
+            // // 模拟数据
+            // let defaultRoles: Array<string> = [];
+            // let defaultAuthBtnList: Array<string> = [];
+            // // admin 页面权限标识,对应路由 meta.roles,用于控制路由的显示/隐藏
+            // let adminRoles: Array<string> = ['admin'];
+            // // admin 按钮权限标识
+            // let adminAuthBtnList: Array<string> = ['btn.add', 'btn.del', 'btn.edit', 'btn.link'];
+            // // test 页面权限标识,对应路由 meta.roles,用于控制路由的显示/隐藏
+            // let testRoles: Array<string> = ['common'];
+            // // test 按钮权限标识
+            // let testAuthBtnList: Array<string> = ['btn.add', 'btn.link'];
+            // // 不同用户模拟不同的用户权限
+            // if (userName === 'admin') {
+            // 	defaultRoles = adminRoles;
+            // 	defaultAuthBtnList = adminAuthBtnList;
+            // } else {
+            // 	defaultRoles = testRoles;
+            // 	defaultAuthBtnList = testAuthBtnList;
+            // }
+            // // 用户信息模拟数据
+            // const userInfos = {
+            // 	userName: userName,
+            // 	photo:
+            // 		userName === 'admin'
+            // 			? 'https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1813762643,1914315241&fm=26&gp=0.jpg'
+            // 			: 'https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=317673774,2961727727&fm=26&gp=0.jpg',
+            // 	time: new Date().getTime(),
+            // 	roles: defaultRoles,
+            // 	authBtnList: defaultAuthBtnList,
+            // 	uid:'',
+            // 	projectId:'',
+            // };
+            // // 存储用户信息到浏览器缓存
+            // Session.set('userInfo', userInfos);
+            //
+            // if (Session.get('userInfo')) {
+            // 	this.userInfos = Session.get('userInfo');
+            // } else {
+            // 	this.userInfos = userInfos;
+            // }
+        }
+    }
 });
diff --git a/src/views/intellectInspect/intelligentLine/index.vue b/src/views/intellectInspect/intelligentLine/index.vue
index fcb8dd4..256dd69 100644
--- a/src/views/intellectInspect/intelligentLine/index.vue
+++ b/src/views/intellectInspect/intelligentLine/index.vue
@@ -1,210 +1,226 @@
 <template>
-  <div class="container">
-    <div class="big-title" @click="goBack()">国泰新华智能巡检系统</div>
-    <div style="font-size: 14px;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="backBtn" @click="goBack()">
-      <img src="../../../assets/loginPage/back-icon.png">
-      <div>退出</div>
-    </div>
-    </div>
-    <div class="blocks">
-      <div class="star-pic">
-        <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="data&&data.length>0">
-        <div class="line-item" v-for="(item,index) in data" :key="index">
-          <div class="picbox">
-            <img src="../../../assets/loginPage/equipment.jpg">
-            <p>RFID: <span>{{item.rfid}}</span></p>
-            <p>位置: <span>{{item.region.toString()}}</span></p>
-          </div>
-          <div class="area-head" :class="item.points.some(e=>e.reportResult == null)?'fadeBorder':''">
-            <div class="indicator" :class="item.points.some(e=>e.reportResult == null)?'someUndone':(item.points.some(e=>e.reportResult == 1)?'somewarning':'')">
-              <div class="indi-dot"></div>
-<!--              <div class="indi-pulse"></div>-->
-<!--              <div class="indi-pulse1"></div>-->
+    <div class="container">
+        <div class="big-title" @click="goBack()">国泰新华智能巡检系统</div>
+        <div style="font-size: 14px; 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="arrow" v-if="item.points.some(e=>e.reportResult != null)">
-
+            <div class="backBtn" @click="goBack()">
+                <img src="../../../assets/loginPage/back-icon.png" />
+                <div>退出</div>
             </div>
-            <div class="top-line" :class="item.points.some(e=>e.reportResult == null)?'fadeLine':''"></div>
-          </div>
-          <div class="more-info">
-            <div class="item" v-for="(t,i) in item.points" :key="i" :class="t.reportResult == null?'undone':(t.reportResult==1?'warning':'')">
-                <section>
-                  <div class="dot"></div>
-                  <div class="pulse"></div>
-                  <div class="pulse1"></div>
-                </section>
-                <div>
-                  <div><span>巡检点:</span><span>{{t.point}}</span></div>
-                  <div><span>巡检状态:</span><span>{{t.pointCheckStatus==1?'未完成':'已完成'}}</span></div>
-                  <div v-if="t.reportResult!=null"><span>巡检指标:</span><span>{{t.quotaContent}}</span></div>
-                  <div v-if="(t.dataReportType==2 || t.dataReportType==3)&&t.secondReferenceResult"><span>参数:</span><span class="target">{{t.secondReferenceResult+t.quotaUnit}}</span></div>
-                  <div><span>巡检结果:</span><span class="target">{{t.reportResult==null?'--':(t.reportResult==0?'正常':'异常')}}</span></div>
+        </div>
+        <div class="blocks">
+            <div class="star-pic">
+                <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" />
+                        <p>
+                            RFID: <span>{{ item.rfid }}</span>
+                        </p>
+                        <p>
+                            位置: <span>{{ item.region.toString() }}</span>
+                        </p>
+                    </div>
+                    <div class="area-head" :class="item.points.some((e) => e.reportResult == null) ? 'fadeBorder' : ''">
+                        <div class="indicator" :class="item.points.some((e) => e.reportResult == null) ? 'someUndone' : item.points.some((e) => e.reportResult == 1) ? 'somewarning' : ''">
+                            <div class="indi-dot"></div>
+                            <!--              <div class="indi-pulse"></div>-->
+                            <!--              <div class="indi-pulse1"></div>-->
+                        </div>
+                        <div class="arrow" v-if="item.points.some((e) => e.reportResult != null)"></div>
+                        <div class="top-line" :class="item.points.some((e) => e.reportResult == null) ? 'fadeLine' : ''"></div>
+                    </div>
+                    <div class="more-info">
+                        <div class="item" v-for="(t, i) in item.points" :key="i" :class="t.reportResult == null ? 'undone' : t.reportResult == 1 ? 'warning' : ''">
+                            <section>
+                                <div class="dot"></div>
+                                <div class="pulse"></div>
+                                <div class="pulse1"></div>
+                            </section>
+                            <div>
+                                <div>
+                                    <span>巡检点:</span><span>{{ t.point }}</span>
+                                </div>
+                                <div>
+                                    <span>巡检状态:</span><span>{{ t.pointCheckStatus == 1 ? '未完成' : '已完成' }}</span>
+                                </div>
+                                <div v-if="t.reportResult != null">
+                                    <span>巡检指标:</span><span>{{ t.quotaContent }}</span>
+                                </div>
+                                <div v-if="(t.dataReportType == 2 || t.dataReportType == 3) && t.secondReferenceResult">
+                                    <span>参数:</span><span class="target">{{ t.secondReferenceResult + t.quotaUnit }}</span>
+                                </div>
+                                <div>
+                                    <span>巡检结果:</span><span class="target">{{ t.reportResult == null ? '--' : t.reportResult == 0 ? '正常' : '异常' }}</span>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <div class="line-item finish">
+                    <div class="picbox"></div>
+                    <div class="area-head">
+                        <div class="finish-point">
+                            <div>完成巡检</div>
+                        </div>
+                    </div>
                 </div>
             </div>
-          </div>
+            <div class="tip" v-else>抱歉,暂时查询不到巡检路线...</div>
         </div>
-        <div class="line-item finish">
-          <div class="picbox"></div>
-          <div class="area-head">
-            <div class="finish-point">
-              <div>
-                完成巡检
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="tip" v-else>
-        抱歉,暂时查询不到巡检路线...
-      </div>
     </div>
-  </div>
 </template>
 
 <script lang="ts">
 import screenfull from 'screenfull';
 import { lineApi } from '/@/api/intelligentLine';
-import { toRefs, reactive, ref, onMounted, onUnmounted } from 'vue';
+import { toRefs, reactive, ref, onMounted, onUnmounted, computed } from 'vue';
+
 import { storeToRefs } from 'pinia';
 import { initBackEndControlRoutes } from '/@/router/backEnd';
 import { Session } from '/@/utils/storage';
 import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';
 import { ElTable } from 'element-plus';
 import { FormInstance, FormRules, ElMessage } from 'element-plus';
-import {useUserInfo} from "/@/stores/userInfo";
+import { useUserInfo } from '/@/stores/userInfo';
 
 // 定义接口来定义对象的类型
 interface stateType {
-  present: string,
-  isScreenfull: boolean,
-  path: string,
-  socket: any,
-  socketData: string,
-  data: Array<any>
+    present: string;
+    isScreenfull: boolean;
+    path: string;
+    socket: any;
+    socketData: string;
+    data: Array<any>;
 }
 export default {
-  name: 'intelligentLine',
-  components: {},
-  setup() {
-    const state = reactive<stateType>({
-      present: '',
-      isScreenfull: false,
-      path: "http://192.168.0.29:8008/ws/test/",
-      socketData: '',
-      socket: null,
-      data: []
-    });
-
-    onMounted(()=>{
-      setInterval(() => {
-        state.present = new Date().toLocaleString()
-      }, 1000)
-      init()
-      // getLine()
-    })
-
-    // socket获取数据
-    const init=()=>{
-      if(typeof(window.WebSocket) === "undefined"){
-        alert("您的浏览器不支持socket")
-      }else{
-        // 实例化socket
-        var url = state.path + '80938081556545536'
-        url = url.replace("https","ws").replace("http","ws");
-        console.log(url,'获取地址')
-        state.socket = new window.WebSocket(url)
-        // 监听socket连接
-        state.socket.onopen=()=>{
-          console.log("socket连接成功")
-        }
-        // 监听socket错误信息
-        state.socket.onerror = ()=>{
-          console.log("socket连接错误")
-        }
-        // 监听socket消息
-        state.socket.onmessage = (msg)=>{
-          console.log(msg,'msg')
-          console.log(typeof msg.data,'type')
-          if(msg.data =='连接成功') return
-          state.socketData = msg.data
-          console.log(JSON.parse(state.socketData),'------------------',)
-          if(typeof JSON.parse(state.socketData) == Array){
-            state.data = JSON.parse(state.socketData)
-            console.log(state.data)
-          }
-          // console.log(msg,'msg')
-          // console.log(this.data,'data-------')
-        }
-      }
-    }
-
-    const send= ()=> {
-      state.socket.send(params)
-    }
-
-
-    // 接口获取数据
-    const getLine = async()=>{
-      let res = await lineApi().getLine({ id: '80647416891768832' });
-      if (res.data.code === '200') {
-        console.log(res.data.data,'获取巡检点')
-        state.data = res.data.data
-        console.log(state.data,'---')
-      } else {
-        ElMessage({
-          type: 'warning',
-          message: res.data.msg
+    name: 'intelligentLine',
+    components: {},
+    setup() {
+        const userInfo = useUserInfo();
+        const { userInfos } = storeToRefs(userInfo);
+        const state = reactive<stateType>({
+            present: '',
+            isScreenfull: false,
+            path: 'http://192.168.0.29:8008/ws/test/',
+            socketData: '',
+            socket: null,
+            data: []
         });
-      }
+
+        onMounted(() => {
+            setInterval(() => {
+                state.present = new Date().toLocaleString();
+            }, 1000);
+            init();
+            // getLine()
+        });
+
+        const dataList = computed(() => {
+            return userInfos.value.dataList;
+        });
+
+        // socket获取数据
+        const init = () => {
+            if (typeof window.WebSocket === 'undefined') {
+                alert('您的浏览器不支持socket');
+            } else {
+                // 实例化socket
+                var url = state.path + '80938081556545536';
+                url = url.replace('https', 'ws').replace('http', 'ws');
+                console.log(url, '获取地址');
+                state.socket = new window.WebSocket(url);
+                // 监听socket连接
+                state.socket.onopen = () => {
+                    console.log('socket连接成功');
+                };
+                // 监听socket错误信息
+                state.socket.onerror = () => {
+                    console.log('socket连接错误');
+                };
+                // 监听socket消息
+                state.socket.onmessage = (msg) => {
+                    // console.log(msg, 'msg');
+                    // console.log(typeof msg.data, 'type');
+                    if (msg.data === '连接成功') return;
+                    // state.socketData = msg.data;
+                    // console.log(JSON.parse(state.socketData), '------------------');
+                    // if (typeof JSON.parse(state.socketData) == Array) {
+                    //     debugger;
+                    debugger;
+                    userInfos.value.dataList = JSON.parse(msg.data);
+                    console.log(state.data);
+                    // }
+                    // console.log(msg,'msg')
+                    // console.log(this.data,'data-------')
+                };
+            }
+        };
+
+        const send = () => {
+            state.socket.send(params);
+        };
+
+        // 接口获取数据
+        const getLine = async () => {
+            let res = await lineApi().getLine({ id: '80647416891768832' });
+            if (res.data.code === '200') {
+                console.log(res.data.data, '获取巡检点');
+                state.data = res.data.data;
+                console.log(state.data, '---');
+            } else {
+                ElMessage({
+                    type: 'warning',
+                    message: res.data.msg
+                });
+            }
+        };
+
+        // 全屏
+        const onScreenfullClick = () => {
+            if (!screenfull.isEnabled) {
+                ElMessage.warning('暂不不支持全屏');
+                return false;
+            }
+            screenfull.toggle();
+            screenfull.on('change', () => {
+                if (screenfull.isFullscreen) {
+                    state.isScreenfull = true;
+                } else {
+                    state.isScreenfull = false;
+                }
+            });
+        };
+
+        // 返回
+        const goBack = () => {
+            window.history.go(-1);
+        };
+
+        // 页面关闭处理
+        onUnmounted(() => {
+            // 销毁监听
+            state.socket.onclose = () => {
+                console.log('socket已经关闭');
+            };
+        });
+        return {
+            dataList,
+            goBack,
+            onScreenfullClick,
+            ...toRefs(state)
+        };
     }
-
-    // 全屏
-    const onScreenfullClick=()=>{
-       if (!screenfull.isEnabled) {
-         ElMessage.warning('暂不不支持全屏');
-         return false;
-       }
-       screenfull.toggle();
-       screenfull.on('change', () => {
-         if (screenfull.isFullscreen) {
-           state.isScreenfull = true
-         }
-         else{
-           state.isScreenfull = false
-         }
-       });
-     }
-
-     // 返回
-     const goBack = ()=>{
-       window.history.go(-1)
-     }
-
-    // 页面关闭处理
-    onUnmounted( ()=> {
-    // 销毁监听
-      state.socket.onclose = ()=>{
-        console.log("socket已经关闭")
-      }
-    })
-    return{
-      goBack,
-      onScreenfullClick,
-      ...toRefs(state)
-    }
-  }
-}
+};
 // export default {
 //   name: 'NewForm',
 //   props: {
@@ -319,713 +335,713 @@
 
 <!-- Add "scoped" attribute to limit CSS to this component only -->
 <style scoped lang="scss">
-  @keyframes warn {
+@keyframes warn {
     0% {
-      transform: scale(0.3);
-      -webkit-transform: scale(0.3);
-      opacity: 0.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;
+        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;
+        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;
+        transform: scale(0.8);
+        -webkit-transform: scale(0.8);
+        opacity: 0.6;
     }
 
     100% {
-      transform: scale(1);
-      -webkit-transform: scale(1);
-      opacity: 0.0;
+        transform: scale(1);
+        -webkit-transform: scale(1);
+        opacity: 0;
     }
-  }
+}
 
-  @keyframes warn1 {
+@keyframes warn1 {
     0% {
-      transform: scale(0.3);
-      -webkit-transform: scale(0.3);
-      opacity: 0.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;
+        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;
+        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;
+        transform: scale(0.5);
+        -webkit-transform: scale(0.5);
+        opacity: 0.6;
     }
 
     100% {
-      transform: scale(0.8);
-      -webkit-transform: scale(0.8);
-      opacity: 0.0;
+        transform: scale(0.8);
+        -webkit-transform: scale(0.8);
+        opacity: 0;
     }
-  }
-  
-  @keyframes circle {
+}
+
+@keyframes circle {
     0% {
-      transform: rotate(0);
-      -webkit-transform: rotate(0);
+        transform: rotate(0);
+        -webkit-transform: rotate(0);
     }
     100% {
-      transform: rotate(360deg);
-      -webkit-transform: rotate(360deg);
+        transform: rotate(360deg);
+        -webkit-transform: rotate(360deg);
     }
-  }
-  @keyframes run {
+}
+@keyframes run {
     to {
-      transform: translateX(calc((100vw - 180px)/ 6 - 80px));
+        transform: translateX(calc((100vw - 180px) / 6 - 80px));
     }
-  }
-  .container{
+}
+.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: 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;
+    .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;
-        margin-right: 20px;
-        .toFull{
-          font-weight: bolder;
-          color: #00FFFF;
-          margin-right: 10px;
-        }
-        div{
-          font-size: 16px;
-          color: #00FFFF;
-        }
-      }
-
-      .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: 20px 40px 30px;
-      box-sizing: border-box;
-      display: flex;
-      align-items: flex-start;
-      overflow: hidden;
-      overflow-x: scroll;
-      overflow-y: scroll;
-
-      .line-map{
-        display: flex;
         justify-content: center;
+    }
+    .btns {
+        position: absolute;
+        z-index: 99999;
+        right: 60px;
+        top: 40px;
+        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;
+            }
+            div {
+                font-size: 16px;
+                color: #00ffff;
+            }
+        }
+
+        .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: 20px 40px 30px;
+        box-sizing: border-box;
+        display: flex;
         align-items: flex-start;
+        overflow: hidden;
+        overflow-x: scroll;
+        overflow-y: scroll;
 
-        .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;
+        .line-map {
+            display: flex;
+            justify-content: center;
+            align-items: flex-start;
 
-          .picbox{
-            width: 100%;
-            height: calc((100vh - 130px)/ 5);
-            padding: 10px;
-            margin-bottom: 40px;
-            box-sizing: border-box;
-
-            img{
-              display: block;
-              width: 100%;
-              height: 100px;
-              margin-bottom: 10px;
-              border-radius: 4px;
-            }
-            p{
-              font-size: 14px;
-              color: rgba(255,255,255,.8);
-              margin-top: 10px;
-              span{
-                color: #fff;
-              }
-            }
-          }
-          .area-head{
-            position: relative;
-            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{
-              width: 100%;
-              border-top: 2px solid #36FCFC;
-            }
-            .fadeLine{
-              width: 100%;
-              border-top: 1px solid #ccc;
-            }
-          }
-          .fadeBorder{
-            border-left: 1px solid rgba(54,252,252,.4);
-          }
-          .more-info{
-            width: 100%;
-
-            .item{
-              width: calc((100vw - 120px)/ 6);
-              height: calc((100vh - 130px)/ 5);
-              padding: 0 50px 20px;
-              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,225,255,.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:#00e1ff;
-                  z-index: 2;
-                }
-                .pulse {
-                  position: absolute;
-                  width: 48px;
-                  height: 48px;
-                  left: -13px;
-                  top: -13px;
-                  border: 1px solid #00e1ff;
-                  -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 #00e1ff;
-                }
-                .pulse1 {
-                  position: absolute;
-                  width: 48px;
-                  height: 48px;
-                  left: -13px;
-                  top: -13px;
-                  border: 1px solid #00e1ff;
-                  -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 #00e1ff;
-                }
-              }
-              &>div{
-                padding: 10px 0;
-                transform: translateY(-14px);
-                border-radius: 8px;
-                background-image: linear-gradient(to right,rgba(8,109,209,.4),rgba(11,255,255,.2));
-                border: 1px solid rgba(54,252,252,.6);
+            .line-item {
+                width: calc((100vw - 180px) / 6);
+                padding-left: 20px;
                 display: flex;
                 flex-direction: column;
-                justify-content: center;
+                align-items: flex-start;
+                margin-right: 20px;
+                flex-wrap: nowrap;
 
-                div{
-                  margin-bottom: 5px;
-                  &:last-of-type{
-                    margin-bottom: none;
-                  }
-                  span{
-                    display: inline-block;
-                    width: 50%;
-                    font-size: 13px;
-                    color: #fff;
-                    text-align: left;
+                .picbox {
+                    width: 100%;
+                    height: calc((100vh - 130px) / 5);
+                    padding: 10px;
+                    margin-bottom: 40px;
+                    box-sizing: border-box;
 
-                    &:first-of-type{
-                      text-align: right;
-                      color: rgba(255,255,255,.8);
+                    img {
+                        display: block;
+                        width: 100%;
+                        height: 100px;
+                        margin-bottom: 10px;
+                        border-radius: 4px;
                     }
-                  }
+                    p {
+                        font-size: 14px;
+                        color: rgba(255, 255, 255, 0.8);
+                        margin-top: 10px;
+                        span {
+                            color: #fff;
+                        }
+                    }
                 }
-              }
+                .area-head {
+                    position: relative;
+                    width: 100%;
+                    height: 80px;
+                    padding-left: 38px;
+                    border-left: 1px solid #36fcfc;
 
-              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,.2),rgba(8,109,209,.4));
-                border: 1px solid rgba(54,252,252,.6);
-              }
+                    .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 {
+                        width: 100%;
+                        border-top: 2px solid #36fcfc;
+                    }
+                    .fadeLine {
+                        width: 100%;
+                        border-top: 1px solid #ccc;
+                    }
+                }
+                .fadeBorder {
+                    border-left: 1px solid rgba(54, 252, 252, 0.4);
+                }
+                .more-info {
+                    width: 100%;
+
+                    .item {
+                        width: calc((100vw - 120px) / 6);
+                        height: calc((100vh - 130px) / 5);
+                        padding: 0 50px 20px;
+                        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, 225, 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: #00e1ff;
+                                z-index: 2;
+                            }
+                            .pulse {
+                                position: absolute;
+                                width: 48px;
+                                height: 48px;
+                                left: -13px;
+                                top: -13px;
+                                border: 1px solid #00e1ff;
+                                -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 #00e1ff;
+                            }
+                            .pulse1 {
+                                position: absolute;
+                                width: 48px;
+                                height: 48px;
+                                left: -13px;
+                                top: -13px;
+                                border: 1px solid #00e1ff;
+                                -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 #00e1ff;
+                            }
+                        }
+                        & > 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, 0.6);
+                            display: flex;
+                            flex-direction: column;
+                            justify-content: center;
+
+                            div {
+                                margin-bottom: 5px;
+                                &:last-of-type {
+                                    margin-bottom: none;
+                                }
+                                span {
+                                    display: inline-block;
+                                    width: 50%;
+                                    font-size: 13px;
+                                    color: #fff;
+                                    text-align: left;
+
+                                    &:first-of-type {
+                                        text-align: right;
+                                        color: rgba(255, 255, 255, 0.8);
+                                    }
+                                }
+                            }
+                        }
+
+                        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;
+
+                            .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;
+                                }
+                            }
+                        }
+                    }
+                    .undone {
+                        border-left: 1px solid rgba(54, 252, 252, 0.4);
+                        & > section {
+                            border: 1px solid #ccc;
+
+                            .dot {
+                                border: 1px solid #ccc;
+                                background: #ccc;
+                            }
+                            .pulse {
+                                display: none;
+                            }
+                            .pulse1 {
+                                display: none;
+                            }
+                        }
+                    }
+                }
             }
-            .warning{
-              &>section{
-                border: 1px solid #ff0000;
+            .finish {
+                .area-head {
+                    position: relative;
+                    width: 100%;
+                    height: 80px;
+                    border-left: none;
+                    .finish-point {
+                        position: absolute;
+                        width: 90px;
+                        height: 90px;
+                        border: 2px solid #0072ff;
+                        left: -30px;
+                        top: -45px;
+                        border-radius: 50%;
 
-                .dot{
-                  border: 1px solid #ff0000;
-                  background: #ff0000;
+                        & > 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;
+                        }
+                    }
                 }
-                .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;
-                  }
-                }
-              }
             }
-            .undone{
-              border-left: 1px solid rgba(54,252,252,.4);
-              &>section{
-                border: 1px solid #ccc;
+            .pic-tit {
+                display: flex;
+                width: calc((100vw - 120px) / 7);
+                height: 160px;
+                padding: 20px;
+                transform: translate(-20px, -40%);
+                flex-direction: column;
+                align-items: flex-start;
 
-                .dot{
-                  border: 1px solid #ccc;
-                  background: #ccc;
+                img {
+                    width: calc((100vw - 120px) / 7 - 40px);
+                    height: 90px;
+                    margin-bottom: 10px;
+                    border-radius: 4px;
                 }
-                .pulse{
-                  display: none;
+                p {
+                    font-size: 16px;
+                    color: #00ffff;
+                    font-weight: bold;
                 }
-                .pulse1{
-                  display: none;
-                }
-              }
             }
-          }
+
+            .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;
+                }
+            }
         }
-        .finish{
-          .area-head{
-            position: relative;
+        .tip {
             width: 100%;
-            height: 80px;
-            border-left: none;
-            .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;
-              }
-            }
-          }
+            font-size: 30px;
+            text-align: center;
+            margin-top: 100px;
+            color: #fff;
+            font-weight: bolder;
         }
-          .pic-tit{
+        .current-task {
+            position: absolute;
+            width: calc((500vw - 600px) / 7);
+            z-index: 999999;
+            top: 0;
+            right: 0;
+            padding: 0 60px;
             display: flex;
-            width: calc((100vw - 120px)/ 7);
-            height: 160px;
+            align-items: center;
+            justify-content: space-between;
+
+            .task-des {
+                padding: 10px 20px;
+                display: flex;
+                align-items: center;
+                border: 1px solid #36fcfc;
+
+                .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 {
+                    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;
+                    }
+
+                    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;
-            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;
+            .star-bg {
+                position: inherit;
+                width: 100%;
+                height: 100%;
+                left: 0;
+                top: 0;
+                img {
+                    width: 100%;
+                    height: auto;
+                    animation: circle 30s linear infinite;
+                }
             }
-            p{
-              font-size: 16px;
-              color: #00ffff;
-              font-weight: bold;
-            }
-          }
 
-          .water{
-            transform: none;
-          }
-          .start{
-            padding: 40px 0;
-            p{
-              margin-top: -21px;
-              margin-left: 20px;
+            .star {
+                position: inherit;
+                width: 100%;
+                height: 100%;
+                left: 0;
+                top: 0;
+                img {
+                    width: 100%;
+                    height: auto;
+                }
             }
-            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;
-          display: flex;
-          align-items: center;
-          border: 1px solid #36FCFC;
-
-          .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{
-            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;
-            }
-
-            div{
-              font-size: 15px;
-              color: rgba(4,12,59,.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,.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;
-
-        .star-bg{
-          position: inherit;
-          width: 100%;
-          height: 100%;
-          left: 0;
-          top: 0;
-          img{
-            width: 100%;
-            height: auto;
-            animation: circle 30s linear infinite;
-          }
-        }
-
-        .star{
-          position: inherit;
-          width: 100%;
-          height: 100%;
-          left: 0;
-          top: 0;
-          img{
-            width: 100%;
-            height: auto;
-          }
-        }
-      }
     }
-  }
+}
 </style>

--
Gitblit v1.9.2