| | |
| | | * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. |
| | | --> |
| | | <script setup> |
| | | import { useEchartsResize } from 'hooks/useEchartsResize' |
| | | import { useEchartsResize } from "hooks/useEchartsResize"; |
| | | |
| | | import { getEmergencySpaceStatistic } from '../../../../api/indParkInfo' |
| | | import { getEmergencySpaceStatistic } from "../../../../api/indParkInfo"; |
| | | |
| | | let $echarts = inject('echarts') |
| | | const curEcharts = ref(null) |
| | | let $echarts = inject("echarts"); |
| | | const curEcharts = ref(null); |
| | | |
| | | let myEcharts = reactive(null) |
| | | let myEcharts = reactive(null); |
| | | |
| | | function getEmergencySpace () { |
| | | getEmergencySpaceStatistic().then(res => { |
| | | function getEmergencySpace() { |
| | | getEmergencySpaceStatistic().then((res) => { |
| | | // console.log(res) |
| | | let data = res.data.data |
| | | let dataRsult = [] |
| | | data.forEach(item => { |
| | | let data = res.data.data; |
| | | let dataRsult = []; |
| | | var total = 0; |
| | | data.forEach((item) => { |
| | | dataRsult.push({ |
| | | name: item.type, |
| | | value: item.num |
| | | }) |
| | | }) |
| | | value: item.num, |
| | | }); |
| | | total = total + item.num; |
| | | }); |
| | | |
| | | myEcharts.setOption({ |
| | | title: { |
| | | text: "总数", |
| | | subtext: String(total), |
| | | textStyle: { |
| | | fontSize: 16, |
| | | color: "#fff", |
| | | lineHeight: 20, |
| | | }, |
| | | subtextStyle: { |
| | | fontSize: 28, |
| | | color: "#fff", |
| | | }, |
| | | textAlign: "center", |
| | | right: "28%", |
| | | top: "36%", |
| | | }, |
| | | legend: { |
| | | orient: "vertical", |
| | | top: '5%', |
| | | top: "5%", |
| | | left: "5%", |
| | | textStyle: { |
| | | color: '#fff' |
| | | } |
| | | color: "#fff", |
| | | }, |
| | | }, |
| | | |
| | | grid: { |
| | | top: '6%', |
| | | left: '6%', |
| | | right: '6%', |
| | | bottom: '6%', |
| | | containLabel: true |
| | | top: "6%", |
| | | left: "6%", |
| | | right: "6%", |
| | | bottom: "6%", |
| | | containLabel: true, |
| | | }, |
| | | |
| | | tooltip: { |
| | | trigger: 'item' |
| | | trigger: "item", |
| | | }, |
| | | |
| | | series: [ |
| | | { |
| | | // name: 'Access From', |
| | | type: 'pie', |
| | | left: '10%', |
| | | radius: ['30%', '60%'], |
| | | type: "pie", |
| | | left: "25%", |
| | | radius: ["45%", "75%"], |
| | | label: { |
| | | show: false, |
| | | }, |
| | | labelLine: { |
| | | show: false, |
| | | }, |
| | | // avoidLabelOverlap: false, |
| | | // padAngle: 5, |
| | | // itemStyle: { |
| | |
| | | // show: true |
| | | // } |
| | | // }, |
| | | data: dataRsult |
| | | } |
| | | ] |
| | | }) |
| | | }) |
| | | data: dataRsult, |
| | | }, |
| | | ], |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | nextTick(() => { |
| | | myEcharts = $echarts.init(curEcharts.value) |
| | | getEmergencySpace() |
| | | }) |
| | | myEcharts = $echarts.init(curEcharts.value); |
| | | getEmergencySpace(); |
| | | }); |
| | | |
| | | const echartsResize = () => { |
| | | myEcharts && myEcharts.resize() |
| | | } |
| | | myEcharts && myEcharts.resize(); |
| | | }; |
| | | |
| | | useEchartsResize(echartsResize) |
| | | useEchartsResize(echartsResize); |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="w100 h100" ref="curEcharts"> |
| | | |
| | | </div> |
| | | <div class="w100 h100" ref="curEcharts"></div> |
| | | </template> |
| | | |
| | | <style lang="scss" scoped></style> |