From 91f2640c8919e7cbe41c8c437e4f7fd60345e062 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Tue, 22 Apr 2025 10:47:00 +0800
Subject: [PATCH] 修改大屏
---
src/views/hazardousChemicals/bigScreen/components/leftBottom.vue | 102 +++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 79 insertions(+), 23 deletions(-)
diff --git a/src/views/hazardousChemicals/bigScreen/components/leftBottom.vue b/src/views/hazardousChemicals/bigScreen/components/leftBottom.vue
index de6ee03..b7f6789 100644
--- a/src/views/hazardousChemicals/bigScreen/components/leftBottom.vue
+++ b/src/views/hazardousChemicals/bigScreen/components/leftBottom.vue
@@ -1,19 +1,57 @@
<template>
<div class="charts-container">
<div id="dangerPie"></div>
+ <el-radio-group v-model="data.state" size="small" class="state-button" @change="getTopList">
+ <el-radio-button :label="1">已处理</el-radio-button>
+ <el-radio-button :label="0">未处理</el-radio-button>
+ </el-radio-group>
<div id="dangerBar"></div>
</div>
</template>
<script setup>
import * as echarts from 'echarts';
-import {onMounted} from "vue";
-
+import {onMounted, reactive} from "vue";
+import {getAvoidInfoPage} from "@/api/hazardousChemicals/avoid";
+import {ElMessage} from "element-plus";
+import {getTaBooWarning} from "@/api/monitor/screenCharts";
onMounted(()=>{
- initDangerPie()
- initDangerBar()
+ getListPage()
+ getTopList()
})
-const initDangerPie =()=>{
+const data = reactive({
+ queryParams: {
+ pageNum: 1,
+ pageSize: 9999,
+ warningType: '',
+ companyId: null
+ },
+ state: 1
+})
+
+const getListPage = async () => {
+ const res = await getAvoidInfoPage(data.queryParams)
+ if(res.code == 200){
+ let data = []
+ if(res.data && Array.isArray(res.data.list) && res.data.list.length>0){
+ data[0] = {
+ name: '未处理',
+ value: res.data.list.filter(i=>i.state == 0).length
+ }
+ data[1] = {
+ name: '已处理',
+ value: res.data.list.filter(i=>i.state == 1).length
+ }
+ initDangerPie(data)
+ }else{
+ initDangerPie([])
+ }
+ }else{
+ ElMessage.warning(res.message)
+ }
+}
+
+const initDangerPie =(data)=>{
var chartDom = document.getElementById('dangerPie');
var myChart = echarts.init(chartDom);
var option;
@@ -42,10 +80,7 @@
show: true
},
color: ['#1890FF','#FACC14'],
- data: [
- { value: 1048, name: '未整改' },
- { value: 735, name: '已整改' }
- ],
+ data: data,
emphasis: {
itemStyle: {
shadowBlur: 10,
@@ -59,7 +94,19 @@
option && myChart.setOption(option);
}
-const initDangerBar =()=>{
+
+const getTopList=async ()=>{
+ const res = await getTaBooWarning(data.state)
+ if (res.code == 200) {
+ if(res.data && Array.isArray(res.data) && res.data.length>0){
+ initDangerBar(res.data.reverse())
+ }
+ } else {
+ ElMessage.warning(res.message)
+ }
+}
+
+const initDangerBar =(data)=>{
var chartDom = document.getElementById('dangerBar');
var myChart = echarts.init(chartDom);
var option;
@@ -83,16 +130,6 @@
color: 'rgba(255,255,255,.6)',
fontWeight: 'normal'
}
- },
- {
- text: '已整改/未整改',
- right: '0',
- top: '0%',
- textStyle: {
- fontSize: 12,
- color: 'rgba(255,255,255,.6)',
- fontWeight: 'normal'
- }
}
],
xAxis: {
@@ -108,7 +145,7 @@
}
},
yAxis: {
- data: ['Brazil', 'Indonesia', 'USA', 'India', 'China', 'World'],
+ data: data.map(i=>i.companyName),
axisLine: {
show: false
},
@@ -124,7 +161,7 @@
name: '2011',
type: 'bar',
barWidth: '15',
- data: [203, 489, 134, 970, 744, 230]
+ data: data.map(i=>i.count)
}
]
};
@@ -146,6 +183,25 @@
display: flex;
flex-direction: column;
}
+:deep(.el-radio-group.state-button){
+ height: 20px;
+ display: flex;
+ align-items: center;
+ justify-content: right;
+ margin-bottom: -20px;
+ position: relative;
+ z-index: 9999;
+}
+:deep(.el-radio-button--small .el-radio-button__inner){
+ height: 20px;
+ line-height: 10px;
+ background: rgba(0,0,0,0);
+ border: 1px solid #11FEEE;
+}
+:deep(.el-radio-button__original-radio:checked+.el-radio-button__inner){
+ color: #02CDE6
+}
+
#dangerPie{
width: 100%;
flex: 1;
@@ -155,4 +211,4 @@
width: 100%;
flex: 2;
}
-</style>
+</style>
\ No newline at end of file
--
Gitblit v1.9.2