535 lines
21 KiB
Vue
535 lines
21 KiB
Vue
<template>
|
||
<div class="analyse-container">
|
||
<div>
|
||
<div id="echartDiv1" class="echartDiv100"></div>
|
||
<div id="echartDiv3" class="echartDiv100"></div>
|
||
<div id="echartDiv2" class="echartDiv100"></div>
|
||
<div id="echartDiv4" class="echartDiv100"></div>
|
||
</div>
|
||
<div>
|
||
<div id="echartDiv5" class="echartDiv100"></div>
|
||
<div id="echartDiv6" class="echartDiv100"></div>
|
||
<div id="echartDiv7" class="echartDiv100"></div>
|
||
<div id="echartDiv8" class="echartDiv100"></div>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import { onMounted, reactive, ref, toRefs } from "vue";
|
||
import { ElMessage } from "element-plus";
|
||
import myApi from "@/api/myApi.js";
|
||
import BarEchart from "./BarEchart.vue";
|
||
import Process from "./Process.vue";
|
||
import Date from "@/components/Date.vue";
|
||
export default {
|
||
name: "Analyse",
|
||
components: {
|
||
|
||
},
|
||
setup() {
|
||
const state = reactive({
|
||
|
||
});
|
||
onMounted(async () => {
|
||
getChartsZfl("echartDiv1", "地块面积", 730, "#80FFA5");
|
||
getChartsZf2("echartDiv2", '地块调蓄容积');
|
||
getChartsZf3("echartDiv3", '调蓄池液位');
|
||
getChartsZf4("echartDiv4", '溢流量');
|
||
getChartsZf2("echartDiv5", 'COD');
|
||
getChartsZf3("echartDiv6", '氨氮');
|
||
getChartsZf4("echartDiv7", 'SS');
|
||
getChartsZf2("echartDiv8", '地块剩余调蓄容积');
|
||
});
|
||
const getChartsZfl = (id, text, num, color) => {
|
||
var dom = document.getElementById(id);
|
||
var op = {
|
||
color: ["#80FFA5"],
|
||
title: {
|
||
text: text,
|
||
},
|
||
tooltip: {
|
||
trigger: "axis",
|
||
axisPointer: {
|
||
type: "cross",
|
||
label: {
|
||
backgroundColor: "#6a7985",
|
||
},
|
||
},
|
||
},
|
||
legend: {
|
||
data: ["地块面积"],
|
||
},
|
||
grid: {
|
||
left: "3%",
|
||
right: "4%",
|
||
bottom: "3%",
|
||
containLabel: true,
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: "category",
|
||
boundaryGap: false,
|
||
data: [
|
||
"00",
|
||
"01",
|
||
"02",
|
||
"03",
|
||
"04",
|
||
"05",
|
||
"06",
|
||
"07",
|
||
"08",
|
||
"09",
|
||
"10",
|
||
"11",
|
||
"12",
|
||
"13",
|
||
"14",
|
||
"15",
|
||
"16",
|
||
"17",
|
||
"18",
|
||
"19",
|
||
"20",
|
||
"21",
|
||
"22",
|
||
"23",
|
||
],
|
||
},
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: "value",
|
||
},
|
||
],
|
||
series: [
|
||
{
|
||
name: "区域面积",
|
||
type: "line",
|
||
stack: "Total",
|
||
smooth: true,
|
||
lineStyle: {
|
||
width: 0,
|
||
},
|
||
areaStyle: {
|
||
color: color
|
||
},
|
||
showSymbol: false,
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
num, num, num, num, num, num, num, num, num, num, num, num, num,
|
||
num, num, num, num, num, num, num, num, num, num, num,
|
||
],
|
||
}
|
||
],
|
||
};
|
||
getEchart(dom, op);
|
||
};
|
||
const getChartsZf2 = (id, text) => {
|
||
var dom = document.getElementById(id);
|
||
var op = {
|
||
title: {
|
||
text: text,
|
||
},
|
||
color: ['#80FFA5', '#00DDFF', '#37A2FF', '#FF0087', '#FFBF00'],
|
||
tooltip: {
|
||
trigger: "axis",
|
||
axisPointer: {
|
||
type: "shadow",
|
||
},
|
||
},
|
||
legend: {},
|
||
grid: {
|
||
left: "3%",
|
||
right: "4%",
|
||
bottom: "3%",
|
||
containLabel: true,
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: "category",
|
||
data: [
|
||
"00",
|
||
"01",
|
||
"02",
|
||
"03",
|
||
"04",
|
||
"05",
|
||
"06",
|
||
"07",
|
||
"08",
|
||
"09",
|
||
"10",
|
||
"11",
|
||
"12",
|
||
"13",
|
||
"14",
|
||
"15",
|
||
"16",
|
||
"17",
|
||
"18",
|
||
"19",
|
||
"20",
|
||
"21",
|
||
"22",
|
||
"23",
|
||
],
|
||
},
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: "value",
|
||
},
|
||
],
|
||
series: [
|
||
{
|
||
name: "系统A",
|
||
type: "bar",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
{
|
||
name: "系统B",
|
||
type: "bar",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
{
|
||
name: "系统C",
|
||
type: "bar",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
{
|
||
name: "系统D",
|
||
type: "bar",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
{
|
||
name: "系统E",
|
||
type: "bar",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data:[
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
],
|
||
};
|
||
getEchart(dom, op);
|
||
};
|
||
const getChartsZf3 = (id, text) => {
|
||
var dom = document.getElementById(id);
|
||
var op = {
|
||
title: {
|
||
text: text,
|
||
},
|
||
tooltip: {
|
||
trigger: "axis",
|
||
axisPointer: {
|
||
type: "shadow",
|
||
},
|
||
},
|
||
legend: {},
|
||
grid: {
|
||
left: "3%",
|
||
right: "4%",
|
||
bottom: "3%",
|
||
containLabel: true,
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: "category",
|
||
data: [
|
||
"00",
|
||
"01",
|
||
"02",
|
||
"03",
|
||
"04",
|
||
"05",
|
||
"06",
|
||
"07",
|
||
"08",
|
||
"09",
|
||
"10",
|
||
"11",
|
||
"12",
|
||
"13",
|
||
"14",
|
||
"15",
|
||
"16",
|
||
"17",
|
||
"18",
|
||
"19",
|
||
"20",
|
||
"21",
|
||
"22",
|
||
"23",
|
||
],
|
||
},
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: "value",
|
||
},
|
||
],
|
||
series: [
|
||
{
|
||
name: "系统A",
|
||
type: "bar",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
{
|
||
name: "系统B",
|
||
type: "bar",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
{
|
||
name: "系统C",
|
||
type: "bar",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data:[
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
{
|
||
name: "系统D",
|
||
type: "bar",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
{
|
||
name: "系统E",
|
||
type: "line",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
],
|
||
};
|
||
getEchart(dom, op);
|
||
};
|
||
const getChartsZf4 = (id, text) => {
|
||
var dom = document.getElementById(id);
|
||
var op = {
|
||
title: {
|
||
text: text,
|
||
},
|
||
tooltip: {
|
||
trigger: "axis",
|
||
axisPointer: {
|
||
type: "shadow",
|
||
},
|
||
},
|
||
legend: {},
|
||
grid: {
|
||
left: "3%",
|
||
right: "4%",
|
||
bottom: "3%",
|
||
containLabel: true,
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: "category",
|
||
data: [
|
||
"00",
|
||
"01",
|
||
"02",
|
||
"03",
|
||
"04",
|
||
"05",
|
||
"06",
|
||
"07",
|
||
"08",
|
||
"09",
|
||
"10",
|
||
"11",
|
||
"12",
|
||
"13",
|
||
"14",
|
||
"15",
|
||
"16",
|
||
"17",
|
||
"18",
|
||
"19",
|
||
"20",
|
||
"21",
|
||
"22",
|
||
"23",
|
||
],
|
||
},
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: "value",
|
||
},
|
||
],
|
||
series: [
|
||
{
|
||
name: "系统A",
|
||
type: "line",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
{
|
||
name: "系统B",
|
||
type: "line",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
{
|
||
name: "系统C",
|
||
type: "line",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
{
|
||
name: "系统D",
|
||
type: "line",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
{
|
||
name: "系统E",
|
||
type: "line",
|
||
stack: "Ad",
|
||
emphasis: {
|
||
focus: "series",
|
||
},
|
||
data: [
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100), parseInt(Math.random()*100),
|
||
],
|
||
},
|
||
],
|
||
};
|
||
getEchart(dom, op);
|
||
};
|
||
const getEchart = (dom, op) => {
|
||
if (dom) {
|
||
// 图表的dom属性中发现了一个特殊的属性:_echarts_instance_,对应的值是一个id,可能是由于再次渲染时这个id未发生改变导致ehcarts认为不需要重新渲染
|
||
// 手动移除该属性
|
||
dom.removeAttribute('_echarts_instance_')
|
||
var myChart = echarts.init(dom);
|
||
var option = op;
|
||
|
||
option && myChart.setOption(option);
|
||
}
|
||
};
|
||
return {
|
||
...toRefs(state),
|
||
getChartsZfl,
|
||
getEchart
|
||
};
|
||
},
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.analyse-container {
|
||
width: 100%;
|
||
height: 100%;
|
||
display: flex;
|
||
// flex-direction: column;
|
||
justify-content: space-between;
|
||
padding: 10px;
|
||
>div {
|
||
width: 49%;
|
||
height: 100%;
|
||
display: flex;
|
||
flex-direction: column;
|
||
justify-content: space-between;
|
||
}
|
||
.echartDiv100 {
|
||
width: 100%;
|
||
height: 20%;
|
||
margin: 0 auto;
|
||
border: 1px solid #ddd;
|
||
}
|
||
}
|
||
</style>
|