mh_jy_safe_web/src/utils/commonEcharsShow.js
2025-08-25 10:08:30 +08:00

415 lines
10 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* eslint-disable no-undef */
// import { color } from 'html2canvas/dist/types/css/types/color'; //wyw 这个会影响
import { random, omit } from 'lodash';
import moment from 'moment';
const RFC4122_TEMPLATE = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
//饼图展示 wyw (安全检查情况占比)
//legendData, seriesData 数据类型参考方法体
export function ChartPieShow(echarts, divId, title, legendData, seriesData, tooltipFormatter) {
//添加缺省参数案例
if (tooltipFormatter == undefined || tooltipFormatter == null)
tooltipFormatter = '{b} : {c} ({d}%)'
var element = document.getElementById(divId)
if (element != undefined) {
var myChart = echarts.init(element);
var option = {
title: {
text: title,
left: 'center'
},
tooltip: {
trigger: 'item',
formatter: tooltipFormatter
},
legend: {
// orient: 'vertical', // left: 'left',
type: 'scroll',
top: 50,
data: legendData //['综合检查', '例行检查', '巡回检查', '专业检查', '日常巡检']
},
series: [
{
type: 'pie',
radius: '55%',
center: ['50%', '50%'],
data: seriesData,
// [
// { value: 335, name: '直接访问' },
// { value: 310, name: '邮件营销' },
// { value: 234, name: '联盟广告' },
// { value: 135, name: '视频广告' },
// { value: 1548, name: '搜索引擎' }
// ],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
}
//柱状图 横向 (班组安全检查完成率分析)
export function ChartBarShow(echarts, divId, title, xAxisData, seriesDataFinish, seriesDataNotFinish, tooltipFormatter) {
var element = document.getElementById(divId)
if (element != undefined) {
var myChart = echarts.init(element);
//添加缺省参数案例
if (tooltipFormatter == undefined || tooltipFormatter == null)
tooltipFormatter = '{b} : {c} '
var option = {
title: {
text: title,
left: 'center'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
legend: {
top: '30px',
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'value'
},
yAxis: {
type: 'category',
data: xAxisData,
},
series: [
{
name: '已完成',
type: 'bar',
stack: 'total',
label: {
show: true
},
emphasis: {
focus: 'series'
},
data: seriesDataFinish,
},
{
name: '未完成',
type: 'bar',
stack: 'total',
label: {
show: true,
},
emphasis: {
focus: 'series'
},
data: seriesDataNotFinish,
},
]
}
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
// var element = document.getElementById(divId)
// if (element != undefined) {
// var myChart = echarts.init(element);
// //添加缺省参数案例
// if (tooltipFormatter == undefined || tooltipFormatter == null)
// tooltipFormatter = '{b} : {c} '
// var option = {
// title: {
// text: title,
// left: 'center'
// },
// tooltip: {
// trigger: 'item',
// formatter: tooltipFormatter
// },
// // legend: {
// // left: 'left',
// // orient: 'vertical',
// // data: ['已完成', '未完成'],
// // bottom: '10'
// // },
// // legend: {
// // // orient: 'vertical', // left: 'left',
// // type: 'scroll',
// // top: 50,
// // data: ['已完成', '未完成']
// // },
// legend: {
// top: '100px',
// data: ['已完成', '未完成'],
// // bottom: '0px'
// },
// /***横向排列***/
// yAxis: [{
// type: 'category',
// data: xAxisData,
// axisLable: {
// interval: 0,
// rotate: 40
// }
// }],
// xAxis: {},
// series: [
// {
// type: 'bar',
// stack: 'total',
// data: seriesDataFinish,// [320, 302, 301, 334, 390, 330, 320]
// label: {
// show: true,
// // formatter:'{c0/(c0+c1)}%'
// }
// },
// {
// type: 'bar',
// stack: 'total',
// data: seriesDataNotFinish,// [120, 132, 101, 134, 90, 230, 210]
// label: {
// show: true,
// }
// },
// ],
// }
// };
// // 使用刚指定的配置项和数据显示图表。
// myChart.setOption(option);
}
// //柱状图 竖向 (年度 安全检查隐患整改统计图)
// export function ChartBarShow_Vertical(echarts, divId, title, xAxisData, seriesDataFinish, seriesDataNotFinish, tooltipFormatter) {
// debugger
// var element = document.getElementById(divId)
// if (element != undefined) {
// var myChart = echarts.init(element);
// var option = {
// tooltip: {
// trigger: 'axis',
// axisPointer: {
// // Use axis to trigger tooltip
// type: 'shadow' // 'shadow' as default; can also be 'line' or 'shadow'
// }
// },
// legend: {},
// grid: {
// left: '3%',
// right: '4%',
// bottom: '3%',
// containLabel: true
// },
// xAxis: {
// type: 'category',
// data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
// },
// yAxis: {
// type: 'value'
// },
// series: [
// {
// name: 'Direct',
// type: 'bar',
// stack: 'total',
// label: {
// show: true
// },
// emphasis: {
// focus: 'series'
// },
// data: [320, 302, 301, 334, 390, 330, 320]
// },
// {
// name: 'Mail Ad',
// type: 'bar',
// stack: 'total',
// label: {
// show: true
// },
// emphasis: {
// focus: 'series'
// },
// data: [120, 132, 101, 134, 90, 230, 210]
// },
// {
// name: 'Affiliate Ad',
// type: 'bar',
// stack: 'total',
// label: {
// show: true
// },
// emphasis: {
// focus: 'series'
// },
// data: [220, 182, 191, 234, 290, 330, 310]
// },
// {
// name: 'Video Ad',
// type: 'bar',
// stack: 'total',
// label: {
// show: true
// },
// emphasis: {
// focus: 'series'
// },
// data: [150, 212, 201, 154, 190, 330, 410]
// }
// ]
// };
// // 使用刚指定的配置项和数据显示图表。
// myChart.setOption(option);
// }
// }
//柱状图 竖向 (年度 安全检查隐患整改统计图)
export function ChartBarShow_Vertical(echarts, divId, data, title) {
var element = document.getElementById(divId)
if (element != undefined && data != null && data.length > 0) {
var myChart = echarts.init(element);
var series = []
var xAxisData = []
var yAxisData1 = []
var yAxisData2 = []
var yAxisData3 = []
data.forEach((item) => {
xAxisData.push(item.YEAR + "-" + item.MONTH)
yAxisData1.push(item.INTTIMECOUNT)
yAxisData2.push(item.OUTTIMECOUNT)
yAxisData3.push(item.NOTFINISHCOUN)
})
var option = {
title: {
text: title,
left: 'center'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
legend: {
bottom: '0px'
},
grid: {
left: '3%',
right: '4%',
bottom: '10%',
containLabel: true
},
xAxis: {
type: 'category',
data: xAxisData
},
yAxis: {
type: 'value'
},
series: [
{
name: '按期整改',
type: 'bar',
stack: 'total',
label: {
show: true
},
emphasis: {
focus: 'series'
},
data: yAxisData1
},
{
name: '延期整改',
type: 'bar',
stack: 'total',
label: {
show: true
},
emphasis: {
focus: 'series'
},
data: yAxisData2
},
{
name: '未完成',
type: 'bar',
stack: 'total',
label: {
show: true
},
emphasis: {
focus: 'series'
},
data: yAxisData3
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
}
//折线图 (年度 安全检查隐患整改率近12个月
export function LineShow(echarts, divId, title, dataXAxis, dataSeries) {
var chartDom = document.getElementById(divId);
if (chartDom != null && chartDom != undefined) {
var myChart = echarts.init(chartDom);
var option;
option = {
title: {
text: title,
left: 'center'
},
label: {
show: true,
position: 'top'
},
xAxis: {
type: 'category',
data: dataXAxis
},
yAxis: {
type: 'value'
},
series: [
{
data: dataSeries,
type: 'line'
}
]
};
option && myChart.setOption(option);
}
}