import {setOptions} from "@/echarts/echarts";
import * as echarts from 'echarts';
export function setEcharts(ele,option){
    setOptions(ele,option)
}
export function setLabelStaTopEcharts(ele,tempdate,ywsl,sptzjtg,zjbtg_s,wzjs_s) {
    let  option = {
        backgroundColor: '#fff',
        color: ['#36639c', '#75a6e8', '#FF0000', '#12b5b0'],
        barWidth: 14,
        title: {
            text: '概览统计图',
            //subtext: '（数据统计范围：截止日期前14天）'
        },
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'shadow'
            }
        },
        legend: {
            x: 'right', //可设定图例在左、右、居中
            icon: 'rect',
            left:'center',
            bottom:'10',
            textStyle: { //图例文字的样式
                color: '#8C8C8C',
                fontSize: 12
            },
            data: ['业务数量','市质检通过','市质检不通过','市未质检']
            //data: ['业务数量', '委平台质检通过','市信用质检通过','委平台质检不通过','市平台质检不通过','市平台未质检数']
        },
        grid: {
            left: '3%',
            right: '4%',
            bottom: '40',
            containLabel: true
        },
        xAxis: {
            type: 'category',
            splitLine: {
                show: false // 去除网格线
            },
            axisLine: {
                lineStyle: {
                    type: 'solid',
                    color: '#BFBFBF', // 坐标线的颜色
                    width: '1'
                }
            },
            axisLabel: {
                textStyle: {
                    color: '#595959' //坐标值的颜色
                },
                formatter: function (params) {
                    var newParamsName = ''
                    var paramsNameNumber = params.length //总字数
                    var provideNumber = 5 //一行显示几个字
                    var rowNumber = Math.ceil(paramsNameNumber / provideNumber)
                    if (paramsNameNumber > provideNumber) {
                        for (var p = 0; p < rowNumber; p++) {
                            var tempStr = ''
                            var start = p * provideNumber
                            var end = start + provideNumber
                            if (p == rowNumber - 1) {
                                tempStr = params.substring(start, paramsNameNumber)
                            } else {
                                tempStr = params.substring(start, end) + '\n'
                            }
                            newParamsName += tempStr
                        }
                    } else {
                        newParamsName = params
                    }
                    return newParamsName
                }
            },
            boundaryGap: [0, 0.01],
            data: tempdate
        },
        yAxis: {
            type: 'value',
            splitLine: {
                // show: false // 去除网格线
                lineStyle: {
                    color: '#E8E8E8',
                    type: 'dashed' //设置间隔线为虚线
                }
            },
            axisTick: {
                show: false //小横线
            },
            splitArea: {
                // show: true // 保留网格区域
            },
            axisLine: {
                show: false, // 去除纵向边框线
                lineStyle: {
                    type: 'solid',
                    color: '#BFBFBF', // 坐标线的颜色
                    width: '1'
                }
            },
            axisLabel: {
                textStyle: {
                    color: '#595959' //坐标值的颜色
                }
            }
        },
        series: [
            {
                name: '业务数量',
                type: 'bar',
                label: {
                    show: false,
                    position: 'right', // 位置
                    color: '#298DFF',
                    fontSize: 12,
                    fontWeight: 'normal', // 加粗
                    distance: 5, // 距离
                    offset: [0, 1] // 偏移距离[横向，纵向]
                }, // 柱子上方的数值
                data: ywsl
            },
            // {
            //     name: '委平台质检通过',
            //     type: 'bar',
            //     label: {
            //         show: false,
            //         position: 'right', // 位置
            //         color: '#33CA66',
            //         fontSize: 12,
            //         fontWeight: 'normal', // 加粗
            //         distance: 5, // 距离
            //         offset: [0, 2] // 偏移距离[横向，纵向]
            //     }, // 柱子右方的数值
            //     data: wptzjtg
            // },
            {
                name: '市质检通过',
                type: 'bar',
                label: {
                    show: false,
                    position: 'right', // 位置
                    color: '#33CA66',
                    fontSize: 12,
                    fontWeight: 'normal', // 加粗
                    distance: 5, // 距离
                    offset: [0, 2] // 偏移距离[横向，纵向]
                }, // 柱子右方的数值
                data: sptzjtg
            },
            // {
            //     name: '委平台质检不通过',
            //     type: 'bar',
            //     label: {
            //         show: false,
            //         position: 'right', // 位置
            //         color: '#33CA66',
            //         fontSize: 12,
            //         fontWeight: 'normal', // 加粗
            //         distance: 5, // 距离
            //         offset: [0, 2] // 偏移距离[横向，纵向]
            //     }, // 柱子右方的数值
            //     data: zjbtg_w
            // },
            {
                name: '市质检不通过',
                type: 'bar',
                label: {
                    show: false,
                    position: 'right', // 位置
                    color: '#33CA66',
                    fontSize: 12,
                    fontWeight: 'normal', // 加粗
                    distance: 5, // 距离
                    offset: [0, 2] // 偏移距离[横向，纵向]
                }, // 柱子右方的数值
                data: zjbtg_s
            }
            ,
            {
                name: '市未质检',
                type: 'bar',
                label: {
                    show: false,
                    position: 'right', // 位置
                    color: '#33CA66',
                    fontSize: 12,
                    fontWeight: 'normal', // 加粗
                    distance: 5, // 距离
                    offset: [0, 2] // 偏移距离[横向，纵向]
                }, // 柱子右方的数值
                data: wzjs_s
            }

        ]
    };
    setOptions(ele,option)
}

