From 2475c65a3c091cee4fe48f49e0f53697403750df Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期三, 17 八月 2022 19:55:34 +0800
Subject: [PATCH] 冲突
---
src/views/intellectInspect/intelligentLine/index.vue | 1244 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 623 insertions(+), 621 deletions(-)
diff --git a/src/views/intellectInspect/intelligentLine/index.vue b/src/views/intellectInspect/intelligentLine/index.vue
index 9a7f9f8..0c02976 100644
--- a/src/views/intellectInspect/intelligentLine/index.vue
+++ b/src/views/intellectInspect/intelligentLine/index.vue
@@ -1,7 +1,7 @@
<template>
<div class="container">
<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 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">
@@ -10,73 +10,75 @@
<div>全屏</div>
</div>
<div class="backBtn" @click="goBack()">
- <img src="../../../assets/loginPage/back-icon.png" />
+ <img src="../../../assets/loginPage/back-icon.png"/>
<div>退出</div>
</div>
</div>
<div class="blocks">
<div>
- <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 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">
+ <div class="imgbox">
+ <img :src="item.rfidImage==null?defaultImg:item.rfidImage"/>
</div>
- <div class="area-head">
- <div class="indicator" :class="item.points.some((e) => e.reportResult == 1) ? 'somewarning' : item.points.some((e) => e.reportResult == null) ? 'someUndone' : ''">
- <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>
+ <p>
+ RFID: <span>{{ item.rfid }}</span>
+ </p>
+ <p>
+ 位置: <span>{{ item.region.toString() }}</span>
+ </p>
+ </div>
+ <div class="area-head">
+ <div class="indicator" :class="item.points.some((e) => e.reportResult == 1) ? 'somewarning' : (item.points.some((e) => e.reportResult == null) ? 'someUndone' : '')">
+ <div class="indi-dot"></div>
+ <!-- <div class="indi-pulse"></div>-->
+ <!-- <div class="indi-pulse1"></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 :class="t.reportResult == null ? 'noBorder' : t.reportResult == 1 ? 'redBorder' : ''">
- <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 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 :class="t.reportResult == null ? 'noBorder' : t.reportResult == 1 ? 'redBorder' : ''">
+ <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 class="line-item finish">
- <div class="picbox"></div>
- <div class="area-head">
- <div class="finish-point">
- <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 class="tip" v-else>抱歉,暂时查询不到巡检路线...</div>
+ </div>
+ <div class="tip" v-else>抱歉,暂时查询不到巡检路线...</div>
</div>
</div>
</div>
@@ -85,8 +87,8 @@
<script lang="ts">
import screenfull from 'screenfull';
import { lineApi } from '/@/api/intelligentLine';
-import { toRefs, reactive, ref, onMounted, onUnmounted, computed, nextTick } from 'vue';
-import { useRoute } from 'vue-router';
+import {toRefs, reactive, ref, onMounted, onUnmounted, computed, nextTick} from 'vue';
+import {useRoute} from 'vue-router';
import { storeToRefs } from 'pinia';
import { initBackEndControlRoutes } from '/@/router/backEnd';
import { Session } from '/@/utils/storage';
@@ -94,7 +96,6 @@
import { ElTable } from 'element-plus';
import { FormInstance, FormRules, ElMessage } from 'element-plus';
import { useUserInfo } from '/@/stores/userInfo';
-import Cookies from 'js-cookie';
// 定义接口来定义对象的类型
interface stateType {
@@ -104,7 +105,7 @@
socket: any;
socketData: string;
data: Array<any>;
- id: string;
+ id: string
}
export default {
name: 'intelligentLine',
@@ -127,10 +128,10 @@
setInterval(() => {
state.present = new Date().toLocaleString();
}, 1000);
- let curId = route.query.id;
- state.id = curId.toString();
- getLine(state.id);
- getUrl(state.id);
+ let curId = route.query.id
+ state.id = curId.toString()
+ getLine(state.id)
+ getUrl(state.id)
});
const dataList = computed(() => {
@@ -139,18 +140,18 @@
// 获取url
- const getUrl = async (id: string) => {
+ const getUrl =async (id:string)=>{
const res = await lineApi().getUrl();
if (res.data.code === '200') {
- state.path = 'http://' + res.data.data.ip + ':' + res.data.data.port + '/ws/test/';
+ state.path = 'http://' + res.data.data.ip + ':' + res.data.data.port + '/ws/test/'
if (typeof WebSocket === 'undefined') {
alert('您的浏览器不支持socket');
} else {
// 实例化socket
// debugger
- let uid = userInfos.value.uid.toString();
- var url = state.path + Cookies.get('uid') + '*' + id;
- console.log(url, 'url', uid, 'uid');
+ 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 WebSocket(url);
@@ -165,7 +166,7 @@
// 监听socket消息
state.socket.onmessage = (msg) => {
if (msg.data === '连接成功') return;
- console.log(msg.data, 'data');
+ console.log(msg.data,'data')
userInfos.value.dataList = JSON.parse(msg.data);
};
}
@@ -175,14 +176,14 @@
message: res.data.msg
});
}
- };
+ }
// const send = () => {
// state.socket.send(params);
// };
// 接口获取数据
- const getLine = async (id: string) => {
+ const getLine = async (id:string) => {
let res = await lineApi().getLine({ id: id });
if (res.data.code === '200') {
userInfos.value.dataList = res.data.data;
@@ -218,11 +219,11 @@
// 页面关闭处理
onUnmounted(() => {
// 销毁监听
- nextTick(() => {
+ nextTick(()=>{
state.socket.onclose = () => {
console.log('socket已经关闭');
};
- });
+ })
});
return {
dataList,
@@ -236,600 +237,600 @@
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss">
-@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;
+ @media screen and (min-width: 1366px) {
+ .big-title {
+ font-size: 28px;
+ margin: 10px 0 20px;
}
- }
- .line-item {
- width: calc((100vw - 40px) / 6);
- 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;
-
- img {
- display: block;
- width: 100%;
- height: 100px;
- margin-bottom: 8px;
- border-radius: 4px;
- }
- 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) / 6);
- height: calc((100vh - 130px) / 5);
- padding: 0 20px 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%;
+ .btns {
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;
+ z-index: 99999;
+ right: 60px;
+ top: 40px;
+ div {
+ font-size: 16px;
+ color: #00ffff;
}
}
- & > 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);
+ .line-item {
+ width: calc((100vw - 40px) / 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: 0;
+ .picbox {
+ width: 100%;
+ height: 180px;
+ padding: 10px;
+ margin-bottom: 40px;
+ box-sizing: border-box;
+
+ img {
+ display: block;
+ width: 100%;
+ height: 100px;
+ margin-bottom: 8px;
+ border-radius: 4px;
}
- span {
- display: inline-block;
+ p {
+ font-size: 14px;
white-space: nowrap;
- width: 50%;
- font-size: 13px;
- color: #fff;
- text-align: left;
-
- &:first-of-type {
- text-align: right;
- color: rgba(255, 255, 255, 0.8);
+ color: rgba(255, 255, 255, 0.8);
+ margin-top: 10px;
+ span {
+ color: #fff;
}
}
}
}
- .noBorder {
- border: 1px solid rgba(54, 252, 252, 0.1);
+ .item {
+ width: calc((100vw - 40px) / 6);
+ height: calc((100vh - 130px) / 5);
+ padding: 0 20px 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, 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, 1);
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+
+ div {
+ margin-bottom: 5px;
+ &:last-of-type {
+ margin-bottom: 0;
+ }
+ span {
+ display: inline-block;
+ white-space: nowrap;
+ width: 50%;
+ font-size: 13px;
+ color: #fff;
+ text-align: left;
+
+ &: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);
+ }
}
- .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;
+ }
}
}
- .finish-point {
- position: absolute;
- width: 90px;
- height: 90px;
- border: 2px solid #0072ff;
- left: -30px;
- top: -45px;
- border-radius: 50%;
- & > div {
+ @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;
+
+ img {
+ display: block;
+ width: 100%;
+ height: 100px;
+ margin-bottom: 6px;
+ border-radius: 4px;
+ }
+ 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, 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 {
+ 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;
+ &:last-of-type {
+ margin-bottom: 0;
+ }
+ span {
+ display: inline-block;
+ white-space: nowrap;
+ width: 50%;
+ font-size: 13px;
+ color: #fff;
+ text-align: left;
+
+ &: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;
- position: absolute;
- left: 3px;
- top: 3px;
- background: #0072ff;
+ border: 1px solid #0072ff;
+ left: -20px;
+ top: -40px;
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;
-
- img {
- display: block;
- width: 100%;
- height: 100px;
- margin-bottom: 6px;
- border-radius: 4px;
- }
- p {
+ & > div {
+ width: 70px;
+ height: 70px;
+ position: absolute;
+ left: 4px;
+ top: 4px;
+ background: #0072ff;
+ border-radius: 50%;
+ color: #fff;
font-size: 14px;
- white-space: nowrap;
- color: rgba(255, 255, 255, 0.8);
- margin-top: 10px;
- span {
- color: #fff;
- }
+ line-height: 70px;
+ text-align: center;
+ font-weight: bolder;
}
}
}
- .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;
+ @media screen and (max-width: 1200px){
+ .big-title {
+ font-size: 20px;
+ margin: 5px 0 10px;
}
-
- section {
- width: 24px;
- height: 24px;
- border-radius: 50%;
+ .btns {
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;
+ z-index: 99999;
+ right: 20px;
+ top: 40px;
+ div {
+ font-size: 12px;
+ color: #00ffff;
}
}
- & > 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);
+ .line-item {
+ width: 20vw;
+ padding-left: 10px;
display: flex;
flex-direction: column;
- justify-content: center;
-
- div {
+ align-items: flex-start;
+ margin-right: 20px;
+ flex-wrap: nowrap;
+ .picbox {
width: 100%;
- margin-bottom: 5px;
- &:last-of-type {
- margin-bottom: 0;
- }
- span {
- display: inline-block;
- white-space: nowrap;
- width: 50%;
- font-size: 13px;
- color: #fff;
- text-align: left;
+ height: 160px;
+ padding: 10px;
+ margin-bottom: 30px;
+ box-sizing: border-box;
- &:first-of-type {
- text-align: right;
- color: rgba(255, 255, 255, 0.8);
+ img {
+ display: block;
+ width: 100%;
+ height: 80px;
+ margin-bottom: 10px;
+ border-radius: 4px;
+ }
+ p {
+ font-size: 12px;
+ color: rgba(255, 255, 255, 0.8);
+ margin-top: 6px;
+ span {
+ color: #fff;
}
}
}
}
- .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%;
+ .item {
+ width: 20vw;
+ height: calc((100vh - 130px) / 5);
+ padding: 0 0 20px 30px;
+ position: relative;
+ box-sizing: border-box;
+ border-left: 1px solid #36fcfc;
- & > div {
+ &: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: 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: #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 {
+ 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;
+ &:last-of-type {
+ margin-bottom: 0;
+ }
+ span {
+ width: 50%;
+ display: inline-block;
+ white-space: nowrap;
+ font-size: 12px;
+ color: #fff;
+ text-align: left;
+
+ &: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;
- position: absolute;
- left: 4px;
- top: 4px;
- background: #0072ff;
+ border: 1px solid #0072ff;
+ left: -10px;
+ top: -35px;
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;
-
- img {
- display: block;
- width: 100%;
- height: 80px;
- margin-bottom: 10px;
- border-radius: 4px;
- }
- p {
+ & > div {
+ width: 60px;
+ height: 60px;
+ position: absolute;
+ left: 4px;
+ top: 4px;
+ background: #0072ff;
+ border-radius: 50%;
+ color: #fff;
font-size: 12px;
- color: rgba(255, 255, 255, 0.8);
- margin-top: 6px;
- span {
- color: #fff;
- }
+ line-height: 60px;
+ text-align: center;
+ font-weight: bolder;
}
}
}
- .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, 225, 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: #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 {
- 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;
- &:last-of-type {
- margin-bottom: 0;
- }
- span {
- width: 50%;
- display: inline-block;
- white-space: nowrap;
- font-size: 12px;
- color: #fff;
- text-align: left;
-
- &: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% {
@@ -961,7 +962,7 @@
padding: 10px 40px 35px;
box-sizing: border-box;
- & > div {
+ &>div{
width: 100%;
height: 100%;
display: flex;
@@ -978,6 +979,7 @@
align-items: flex-start;
.line-item {
+
.area-head {
position: relative;
width: 100%;
@@ -1109,7 +1111,7 @@
}
.fadeLine {
width: 100%;
- border-top: 1px solid rgba(54, 252, 252, 0.6);
+ border-top: 1px solid rgba(54,252,252,.6);
}
}
.fadeBorder {
--
Gitblit v1.9.2