From c5c80dbc2632719789b91d236de7cf1e6497557d Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期一, 23 九月 2024 19:15:43 +0800 Subject: [PATCH] 大屏分离平台在线和考核成绩接口 --- src/views/screen/components/map3.vue | 119 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 79 insertions(+), 40 deletions(-) diff --git a/src/views/screen/components/map3.vue b/src/views/screen/components/map3.vue index 1fbcbf2..72efd83 100644 --- a/src/views/screen/components/map3.vue +++ b/src/views/screen/components/map3.vue @@ -14,12 +14,53 @@ type: Object, default: {}, }, + platformData: { + type: Object, + default: {}, + }, }, data() { return { myChart: null, // ECharts 瀹炰緥 big: 130, - data: [ + dotData: [ + { + name: '鑷祦浜曞尯', + value: [104.665471408, 29.23008885, 300], + platformOnline: true + }, + { + name: '楂樻柊鍖�', + value: [104.805193, 29.3, 300], + platformOnline: true + }, + { + name: '澶у畨鍖�', + value: [104.90805, 29.345946, 300], + platformOnline: true + }, + { + name: '娌挎哗鍖�', + value: [104.80804, 29.200594, 300], + platformOnline: true + }, + { + name: '璐′簳鍖�', + value: [104.579106, 29.241427, 300], + platformOnline: true + }, + { + name: '鑽e幙', + value: [104.3534, 29.3538, 300], + platformOnline: true + }, + { + name: '瀵岄『鍘�', + value: [104.96, 29.08, 300], + platformOnline: true + } + ], + markData: [ { name: '鑷祦浜曞尯', number: '0', @@ -72,11 +113,21 @@ 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 => { + console.log('鏇存柊鏁版嵁', this.platformData) + if (this.platformData[item.name]) { + item.platformOnline = this.platformData[item.name].platformOnline + } + }) + } }, updateChart() { if (this.myChart) { @@ -84,7 +135,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); } @@ -250,41 +305,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', @@ -355,12 +387,12 @@ coordinateSystem: 'geo3D', symbol: 'circle', symbolSize: 0, - data: that.data, + data: that.markData, itemStyle: { opacity: 1, borderWidth: 1, - borderColor: 'a4ddee' + borderColor: 'a4ddee', }, label: { @@ -404,6 +436,13 @@ this.updateChart(); }, deep: true + }, + platformData: { + handler(newValue) { + this.updateMapData(newValue); + this.updateChart(); + }, + deep: true } }, } -- Gitblit v1.8.0