From e378faea25d7d71b6244ee70133877ea5ba7ec91 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期三, 12 七月 2023 13:17:15 +0800 Subject: [PATCH] 修改 --- src/components/Home/IndexEcharts.vue | 93 ++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 81 insertions(+), 12 deletions(-) diff --git a/src/components/Home/IndexEcharts.vue b/src/components/Home/IndexEcharts.vue index 4146c3c..c797a40 100644 --- a/src/components/Home/IndexEcharts.vue +++ b/src/components/Home/IndexEcharts.vue @@ -6,23 +6,63 @@ <script> import * as echarts from 'echarts' +import {getBasicData, getWarningData} from "@/api/login"; export default { name: "index-echarts", data() { return {}; }, mounted() { - this.initEchart(); + this.getData() }, methods: { - initEchart() { + async getData(){ + const t = this + const res = await getWarningData() + if(res.data.code == 100){ + let data = res.data.data + let redData = [0,0,0,0,0,0] + let orangeData = [0,0,0,0,0,0] + let yellowData = [0,0,0,0,0,0] + let blueData = [0,0,0,0,0,0] + if(data[1] && data[1].length>0){ + for(let i of data[1]){ + redData[i.disasterType - 1] = i.count + } + } + if(data[2] && data[2].length>0){ + for(let i of data[2]){ + orangeData[i.disasterType - 1] = i.count + } + } + if(data[3] && data[3].length>0){ + for(let i of data[3]){ + yellowData[i.disasterType - 1] = i.count + } + } + if(data[4] && data[4].length>0){ + for(let i of data[4]){ + blueData[i.disasterType - 1] = i.count + } + } + let whole = redData.concat(orangeData,yellowData,blueData) + let maxNum = Math.max(...whole) + t.initEchart(redData,orangeData,yellowData,blueData,maxNum); + }else{ + this.$message.error(res.data.msg) + } + }, + initEchart(red,orange,yellow,blue,maxNum) { let chartDom = document.getElementById("echartsMain"); let myChart = echarts.init(chartDom); myChart.setOption({ legend: { - data: ["红", "橙", "黄"], - bottom: '10', + data: ["红", "橙", "黄", "蓝"], + bottom: 0, icon: 'circle' + }, + grid:{ + bottom: "50%" }, tooltip: { show: true, @@ -34,12 +74,15 @@ }, radar: { shape: 'circle', + center: ['50%','46%'], + nameGap: 10, indicator: [ - { name: "地震", max: 80 }, - { name: "森林草原火灾", max: 80 }, - { name: "水旱", max: 80 }, - { name: "地质", max: 80 }, - { name: "气象", max: 80 } + { name: "地震", max: maxNum }, + { name: "洪涝", max: maxNum }, + { name: "气象", max: maxNum }, + { name: "泥石流", max: maxNum }, + { name: "水旱", max: maxNum }, + { name: "森林草原火灾", max: maxNum } ], }, series: [ @@ -47,35 +90,61 @@ type: "radar", data: [ { - value: [10, 40, 20, 60, 10, 60], + value: red, name: "红", lineStyle:{ color:'red' }, itemStyle: { color:'red' + }, + areaStyle:{ + color: 'red', + opacity: 0.2 } }, { - value: [50, 14, 28, 26, 42, 21], + value: orange, name: "橙", lineStyle:{ color:'#f66d05' }, itemStyle: { color:'#f66d05' + }, + areaStyle:{ + color: '#f66d05', + opacity: 0.2 } }, { - value: [60, 20, 43, 73, 12, 80], + value: yellow, name: "黄", lineStyle:{ color:'#f7ad00' }, itemStyle: { color:'#f7ad00' + }, + areaStyle:{ + color: '#f7ad00', + opacity: 0.2 } }, + { + value: blue, + name: "蓝", + lineStyle:{ + color:'#1890ff' + }, + itemStyle: { + color:'#1890ff' + }, + areaStyle:{ + color: '#1890ff', + opacity: 0.2 + } + } ], }, ], -- Gitblit v1.9.2