export function setLabelStaBottomEcharts(ele,map) {
    let  option = {
        title: {
            text: '数据延迟图',
            //subtext: '（数据统计范围：截止日期前14天）'
        },
        legend: [{
            show: true,
            data: ['归集委平台最大延迟'],
            textStyle: {
                fontFamily: 'Open Sans',
                color: '#33363b',
                fontSize: 13,
            },
            orient: 'horizontal',
            right: '34%',
            bottom: '1%',
            icon: "rect",
            padding: [5, 10]
            //itemWidth: 8,
            //itemHeight: 8,
        }, {
            show: true,
            data: ['归集委平台最小延迟'],
            textStyle: {
                fontFamily: 'Open Sans',
                color: '#33363b',
                fontSize: 13,
            },
            orient: 'horizontal',
            left: '34%',
            bottom: '1%',
            icon: "rect",
            padding: [5, 10]
            //itemWidth: 8,
            //itemHeight: 8,
        }],
        grid: {
            left: '3%',
            right: '4%',
            bottom: '40',
            containLabel: true
        },
        tooltip: {
            trigger: 'axis',
        },
        xAxis: {
            type: 'category',
            data: map["tempdate"],
            axisLine: {
                show: true,
                lineStyle: {
                    color: "#e8e8e8",
                    width: 1,
                    type: "dashed"
                },
            },
            axisLabel: {
                textStyle: {
                    fontFamily: 'Microsoft YaHei',
                    color: '#33363b', //X轴标注文字的颜色,
                    fontSize: 13, //X轴标注文字的大小
                },
            },
            axisTick: {
                show: false,
                alignWithLabel: true
            },
        },
        yAxis: {
            type: 'value',
            axisTick: {
                show: false,
            },
            axisLine: {
                show: false,
            },
            axisLabel: {
                textStyle: {
                    fontFamily: 'Open Sans',
                    color: '#868d9b', //X轴标注文字的颜色,
                    fontSize: 14, //X轴标注文字的大小
                },
            },
            splitLine: {
                show: true,
                lineStyle: {
                    color: "#e8e8e8",
                    width: 1,
                    type: "dashed",
                },
            },
        },
        series: [{
            name: '归集委平台最小延迟',
            type: 'line',
            smooth: true,
            symbol: 'circle',
            symbolSize: 8,
            itemStyle: {
                normal: {
                    color: '#1699c2',
                }
            },
            data: map["minYC"]
        },
            {
                name: '归集委平台最大延迟',
                type: 'line',
                smooth: true,
                symbol: 'circle',
                symbolSize: 8,
                itemStyle: {
                    normal: {
                        color: '#ecab3e',
                    }
                },
                data: map["maxYC"]
            },
        ]
    };
    setOptions(ele,option)
}

export function departmentDataImputationEcharts(ele,dataTitle,dataLeft_binN,dataRight_binN) {
    debugger
    let  option = {
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'shadow'
            }
        },
        legend: {
            top: '5%',
            bottom: '5%',
            x: 'right',
            data: ['法人', '自然人']
        },
        grid: {
            left: '0px',
            right: '4%',
            bottom: '4%',
            containLabel: true,
            top: '15%'
        },

        xAxis: {
             type: 'log',
             min: 1,
            axisLabel: {
                formatter: '{value}'
            }

        },
        yAxis: {
            axisLabel: {
                interval: 0
            },
            data: dataTitle

        },
        series: [{
            name: '法人',
            type: 'bar',
            data: dataLeft_binN,
            label: {
                title: {
                    text: '案例数量查询统计',
                },
            },
        },
            {
                name: '自然人',
                type: 'bar',
                data: dataRight_binN,
                label: {
                    title: {
                        text: '案例数量查询统计',
                    },
                },
            }]
    };
    setOptions(ele,option)
}


