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 + '%' : '&#45;&#45;' }}</li>-->
+<!--                  <li>{{ item.carRate ? item.carRate + '%' : '&#45;&#45;' }}</li>-->
+<!--                  <li>{{ item.faceRate ? item.faceRate + '%' : '&#45;&#45;' }}</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