flyShare

一、html代码

<!--插件 -->
<script src="/coalminehwaui/static/js/project/echartsdemo/js/lib/echarts/echarts.min.js"></script>

<div class="row">
       <!--三级培训和特种作业 -->
        <div id="container1" style=" height: 450%;width: 48%;margin-top: 5%;margin-bottom: 2%"></div>
        <!--综合培训 -->
        <div id="container2" style=" height: 450%;width: 50%;margin-top: 5%;margin-bottom: 2%;margin-left: 2%"></div>
    </div>

二、js代码

\'use strict\'

$(function(){// 获取三级培训和特种作业数据
    trainEducationAnalysis.getDepart();
    // 获取综合培训数据
    trainEducationAnalysis.getComprehensiveTrain();
});

var trainEducationAnalysis=new Object({//获取三级教育和特种作业人员数据
    getDepart:function(){
        // 横轴名称
        var arrX=[];
        // 纵轴数据
        var specialY=[];
        // 初级培训
        var primaryY=[];
        $.ajax({
            cache: false,
            type: "post",
            url:backbasePath+\'/apia/v1/analysisManager/getDepart\',
            dataType:\'json\',
            data:{
                token:$("#token").val()
            },
            async : false,
            success: function(data) {
                // 返回正常数据
                if(\'000000\' == data.code) {
                    // 后台返回的数据都放在data里面
                    var obj = data.data;
                    for(var i=0;i<obj.length;i++){
                        // 将横轴名称放在数组中
                        arrX.push(obj[i].sysdepartname);
                        // 特殊培训个数
                        specialY.push(obj[i].specialtotal);
                        // 初级培训个数
                        primaryY.push(obj[i].othertotal);
                    }
                    // 根据数据画柱状图
                    trainEducationAnalysis.drawByData(arrX, specialY, primaryY);

                }else{
                    toastr.success("请求数据为空");
                }
            },
            error:function(){
                toastr.success("数据请求失败");
            }
        });
    },

    //获取三级教育和特种作业人员数据
    getComprehensiveTrain:function(){
        // 横轴名称
        var depart=[];
        // 受训人员数据
        var traineeY=[];
        // 培训人员数据
        var trainerY=[];
        $.ajax({
            cache: false,
            type: "post",
            url:backbasePath+\'/apia/v1/analysisManager/getComprehensiveTrain\',
            dataType:\'json\',
            data:{
                token:$("#token").val()
            },
            async : false,
            success: function(data) {
                // 返回正常数据
                if(\'000000\' == data.code) {
                    // 后台返回的数据都放在data里面
                    var obj = data.data;
                    for(var i=0;i<obj.length;i++){
                        // 将横轴名称放在数组中
                        depart.push(obj[i].sysdepartname);
                        // 受训人员数据
                        traineeY.push(obj[i].trainee);
                        // 培训人员数据
                        trainerY.push(obj[i].trainer);
                    }
                    // 根据数据画柱状图
                    trainEducationAnalysis.drawComprehensiveTrain(depart, traineeY, trainerY);
                }else{
                    toastr.success("请求综合培训数据为空");
                }
            },
            error:function(){
                toastr.success("请求综合培训数据失败");
            }
        });
    },

    //三级教育和特种作业人员柱状图
    drawByData:function(arrX, specialY, primaryY){
        var myChart = echarts.init(document.getElementById(\'container1\'));
        var option = {
            title : {
                text: \'统计\',
                textStyle:{
                    color:"#282828"
                },
                x:\'left\'
            },
            tooltip : {
                trigger: \'axis\',
                // 坐标轴指示器,坐标轴触发有效
                axisPointer : {
                    // 默认为直线,可选为:\'line\' | \'shadow\'
                    type : \'shadow\'
                }
            },
            // 不同颜色代表的含义
            legend: {
                bottom:-8,
                data: [\'入场三级教育人数\',\'特种作业人数\'],
                textStyle:{
                    color:"#a4a7ab"
                }
            },
            // 直角坐标系内绘图网格
            grid: {
                // 值越大越靠近右侧
                x: 46,
                // 值越大越靠下
                y: 30,
                // 值越大越靠左
                x2: 32,
                // 值越大越靠上
                y2: 40,
                // 边框线宽
                borderWidth: 0
            },
            // x坐标轴刻度设置
            xAxis : [
                {
                    type : \'category\',
                    data : arrX,
                    splitLine: {
                        show: false
                    },
                    axisLabel: {
                        show: true,
                        textStyle: {
                            color: \'#a4a7ab\',
                            align: \'center\'
                        }
                    }
                }
            ],
            // y坐标轴刻度设置
            yAxis : [
                {
                    type : \'value\',
                    min:0,
                    max:50,
                    splitLine: {
                        show: false
                    },
                    axisLabel: {
                        show: true,
                        textStyle: {
                            color: \'#a4a7ab\'
                        }
                    }
                }
            ],
            series : [
                {
                    name:\'入场三级教育人数\',
                    type:\'bar\',
                    barWidth: 15,//柱状图宽度
                    barMaxWidth: 15,//最大宽度
                    data: primaryY,
                    itemStyle:{
                        normal:{
                            color:"#6699CC"
                        }
                    }
                },
                {
                    name:\'特种作业人数\',
                    type:\'bar\',
                    barWidth: 15,//柱状图宽度
                    barMaxWidth: 15,//最大宽度
                    data: specialY,
                    itemStyle:{
                        normal:{
                            color:"#66CC33"
                        }
                    }
                }
            ]
        };
        myChart.setOption(option);
    },

    //综合培训柱状图
    drawComprehensiveTrain:function(depart, traineeY, trainerY){
        var myChart = echarts.init($("#container2")[0]);
        var option = {
            title : {
                text: \'综合情况统计\',
                textStyle:{
                    color:"#282828"
                },
                left:\'50\'
            },
            tooltip : {
                trigger: \'axis\'
            },
            // 直角坐标系内绘图网格
            grid: {
                borderWidth: 0
            },
            // 默认关闭可计算特性
            calculable : false,
            // 不同颜色代表的含义
            legend: {
                data:[\'培训数\',\'受训人数\'],
                textStyle:{
                    color:"#a4a7ab"
                },
                x:\'center\',
                y:\'30\'
            },
            xAxis : [
                {
                    type : \'category\',
                    name : \'项目\',
                    data : depart,
                    splitLine: {
                        show: false
                    },
                    axisLabel: {
                        show: true,
                        textStyle: {
                            color: \'#a4a7ab\',
                            align: \'center\'
                        }
                    }

                }
            ],
            yAxis : [
                {
                    type : \'value\',
                    name : \'培训数\',
                    max:20,
                    min:0,
                    axisLabel : {
                        formatter: \'{value} \',
                        textStyle: {
                            color: \'#a4a7ab\',
                            align: \'right\'
                        }
                    },
                    splitLine: {
                        show: false
                    },
                },
                {
                    type : \'value\',
                    name : \'受训人数\',
                    max:100,
                    min:0,
                    axisLabel : {
                        formatter: \'{value} \',
                        textStyle: {
                            color: \'#a4a7ab\',
                            align: \'right\'
                        }
                    },
                    splitLine: {
                        show: false
                    },
                },

            ],
            series : [
                {
                    name:\'培训数\',
                    // 设置图表类型为柱状图
                    type:\'bar\',
                    barWidth:30,
                    barMaxWidth:30,
                    stack: \'培训数\',
                    data: trainerY,
                    itemStyle: {
                        normal: {
                            color:"#A00000"
                        }
                    }
                },
                {
                    name:\'受训人数\',
                    // 设置图表类型为折线图
                    type:\'line\',
                    yAxisIndex: 1,
                    data: traineeY,
                    itemStyle: {
                        normal: {
                            color:"#500000"
                        }
                    }
                },

            ]
        };
        myChart.setOption(option);
    }
});

三、效果图

 

分类:

技术点:

相关文章:

  • 2021-11-26
  • 2021-09-22
  • 2021-05-09
  • 2021-10-06
  • 2021-10-04
  • 2021-08-14
  • 2021-12-06
  • 2022-01-07
猜你喜欢
  • 2021-05-17
  • 2021-07-02
  • 2021-12-31
  • 2021-05-24
  • 2021-05-08
  • 2021-10-27
  • 2021-11-15
相关资源
相似解决方案