119 lines
2.5 KiB
Vue
119 lines
2.5 KiB
Vue
|
<template>
|
||
|
<el-card>
|
||
|
<div id="main2" />
|
||
|
</el-card>
|
||
|
</template>
|
||
|
|
||
|
<script setup>
|
||
|
import { onBeforeUnmount, onMounted } from "vue";
|
||
|
import * as echarts from "echarts";
|
||
|
import { getRiskManagement } from "@/request/large_screen_data_display.js";
|
||
|
|
||
|
let myChart2;
|
||
|
const fnGetData = async () => {
|
||
|
const { riskAll } = await getRiskManagement();
|
||
|
fnInitEcharts(riskAll);
|
||
|
};
|
||
|
const fnInitEcharts = (data) => {
|
||
|
myChart2 = echarts.init(document.querySelector("#main2"));
|
||
|
let acount = 0;
|
||
|
let bcount = 0;
|
||
|
let ccount = 0;
|
||
|
let dcount = 0;
|
||
|
for (let i = 0; data.length > i; i++) {
|
||
|
if (data[i].LEVELID) {
|
||
|
if (data[i].LEVELID === "levelA") acount = data[i].COUNT;
|
||
|
if (data[i].LEVELID === "levelB") bcount = data[i].COUNT;
|
||
|
if (data[i].LEVELID === "levelC") ccount = data[i].COUNT;
|
||
|
if (data[i].LEVELID === "levelD") dcount = data[i].COUNT;
|
||
|
}
|
||
|
}
|
||
|
const option = {
|
||
|
title: {
|
||
|
text: "风险分级统计",
|
||
|
textStyle: {
|
||
|
fontSize: "14",
|
||
|
color: "#fff",
|
||
|
fontWeight: "700",
|
||
|
},
|
||
|
},
|
||
|
color: ["#10b9f8", "#ffc600", "#f49545", "#ec2c26"],
|
||
|
tooltip: {
|
||
|
trigger: "item",
|
||
|
},
|
||
|
grid: {},
|
||
|
legend: {
|
||
|
orient: "vertical",
|
||
|
left: "6%",
|
||
|
top: "20%",
|
||
|
textStyle: {
|
||
|
color: "#fff",
|
||
|
},
|
||
|
},
|
||
|
series: [
|
||
|
{
|
||
|
name: "风险类型",
|
||
|
type: "pie",
|
||
|
radius: ["30%", "70%"],
|
||
|
center: ["64%", "49%"],
|
||
|
avoidLabelOverlap: false,
|
||
|
itemStyle: {
|
||
|
borderColor: "rgb(8, 24, 58)",
|
||
|
borderWidth: 2,
|
||
|
},
|
||
|
label: {
|
||
|
show: false,
|
||
|
position: "center",
|
||
|
},
|
||
|
emphasis: {
|
||
|
label: {
|
||
|
show: true,
|
||
|
fontSize: "18",
|
||
|
fontWeight: "bold",
|
||
|
color: "#fff",
|
||
|
},
|
||
|
},
|
||
|
labelLine: {
|
||
|
show: false,
|
||
|
},
|
||
|
data: [
|
||
|
{
|
||
|
value: dcount,
|
||
|
name: "低风险",
|
||
|
},
|
||
|
{
|
||
|
value: ccount,
|
||
|
name: "一般风险",
|
||
|
},
|
||
|
{
|
||
|
value: bcount,
|
||
|
name: "较大风险",
|
||
|
},
|
||
|
{
|
||
|
value: acount,
|
||
|
name: "重大风险",
|
||
|
},
|
||
|
],
|
||
|
},
|
||
|
],
|
||
|
};
|
||
|
myChart2.setOption(option);
|
||
|
};
|
||
|
onMounted(() => {
|
||
|
fnGetData();
|
||
|
window.onresize = function () {
|
||
|
myChart2 && myChart2.resize();
|
||
|
};
|
||
|
});
|
||
|
onBeforeUnmount(() => {
|
||
|
myChart2 = null;
|
||
|
});
|
||
|
</script>
|
||
|
|
||
|
<style scoped lang="scss">
|
||
|
#main2 {
|
||
|
width: 100%;
|
||
|
height: 305px;
|
||
|
}
|
||
|
</style>
|