export function dataPushSituationMonthlyEcharts(ele,tempTest) {
    debugger
    let  option = {
        tooltip: {
            trigger: 'axis'
        },
        legend: [
            {
                data: ['直接访问']
            },
            {
                top: '30',
                data: ['市信用信息中心'],
            }
        ],
        toolbox: {

        },
        calculable: true,
        xAxis: [
            {
                type: 'category',
                data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
            }
        ],
        yAxis: [
            {
                type: 'value'
            }
        ],
        series: tempTest
    };
    setOptions(ele,option)
}


export function matterApplySituationStaticsLeftEcharts(ele,firstData) {
    debugger
    let  option = {
        title: {
            text: '事项应用情况统计',
        },
        tooltip: {
            trigger: 'item',
            formatter: "{a} <br/>{b}: {c} ({d}%)"
        },
        legend: {
            orient: 'vertical',
            x: 'left',
            top: '20%',
            left: '10%',
            data: ['在沪建筑业企业信用评价', '三类人员资格审查']
        },
        //toolbox: {
        //    show: true,
        //    feature: {
        //        saveAsImage: {}
        //    }
        //},
        series: [{
            name: '部门名称',
            type: 'pie',
            radius: ['30%', '50%'],
            center: ['70%', '50%'],
            avoidLabelOverlap: false,
            label: {
                normal: {
                    show: false,
                    position: 'center'
                },
                emphasis: {
                    show: true,
                    textStyle: {
                        fontSize: '20',
                        fontWeight: 'bold'
                    }
                }
            },
            labelLine: {
                normal: {
                    show: false
                }
            },
            data: firstData
        }]
    };
    setOptions(ele,option)
}


export function matterApplySituationStaticsRightEcharts(ele,secondData) {
    debugger
    let  option = {
        title: {
            text: '业务数据应用类别统计'
        },
        tooltip: {
            trigger: 'item',
            formatter: "{a} <br/>{b}: {c} ({d}%)"
        },
        legend: {
            orient: 'vertical',
            x: 'left',
            top: '20%',
            left: '10%',
            data: ['数据查询', '接口调用', '数据下载']
        },
        series: [{
            name: '调用类型',
            type: 'pie',
            radius: ['30%', '50%'],
            //设置左右间距
            center: ['70%', '50%'],
            avoidLabelOverlap: false,
            label: {
                normal: {
                    show: false,
                    position: 'center'
                },
                emphasis: {
                    show: true,
                    textStyle: {
                        fontSize: '20',
                        fontWeight: 'bold'
                    }
                }
            },
            labelLine: {
                normal: {
                    show: false
                }
            },
            data: secondData
        }]
    };
    setOptions(ele,option)
}


export function dataApplyGeneralSituationEcharts(ele,lastData) {
    debugger
    let  option = {
        //title: {
        //    text: '按年应用总体情况',
        //},
        tooltip: {
            trigger: 'axis'
        },
        legend: [
            {
                data: ['直接访问']
            },
            {
                top: '1%',
                left: '25%',
                buttom: '10%',
                data: ['在沪建筑业企业信用评价', '三类人员资格审查'],
            }
        ],
        toolbox: {
        },
        calculable: true,
        xAxis: [
            {
                type: 'category',
                data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
            }
        ],
        yAxis: [
            {
                type: 'value'
            }
        ],
        series: lastData
    };
    setOptions(ele,option)
}

