| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776 | define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echarts-theme', 'template','form'], function ($, undefined, Backend, Datatable, Table, Echarts, undefined, Template,Form) {    var Controller = {        index: function () {            // $("input[name='collection_name']").addClass("selectpage").data("source", "district/selectpage").data('params',{'custom[pid]':0,'custom[departid]':1}).data("primaryKey", "name").data("field", "name").data("orderBy", "number asc");            //最高分            zg();            //最低分            zd();            //平均分            pjf();            //平均时长            pjsc();            //各区队平均分分析            echarts_41();            //本年度考试成绩平均分统计            echarts_51();            //FZD04B型侦毒器维修难点统计            echarts_11();            //FZB006型毒剂报警器维修难点统计            echarts_21();            // 防化兵用毒剂报警器维修难点统计            echarts_61();            //最高分            function zg() {                // 基于准备好的dom,初始化echarts实例                var myChart = echarts.init(document.getElementById('zb1'));                var v1=100;                var v2=0;                var v3=v1+v2;                option = {                    series: [{                        type: 'pie',                        radius: ['60%', '70%'],                        color:'#49bcf7',                        label: {                            normal: {                                position: 'center'                            }                        },                        data: [{                            value: v1,                            name: Config.max,                            label: {                                normal: {                                    formatter:70,//Math.round( v1/v3*100)+ '%%',                                    textStyle: {                                        fontSize: 30,                                        color:'#fff',                                    }                                }                            }                        },                            {                                value: v2,                                label: {                                    normal: {                                        formatter : function (params){                                            return '最高分';                                        },                                        textStyle: {                                            color: '#aaa',                                            fontSize: 16                                        }                                    }                                },                                itemStyle: {                                    normal: {                                        color: 'rgba(255,255,255,.2)'                                    },                                    emphasis: {                                        color: '#fff'                                    }                                },                            }]                    }]                };                myChart.setOption(option);                window.addEventListener("resize",function(){                    myChart.resize();                });            }            //最低分            function zd() {                // 基于准备好的dom,初始化echarts实例                var myChart = echarts.init(document.getElementById('zb2'));                var v1=Config.min;                var v2=100;                var v3=v1+v2;                option = {                    //animation: false,                    series: [{                        type: 'pie',                        radius: ['60%', '70%'],                        color:'#49bcf7',                        label: {                            normal: {                                position: 'center'                            }                        },                        data: [{                            value: Config.min,                            name: Config.min,                            label: {                                normal: {                                    // formatter:Math.round( v1/v3*100)+ '%',                                    textStyle: {                                        fontSize: 24,                                        color:'#fff',                                    }                                }                            }                        }, {                            value: v2,                            label: {                                normal: {                                    formatter : function (params){                                        return '最低分';                                    },                                    textStyle: {                                        color: '#aaa',                                        fontSize: 16                                    }                                }                            },                            itemStyle: {                                normal: {                                    color: 'rgba(255,255,255,.2)'                                },                                emphasis: {                                    color: '#fff'                                }                            },                        }]                    }]                };                myChart.setOption(option);                window.addEventListener("resize",function(){                    myChart.resize();                });            }            //平均分            function pjf() {                // 基于准备好的dom,初始化echarts实例                var myChart = echarts.init(document.getElementById('zb3'));                var v1=Config.exam_pjf;                var v2=25;                option = {                    series: [{                        type: 'pie',                        radius: ['60%', '70%'],                        color:'#62c98d',                        label: {                            normal: {                                position: 'center'                            }                        },                        data: [{                            value: Config.exam_pjf,                            name: Config.exam_pjf,                            label: {                                normal: {                                    // formatter:Math.round( v1/v3*100)+ '%',                                    textStyle: {                                        fontSize: 24,                                        color:'#fff',                                    }                                }                            }                        }, {                            value: v2,                            label: {                                normal: {                                    formatter : function (params){                                        return '平均分';                                    },                                    textStyle: {                                        color: '#aaa',                                        fontSize: 16                                    }                                }                            },                            itemStyle: {                                normal: {                                    color: 'rgba(255,255,255,.2)'                                },                                emphasis: {                                    color: '#fff'                                }                            },                        }]                    }]                };                myChart.setOption(option);                window.addEventListener("resize",function(){                    myChart.resize();                });            }            //平均时长            function pjsc() {                // 基于准备好的dom,初始化echarts实例                var myChart = echarts.init(document.getElementById('zb4'));                var v1=Config.exam_pjsc;                var v2=10;                option = {                    series: [{                        type: 'pie',                        radius: ['60%', '70%'],                        color:'#29d08a',                        label: {                            normal: {                                position: 'center'                            }                        },                        data: [{                            value: v1,                            name: Config.exam_pjsc+'分钟',                            label: {                                normal: {                                    // formatter:Math.round( v1/v3*100)+ '%',                                    textStyle: {                                        fontSize: 24,                                        color:'#fff',                                    }                                }                            }                        }, {                            value: v2,                            label: {                                normal: {                                    formatter : function (params){                                        return '平均时长';                                    },                                    textStyle: {                                        color: '#aaa',                                        fontSize: 16                                    }                                }                            },                            itemStyle: {                                normal: {                                    color: 'rgba(255,255,255,.2)'                                },                                emphasis: {                                    color: '#fff'                                }                            },                        }]                    }]                };                myChart.setOption(option);                window.addEventListener("resize",function(){                    myChart.resize();                });            }            //各区队平均分分析            function echarts_41() {                var xaa = [];                for (var i in Config.qudui_list){                    xaa.push(Config.qudui_list[i]['user_depart_name']);                }                var vaa = [];                for (var i in Config.qudui_list){                    vaa.push(Config.qudui_list[i]['user_depart_pjf']);                }                // 基于准备好的dom,初始化echarts实例                var myChart = echarts.init(document.getElementById('echart4'));                option = {                    tooltip: {                        trigger: 'axis',                        axisPointer: {                            type: 'shadow'                        }                    },                    legend: {                        data: ['2025年'],                        align: 'right',                        right: '40%',                        top:'0%',                        textStyle: {                            color: "#fff",                            fontSize: '16',                        },                        itemWidth: 16,                        itemHeight: 16,                        itemGap: 35                    },                    grid: {                        left: '0%',                        top:'40px',                        right: '0%',                        bottom: '2%',                        containLabel: true                    },                    xAxis: [{                        type: 'category',                        data: xaa,                        axisLine: {                            show: true,                            lineStyle: {                                color: "rgba(255,255,255,.1)",                                width: 1,                                type: "solid"                            },                        },                        axisTick: {                            show: false,                        },                        axisLabel:  {                            interval: 0,                            // rotate:50,                            show: true,                            splitNumber: 15,                            textStyle: {                                color: "rgba(255,255,255,.6)",                                fontSize: '16',                            },                        },                    }],                    yAxis: [{                        type: 'value',                        axisLabel: {                            //formatter: '{value} %'                            show:true,                            textStyle: {                                color: "rgba(255,255,255,.6)",                                fontSize: '16',                            },                        },                        axisTick: {                            show: false,                        },                        axisLine: {                            show: true,                            lineStyle: {                                color: "rgba(255,255,255,.1	)",                                width: 1,                                type: "solid"                            },                        },                        splitLine: {                            lineStyle: {                                color: "rgba(255,255,255,.1)",                            }                        }                    }],                    series: [{                        name: Config.qudui_list_year+'年',                        type: 'bar',                        data: vaa,                        barWidth:'15', //柱子宽度                        // barGap: 1, //柱子之间间距                        itemStyle: {                            normal: {                                color:'#2f89cf',                                opacity: 1,                                barBorderRadius: 5,                            }                        }                    },                        //     {                        //     name: '2018年',                        //     type: 'bar',                        // 	data: [1, 4, 5, 11, 12, 9, 5, 6, 5, 6, 3, 9],                        // 	barWidth:'15',                        //    // barGap: 1,                        //     itemStyle: {                        //         normal: {                        //             color:'#62c98d',                        //             opacity: 1,                        // 			barBorderRadius: 5,                        //         }                        //     }                        // },                    ]                };                /* 青岛研锦网络科技有限公司   版权所有*/                // 使用刚指定的配置项和数据显示图表。                myChart.setOption(option);                window.addEventListener("resize",function(){                    myChart.resize();                });            }            //本年度考试成绩平均分统计            function echarts_51() {                var xa1 = [];                for (var i in Config.collection_list){                    xa1.push(Config.collection_list[i]['exam_collection_name']);                }                var va1 = [];                for (var i in Config.collection_list){                    va1.push(Config.collection_list[i]['collection_pjf']);                }                // 基于准备好的dom,初始化echarts实例                var myChart = echarts.init(document.getElementById('echart5'));                option = {                    //  backgroundColor: '#00265f',                    tooltip: {                        trigger: 'axis',                        axisPointer: {                            // type: 'shadow'                        }                    },                    // legend: {                    //     // data: ['2017年', '2018年'],                    //     align: 'right',                    //     right: '40%',                    // 	top:'0%',                    //     // textStyle: {                    //     //     color: "#fff",                    // 	//     fontSize: '16',                    //     //                    //     // },                    //                    //     // itemGap: 35                    // },                    grid: {                        left: '0%',                        top:'40px',                        right: '0%',                        bottom: '2%',                        containLabel: true                    },                    xAxis: [{                        type: 'category',                        data: xa1,                        axisLine: {                            show: true,                            lineStyle: {                                color: "rgba(255,255,255,.1)",                                width: 1,                                type: "solid"                            },                        },                        axisTick: {                            show: false,                        },                        axisLabel:  {                            interval: 0,                            // rotate:50,                            show: true,                            splitNumber: 15,                            textStyle: {                                color: "rgba(255,255,255,.6)",                                fontSize: '16',                            },                        },                    }],                    yAxis: [{                        type: 'value',                        axisLabel: {                            //formatter: '{value} %'                            show:true,                            textStyle: {                                color: "rgba(255,255,255,.6)",                                fontSize: '16',                            },                        },                        axisTick: {                            show: false,                        },                        axisLine: {                            show: true,                            lineStyle: {                                color: "rgba(255,255,255,.1	)",                                width: 1,                                type: "solid"                            },                        },                        splitLine: {                            lineStyle: {                                color: "rgba(255,255,255,.1)",                            }                        }                    }],                    series: [                        //     {                        //     name: '2017年',                        //     type: 'line',                        //                        //     data: [2, 6, 3, 8, 5, 8, 10, 13, 8, 5, 6, 9],                        //                        //     itemStyle: {                        //         normal: {                        //             color:'#2f89cf',                        //             opacity: 1,                        //                        // 			barBorderRadius: 5,                        //         }                        //     }                        // },                        {                            // name: '2018年',                            type: 'line',                            data: va1,                            barWidth:'15',                            // barGap: 1,                            itemStyle: {                                normal: {                                    color:'#62c98d',                                    opacity: 1,                                    barBorderRadius: 5,                                }                            }                        },                    ]                };                // 使用刚指定的配置项和数据显示图表。                myChart.setOption(option);                window.addEventListener("resize",function(){                    myChart.resize();                });            }            //FZD04B型侦毒器维修难点统计            function echarts_11() {                var xa12 = [];                for (var i in Config.one_static){                    xa12.push(Config.one_static[i]['name']);                }                // 基于准备好的dom,初始化echarts实例                var myChart = echarts.init(document.getElementById('echart1'));                option = {                    tooltip : {                        trigger: 'item',                        formatter: "{b} : {c} ({d}%)"                    },                    legend: {                        right:3,                        top:30,                        height:140,                        itemWidth:8,                        itemHeight:10,                        itemGap:10,                        textStyle:{                            color: 'rgba(255,255,255,.6)',                            fontSize:12                        },                        orient:'vertical',                        data:xa12                    },                    calculable : true,                    series : [                        {                            name:' ',                            color: ['#62c98d', '#2f89cf', '#c9c862', '#c98b62', '#c962b9', '#7562c9','#c96262'],                            type:'pie',                            radius : [30, 70],                            center : ['35%', '50%'],                            roseType : 'radius',                            label: {                                normal: {                                    show: true                                },                                emphasis: {                                    show: true                                }                            },                            label:{                                // ✅ 标签换行配置                                formatter: function(params) {                                    console.log(params.data.name)                                    return `${params.data.name.replace(/(.{4})/g, '$1\n')}\n`;                                },                            },                            lableLine: {                                normal: {                                    show: false                                },                                emphasis: {                                    show: true                                }                            },                            data:[                                {value:Config.one_static[0]['error_total'], name:Config.one_static[0]['name']},                                {value:Config.one_static[1]['error_total'], name:Config.one_static[1]['name']},                                {value:Config.one_static[2]['error_total'], name:Config.one_static[2]['name']},                                {value:Config.one_static[3]['error_total'], name:Config.one_static[3]['name']},                                {value:Config.one_static[4]['error_total'], name:Config.one_static[4]['name']},                            ]                        },                    ]                };                // 使用刚指定的配置项和数据显示图表。                myChart.setOption(option);                window.addEventListener("resize",function(){                    myChart.resize();                });            }            // FZB006型毒剂报警器维修难点统计            function echarts_21() {                var xa13 = [];                for (var i in Config.two_static){                    xa13.push(Config.two_static[i]['name']);                }                // 基于准备好的dom,初始化echarts实例                var myChart = echarts.init(document.getElementById('echart2'));                option = {                    tooltip : {                        trigger: 'item',                        formatter: "{b} : {c} ({d}%)"                    },                    legend: {                        right:-10,                        top:50,                        height:140,                        itemWidth:8,                        itemHeight:10,                        itemGap:10,                        textStyle:{                            color: 'rgba(255,255,255,.6)',                            fontSize:12                        },                        orient:'vertical',                        data:xa13,                    },                    calculable : true,                    series : [                        {                            name:' ',                            color: ['#62c98d', '#205acf', '#c9c862', '#c98b62', '#c962b9', '#7562c9','#c96262'],                            type:'pie',                            radius : [30, 70],                            center : ['35%', '50%'],                            roseType : 'radius',                            label: {                                normal: {                                    show: true                                },                                emphasis: {                                    show: true                                },                            },                            label:{                                // ✅ 标签换行配置                                formatter: function(params) {                                    console.log(params.data.name)                                    return `${params.data.name.replace(/(.{4})/g, '$1\n')}\n`;                                },                            },                            lableLine: {                                normal: {                                    show: true                                },                                emphasis: {                                    show: true                                }                            },                            data:[                                {value:Config.two_static[0]['error_total'], name:Config.two_static[0]['name']},                                {value:Config.two_static[1]['error_total'], name:Config.two_static[1]['name']},                                {value:Config.two_static[2]['error_total'], name:Config.two_static[2]['name']},                                {value:Config.two_static[3]['error_total'], name:Config.two_static[3]['name']},                                {value:Config.two_static[4]['error_total'], name:Config.two_static[4]['name']}                            ]                        },                    ]                };                // 使用刚指定的配置项和数据显示图表。                myChart.setOption(option);                window.addEventListener("resize",function(){                    myChart.resize();                });            }            //防化兵用毒剂报警器维修难点统计            function echarts_61() {                var xa16 = [];                for (var i in Config.three_static){                    xa16.push(Config.three_static[i]['name']);                }                // 基于准备好的dom,初始化echarts实例                var myChart = echarts.init(document.getElementById('echart6'));                option = {                    tooltip : {                        trigger: 'item',                        formatter: "{b} : {c} ({d}%)"                    },                    legend: {                        right:-5,                        top:1,                        height:100,                        itemWidth:8,                        itemHeight:8,                        itemGap:10,                        textStyle:{                            color: 'rgba(255,255,255,.6)',                            fontSize:12                        },                        orient:'vertical',                        data:xa16,                        // formatter: function(name) {                        //     const dataItem = option.series[0].data.find(item => item.name === name);                        //     // ✅ 名称每4字符换行 + 显示数值                        //     return `${name.replace(/(.{8})/g, '$1\n')}\n`;                        // },                    },                    calculable : true,                    series : [                        {                            name:' ',                            color: ['#62c98d', '#205acf', '#c9c862', '#c98b62', '#c962b9', '#7562c9','#c96262'],                            type:'pie',                            radius : [30, 70],                            center : ['35%', '50%'],                            roseType : 'radius',                            label: {                                normal: {                                    show: true                                },                                emphasis: {                                    show: true                                }                            },                            label:{                                // ✅ 标签换行配置                                formatter: function(params) {                                    console.log(params.data.name)                                    return `${params.data.name.replace(/(.{4})/g, '$1\n')}\n`;                                },                            },                            lableLine: {                                normal: {                                    show: true                                },                                emphasis: {                                    show: true                                }                            },                            data:[                                {value:Config.three_static[0]['error_total'], name:Config.three_static[0]['name']},                                {value:Config.three_static[1]['error_total'], name:Config.three_static[1]['name']},                                {value:Config.three_static[2]['error_total'], name:Config.three_static[2]['name']},                                {value:Config.three_static[3]['error_total'], name:Config.three_static[3]['name']},                                {value:Config.three_static[4]['error_total'], name:Config.three_static[4]['name']}                            ]                        },                    ]                };                // 使用刚指定的配置项和数据显示图表。                myChart.setOption(option);                window.addEventListener("resize",function(){                    myChart.resize();                });            }            $(document).on("change", ".collections", function(){                console.log($(this).val()+'###')                if($(this).val()){                    window.location.href = '/admin/screen/index?ids='+$(this).val();                }            });            Controller.api.bindevent();        },        api: {            bindevent: function () {                Form.api.bindevent($("form[role=form]"));            },        },    };    return Controller;});
 |