ZhiYeJianKang/职业健康平台后端/target/dzzyb/static/quxian/pxsjtj.html
2025-02-20 15:25:59 +08:00

511 lines
12 KiB
HTML
Raw Permalink 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.

<!DOCTYPE html>
<html>
<head>
<title>ECharts</title>
<!-- 引入 echarts.js -->
<script src="echarts/echarts.min.js" charset="utf-8"></script>
<script src="js/layui-v2.5.6/layui/layui.all.js"></script>
<style type="text/css">
body {
height: 670px;
}
.clear_box::after {
content: '';
display: block;
clear: both;
}
.div_float {
width: 48%;
float: left;
margin-bottom: 2%;
box-shadow: 0px 1px 6px #dcdcdc;
box-sizing: border-box;
}
.margin_rig {
margin-right: 2%;
}
</style>
</head>
<body>
<div class="sjzs_top"></div>
<div class="sjzs_cont clear_box">
<div class="div_float margin_rig">
<div id="main" style="width: 100%;height:400px;margin: 0 auto;"></div>
</div>
<div class="div_float ">
<div id="main1" style="width: 100%;height:400px;margin: 0 auto;"></div>
</div>
<div class="div_float margin_rig">
<div id="main2" style="width: 100%;height:400px;margin: 0 auto;"></div>
</div>
<div class="div_float">
<div id="main3" style="width: 100%;height:400px;margin: 0 auto;"></div>
</div>
</div>
<script type="text/javascript">
// 基于准备好的dom初始化echarts实例
var myChart = echarts.init(document.getElementById('main'))
var colors = ['#C23531', '#2F4554', '#675bba'];
option = {
title: {
text: '培训完成情况统计',
subtext: '2020年1月-4月'
},
color: colors,
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross'
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
legend: {
data: ['计划人数', '实际人数', '完成率']
},
xAxis: [{
type: 'category',
axisTick: {
alignWithLabel: true
},
data: ['1月', '2月', '3月', '4月']
}],
yAxis: [{
type: 'value',
position: 'left'
},
{},
{
type: 'value',
name: '完成率',
position: 'right',
axisLine: {
lineStyle: {
color: colors[2]
}
}
}
],
series: [{
name: '计划人数',
barWidth: 40,
type: 'bar',
data: [1456, 1321, 1654, 1754]
},
{
name: '实际人数',
type: 'bar',
barWidth: 40,
data: [1021, 811, 1456, 1232]
},
{
name: '完成率',
type: 'line',
yAxisIndex: 1,
data: [70.1, 61.3, 88, 70.2]
}
]
};
// option = {
// title: {
// text: '培训完成情况统计',
// subtext: '2020年1月-4月'
// },
// tooltip: {
// trigger: 'axis',
// axisPointer: {
// type: 'shadow'
// }
// },
// legend: {
// data: ['计划人数', '实际人数', '完成比例']
// },
// grid: {
// left: '3%',
// right: '4%',
// bottom: '3%',
// containLabel: true
// },
// yAxis: [{
// type: 'value',
// boundaryGap: [0, 0.01]
// },
// {
// type: 'value',
// name: '完成比例',
// min: 0,
// max: 250,
// position: 'right',
// offset: 80,
// }
// ],
// xAxis: {
// type: 'category',
// data: ['1月', '2月', '3月', '4月']
// },
// series: [{
// name: '计划人数',
// type: 'bar',
// data: [1456, 1321, 1654, 1754]
// },
// {
// name: '实际人数',
// type: 'bar',
// data: [1321, 1211, 1456, 1632]
// },
// {
// name: '完成比例',
// type: 'line',
// label: {
// normal: {
// show: true,
// // 图形内显示
// position: "inside",
// // 文字的显示格式
// formatter: "{c}%"
// }
// },
// stack: '总量',
// data: [89, 90, 95, 60]
// }
// ]
// }
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option)
var myChart1 = echarts.init(document.getElementById('main1'))
option1 = {
title: {
text: '培训课程分数情况'
},
tooltip: {
trigger: 'axis',
axisPointer: {
// 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
legend: {
data: ['0-59分', '60-79分', '80-99分', '100分']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'value'
},
yAxis: {
type: 'category',
data: [
'职业卫生培训',
'职业卫生管理员培训',
'职业危害知识培训',
'岗后培训',
'岗中培训',
'岗前培训'
]
},
series: [{
name: '0-59分',
type: 'bar',
stack: '总数',
label: {
show: true,
position: 'insideRight'
},
data: [320, 302, 301, 334, 390, 330]
},
{
name: '60-79分',
type: 'bar',
stack: '总数',
label: {
show: true,
position: 'insideRight'
},
data: [120, 132, 101, 134, 90, 230]
},
{
name: '80-99分',
type: 'bar',
stack: '总数',
label: {
show: true,
position: 'insideRight'
},
data: [220, 182, 191, 234, 290, 330]
},
{
name: '100分',
type: 'bar',
stack: '总数',
label: {
show: true,
position: 'insideRight'
},
data: [150, 212, 201, 154, 190, 330]
}
]
}
myChart1.setOption(option1)
var myChart2 = echarts.init(document.getElementById('main2'))
option2 = {
title: {
text: '培训合格发证情况'
},
tooltip: {
trigger: 'axis',
axisPointer: {
// 坐标轴指示器,坐标轴触发有效
type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
}
},
legend: {
data: ['完成', '未完成']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'value'
},
yAxis: {
type: 'category',
data: [
'职业卫生培训',
'职业卫生管理员培训',
'职业危害知识培训',
'岗后培训',
'岗中培训',
'岗前培训'
]
},
series: [{
name: '完成',
type: 'bar',
stack: '总数',
label: {
show: true,
position: 'insideRight'
},
data: [320, 302, 250, 36, 87, 150]
},
{
name: '未完成',
type: 'bar',
stack: '总数',
label: {
show: true,
position: 'insideRight'
},
data: [120, 132, 80, 124, 155, 160]
}
]
}
myChart2.setOption(option2)
var myChart3 = echarts.init(document.getElementById('main3'))
option3 = {
title: {
text: '各岗位参与培训统计',
subtext: '统计数据',
left: 'center'
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
legend: {
// orient: 'vertical',
// top: 'middle',
bottom: 10,
left: 'center',
data: ['人事部', '售前部', '售后部', '技术部', '后勤部']
},
series: [{
type: 'pie',
radius: '65%',
center: ['50%', '50%'],
selectedMode: 'single',
data: [{
value: 1548,
name: '部门',
label: {
formatter: [
'{title|{b}}{abg|}',
' {weatherHead|人数}{rateHead|占比}',
'{hr|}',
' {value|1876}{rate|35%}',
' {value|388}{rate|20%}',
' {value|160}{rate|10%}',
' {value|89}{rate|8%}',
' {value|67}{rate|7%}'
].join('\n'),
backgroundColor: '#eee',
borderColor: '#777',
borderWidth: 1,
borderRadius: 4,
rich: {
title: {
color: '#eee',
align: 'center'
},
abg: {
backgroundColor: '#333',
width: '100%',
align: 'right',
height: 25,
borderRadius: [4, 4, 0, 0]
},
weatherHead: {
color: '#333',
height: 24,
align: 'left'
},
hr: {
borderColor: '#777',
width: '100%',
borderWidth: 0.5,
height: 0
},
value: {
width: 20,
padding: [0, 20, 0, 30],
align: 'left'
},
valueHead: {
color: '#333',
width: 20,
padding: [0, 20, 0, 30],
align: 'center'
},
rate: {
width: 40,
align: 'right',
padding: [0, 10, 0, 0]
},
rateHead: {
color: '#333',
width: 40,
align: 'center',
padding: [0, 10, 0, 0]
}
}
}
},
{
value: 535,
name: '人事部'
},
{
value: 510,
name: '售前部'
},
{
value: 634,
name: '售后部'
},
{
value: 735,
name: '技术部'
}
],
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}]
}
myChart3.setOption(option3)
document.getElementById('main').onclick = function() {
// /window.location="yjtjsz.html";
layer.open({
type: 2,
area: ['100%', '100%'],
title: '培训数据统计情况',
maxmin: true,
content: 'pxsjtjqk.html',
tn: ['关闭'],
yes: function(index) {
layer.close(index)
}
})
}
// document.getElementById("main1").onclick=function(){
// // /window.location="yjtjsz.html";
// layer.open({
// type: 2,
// area: ['100%', '100%'],
// title: "练习成绩",
// maxmin: true,
// content: 'lxjl.html',
// tn: ['关闭'],
// yes: function(index) {
// layer.close(index);
// }
// })
// }
// document.getElementById("main2").onclick=function(){
// // /window.location="yjtjsz.html";
// layer.open({
// type: 2,
// area: ['100%', '100%'],
// title: "面授课程",
// maxmin: true,
// content: 'mskc.html',
// tn: ['关闭'],
// yes: function(index) {
// layer.close(index);
// }
// })
// }
// document.getElementById("main3").onclick=function(){
// // /window.location="yjtjsz.html";
// layer.open({
// type: 2,
// area: ['100%', '100%'],
// title: "人员列表",
// maxmin: true,
// content: 'yglb.html',
// tn: ['关闭'],
// yes: function(index) {
// layer.close(index);
// }
// })
// }
</script>
</body>
</html>