From 3c6bdb6f439ff7af04765259fd6a91b6d201d095 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 19 六月 2025 17:12:25 +0800
Subject: [PATCH] 工单,数据中心用户查看数据的权限,合同考核每日,以及导出每日和按月

---
 src/views/screen/components/map3.vue |  252 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 163 insertions(+), 89 deletions(-)

diff --git a/src/views/screen/components/map3.vue b/src/views/screen/components/map3.vue
index 1fbcbf2..80bb35c 100644
--- a/src/views/screen/components/map3.vue
+++ b/src/views/screen/components/map3.vue
@@ -14,46 +14,101 @@
       type: Object,
       default: {},
     },
+    platformData: {
+      type: Object,
+      default: {},
+    },
   },
   data() {
     return {
       myChart: null, // ECharts 瀹炰緥
       big: 130,
-      data: [
+      dotData: [
         {
           name: '鑷祦浜曞尯',
-          number: '0',
-          value: [104.616237686031, 29.081, 300]
+          value: [104.621171408, 29.150000, 300],
+          platformOnline: true
         },
         {
           name: '楂樻柊鍖�',
-          number: '0',
-          value: [104.84, 29.405, 300]
+          value: [104.780000, 29.19, 300],
+          platformOnline: true
         },
         {
           name: '澶у畨鍖�',
-          number: '0',
-          value: [105.136, 29.30548885792289, 300]
+          value: [104.95805, 29.155946, 300],
+          platformOnline: true
         },
         {
           name: '娌挎哗鍖�',
-          number: '0',
-          value: [104.956237686031, 29.2, 300]
+          value: [104.80504, 29.050594, 300],
+          platformOnline: true
         },
         {
           name: '璐′簳鍖�',
-          number: '0',
-          value: [104.436237686031, 29.16048885792289, 300]
+          value: [104.46106, 29.101427, 300],
+          platformOnline: true
         },
         {
           name: '鑽e幙',
-          number: '0',
-          value: [104.480237686031, 29.40048885792289, 300]
+          value: [104.2634, 29.2838, 300],
+          platformOnline: true
         },
         {
           name: '瀵岄『鍘�',
-          number: '0',
-          value: [105.12, 29.076, 300]
+          value: [105.000000, 28.93, 300],
+          platformOnline: true
+        }
+      ],
+      markData: [
+        {
+          name: '鑷祦浜曞尯',
+          video: '0',
+          car: '0',
+          face: '0',
+          value: [104.911471408, 30.100000, 300]
+        },
+        {
+          name: '楂樻柊鍖�',
+          video: '0',
+          car: '0',
+          face: '0',
+          value: [104.867237686031, 29.39548885792289, 300]
+        },
+        {
+          name: '澶у畨鍖�',
+          video: '0',
+          car: '0',
+          face: '0',
+          value: [105.12337686031, 29.38948885792289, 300]
+        },
+        {
+          name: '娌挎哗鍖�',
+          video: '0',
+          car: '0',
+          face: '0',
+          value: [105.40537686031, 30.20048885792289, 300]
+        },
+        {
+          name: '璐′簳鍖�',
+          video: '0',
+          car: '0',
+          face: '0',
+          value: [104.51037686031, 29.42048885792289, 300]
+        },
+        {
+          name: '鑽e幙',
+          video: '0',
+          car: '0',
+          face: '0',
+          value: [104.25437686031, 29.64048885792289, 300]
+        },
+        {
+          name: '瀵岄『鍘�',
+          video: '0',
+          car: '0',
+          face: '0',
+          value: [105.208, 29.185, 300]
         }
       ],
     }
@@ -67,16 +122,33 @@
     })
   },
   methods: {
+    setFontSize(res){
+      const clientWidth = window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;
+      if (!clientWidth) return;
+      let fontSize = clientWidth / 1920;
+      return res*fontSize;
+    },
     initializeMap() {
       this.updateMapData()
       this.getChinData('鑷础甯�', chinaJson)
     },
     updateMapData() {
-      this.data.forEach(item => {
-        if (this.geoCoordinates[item.name]) {
-          item.number = this.geoCoordinates[item.name].score || '0'
-        }
-      })
+      if (this.geoCoordinates) {
+        this.markData.forEach(item => {
+          if (this.geoCoordinates[item.name]) {
+            item.video = this.geoCoordinates[item.name].video || '0.0'
+            item.car = this.geoCoordinates[item.name].car || '0.0'
+            item.face = this.geoCoordinates[item.name].face || '0.0'
+          }
+        })
+      }
+      if (this.platformData) {
+        this.dotData.forEach(item => {
+          if (this.platformData[item.name]) {
+            item.platformOnline = this.platformData[item.name].platformOnline
+          }
+        })
+      }
     },
     updateChart() {
       if (this.myChart) {
@@ -84,7 +156,11 @@
         // Update the scatter3D series data
         const scatterSeries = option.series.find(s => s.type === 'scatter3D' && s.name !== '鏁g偣鍥�');
         if (scatterSeries) {
-          scatterSeries.data = this.data;
+          scatterSeries.data = this.markData;
+        }
+        const dotSeries = option.series.find(s => s.type === 'scatter3D' && s.name === '鏁g偣鍥�');
+        if (dotSeries) {
+          dotSeries.data = this.dotData;
         }
         this.myChart.setOption(option);
       }
@@ -105,10 +181,12 @@
           type: 'map',
           map: name,
           left: '-5%',
-          top: '5%',
-          boxWidth: 100,
-          regionHeight: 2,
-          zlevel: 5,
+          top: '20%',
+          width: '100%', // 鏄庣‘鎸囧畾瀹藉害
+          height: '100%', // 鏄庣‘鎸囧畾楂樺害
+          // boxWidth: 100,
+          regionHeight: 0.8,
+          zlevel: 10,
 
           tooltip: {
             show: true,
@@ -123,7 +201,7 @@
           },
 
           label: {
-            show: true, // (鍦板浘涓婄殑鍩庡競鍚嶇О)鏄惁鏄剧ず鏍囩
+            show: false, // (鍦板浘涓婄殑鍩庡競鍚嶇О)鏄惁鏄剧ず鏍囩
             distance: 5,
             formatter: function (params) {
               return params.name ? params.name : ' '
@@ -136,7 +214,7 @@
 
           emphasis: {
             label: {
-              show: true,
+              show: false,
               textStyle: {
                 color: '#ffffff' // 楂樹寒鏂囧瓧涓轰寒钃濊壊
               }
@@ -161,10 +239,11 @@
             rotateSensitivity: 0, // 鏃嬭浆
             minBeta: -13,
             maxBeta: -13,
+            distance: 120,
             zoomSensitivity: 0, // 缂╂斁
             panSensitivity: 0, // 骞崇Щ
             center: [0, 0, 0],
-            alpha: 70, // 鍊炬枩瑙掑害
+            alpha: 30, // 鍊炬枩瑙掑害
             animationDurationUpdate: 1000, // 杩囨浮鍔ㄧ敾鐨勬椂闀�
             animationEasingUpdate: 'cubicInOut' // 杩囨浮鍔ㄧ敾鐨勭紦鍔ㄦ晥鏋�
           },
@@ -197,11 +276,13 @@
             name: name,
             type: 'map3D',
             map: name,
-            boxWidth: 100,
-            regionHeight: 2,
+            // boxWidth: 100,
+            regionHeight: 0.8,
             left: '-5%',
-            top: '5%',
-            zlevel: 10,
+            top: '20%',
+            width: '100%', // 鏄庣‘鎸囧畾瀹藉害
+            height: '100%', // 鏄庣‘鎸囧畾楂樺害
+            zlevel: 5,
 
             // tooltip: {
             //   show: true,
@@ -235,10 +316,11 @@
               rotateSensitivity: 0, // 鏃嬭浆
               minBeta: -13,
               maxBeta: -13,
+              distance: 120,
               zoomSensitivity: 0, // 缂╂斁
               panSensitivity: 0, // 骞崇Щ
               center: [0, 0, 0],
-              alpha: 70 // 鍊炬枩瑙掑害
+              alpha: 30 // 鍊炬枩瑙掑害
             }
           },
           {
@@ -250,41 +332,18 @@
             silent: true,
 
             itemStyle: {
-              color: '#fc840e',
+              color: function (param) {
+                if (param.data.platformOnline) {
+                  return '#04CD44';
+                } else {
+                  return '#FF0756';
+                }
+              },
               borderWidth: 1,
               borderColor: '#fff'
             },
 
-            data: [
-              {
-                name: '鑷祦浜曞尯',
-                value: [104.665471408, 29.23008885, 300]
-              },
-              {
-                name: '楂樻柊鍖�',
-                value: [104.805193, 29.3, 300]
-              },
-              {
-                name: '澶у畨鍖�',
-                value: [104.90805, 29.345946, 300]
-              },
-              {
-                name: '娌挎哗鍖�',
-                value: [104.80804, 29.200594, 300]
-              },
-              {
-                name: '璐′簳鍖�',
-                value: [104.579106, 29.241427, 300]
-              },
-              {
-                name: '鑽e幙',
-                value: [104.3534, 29.3538, 300]
-              },
-              {
-                name: '瀵岄『鍘�',
-                value: [104.96, 29.08, 300]
-              }
-            ]
+            data: that.dotData
           },
           {
             type: 'lines3D',
@@ -292,50 +351,57 @@
             polyline: true,
             lineStyle: {
               color: '#a4ddee',
-              width: 1,
-              opacity: 1
+              width: 2,
+              opacity: 1,
             },
             data: [
+              // 鑷祦浜曠嚎
               {
                 coords: [
-                  [104.665471408, 29.23008885, 300],
-                  [104.6, 29.125, 430]
+                  [104.621171408, 29.150000, 300],
+                  [104.941471408, 30.190000, 335]
                 ]
               },
+              // 楂樻柊鍖虹嚎
               {
                 coords: [
-                  [104.805193, 29.30148885792289, 300],
-                  [104.780237686031, 29.39548885792289, 430]
+                  [104.780000, 29.19, 300],
+                  [104.880237686031, 29.42548885792289, 335]
                 ]
               },
+              // 澶у畨鍖虹嚎
               {
                 coords: [
-                  [104.90805, 29.345946, 300],
-                  [105.056237686031, 29.33548885792289, 430]
+                  [104.95805, 29.155946, 300],
+                  [105.12137686031, 29.41948885792289, 335]
                 ]
               },
+              // 娌挎哗鍖虹嚎
               {
                 coords: [
-                  [104.80804, 29.200594, 300],
-                  [104.906237686031, 29.20048885792289, 430]
+                  [104.80504, 29.050594, 300],
+                  [105.47237686031, 30.30048885792289, 335]
                 ]
               },
+              // 璐′簳鍖虹嚎
               {
                 coords: [
-                  [104.579106, 29.241427, 300],
-                  [104.486237686031, 29.19048885792289, 430]
+                  [104.46106, 29.101427, 300],
+                  [104.51837686031, 29.45048885792289, 335]
                 ]
               },
+              // 鑽e幙绾�
               {
                 coords: [
-                  [104.3534, 29.3538, 300],
-                  [104.456237686031, 29.39048885792289, 430]
+                  [104.2634, 29.2838, 300],
+                  [104.25437686031, 29.67048885792289, 335]
                 ]
               },
+              // 瀵岄『绾�
               {
                 coords: [
-                  [104.96, 29.08, 300],
-                  [105.05, 29.083, 430]
+                  [105.000000, 28.93, 300],
+                  [105.218, 29.195, 335]
                 ]
               }
             ],
@@ -355,12 +421,12 @@
         coordinateSystem: 'geo3D',
         symbol: 'circle',
         symbolSize: 0,
-        data: that.data,
+        data: that.markData,
 
         itemStyle: {
-          opacity: 1,
+          opacity: 0.7,
           borderWidth: 1,
-          borderColor: 'a4ddee'
+          borderColor: 'a4ddee',
         },
 
         label: {
@@ -368,21 +434,22 @@
           position: 'top',
           textStyle: {
             color: '#c6f4ff',
-            fontSize: '16px',
+            fontSize: this.setFontSize(16),
             backgroundColor: 'rgba(25,56,97,1)',
             borderColor: '#a4ddee',
             borderWidth: 0.5,
             borderRadius: 5,
-            padding: [8, 15]
+            padding: [4, 8]
           },
 
           formatter: function (params) {
-            return `{style|${params.data.name}\n寰楀垎锛�${params.data.number}}`
+            // return `{style|${params.data.name} 锛�${params.data.number}}`
+            return `{style|${params.data.name} \n 瑙嗛锛�${params.data.video} \n 杞﹁締锛�${params.data.car} \n 浜鸿劯锛�${params.data.face}}`
           },
           rich: {
             style: {
-              fontSize: 16,
-              lineHeight: 22
+              fontSize: this.setFontSize(14),
+              lineHeight: this.setFontSize(20),
               // 鍏朵粬闇�瑕佺殑鏍峰紡
             }
           },
@@ -404,6 +471,13 @@
         this.updateChart();
       },
       deep: true
+    },
+    platformData: {
+      handler(newValue) {
+        this.updateMapData(newValue);
+        this.updateChart();
+      },
+      deep: true
     }
   },
 }
@@ -416,6 +490,6 @@
 
 .map-main-container {
   width: 100%;
-  height: 100%;
+  height: 37vw; // 鍥哄畾楂樺害
 }
 </style>

--
Gitblit v1.8.0