From d95b36a88357d018f76d926e9074c521eb8335a7 Mon Sep 17 00:00:00 2001
From: lohir <3399054449@qq.com>
Date: 星期三, 23 十月 2024 11:24:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/screen/components/map3.vue |  203 +++++++++++++++++++++++++++++++-------------------
 1 files changed, 125 insertions(+), 78 deletions(-)

diff --git a/src/views/screen/components/map3.vue b/src/views/screen/components/map3.vue
index 1fbcbf2..58e7adc 100644
--- a/src/views/screen/components/map3.vue
+++ b/src/views/screen/components/map3.vue
@@ -14,46 +14,87 @@
       type: Object,
       default: {},
     },
+    platformData: {
+      type: Object,
+      default: {},
+    },
   },
   data() {
     return {
       myChart: null, // ECharts 瀹炰緥
       big: 130,
-      data: [
+      dotData: [
+        {
+          name: '鑷祦浜曞尯',
+          value: [104.621171408, 29.150000, 300],
+          platformOnline: true
+        },
+        {
+          name: '楂樻柊鍖�',
+          value: [104.780000, 29.19, 300],
+          platformOnline: true
+        },
+        {
+          name: '澶у畨鍖�',
+          value: [104.93805, 29.175946, 300],
+          platformOnline: true
+        },
+        {
+          name: '娌挎哗鍖�',
+          value: [104.78804, 29.100594, 300],
+          platformOnline: true
+        },
+        {
+          name: '璐′簳鍖�',
+          value: [104.46106, 29.101427, 300],
+          platformOnline: true
+        },
+        {
+          name: '鑽e幙',
+          value: [104.2634, 29.2838, 300],
+          platformOnline: true
+        },
+        {
+          name: '瀵岄『鍘�',
+          value: [105.000000, 28.93, 300],
+          platformOnline: true
+        }
+      ],
+      markData: [
         {
           name: '鑷祦浜曞尯',
           number: '0',
-          value: [104.616237686031, 29.081, 300]
+          value: [104.841471408, 29.860000, 300]
         },
         {
           name: '楂樻柊鍖�',
           number: '0',
-          value: [104.84, 29.405, 300]
+          value: [104.867237686031, 29.39548885792289, 300]
         },
         {
           name: '澶у畨鍖�',
           number: '0',
-          value: [105.136, 29.30548885792289, 300]
+          value: [105.17337686031, 29.57948885792289, 300]
         },
         {
           name: '娌挎哗鍖�',
           number: '0',
-          value: [104.956237686031, 29.2, 300]
+          value: [105.36237686031, 30.30048885792289, 300]
         },
         {
           name: '璐′簳鍖�',
           number: '0',
-          value: [104.436237686031, 29.16048885792289, 300]
+          value: [104.51037686031, 29.42048885792289, 300]
         },
         {
           name: '鑽e幙',
           number: '0',
-          value: [104.480237686031, 29.40048885792289, 300]
+          value: [104.25437686031, 29.64048885792289, 300]
         },
         {
           name: '瀵岄『鍘�',
           number: '0',
-          value: [105.12, 29.076, 300]
+          value: [105.208, 29.185, 300]
         }
       ],
     }
@@ -72,11 +113,20 @@
       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.number = this.geoCoordinates[item.name].score || '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 +134,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 +159,10 @@
           type: 'map',
           map: name,
           left: '-5%',
-          top: '5%',
-          boxWidth: 100,
-          regionHeight: 2,
-          zlevel: 5,
+          top: '20%',
+          // boxWidth: 100,
+          regionHeight: 0.8,
+          zlevel: 10,
 
           tooltip: {
             show: true,
@@ -123,7 +177,7 @@
           },
 
           label: {
-            show: true, // (鍦板浘涓婄殑鍩庡競鍚嶇О)鏄惁鏄剧ず鏍囩
+            show: false, // (鍦板浘涓婄殑鍩庡競鍚嶇О)鏄惁鏄剧ず鏍囩
             distance: 5,
             formatter: function (params) {
               return params.name ? params.name : ' '
@@ -136,7 +190,7 @@
 
           emphasis: {
             label: {
-              show: true,
+              show: false,
               textStyle: {
                 color: '#ffffff' // 楂樹寒鏂囧瓧涓轰寒钃濊壊
               }
@@ -161,10 +215,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 +252,11 @@
             name: name,
             type: 'map3D',
             map: name,
-            boxWidth: 100,
-            regionHeight: 2,
+            // boxWidth: 100,
+            regionHeight: 0.8,
             left: '-5%',
-            top: '5%',
-            zlevel: 10,
+            top: '20%',
+            zlevel: 5,
 
             // tooltip: {
             //   show: true,
@@ -235,10 +290,11 @@
               rotateSensitivity: 0, // 鏃嬭浆
               minBeta: -13,
               maxBeta: -13,
+              distance: 120,
               zoomSensitivity: 0, // 缂╂斁
               panSensitivity: 0, // 骞崇Щ
               center: [0, 0, 0],
-              alpha: 70 // 鍊炬枩瑙掑害
+              alpha: 30 // 鍊炬枩瑙掑害
             }
           },
           {
@@ -250,41 +306,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 +325,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.841471408, 29.860000, 335]
                 ]
               },
+              // 楂樻柊鍖虹嚎
               {
                 coords: [
-                  [104.805193, 29.30148885792289, 300],
-                  [104.780237686031, 29.39548885792289, 430]
+                  [104.780000, 29.19, 300],
+                  [104.867237686031, 29.39548885792289, 335]
                 ]
               },
+              // 澶у畨鍖虹嚎
               {
                 coords: [
-                  [104.90805, 29.345946, 300],
-                  [105.056237686031, 29.33548885792289, 430]
+                  [104.93805, 29.175946, 300],
+                  [105.17337686031, 29.57948885792289, 335]
                 ]
               },
+              // 娌挎哗鍖虹嚎
               {
                 coords: [
-                  [104.80804, 29.200594, 300],
-                  [104.906237686031, 29.20048885792289, 430]
+                  [104.78804, 29.100594, 300],
+                  [105.36237686031, 30.30048885792289, 335]
                 ]
               },
+              // 璐′簳鍖虹嚎
               {
                 coords: [
-                  [104.579106, 29.241427, 300],
-                  [104.486237686031, 29.19048885792289, 430]
+                  [104.46106, 29.101427, 300],
+                  [104.51037686031, 29.42048885792289, 335]
                 ]
               },
+              // 鑽e幙绾�
               {
                 coords: [
-                  [104.3534, 29.3538, 300],
-                  [104.456237686031, 29.39048885792289, 430]
+                  [104.2634, 29.2838, 300],
+                  [104.25437686031, 29.64048885792289, 335]
                 ]
               },
+              // 瀵岄『绾�
               {
                 coords: [
-                  [104.96, 29.08, 300],
-                  [105.05, 29.083, 430]
+                  [105.000000, 28.93, 300],
+                  [105.208, 29.185, 335]
                 ]
               }
             ],
@@ -355,12 +395,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: {
@@ -373,11 +413,11 @@
             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}}`
           },
           rich: {
             style: {
@@ -404,6 +444,13 @@
         this.updateChart();
       },
       deep: true
+    },
+    platformData: {
+      handler(newValue) {
+        this.updateMapData(newValue);
+        this.updateChart();
+      },
+      deep: true
     }
   },
 }

--
Gitblit v1.8.0