1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
| <!--
| * @Author: shuishen 1109946754@qq.com
| * @Date: 2023-03-13 14:54:26
| * @LastEditors: shuishen 1109946754@qq.com
| * @LastEditTime: 2024-11-05 17:15:55
| * @FilePath: \bigScreen\src\views\survey\components\box\unitContent.vue
| * @Description:
| *
| * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
| -->
| <script setup>
| import { useEchartsResize } from "hooks/useEchartsResize";
|
| import { getEmergencySpaceStatistic } from "../../../../api/indParkInfo";
|
| let $echarts = inject("echarts");
| const curEcharts = ref(null);
|
| let myEcharts = reactive(null);
|
| function getEmergencySpace() {
| getEmergencySpaceStatistic().then((res) => {
| // console.log(res)
| let data = res.data.data;
| let dataRsult = [];
| var total = 0;
| data.forEach((item) => {
| dataRsult.push({
| name: item.type,
| 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%",
| left: "5%",
| textStyle: {
| color: "#fff",
| },
| },
|
| grid: {
| top: "6%",
| left: "6%",
| right: "6%",
| bottom: "6%",
| containLabel: true,
| },
|
| tooltip: {
| trigger: "item",
| },
|
| series: [
| {
| // name: 'Access From',
| type: "pie",
| left: "25%",
| radius: ["45%", "75%"],
| label: {
| show: false,
| },
| labelLine: {
| show: false,
| },
| // avoidLabelOverlap: false,
| // padAngle: 5,
| // itemStyle: {
| // borderRadius: 10
| // },
| // label: {
| // show: false,
| // position: 'left'
| // },
| // emphasis: {
| // label: {
| // show: true,
| // fontSize: 40,
| // fontWeight: 'bold'
| // }
| // },
| // labelLine: {
| // normal: {
| // show: true
| // }
| // },
| data: dataRsult,
| },
| ],
| });
| });
| }
|
| nextTick(() => {
| myEcharts = $echarts.init(curEcharts.value);
| getEmergencySpace();
| });
|
| const echartsResize = () => {
| myEcharts && myEcharts.resize();
| };
|
| useEchartsResize(echartsResize);
| </script>
|
| <template>
| <div class="w100 h100" ref="curEcharts"></div>
| </template>
|
| <style lang="scss" scoped></style>
|
|