From b9346c0dad8727fce46482c5ed29009717a902d0 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 25 九月 2024 14:20:39 +0800 Subject: [PATCH] 标线调整 --- src/views/screen/index.vue | 219 ++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 171 insertions(+), 48 deletions(-) diff --git a/src/views/screen/index.vue b/src/views/screen/index.vue index de0e889..5080d2e 100644 --- a/src/views/screen/index.vue +++ b/src/views/screen/index.vue @@ -1,9 +1,9 @@ <template> <div class="container" ref="contaner"> <header> + <i @click="returnPath" class="el-icon-s-home" style="color: #00b4ff;position: absolute;font-size: 24px;left: 98%;top: 15%"></i> <img src="@/assets/images/header-bg.png"/> </header> - <div class="main-contaner"> <div class="data-statistics-content"> <img src="@/assets/images/workOrder-title.png" class="title"/> @@ -36,7 +36,7 @@ <div class="statistics-container"> <div class="DrawLine-content"> <!-- <div style="width: 100%; height: 100%" ref="myDrawLine"></div> --> - <lineChart :workOrderRegion = workOrderRegion></lineChart> + <lineChart :workOrderRegion=workOrderRegion></lineChart> </div> </div> </div> @@ -44,7 +44,9 @@ </div> <div class="map-container" ref="isMap"> - <mapApp></mapApp> + <img src="@/assets/map/texture/rotating-point2.png" alt="Rotating Image" class="rotating-image"> + <img src="@/assets/map/texture/rotatingAperture.png" alt="Rotating Image" class="rotating-image-in"> + <mapApp @clickMap="getDeptId" :geoCoordinates=scoreData :platformData = platformData></mapApp> <div class="btn-container"> <img src="@/assets/images/btn-bg.png" class="bg-img"/> <div class="btn-list" v-model="activerBtnType"> @@ -69,7 +71,9 @@ /> <ul> <li v-for="(item, index) in facilityData.video" :key="index"> - <div class="value">{{ item.value ? item.value : "-" }}</div> + <div class="value"> + <animate-number from="0" :to="item.value" :key="item.value"></animate-number> + </div> <div class="title">{{ item.title }}</div> </li> </ul> @@ -81,7 +85,8 @@ /> <ul> <li v-for="(item, index) in facilityData.car" :key="index"> - <div class="value">{{ item.value ? item.value : "-" }}</div> +<!-- <div class="value">{{ item.value ? item.value : "-" }}</div>--> + <div class="value"><animate-number from="0" :to="item.value" :key="item.value"></animate-number></div> <div class="title">{{ item.title }}</div> </li> </ul> @@ -96,7 +101,8 @@ v-for="(item, index) in facilityData.face" :key="index" > - <div class="value">{{ item.value ? item.value : "-" }}</div> +<!-- <div class="value">{{ item.value ? item.value : "-" }}</div>--> + <div class="value"><animate-number from="0" :to="item.value" :key="item.value"></animate-number></div> <div class="title">{{ item.title }}</div> </li> </ul> @@ -108,9 +114,9 @@ <div class="normal-statistics-content"> <ul class="list-title-container"> <li>鍦板尯</li> - <li>瑙嗛璁惧</li> - <li>杞﹁締璁惧</li> - <li>浜鸿劯璁惧</li> + <li>瑙嗛</li> + <li>杞﹁締</li> + <li>浜鸿劯</li> </ul> <div class="list-content"> <div class="list-content-to is-scroll-bar"> @@ -120,9 +126,12 @@ :key="index" > <li class="name">{{ item.area }}</li> - <li>{{ item.videoRate ? item.videoRate + '%' : '--' }}</li> - <li>{{ item.carRate ? item.carRate + '%' : '--' }}</li> - <li>{{ item.faceRate ? item.faceRate + '%' : '--' }}</li> + <li><animate-number from="0" :to="item.videoRate" :key="item.videoRate"></animate-number>%</li> + <li><animate-number from="0" :to="item.carRate" :key="item.carRate"></animate-number>%</li> + <li><animate-number from="0" :to="item.faceRate" :key="item.faceRate"></animate-number>%</li> + <!-- <li>{{ item.videoRate ? item.videoRate + '%' : '--' }}</li>--> +<!-- <li>{{ item.carRate ? item.carRate + '%' : '--' }}</li>--> +<!-- <li>{{ item.faceRate ? item.faceRate + '%' : '--' }}</li>--> </ul> </div> </div> @@ -145,7 +154,7 @@ > <div class="proportion"> <img src="@/assets/images/face-num-bg.png"/> - <div class="value">{{ item.value }}%</div> + <div class="value"><animate-number from="0" :to="item.value" :key="item.value"></animate-number>%</div> </div> <div class="title">{{ item.name }}</div> </div> @@ -158,7 +167,7 @@ :key="index" > <div class="video-data"> - <div class="proportion">{{ item.value }}%</div> + <div class="proportion"><animate-number from="0" :to="item.value" :key="item.value"></animate-number>%</div> </div> <div class="item-video-title">{{ item.name }}</div> </div> @@ -171,7 +180,7 @@ :key="index" :style="item.style" > - {{ item.name }} <span>{{ item.value }}%</span> + {{ item.name }} <span><animate-number from="0" :to="item.value" :key="item.value"></animate-number>%</span> </div> </div> </div> @@ -183,7 +192,7 @@ <script> import itemSubheading from '../screen/components/subheading.vue' // 鐜舰缁熻鍥� import lineChart from '../screen/components/lineChart.vue' // 鎶樼嚎缁熻鍥� -import mapApp from '../screen/components/map.vue' // 鍦板浘 +import mapApp from '../screen/components/map3.vue' // 鍦板浘 import { getDepartmentData, getDeviceData, @@ -192,7 +201,9 @@ getNormalRate, checkFace, checkCar, - checkVideo + checkVideo, + checkScore, + getPlatform } from "@/api/newpage"; export default { @@ -207,6 +218,51 @@ faceList: [], workOrderData: [], workOrderRegion: [], + platformData: null, + scoreData: { + 鑷祦浜曞尯: [ + { + value: 0, + name: '寰楀垎' + } + ], + 楂樻柊鍖�: [ + { + value: 0, + name: '寰楀垎' + } + ], + 澶у畨鍖�: [ + { + value: 0, + name: '寰楀垎' + } + ], + 娌挎哗鍖�: [ + { + value: 0, + name: '寰楀垎' + } + ], + 璐′簳鍖�: [ + { + value: 0, + name: '寰楀垎' + } + ], + 鑽e幙: [ + { + value: 0, + name: '寰楀垎' + } + ], + 瀵岄『鍘�: [ + { + value: 0, + name: '寰楀垎' + } + ] + }, // 璁惧鏁版嵁 facilityData: { video: [], @@ -308,6 +364,22 @@ }) .catch((err) => { }); + checkScore(this.activerBtnType, this.deptId) + .then((res) => { + if(res.data && Object.keys(res.data).length > 0){ + this.scoreData = res.data; + } + }) + .catch((err) => { + }); + getPlatform(this.activerBtnType, this.deptId) + .then((res) => { + if(res.data && Object.keys(res.data).length > 0){ + this.platformData = res.data; + } + }) + .catch((err) => { + }); }, returnPath() { this.$router.push("/index"); @@ -315,7 +387,10 @@ tabChange(id) { this.activerBtnType = id this.getData(); - } + }, + // formatter: function (num) { + // return num.toFixed(2) + // }, }, watch: { workOrderData() { @@ -331,14 +406,14 @@ item1.value1 = this.workOrderData.doneNum item1.value2 = this.workOrderData.totalNum - this.workOrderData.doneNum item1.color = '#5cff9a' - item1.title = '宸插鐞嗗伐鍗曟暟' + item1.title = '宸插鐞�' this.statistics.push(item1) let item2 = {value1: 0, value2: 0, title: "", color: ""} item2.value1 = this.workOrderData.todoNum item2.value2 = this.workOrderData.totalNum - this.workOrderData.todoNum item2.color = '#ff7b72' - item2.title = '鏈鐞嗗伐鍗曟暟' + item2.title = '鏈鐞�' this.statistics.push(item2) }, @@ -850,6 +925,8 @@ background-repeat: no-repeat; display: flex; flex-direction: column; + //justify-content: center; + //align-items: center; .item-facility-icon { margin: 0 auto; @@ -867,8 +944,9 @@ flex-direction: column; justify-content: space-around; text-align: center; - font-size: 14px; list-style-type: none; + //font-size: 14px; + //padding-left: 0; li:nth-child(1) { .value { @@ -910,6 +988,7 @@ display: flex; flex-direction: column; height: 0; + //overflow: hidden; .title { width: 100%; @@ -923,7 +1002,7 @@ position: relative; border-bottom: 1px solid #3e97e4; border-right: 1px solid #3e97e4; - padding: 4% 4% 4% 0; + padding: 0 4% 4% 0; box-sizing: border-box; height: 0; @@ -950,8 +1029,11 @@ .list-title-container { width: 100%; - height: 45px; - line-height: 45px; + //height: 45px; + //margin: 4px 0 0 0; + //line-height: 45px; + height: 4.17vh; + line-height: 4.17vh; list-style-type: none; display: flex; flex-direction: row; @@ -1024,8 +1106,9 @@ .list-content-to { height: 100%; - overflow-y: auto; + overflow-y: hidden; overflow-x: hidden; + //padding: 10px 0; } .item-list { @@ -1034,19 +1117,22 @@ align-items: center; list-style-type: none; border-bottom: 1px dashed #223654; - + margin: 7px 0; li { width: 25%; text-align: center; - font-size: 14px; + //font-size: 14px; + font-size: 0.72916667vw !important; color: #dcf8ff; flex-shrink: 0; flex-grow: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; - height: 44px; - line-height: 44px; + //height: 28px; + //line-height: 28px; + height: 2.59vh; + line-height: 2.59vh; } .name { @@ -1129,7 +1215,8 @@ } .footer-container { - height: 220px; + //height: 220px; + height: 24.15vh; box-sizing: border-box; position: relative; background-image: url("../../assets/images/footer-bg.png"); @@ -1155,19 +1242,10 @@ position: relative; background-image: url("../../assets/images/face-bg.png"); - background-size: 500px 200px; + //background-size: 500px 200px; + background-size: 26.04166vw auto; background-position: center; background-repeat: no-repeat; - - // .face-bj-img { - // position: absolute; - // left: 50%; - // top: 50%; - // transform: translate(-50%, -50%); - // width: 83.1946755%; - // display: block; - // z-index: 2; - // } .item-face-container { position: absolute; @@ -1175,7 +1253,8 @@ width: 22.296173%; .proportion { - width: 50px; + //width: 50px; + width: 2.60416vw; margin: 0 auto; color: #00eaff; text-shadow: 2px 2px 4px #152944; @@ -1191,13 +1270,14 @@ left: 50%; top: 53%; transform: translate(-50%, -50%); - font-size: 14px; + //font-size: 14px; } } .title { text-align: center; - font-size: 12px; + //font-size: 12px; + font-size: 0.625vw; color: #dcf8ff; white-space: nowrap; /* 涓嶆崲琛� */ overflow: hidden; /* 闅愯棌瓒呭嚭鐨勫唴瀹� */ @@ -1209,7 +1289,8 @@ .car-container { position: relative; background-image: url("../../assets/images/car-bg2.png"); - background-size: 500px 200px; + //background-size: 500px 200px; + background-size: 26.04166vw auto; background-position: center; background-repeat: no-repeat; @@ -1230,6 +1311,7 @@ font-size: 12px; line-height: 26px; padding: 0 15px; + font-size: 0.625vw; position: absolute; z-index: 5; @@ -1277,7 +1359,8 @@ left: 50%; top: 50%; transform: translate(-50%, -50%); - font-size: 20px; + //font-size: 20px; + font-size: 1.04166vw; font-weight: bold; color: #00fcff; text-shadow: 2px 2px 4px #152944; @@ -1287,10 +1370,13 @@ .item-video-title { text-align: center; color: #dcf8ff; - height: 32px; - font-size: 13px; + //height: 32px; + //font-size: 13px; + //flex-shrink: 0; + //flex-grow: 0; flex-shrink: 0; flex-grow: 0; + height: 3.51851vh; display: -webkit-box; -webkit-line-clamp: 2; /* 鏄剧ず鐨勮鏁� */ -webkit-box-orient: vertical; @@ -1319,4 +1405,41 @@ border-radius: 0; background-color: #0d172c; } + +@keyframes rotateImage { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@keyframes rotateCounterClockwise { + from { + transform: rotate(0deg); + } + to { + transform: rotate(-360deg); /* 娉ㄦ剰杩欓噷鏄�-360deg锛岃〃绀洪�嗘椂閽堟棆杞� */ + } +} + +.rotating-image { + width: 900px; + height: 900px; + position: absolute; + top: calc(50% - 450px); + left: calc(50% - 450px); + transform: skewX(-5deg) skewY(-10deg); + animation: rotateImage 36s linear infinite; +} + +.rotating-image-in { + width: 850px; + height: 850px; + position: absolute; + top: calc(50% - 425px); + left: calc(50% - 425px); + animation: rotateCounterClockwise 48s linear infinite; +} </style> -- Gitblit v1.8.0