export function housingAndConstructionAreaStaticsEcharts(ele,dataTitle,dataLeft_bin,dataMiddle_bin,dataRight_bin) {
    let  option = {
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'shadow'
            }
        },
        legend: {
            top: '5%',
            right:'5%',
            buttom: '5%',
            data: ['限制惩戒(次数)', '限制惩戒对象(个数)', '比对次数(次数)']
        },
        grid: {
            left: '4%',
            right: '4%',
            bottom: '4%',
            containLabel: true,
            top: '15%'
        },
        toolbox: {
            show: false,
            feature: {
                saveAsImage: {}
            }
        },
        xAxis: {
            type: 'log',
            min: 1,
            axisLabel: {
                formatter: '{value}'
            }
        },
        yAxis: {
            axisLabel:{
                interval: 0,//标签设置为全部显示
                formatter:function(params){
                    var newParamsName = "";// 最终拼接成的字符串
                    var paramsNameNumber = params.length;// 实际标签的字数
                    var provideNumber = 6;// 每行能显示的字的个数
                    var rowNumber = Math.ceil(paramsNameNumber / provideNumber);// 换行的话，需要显示几行，向上取整
                    /**
                     * 判断标签的个数是否大于规定的个数， 如果大于，则进行换行处理 如果不大于，即等于或小于，就返回原标签
                     */
                    // 条件等同于rowNumber>1
                    if (paramsNameNumber > provideNumber) {
                        /** 循环每一行,p表示行 */
                        for (var p = 0; p < rowNumber; p++) {
                            var tempStr = "";// 表示每一次截取的字符串
                            var start = p * provideNumber;// 开始截取的位置
                            var end = start + provideNumber;// 结束截取的位置
                            // 此处特殊处理最后一行的索引值
                            if (p == rowNumber - 1) {
                                // 最后一次不换行
                                tempStr = params.substring(start, paramsNameNumber);
                            } else {
                                // 每一次拼接字符串并换行
                                tempStr = params.substring(start, end) + "\n";
                            }
                            newParamsName += tempStr;// 最终拼成的字符串
                        }

                    } else {
                        // 将旧标签的值赋给新标签
                        newParamsName = params;
                    }
                    //将最终的字符串返回
                    return newParamsName

                }
            },
            data: dataTitle
        },
        series: [
            {
                name: '限制惩戒对象(个数)',
                type: 'bar',
                label: {
                    title: {
                        text: '案例数量查询统计',
                    },
                    normal: {
                        show: true,
                        textBorderColor: '#333',
                        textBorderWidth: 2
                    }
                },
                data: dataMiddle_bin
            },
            {
                name: '限制惩戒(次数)',
                type: 'bar',
                data: dataRight_bin,
                label: {
                    title: {
                        text: '案例数量查询统计',
                    },
                    normal: {
                        show: true,
                        textBorderColor: '#333',
                        textBorderWidth: 2
                    }
                },

            },
            {
                name: '比对次数(次数)',
                type: 'bar',
                label: {
                    title: {
                        text: '案例数量查询统计',
                    },
                    normal: {
                        show: true,
                        textBorderColor: '#333',
                        textBorderWidth: 2
                    }
                },
                data: dataLeft_bin
            }

        ],

    };
    setOptions(ele,option)
}


export function compareSearchStaticsMonthlyEcharts(ele,dataLeft_bin,dataRight_bin) {
    debugger
    let  option = {

        tooltip: {
            trigger: 'axis',
            axisPointer: { // 坐标轴指示器，坐标轴触发有效
                type: 'shadow' // 默认为直线，可选为：'line' | 'shadow'
            }
        },
        legend: [
            {
                data: ['直接访问']
            },
            {
                top: '1%',
                left: '25%',
                buttom: '10%',
                data: ['委行政服务中心', '市城管执法局', '市公积金中心', '市房管局', '市燃气处', ],
            }
        ],
        grid: {
            left: '3%',
            right: '4%',
            bottom: '4%',
            containLabel: true,
            top: '12%'
        },
        toolbox: {
        },
        calculable: true,
        xAxis: [
            {
                type: 'category',
                data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
            }
        ],
        yAxis: [
            {
                type: 'value'
            }
        ],
        series: [
            {
                name: '委行政服务中心',
                type: 'bar',
                data: [dataRight_bin.一月, dataRight_bin.二月, dataRight_bin.三月, dataRight_bin.四月, dataRight_bin.五月, dataRight_bin.六月,
                    dataRight_bin.七月, dataRight_bin.八月, dataRight_bin.九月, dataRight_bin.十月, dataRight_bin.十一月, dataRight_bin.十二月],
            },
            {
                name: '市城管执法局',
                type: 'bar',
                data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            },
            {
                name: '市公积金中心',
                type: 'bar',
                data: [dataLeft_bin.一月, dataLeft_bin.二月, dataLeft_bin.三月, dataLeft_bin.四月, dataLeft_bin.五月, dataLeft_bin.六月,
                    dataLeft_bin.七月, dataLeft_bin.八月, dataLeft_bin.九月, dataLeft_bin.十月, dataLeft_bin.十一月, dataLeft_bin.十二月],
            },
            {
                name: '市房管局',
                type: 'bar',
                data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            },
            {
                name: '市燃气处',
                type: 'bar',
                data: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            }
        ]
    };
    setOptions(ele,option)
}

