2020-11-11

$(function() {
var res;
$.ajax({
url: “/statistics/getStatisticsData”,
type: “post”,
dataType: “json”,
async:false,
success: function (data) {
res = data
}
});
function apiFn() {
this.hostname = “”
}
apiFn.prototype = {
Init:function() {
this.findCount()
this.otherDataFn()
this.baseInfo()
this.questionFn()
this.publicityFn()
this.threeTasksFn()
this.departmentFn()
// this.guideFn()
// this.policyFn()
this.coverageFn()
this.yearsNumFn()
this.contentFn()
this.publicNumFn()
setInterval(function() {
numInit()
},6000)
},
findCount:function() {

    },
    // 其他数据展示
    otherDataFn:function() {
        var obj = res.data['收入数据公开']
        var expendObj = res.data['支出数据公开']
        var num1 =  obj['今日总收入'] ? parseInt(obj['今日总收入']).toFixed(2) : 0.00
        var num2 =  obj['早餐收入'] ? parseInt(obj['早餐收入']).toFixed(2) : 0.00
        var num3 =  obj['午餐收入'] ? parseInt(obj['午餐收入']).toFixed(2) : 0.00
        var num4 =  obj['晚餐收入'] ? parseInt(obj['晚餐收入']).toFixed(2) : 0.00
        var expend1 =  expendObj['采购总金额'] ? parseInt(expendObj['采购总金额']).toFixed(2) : 0.00
        var expend2 =  expendObj['水果类'] ? parseInt(expendObj['水果类']).toFixed(2) : 0.00
        var expend3 =  expendObj['蔬菜类'] ? parseInt(expendObj['蔬菜类']).toFixed(2) : 0.00
        var expend4 =  expendObj['肉类'] ? parseInt(expendObj['肉类']).toFixed(2) : 0.00
        var expend5 =  expendObj['辅料类'] ? parseInt(expendObj['辅料类']).toFixed(2) : 0.00
        var sum =  res.data['本月总收入金额'] ? parseInt( res.data['本月总收入金额']).toFixed(2) : 0.00
        var expend =  res.data['本月总支出金额'] ? parseInt(res.data['本月总支出金额']).toFixed(2) : 0.00



        var sumMoneny =  parseInt(res.data['2020年度'])
        var date = new Date();
        var year = date.getFullYear() + '年度'

        let names = sumMoneny.toString()
        // if(6 - names.length > 0) {
        //     for(g = 0; g < 6 - names.length; g++) {
        //         $(".main_top_middle_num_list"+(6 - g)).text('0')
        //     }
        // }
        for(var j = 0; j < names.length; j++) {
            $(".main_top_middle_num_list"+(names.length - j)).text(names.substr(j,1))
        }
        // var expend =  res.data['本月总支出金额']
        // console.log('33333',parseInt(res.data['本月总支出金额']).toFixed(2))
        // console.log('4444',res.data['本月总支出金额'])
        $('#year').text(year)
        $(".main_top_left_c_l_n1").addClass("counter-value").text(obj['今日总人数'])
        $(".main_top_left_c_l_n2").addClass("counter-value").text(obj['本单位人数'])
        $(".main_top_left_c_l_n3").addClass("counter-value").text(obj['外来人数'])
        $(".main_top_left_c_l_n4").addClass("counter-value").text(num1)
        $(".main_top_left_c_l_n5").addClass("counter-value").text(num2)
        $(".main_top_left_c_l_n6").addClass("counter-value").text(num3)
        $(".main_top_left_c_l_n7").addClass("counter-value").text(num4)
        $(".daysData").addClass("counter-value").text(expend1)
        $(".weekData").addClass("counter-value").text(expend4)
        $(".monthData").addClass("counter-value").text(expend2)
        $(".someThing").addClass("counter-value").text(expend5)
        $(".policyData").addClass("counter-value").text(expend3)
        $(".main_list_title_num1").addClass("counter-value").text(sum)
        $(".main_list_title_num4").addClass("counter-value").text(expend)
        $(".main_list_title_num2").addClass("counter-value").text(res.data['本月总消费人数'])
        $(".main_list_title_num3").addClass("counter-value").text(res.data['本月外单位人数']['本月外单位人数'])
        $(".main_list_title_num5").addClass("counter-value").text(res.data['本月好评数量']['本月好评数量'])
    },
    // 基础信息
    baseInfo:function() {

        var obj = res.data['菜品评价分析']
        var keys = Object.keys(obj);
        var charts = []
        for (var i = 0; i < keys.length; i++) {
            let data = {
                name: keys[i],
                num: obj[keys[i]]
            }
            charts.push(data)
        }
        var baseChart = echarts.init(document.getElementById('baseId'));
        var color = ['rgba(100,255,249', 'rgba(100,255,249', 'rgba(100,255,249', 'rgba(100,255,249', 'rgba(100,255,249']

        let lineY = []
        for (var i = 0; i < charts.length; i++) {
            var x = i
            if (x > color.length - 1) {
                x = color.length - 1
            }
            var data = {
                name: charts[i].name,
                color: color[x] + ')',
                value: charts[i].num,
                itemStyle: {
                    normal: {
                        show: true,
                        color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
                            offset: 0,
                            color: color[x] + ', 0.3)'
                        }, {
                            offset: 1,
                            color: color[x] + ', 1)'
                        }], false),
                        barBorderRadius: 10
                    },
                    emphasis: {
                        shadowBlur: 15,
                        shadowColor: 'rgba(0, 0, 0, 0.1)'
                    }
                }
            }
            lineY.push(data)
        }
        var option= {
            title: {
                show: false
            },
            grid: {
                // borderWidth: 1,
                top: '10%',
                left: '30%',
                right: '20%',
                bottom: '3%'
            },
            color: color,
            yAxis: [{
                type: 'category',
                inverse: true,
                axisTick: {
                    show: false
                },
                axisLine: {
                    show: false
                },
                axisLabel: {
                    show: false,
                    inside: false
                },
                data: charts.name
            }, {
                type: 'category',
                inverse: true,
                axisLine: {
                    show: false
                },
                axisTick: {
                    show: false
                },
                axisLabel: {
                    show: true,
                    inside: false,
                    textStyle: {
                        color: '#38E1E1',
                        fontSize: '8',
                    },
                    formatter: function (val,index) {
                        return `${charts[index].num}`
                    }
                },
                splitArea: {
                    show: false
                },
                splitLine: {
                    show: false
                },
                data: charts
            }],
            xAxis: {
                // type: 'value',
                axisTick: {
                    show: false
                },
                axisLine: {
                    show: false
                },
                splitLine: {
                    show: false
                },
                axisLabel: {
                    show: false
                }
            },
            series: [{
                name: '',
                type: 'bar',
                zlevel: 2,
                barWidth: '5px',
                data: lineY,
                animationDuration: 1500,
                label: {
                    normal: {
                        color: 'white',
                        show: true,
                        position: [-65, 2],
                        textStyle: {
                            fontSize: 16
                        },
                        formatter: function (a, b) {
                            return a.name
                        }
                    }
                }
            }],
            animationEasing: 'cubicOut'
        }
        baseChart.setOption(option)
        setInterval(function() {
            baseChart.clear()
            baseChart.setOption(option)
        },40000);

    },
    // 问题反馈类型占比
    questionFn:function() {
        var obj = res.data['服务评价分析']
        var keys = Object.keys(obj);
        var numArr = []
        for (var i = 0; i < keys.length; i++) {
            let data = {
                name: keys[i],
                value: obj[keys[i]]
            }
            numArr.push(data)
        }
        console.log('numarr', numArr)
        // var numArr = [
        //     {name: '好评', value: 300},
        //     {name: '中评', value: 500},
        //     {name: '差评', value: 400},
        // ]
        // for(var i = 0; i < data.list.length; i++) {
        //     numArr.push({name: data.list[i].name,value: data.list[i].num})
        // }
        var datas = numArr
        var questionChart = echarts.init(document.getElementById('questionId'));
        var option = {
            title: {
                left: 'center'
            },
            tooltip: {
                trigger: 'item',
                formatter: '{a} <br/>{b} : {c} ({d}%)'
            },
            color:['#2E8CFF', '#FD9133','#37D2D4','#19CA88','#858FF8'],
            legend: {
                itemWidth: 11,// 标志图形的长度
                itemHeight: 11,// 标志图形的宽度
                orient: 'vertical',
                // left: 'right',
                top: '15%',
                x: '50%',
                data: datas,
                textStyle: { //图例文字的样式
                    color: '#fff',
                    fontSize: 16
                },
            },
            series: [
                {
                    name: '服务评价分析',
                    type: 'pie',
                    radius: '75%',
                    center: ['20%', '50%'],
                    animationDuration: 2500,
                    data: datas,
                    label: {
                        normal: {
                            position: 'inner',
                            show : false
                        }
                    }
                }
            ]
        };
        questionChart.setOption(option)
        setInterval(function() {
            questionChart.clear()
            questionChart.setOption(option)
        },8000);
    },
    // 党务公开
    publicityFn:function() {
        var obj = res.data['支出分析']
        var keys = Object.keys(obj);
        var dataArr = []
        for (var i = 0; i < keys.length; i++) {
            let data = {
                name: keys[i],
                value: obj[keys[i]]
            }
            dataArr.push(data)
        }
        // var dataArr = [
        //     {name: '鱼肉类', value: 300},
        //     {name: '蔬菜类', value: 500},
        //     {name: '水果类', value: 400},
        //     {name: '辅料类', value: 350},
        //     {name: '主食类', value: 363},
        //     {name: '其它类', value: 800},
        // ]
        // for(var i = 0; i < res.list.length; i++) {
        //     dataArr.push({name: res.list[i].name, value: res.list[i].num})
        // }
        var publicitChart = echarts.init(document.getElementById('publicityId'));
        var data = dataArr
        var option = {
            color: ['#38EB70', '#F7E16C', '#0EFCFF', '#FD9133', '#4D92F2'],
            tooltip: {
                trigger: 'item',
                formatter: '{a} <br/>{b} : {c} ({d}%)'
            },
            legend: {
                itemWidth: 12,// 标志图形的长度
                itemHeight: 12,// 标志图形的宽度
                orient: 'vertical',
                // left: 'right',
                top: '5%',
                bottom: '50%',
                x: '45%',
                textStyle: {
                    color: '#fff',
                    fontSize: 16,

                },
                data: data,
            },
            series: [
                // 主要展示层的
                {
                    radius: ['70%', '90%'],
                    center: ['25%', '50%'],
                    type: 'pie',
                    label: {
                        normal: {
                            position: 'inner',
                            show : false
                        }
                    },
                    name: "支出分析",
                    data: data,
                },
                // 边框的设置
                {
                    radius: ['50%', '55%'],
                    center: ['25%', '50%'],
                    type: 'pie',
                    label: {
                        normal: {
                            show: false
                        },
                        emphasis: {
                            show: false
                        }
                    },
                    labelLine: {
                        normal: {
                            show: false
                        },
                        emphasis: {
                            show: false
                        }
                    },
                    animation: false,
                    tooltip: {
                        show: false
                    },
                    data: [{
                        value: 1,
                        itemStyle: {
                            color: "rgba(250,250,250,0.3)",
                        },
                    }],
                }
            ]
        };
        publicitChart.setOption(option)
        setInterval(function() {
            publicitChart.clear()
            publicitChart.setOption(option)
        },6000)
    },
    // 三务公开数量
    threeTasksFn:function() {
       
        // for(var i = 1; i < dataArr.length; i++) {
        //     $(".main_top_left_c_l_n"+i).addClass("counter-value").text(dataArr[i].value)
        // }
        var obj = res.data['收入分析']
        var keys = Object.keys(obj);
        var dataArr = []
        for (var i = 0; i < keys.length; i++) {
            let data = {
                name: keys[i],
                value: obj[keys[i]]
            }
            dataArr.push(data)
        }
        //   var dataArr = [
        //       {name: '早餐消息', value: 300},
        //       {name: '中餐消费', value: 500},
        //       {name: '晚餐消费', value: 400},
        //       {name: '电商消费', value: 350},
        //       {name: '商超消费', value: 363},
        //       {name: '其它消费', value: 800},
        //   ]
        var threeTasksChart = echarts.init(document.getElementById('threeTasksId'));
        var data = dataArr
        var option = {
            color: ['#38EB70', '#2E8CFF', '#0EFCFF', '#858FF8', '#FD9133','#F7E270'],
            tooltip : {
                trigger: 'item',
                formatter: "{a} <br/>{b} : {c} ({d}%)"
            },
            legend: {
                itemWidth: 15,// 标志图形的长度
                itemHeight: 15,// 标志图形的宽度
                orient: 'vertical',
                // left: 'right',
                top: '10%',
                bottom: '50%',
                x: '50%',
                textStyle: {
                    color: '#fff',
                    fontSize: 16,

                },
                data: data
            },
            series :
                {
                    name:'收入分析',
                    type:'pie',
                    animationDuration: 1500,
                    radius: ['70%', '90%'],
                    center: ['25%', '50%'],
                    roseType : 'radius',
                    label: {
                        normal: {
                            position: 'inner',
                            show : false
                        }
                    },
                    data:data
                }
        };
        threeTasksChart.setOption(option)
        setInterval(function() {
            threeTasksChart.clear()
            threeTasksChart.setOption(option)
        },4000)
    },
    // 各部门苏木镇嘎查村公开占比
    departmentFn:function() {
        var dataArr = [
            {name: '本月总收入金额', value: 300},
            {name: '本月总消费人数', value: 500},
            {name: '本月外单位人数', value: 400},
            {name: '本月总支出金额', value: 350},
            {name: '本月好评数量', value: 363},
        ]
        // 中间滚动数据展示
        // for(var j = 0; j < dataArr.length; j++) {
        //     $(".main_list_title_num"+(j+1)).addClass("counter-value").text(dataArr[j].value)
        //     $(".main_list_title"+(j+1)).text(dataArr[j].name)
        // }
        var obj = res.data['营养分析']
        var keys = Object.keys(obj);
        var dataArr2 = []
        for (var i = 0; i < keys.length; i++) {
            let data = {
                name: keys[i],
                value: obj[keys[i]]
            }
            dataArr2.push(data)
        }
        //   var dataArr2 = [
        //       {name: '糖类', value: 300},
        //       {name: '蛋白质', value: 500},
        //       {name: '油脂', value: 400},
        //       {name: '无机盐', value: 350},
        //       {name: '维生素及水', value: 363},
        //   ]
        var departmentChart = echarts.init(document.getElementById('departmentId'));
        var data = dataArr2
        var option = {
            color: ['#FD9133', '#47F6A2', '#37D2D4', '#3493FF'],
            tooltip : {
                trigger: 'item',
                formatter: "{a} <br/>{b} : {c} ({d}%)"
            },
            legend: {
                itemWidth: 15,// 标志图形的长度
                itemHeight: 15,// 标志图形的宽度
                orient: 'vertical',
                // left: 'right',
                top: '30%',
                bottom: '50%',
                x: '5%',
                textStyle: {
                    color: '#fff',
                    fontSize: 16,

                },
                data: data,
            },
            series: [
                {
                    name: '营养占比',
                    type: 'pie',
                    radius: ['50%', '70%'],
                    center: ['78%', '52%'],
                    labelLine: {
                        normal: {
                            length: 12,
                            lineStyle: {
                                type: 'solid',
                                color: '#0EFCFF'
                            }
                        }

                    },
                    label: {
                        normal: {
                            formatter: (params)=>{
                                return params.name
                            },
                            borderWidth: 0,
                            borderRadius: 4,
                            padding: [0,0],
                            height: 20,
                            fontSize: 16,
                            align: 'center',
                            color: '#0EFCFF',
                        }
                    },
                    data: data
                },
                {
                    color: '#0EFCFF',
                    type: 'pie',
                    radius: ['55', '56'],
                    center: ['78%', '52%'],
                    data: [100],
                    label: {
                        show: false
                    }
                },
                {
                    type: 'pie',
                    radius: ['25', '26'],
                    center: ['78%', '52%'],
                    data: [100],
                    label: {
                        show: false
                    }
                }
            ]
        };
        departmentChart.setOption(option)
        setInterval(function() {
            departmentChart.clear()
            departmentChart.setOption(option)
        },12000)
    },
    // 办事指南
    // guideFn:function() {
    //     $(".main_bottom_t_l_main").jCarouselLite({
    //         vertical: true,
    //         hoverPause:true,
    //         visible: 4,
    //         auto: 1000,
    //         speed: 500
    //     });
    // },
    // 政策解读
    // policyFn:function() {
    //     $(".main_bottom_t_l_main2").jCarouselLite({
    //         vertical: true,
    //         hoverPause:true,
    //         visible: 4,
    //         auto: 1000,
    //         speed: 500
    //     });
    // },
    // 主要关注内容区域占比
    coverageFn:function() {
        // var resArr = [
        //     {name: '江苏省', value: 300},
        //     {name: '河北省', value: 500},
        //     {name: '江西省', value: 400},
        //     {name: '安徽省', value: 350},
        //     {name: '湖南省', value: 363},
        //     {name: '浙江省', value: 800},
        // ]
        var obj = res.data['食品溯源']
        var keys = Object.keys(obj);
        var resArr = []
        var maxArr = []
        for (var i = 0; i < keys.length; i++) {
            let data = {
                name: keys[i],
                value: obj[keys[i]]
            }
            let num = obj[keys[i]]
            resArr.push(data)
            maxArr.push(num)
        }
        var indicatorArr = []
        var numArr = []
        var max = maxArr.reduce(function(a , b){
            return b > a ? b : a;
        })
        // var  max = parseInt(max) + 200
        // console.log('max',max + 200)
        var  max = ceilNumber(parseInt(max))
        function ceilNumber(number){
            var bite = 0;
            if(number < 10){
                return 10;
            }
            while( number >= 10 ){
            number /= 10;
            bite += 1;
            }
            return Math.ceil(number) * Math.pow(10,bite);
        }
        for(var i = 0; i < resArr.length; i++) {
            indicatorArr.push({name: resArr[i].name,max })
            numArr.push(resArr[i].value)
        }
        var data = [
            {
                value: numArr,
            }
        ]
        var coverageChart = echarts.init(document.getElementById('coverageId'));
        var option = {
            legend: {
                show: true,
                icon: "circle",
                bottom: 30,
                center: 0,
                itemWidth: 14,
                itemHeight: 14,
                itemGap: 21,
                orient: "horizontal",
                data: ['a', 'b'],
                textStyle: {
                    fontSize: '70%',
                    color: '#0EFCFF'
                },
            },

            radar: {
                // shape: 'circle',
                radius: '70%',
                triggerEvent: true,
                // type: 'default',
                name: {
                    textStyle: {
                        color: '#39DCF4',
                        fontSize: '10',
                        // borderRadius: 3,
                        padding: [10, 10]
                    }
                },
                nameGap: '2',
                indicator: indicatorArr,
                splitArea: {
                    areaStyle: {
                        color: 'rgba(255,255,255,0)'
                    }
                },
                axisLine: { //指向外圈文本的分隔线样式
                    lineStyle: {
                        color: 'rgba(255,255,255,.2)'
                    }
                },
                splitLine: {
                    lineStyle: {
                        width: 1,
                        color: 'rgba(255,255,255,.2)'
                    }
                },

            },
            series: [{
                name: 'X区域占比',
                type: 'radar',
                animationDuration: 2000,
                areaStyle: {
                    normal: {
                        color: {
                            type: 'linear',
                            opacity: 1,
                            x: 0,
                            y: 0,
                            x2: 0,
                            y2: 1,
                            color: '#2EEFAD'
                        }
                    }
                },
                symbolSize: 0,
                lineStyle: {
                    normal: {
                        // color: 'rgba(252,211,3, 1)',
                        width: 0
                    }
                },
                data: data
            }]
        };
        coverageChart.setOption(option)
        setInterval(function() {
            coverageChart.clear()
            coverageChart.setOption(option)
        },10000)
    },
    // 本年公开数量
    yearsNumFn:function() {
        var resArr = [
            {name: '总站机关', value: 80},
            {name: '台州站', value: 60},
            {name: '北仑站', value: 70},
            {name: '宁波站', value: 90},
        ]
        var nameArr = []
        var caiArr = []
        var cunArr = []
        var danArr = []
        var junArr = []
        var zhenArr = []
        for(var i = 0; i < resArr.length; i++) {
            nameArr.push(resArr[i].name)
            caiArr.push(resArr[i].value)
            cunArr.push(resArr[i].value)
            danArr.push(resArr[i].value)
            junArr.push(resArr[i].value)
            zhenArr.push(resArr[i].value)
        }

        var obj = res.data['各单位收支情况汇总']
        var keys = Object.keys(obj);
        var nameArr = []
        var caiArr = []
        var cunArr = []
        var _in = []
        var _out = []
        for (var i = 0; i < keys.length; i++) {
            nameArr.push( keys[i])
        }
        for (var i in obj) {

            var  str = parseInt(obj[i]['收入']) +  parseInt(obj[i]['支出'])
            var v1=parseInt(parseInt(obj[i]['收入'])/str*100);
            var v2=100-v1;
            _in.push(v1);
            _out.push(v2)
            caiArr.push(parseInt(obj[i]['收入']) );
            cunArr.push(parseInt(obj[i]['支出']) );

        }
        console.log(_in )

        var yearsNumChart = echarts.init(document.getElementById('yearsNumId'));
        var spNum = 5,_max=100;
        var y_data = nameArr.reverse();
        var _datamax = [100,100,100,100,100,100,100,100,100,100,100,100],
            _data1 = caiArr.reverse(),
            _data2 = cunArr.reverse(),
            _data3 = danArr.reverse();
        var maxObj={};
        for(var k in _data1){
            maxObj[y_data[k]]=[eval(_data1[k]),eval(_data2[k])];
        }
        _data4 = junArr.reverse();
        _data5 = zhenArr.reverse();
        var fomatter_fn = function(v) {
            return v.value
        }
        var _label = {
            normal: {
                show: true,
                position: 'inside',
                formatter: fomatter_fn,
                textStyle: {
                    color: '#fff',
                    fontSize: 16
                }
            }
        };
        var option = {
            grid: {
                containLabel: true,
                left: 0,
                top: 0,
                right: 0,
                bottom: 0
            },
            tooltip: {
                show: true,
                backgroundColor: '#fff',
                borderColor: '#ddd',
                borderWidth: 1,
                textStyle: {
                    color: '#3c3c3c',
                    fontSize: 16
                },
                formatter:function(v){
                    var i=0;
                    if(v.seriesName=="收入") i=1;
                    return v.marker+v.name+"<br/>"+v.seriesName+":"+maxObj[v.name][i];
                },
                extraCssText: 'box-shadow: 0 0 5px rgba(0, 0, 0, 0.1)'
            },
            xAxis: {
                splitNumber: 1,
                interval: 100000,
                max: function(v){
                    // console.log("----------max---------------------");
                    // console.log(v);
                    return v.max;
                },
                axisLabel: {
                    show: false,
                    formatter: function(v) {

                        var _v = (v / _max * 100).toFixed(0);
                        return _v == 0 ? _v : _v + '%';
                    }
                },
                axisLine: {
                    show: false
                },
                axisTick: {
                    show: false
                },
                splitLine: {
                    show: false
                }

            },
            yAxis: [{
                data: y_data,
                axisLabel: {
                    fontSize: 16,
                    color: 'rgba(255,255,255,.7)'

                },
                axisLine: {
                    show: false
                },
                axisTick: {
                    show: false
                },
                splitLine: {
                    show: false
                }
            }, {
                show: false,
                data: y_data,
                axisLine: {
                    show: false
                }
            }],
            series: [{
                type: 'bar',
                name: '收入',
                stack: '2',
                label: _label,
                legendHoverLink: false,
                barWidth: 7,
                itemStyle: {
                    normal: {
                        color: '#FD9133'
                    },
                    emphasis: {
                        color: '#FD9133'
                    }
                },
                data: _in
            }, {
                type: 'bar',
                name: '支出',
                stack: '2',
                legendHoverLink: false,
                barWidth: 20,
                label: _label,
                itemStyle: {
                    normal: {
                        color: '#2E8CFF'
                    },
                    emphasis: {
                        color: '#2E8CFF'
                    }
                },
                data: _out
            }]
        };
        yearsNumChart.setOption(option)
        setInterval(function() {
            yearsNumChart.clear()
            yearsNumChart.setOption(option)
        },120000)

    },
    // 关注内容区域占比
    contentFn:function() {
        var resArr = [
            {name: '总站机关', value: 30},
            {name: '台州站', value: 50},
            {name: '北仑站', value: 33},
            {name: '宁波站', value: 80},
        ]
        var nameArr = []
        var caiArr = []
        var cunArr = []
        var danArr = []
        var junArr = []
        var zhenArr = []
        // for(var i = 0; i < resArr.length; i++) {
        //     // nameArr.push(resArr[i].name)
        //     caiArr.push(resArr[i].value)
        //     cunArr.push(resArr[i].value)
        //     danArr.push(resArr[i].value)
        //     junArr.push(resArr[i].value)
        //     zhenArr.push(resArr[i].value)
        // }
        var obj = res.data['收入金额年报表']
        var keys = Object.keys(obj);
        // var dataArr2 = []
        console.log('obj',obj)
        for ( var i in obj) {
            console.log('1111111',obj[i]);
            var successArr=[0,0,0,0];
            // nameArr.push(obj[i])
            for (var j in obj[i]) {
                if(j == '早餐') {
                    caiArr.push(obj[i][j]);
                    successArr[0]=1;
                }
                if(j == '商超') {
                    zhenArr.push(obj[i][j])
                    successArr[1]=1;
                }
                if (j == '中餐') {
                    cunArr.push(obj[i][j])
                    successArr[2]=1;
                }
                if(j == '晚餐') {
                    danArr.push(obj[i][j])
                    successArr[3]=1;
                }
            }
            if(!successArr[0]){
                caiArr.push(0);
            }
            if(!successArr[1]){
                zhenArr.push(0)
            }
            if(!successArr[2]){
                cunArr.push(0)
            }
            if(!successArr[3]){
                danArr.push(0)
            }
        }
        for (var i = 0; i < keys.length; i++) {
            nameArr.push( keys[i])
        }
        console.log('name',nameArr)
        var contentChart = echarts.init(document.getElementById('contentId'));
        var option = {
            tooltip: {
                trigger: 'axis'
            },
            legend: {
                x: '35%',
                y: '0%',
                data: ["早餐","午餐","晚餐","商超"],
                textStyle: {
                    color: "#fff",
                    fontSize: 16
                },
                itemWidth: 10,
                itemHeight: 10,
            },
            calculable: true,
            xAxis: [
                {
                    type: 'category',
                    data: nameArr,
                    axisLabel: {
                        interval: 0,
                        textStyle: {
                            fontSize: 16,
                            color: 'rgba(255,255,255,.7)',
                        }
                    },
                    "axisTick": {       //y轴刻度线
                        "show": false
                    },
                    "axisLine": {       //y轴
                        "show": false,
                    },
                }
            ],
            yAxis: [
                {
                    type: 'value',
                    scale: true,
                    name: '单位:%',
                    nameTextStyle: {
                        color: 'rgba(255,255,255,.7)',
                        fontSize: 16
                    },
                    max: 100,
                    min: 0,
                    boundaryGap: [0.2, 0.2],
                    "axisTick": {       //y轴刻度线
                        "show": false
                    },
                    "axisLine": {       //y轴
                        "show": false,
                    },
                    axisLabel: {
                        textStyle: {
                            color: 'rgba(255,255,255,.8)',
                            fontSize: 16
                            // opacity: 0.1,
                        }
                    },
                    splitLine: {  //决定是否显示坐标中网格
                        show: true,
                        lineStyle: {
                            color: ['#fff'],
                            opacity: 0.2
                        }
                    },
                },
                {
                    type: 'value',
                    scale: true,
                    show: false,
                    // name: "销量额(万元)",
                    nameTextStyle: {
                        color: 'rgba(255,255,255,.2)',
                    },
                    max: 1,
                    min: 0,
                    boundaryGap: [0.2, 0.2],
                    "axisTick": {       //y轴刻度线
                        "show": false
                    },
                    "axisLine": {       //y轴
                        "show": false,
                    },
                    axisLabel: {
                        textStyle: {
                            color: 'rgba(255,255,255,.2)',
                            // opacity: 0.1,
                        }
                    },
                    splitLine: {  //决定是否显示坐标中网格
                        show: true,
                        lineStyle: {
                            color: ['#fff'],
                            opacity: 0.2
                        }
                    },

                }
            ],
            color: ['#0EFCFF', '#F7E16C','#9BCA63','#B5C334'],
            grid: {
                left: '5%',
                right: '1%',
                top: '25%',
                bottom: '15%'
                // containLabel: true
            },
            series: [
                {
                    barWidth: '10%',
                    name: '早餐',
                    type: 'bar',
                    data: caiArr,
                },
                {
                    animationDuration: 2500,
                    barWidth: '20%',
                    name: '午餐',
                    type: 'bar',
                    data: cunArr,
                },
                {
                    animationDuration: 2500,
                    barWidth: '20%',
                    name: '晚餐',
                    type: 'bar',
                    data: danArr,
                },
                // {
                //     animationDuration: 2500,
                //     barWidth: '20%',
                //     name: '电商',
                //     type: 'bar',
                //     data: junArr,
                // },
                {
                    animationDuration: 2500,
                    barWidth: '20%',
                    name: '商超',
                    type: 'bar',
                    data: zhenArr,
                }
            ]
        };
        contentChart.setOption(option)
        setInterval(function() {
            contentChart.clear()
            contentChart.setOption(option)
        },90000)
    },
    // 巡察
    publicNumFn:function() {
        var resArr = [
            {name: '总站机关', value: 300},
            {name: '台州站', value: 500},
            {name: '北仑站', value: 400},
            {name: '宁波站', value: 350},
        ]
        var xunArr = []
        var jingArr = []
        var dateArr = []
        for(var i = 0; i < resArr.length; i++) {
            xunArr.push(resArr[i].value)
            jingArr.push(resArr[i].value)
            // dateArr.push(resArr[i].name)
        }
        console.log('aaa',dateArr)
        var obj = res.data['支出金额年报表']
        console.log('55555', obj['主食类'])
        // var obj = res.data['收入金额年报表']
        var keys = Object.keys(obj['主食类']);
        var xunArr = []
        var scArr = []
        var sgArr = []
        var flArr = []
        var zsArr = []
        var dateArr = []
        // var keys1 = Object.keys(obj['鱼肉类']);
        // var keys2 = Object.keys(obj['蔬菜类']);
        // var keys3 = Object.keys(obj['水果类']);
        // var keys4 = Object.keys(obj['辅料类']);
        for (var i = 0; i < keys.length; i++) {
            dateArr.push( keys[i])
            // zsArr.push()
        }
        for ( i in obj['主食类'] ) {
            zsArr.push(obj['主食类'][i])
        }
        for ( i in obj['鱼肉类'] ) {
            xunArr.push(obj['鱼肉类'][i])
        }
        for ( i in obj['蔬菜类'] ) {
            scArr.push(obj['蔬菜类'][i])
        }
        for ( i in obj['水果类'] ) {
            sgArr.push(obj['水果类'][i])
        }
        for ( i in obj['辅料类'] ) {
            flArr.push(obj['辅料类'][i])
        }
        console.log('aaaaaa', dateArr)
        var publicNumChart = echarts.init(document.getElementById('publicNumId'));
        var option = {
            tooltip: {
                trigger: 'axis'
            },
            legend: {
                x: '35%',
                y: '0%',
                data: ['鱼肉类', '蔬菜类', '水果类', '辅料类', '主食类'],
                textStyle: {
                    color: "#fff",
                    fontSize: 16
                },
                itemWidth: 10,
                itemHeight: 10,
            },
            calculable: true,
            xAxis: [
                {
                    type: 'category',
                    data: dateArr,
                    axisLabel: {
                        interval: 0,
                        textStyle: {
                            fontSize: 16,
                            color: 'rgba(255,255,255,.7)',
                        }
                    },
                    "axisTick": {       //y轴刻度线
                        "show": false
                    },
                    "axisLine": {       //y轴
                        "show": false,
                    },
                }
            ],
            yAxis: [
                {
                    type: 'value',
                    scale: true,
                    name: '单位:%',
                    nameTextStyle: {
                        color: 'rgba(255,255,255,.7)',
                        fontSize: 16
                    },
                    max: 1000,
                    min: 0,
                    boundaryGap: [0.2, 0.2],
                    "axisTick": {       //y轴刻度线
                        "show": false
                    },
                    "axisLine": {       //y轴
                        "show": false,
                    },
                    axisLabel: {
                        textStyle: {
                            color: 'rgba(255,255,255,.8)',
                            fontSize: 16
                            // opacity: 0.1,
                        }
                    },
                    splitLine: {  //决定是否显示坐标中网格
                        show: true,
                        lineStyle: {
                            color: ['#fff'],
                            opacity: 0.2
                        }
                    },
                },
                {
                    type: 'value',
                    scale: true,
                    show: false,
                    // name: "销量额(万元)",
                    nameTextStyle: {
                        color: 'rgba(255,255,255,.2)',
                    },
                    max: 1,
                    min: 0,
                    boundaryGap: [0.2, 0.2],
                    "axisTick": {       //y轴刻度线
                        "show": false
                    },
                    "axisLine": {       //y轴
                        "show": false,
                    },
                    axisLabel: {
                        textStyle: {
                            color: 'rgba(255,255,255,.2)',
                            // opacity: 0.1,
                        }
                    },
                    splitLine: {  //决定是否显示坐标中网格
                        show: true,
                        lineStyle: {
                            color: ['#fff'],
                            opacity: 0.2
                        }
                    },

                }
            ],
            color: ['#2E8CFF', '#38EB70'],
            grid: {
                left: '5%',
                right: '1%',
                top: '25%',
                bottom: '15%'
                // containLabel: true
            },
            series: [
                {
                    animationDuration: 2500,
                    barWidth: '20%',
                    name: '鱼肉类',
                    type: 'bar',
                    data: xunArr,
                },
                {
                    barWidth: '20%',
                    name: '蔬菜类',
                    type: 'bar',
                    data: scArr,
                },
                {
                    animationDuration: 2500,
                    barWidth: '20%',
                    name: '水果类',
                    type: 'bar',
                    data: sgArr,
                },
                {
                    barWidth: '20%',
                    name: '辅料类',
                    type: 'bar',
                    data: flArr,
                },
                {
                    barWidth: '20%',
                    name: '主食类',
                    type: 'bar',
                    data: zsArr,
                }
            ],
            animationEasing: 'cubicOut'
        };
        publicNumChart.setOption(option)
        setInterval(function() {
            publicNumChart.clear()
            publicNumChart.setOption(option)
        },60000)

    }

}
var start = new apiFn()
start.Init()

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值