From 8ec9eff1102b6a1bef8a22c9748ea1dda835e2aa Mon Sep 17 00:00:00 2001 From: jongbowen <970029315@qq.com> Date: Mon, 15 May 2023 15:27:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9B=BE=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../echarts/echarts.component.ts | 198 +++++++++++++++++- 1 file changed, 191 insertions(+), 7 deletions(-) diff --git a/src/app/examiner/statistic-analysis/examStatistics/echarts/echarts.component.ts b/src/app/examiner/statistic-analysis/examStatistics/echarts/echarts.component.ts index 521af60..b5319d6 100644 --- a/src/app/examiner/statistic-analysis/examStatistics/echarts/echarts.component.ts +++ b/src/app/examiner/statistic-analysis/examStatistics/echarts/echarts.component.ts @@ -1,15 +1,199 @@ -import { Component, OnInit } from '@angular/core'; - +import { Component, OnInit } from "@angular/core"; +import { Router, NavigationExtras } from "@angular/router"; +declare var echarts: any; @Component({ - selector: 'app-echarts', - templateUrl: './echarts.component.html', - styleUrls: ['./echarts.component.scss'] + selector: "app-echarts", + templateUrl: "./echarts.component.html", + styleUrls: ["./echarts.component.scss"], }) export class EchartsComponent implements OnInit { - - constructor() { } + constructor(public router: Router) {} ngOnInit(): void { + window.setTimeout(() => { + this.initCharts(); + }, 0); } + zhutu; //柱状图实例 + zhiNameData = { + name: [ + "南宁支队", + "柳州支队", + "桂林支队", + "梧州支队", + "北海支队", + "防尘岗支队", + "钦州支队", + "贵港支队", + "玉林支队", + "百色支队", + "贺州支队", + "河池支队", + "来宾支队", + "崇左支队", + ], + frequency: [18, 17, 14, 14, 12, 11, 15, 13, 12, 16, 16, 13, 18, 17, 12], + number:[180, 170, 140, 140, 120, 110, 150, 130, 120, 160, 160, 130, 180, 170, 120] + + }; + daNameData = { + name: [ + "青秀大队", + "特勤大队", + "兴宁大队", + "江南大队", + "西乡塘大队", + "良庆大队", + "邕宁大队", + "高新大队", + "华侨大队", + "经开大队", + "武鸣大队", + "隆安大队", + "马山大队", + "上林大队", + "宾阳大队", + "横县大队", + ], + frequency: [2, 3, 1, 1, 2, 1, 0, 1, 1, 0, 2, 0, 0, 1, 0], + number: [30, 30, 10, 10, 20, 10, 0, 10, 10, 0, 20, 0, 0, 10, 0], + }; + + jiuNameData = { + name:[ + "南宁市青秀区仙葫消防救援站", + "南宁市青秀区凤岭消防救援站", + "南宁市青秀区柳沙消防救援站", + ], + frequency:[1, 1, 1], + number:[8, 11, 11] + }; + + staticExam = false; //考试统计 + upStatic = false; //发布考试统计 + //考试统计按钮 + staticecam() { + this.staticExam = true; + this.upStatic = false; + } + //发布考试按钮 + upexam() { + this.staticExam = false; + this.upStatic = true; + } + title = "考试频次(次)"; + examinationIndex = false; + color = "#41CDFC"; + //切换 + switch(e) { + if (e == "频次") { + this.title = "考试频次(次)"; + this.examinationIndex = false; + this.color = "#41CDFC"; + } else { + this.title = "考试人数(个)"; + this.examinationIndex = true; + this.color = "#FF8678"; + } + this.initCharts(); + } + //点击柱状图 + + initCharts() { + var detailPlanEchart = echarts.init(document.getElementById("zhidui")); + var option = { + title: { + text: this.title, + left: "5%", // 位置 + textStyle: { + color: "#A1A1A1", + fontSize: "16px", + textAlign: "left", + }, + }, + xAxis: { + type: "category", + data: this.zhiNameData.name, + axisLabel: { + fontSize: 12, + lineHeight: 31, + }, + axisLine: { + show: false, + }, + splitLine: { + show: false, + }, + axisTick: { + show: false, + }, + }, + yAxis: { + type: "value", + axisLabel: { + fontSize: 18, + lineHeight: 31, + }, + axisTick: { + show: false, + }, + axisLine: { + show: false, + }, + splitLine: { + show: true, + lineStyle: { + opacity: 0.6, + type: "dashed", + }, + }, + show: true, + }, + series: [ + { + data: this.examinationIndex?this.zhiNameData.number: this.zhiNameData.frequency, + type: "bar", + // showBackground: true, + backgroundStyle: { + color: "#F2F5F6", + }, + barWidth: 40, + color: this.color, + itemStyle: { + normal: { + label: { + show: true, //开启显示 + position: "top", //在上方显示 + textStyle: { + //数值样式 + color: "black", + fontSize: 12, + }, + }, + }, + }, + + // barWidth:"24px" + }, + ], + }; + detailPlanEchart.on("click", (e) => { + this.clickFunc(e); + }); + detailPlanEchart.setOption(option); + } + clickFunc(e) { + console.log(e); + + if (e.name.indexOf("支队") != -1) { + this.zhiNameData = this.daNameData; + this.initCharts(); + } else if (e.name.indexOf("大队") != -1) { + this.zhiNameData = this.jiuNameData; + this.initCharts(); + } else { + this.router.navigate(["home/statistic-capacity"]); + } + } }