(function(){ X.pageLogic['analysis'] = { init : function(){ var me = this; // 渲染form样式 layui.form.render(); var dataArr; //分析指标 var groupeddata;//分组项 var type2data =[],type3data = []; var screentypearr=[]; //筛选项数据 var drr = []; screentypearr.push(drr); //每一个筛选事件按添加次数依次写入 var filtersymbols=[];//筛选符号 filtersymbols.push(drr); var groupitemeventsdata=[]//分组项里的事件 var defaultgroupdata //默认添加分组项里的事件 var data = { "events":[], "eventView":{ "cksql":"event", "startTime":"", "timeParticleSize":"P1D", "endTime":"", "graphShape":"L0", "recentDay":"1-7", "groupBy":[], "uiCommonConfig":{ "tableSorts":[], "chartSort":"num-desc" }, "filts":[],//全局筛选 "relation":1, "zone_time":'8'//时区 }, "cachedata":{ type2data:[], type3data:[], screentypearr:[], filtersymbols:[], groupitemeventsdata:[], defaultgroupdata:[], } } var retdata,props; // 日期渲染 X.daterender("#analtsis-condition-date",function(start, end, label){ var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00"; var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59"; data['eventView']['startTime'] = startTime; data['eventView']['endTime'] = endTime; var sameday = Date.parse(new Date()) / 1000; //当天时间戳 var enddate = new Date(end.format('YYYY-MM-DD')); var endmonth = Date.parse(enddate)/1000; var startdate = new Date(start.format('YYYY-MM-DD')); var startmonth = Date.parse(startdate)/1000; // console.log(parseInt((sameday - startmonth )/86400)); // console.log(parseInt((sameday - endmonth)/86400)); data['eventView']['recentDay'] = parseInt((sameday - endmonth)/86400) + "-"+ parseInt((sameday - startmonth)/86400); calculationdata(); }) var time = $("#analtsis-condition-date").val(); var timearr = time.split(" "); data['eventView']['startTime'] = timearr[0] + " "+"00:00:00"; data['eventView']['endTime'] = timearr[2]+" "+"23:59:59"; // X.template("toptab","analysis-zhanwei",X.DATA['projectarr'],function(){ X.api("data_auth/my_event","get",{},function(d){ dataArr = d; X.api("data_auth/load_prop_quotas","post",{event_name:dataArr[0]['category'][0]['event_name']},function(d){ retdata = d.staid_quots.concat(d.props); props = d.props; var defaultindicator = { "event_desc":dataArr[0]['category'][0]['event_desc'], "event_name":dataArr[0]['category'][0]['event_name'], "event_attr":"总次数", "event_attr_id":"*", "analysisname":'', "analysis":'total_count', "filts":[],//过滤项 "condrelation":'and', "customEvent":'', "eventNameDisplay":''//重命名指标 } data.events.push(defaultindicator); X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); type2data[0]= retdata; type3data[0]= []; screentypearr[0]=d.props; X.api("data_auth/load_filter_props","post",{event_name:dataArr[0]['category'][0]['event_name']},function(val){ defaultgroupdata = val; groupitemeventsdata.push(val); }) }) // groupeddata = d.group_by; }) // }); // 渲染选择时间下拉框 layui.dropdown.render({ elem: ".analysis-navigation-bar-datetime" ,data: X.DATA.timezone ,click: function(obj){ $(".analysis-navigation-bar-datetime").html(obj.title); data['eventView']['zone_time'] = obj.id; } }); // 伸缩左侧选项 $(".analysis-con-left-shrink").click(function(){ if($(".analysis-con-left").css('left') == "auto" || $(".analysis-con-left").css('left') == "0px"){ $(".analysis-con-left").css("position","absolute"); $(".analysis-con-left").css("left","-535px"); $(".analysis-con-left-shrink").css("transform","rotate(180deg)"); $(".analysis-con-right").css("width","calc(100% - 15px)"); $(".analysis-con-right").css("margin-left","16px"); }else { $(".analysis-con-left").css("position","relative"); $(".analysis-con-left").css("left","auto"); $(".analysis-con-left-shrink").css("transform","rotate(3600deg)"); $(".analysis-con-right").css("width","calc(100% - 550px)"); $(".analysis-con-right").css("margin-left","0px"); } }); //已存报表 var baobiaodata; $(document).off('click','.analysis-navigation-bar-right-img-baobiao').on('click','.analysis-navigation-bar-right-img-baobiao',function(){ X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){ console.log(d); if(d){ data = d.query; type2data = data.cachedata.type2data; type3data = data.cachedata.type3data; screentypearr = data.cachedata.screentypearr; filtersymbols = data.cachedata.filtersymbols; baobiaodata = d; if(d.query.eventView.filts.length > 0){ $(".analysis-overall").show(); }else { $(".analysis-overall").hide(); } X.laytpldata("#analysis-con-left-screen-list-dot",d.query.events,".analysis-con-left-screen-list-box"); X.laytpldata("#analysis-gpmain___3YGfw-dot",d.query.eventView.groupBy,".analysis-gpmain___3YGfw"); X.laytpldata("#analysis-overall-situation-list-box-dot",d.query['eventView']['filts'],".analysis-overall-situation-list-box"); analysisdown(); calculationdata(); } }) }) // sql语句显示 $(document).off('click','.sqlquery').on('click','.sqlquery',function(){ var obj = $(this); var offset = obj.offset(); X.querycriteriapop(data,'conditionquery',offset.left - 410,offset.top+obj.height(),function(){ }) }) // 切换为指标公式 $(document).on('click','.analysis-gongshi',function(){ var index = $(this).attr("data-index"); $("#analysis-con-left-screen-list-left-box-"+index).hide(); $("#analysis-custom-box-"+index).show(); $(this).hide(); $("#analysis-con-left-screen-list-right-"+index+" "+".analysis-zhibiao").show(); }) // 切换为指标选择 $(document).on('click','.analysis-zhibiao',function(){ var index = $(this).attr("data-index"); $("#analysis-con-left-screen-list-left-box-"+index).show(); $("#analysis-custom-box-"+index).hide(); $(this).hide(); $("#analysis-con-left-screen-list-right-"+index+" "+".analysis-gongshi").show(); }) //复制指标 $(document).on('click','.analysis-fuzhi',function(){ var index = $(this).attr("data-index"); var arr = data.events[index]; data.events.push(arr); X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); var num = data.events.length; type2data[num] = type2data[index]; type3data[num] = type3data[index]; screentypearr[num] = screentypearr[index]; filtersymbols[num] = filtersymbols[index]; }) // $('.analysis-con-left-screen-list-left-zhibiaoname-txt').bind('input propertychange', function() { // }) //重命名指标 $(document).off('click','.analysis-chongmingming').on('click','.analysis-chongmingming',function() { var index = $(this).attr('data-index'); $("#analysis-con-left-screen-list-left-zhibiaoname-"+index).show(); $(this).hide(); $("#analysis-con-left-screen-list-right-"+index+" "+".analysis-chongmingming-del").show(); }) //删除重命名 $(document).off('click','.analysis-chongmingming-del').on('click','.analysis-chongmingming-del',function() { var index = $(this).attr("data-index"); $("#analysis-con-left-screen-list-left-zhibiaoname-"+index).hide(); $("#analysis-con-left-screen-list-left-zhibiaoname-"+index+" "+"input").val(''); $(this).hide(); $("#analysis-con-left-screen-list-right-"+index+" "+".analysis-chongmingming").show(); }) // 设置一级事件 $(document).off('click','.ant-dropdown-trigger').on('click','.ant-dropdown-trigger',function() { var obj = $(this); var offset = obj.offset(); var index = obj.attr('data-index') X.querycriteriapop(dataArr,'setgrouping',offset.left,offset.top+obj.height(),function(val){ var htmlstring = val.id; obj.html(htmlstring); data['events'][index]['event_desc'] = val.id; data['events'][index]['event_name'] = val.name; X.api("data_auth/load_prop_quotas","post",{event_name:val.name},function(d){ var retdata = d.staid_quots.concat(d.props); type2data[index]=retdata; screentypearr[index] = d.props; }) X.api("data_auth/load_filter_props","post",{event_name:val.name},function(d){ groupitemeventsdata[index] = d; console.log(groupitemeventsdata); }) }) }) //设置一级事件中第二个参数 $(document).off('click','.analysis-zhibiao-list-type2').on('click','.analysis-zhibiao-list-type2',function(){ var obj = $(this); var offset = obj.offset(); var index = obj.attr("data-index"); if(type2data.length >0){ X.querycriteriapop(type2data[index],'dropdownlist',offset.left,offset.top+obj.height(),function(val){ if(val != undefined){ $("#analysis-zhibiao-list-type2-"+index).html(val.title); type3data[index]=val.category; data['events'][index]['event_attr'] = val.title; data['events'][index]['event_attr_id'] = val.id; if(val.category && val.category.length > 0){ $("#analysis-zhibiao-list-type3-"+index).show(); $("#analysis-zhibiao-list-type3-"+index).html(val.category[0].title); data['events'][index]['analysisname'] = val.category[0].title; data['events'][index]['analysis'] = val.category[0].id; }else { $("#analysis-zhibiao-list-type3-"+index).hide(); data['events'][index]['analysis'] = val.analysis; } X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); } }) } }) //设置一级事件中第三个参数 $(document).off('click','.analysis-zhibiao-condition').on('click','.analysis-zhibiao-condition',function(){ var obj = $(this); var offset = obj.offset(); var index = obj.attr("data-index"); var indexs = obj.attr("data-indexs"); if(type3data.length>0){ if(type3data[index].length > 0){ X.querycriteriapop(type3data[index],'dropdownlist',offset.left,offset.top+obj.height(),function(val){ $("#analysis-zhibiao-list-type3-"+index).html(val.title); data['events'][index]['analysisname'] = val.title; data['events'][index]['analysis'] = val.id; }) } } }) $(document).off('click','.ta-property-select').on('click','.ta-property-select',function(){ var obj = $(this); var offset = obj.offset(); var index = obj.attr("data-index"); var indexs = obj.attr("data-indexs"); X.querycriteriapop(screentypearr[index],'category',offset.left,offset.top+obj.height(),function(val){ console.log(val); var htmlstring = val.title; obj.html(htmlstring); filtersymbols[index][indexs] = val.category; data['events'][index]['filts'][indexs]['columnDesc'] = htmlstring; data['events'][index]['filts'][indexs]['columnName'] = val.id; data['events'][index]['filts'][indexs]['data_type'] = val.type; data['events'][index]['filts'][indexs]['tableType'] = val.table_type; }) }) $(document).off('click','.analysis-choicetypename').on('click','.analysis-choicetypename',function(){ var obj = $(this); var offset = obj.offset(); var index = $(this).attr("data-index"); var indexs = $(this).attr("data-indexs"); X.querycriteriapop(filtersymbols[index][indexs],'dropdownlist',offset.left,offset.top+obj.height(),function(val){ if(val != undefined){ obj.html(val.title); data['events'][index]['filts'][indexs]['comparator_name'] = val.title; data['events'][index]['filts'][indexs]['comparator'] = val.id; } }) }) // 添加筛选项 $(document).off('click','.analysis-shaix').on('click','.analysis-shaix',function(){ var obj = $(this); var index = obj.attr("data-index"); addscreen(index); }) // 添加筛选项 function addscreen(index){ X.api('data_auth/load_filter_props',"post",{event_name:data['events'][index]["event_name"]},function(d){ console.log(d); var arr = { "columnDesc":d[0]['category'][0]['title'],//事件中文显示 "columnName":d[0]['category'][0]['id'],//事件id "comparator_name":d[0]['category'][0]['category'][0]['title'],//选择符号中文显示 "comparator":d[0]['category'][0]['category'][0]['id'],//符号id "data_type":d[0]['category'][0]['data_type'], "ftv":'',//条件 "strftv":'',//字符串显示条件 "tableType": d[0]['id'] } //筛选数据 data['events'][index]['filts'].push(arr); X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); var drr=[]; filtersymbols.push(drr); screentypearr[index] = d; filtersymbols[index][filtersymbols[index].length ] = d[0]['category'][0]["category"]; }) } //监听重命名指标 $(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname input',function(){ var index = $(this).attr("data-index"); var txt = $(this).val(); data['events'][index]['eventNameDisplay'] = txt; }) // 监听文本框 $(document).off('click','.analysis-zhibiao-list-type4 input').on('blur','.analysis-zhibiao-list-type4 input',function(){ var index = $(this).attr("data-index"); var indexs = $(this).attr("data-indexs"); var val = $(this).val(); var valarr = val.split(","); data['events'][index]['filts'][indexs]['ftv']=valarr; data['events'][index]['filts'][indexs]['strftv']=val; }) // 且和或切换 $(document).on("click",".analysis-con-left-screen-list-right-screen-qh-tit",function(){ var html = $(this).html(); //condrelation筛选条件的关系 var index = $(this).attr("data-index"); if(html == "且"){ $(this).html('或'); data['events'][index]['condrelation'] = 'or' }else { $(this).html('且'); data['events'][index]['condrelation'] = 'and' } }) // 添加条件按钮 $(document).on('click',".analysis-zhibiao-updata",function(){ // addindex(); }) // 删除二级筛选项 $(document).on('click','.analysis-zhibiao-list-del',function(){ // var id = "analysis-zhibiao-list-mar-"+$(this).attr("data-twonum"); // $("#"+id).remove(); var index = $(this).attr("data-index"); var indexs = $(this).attr("data-indexs"); filtersymbols[index].splice(indexs,1); data.events[index]['filts'].splice(indexs,1); X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); }) // 添加指标 function addindex(){ var defaultindicator = { "event_desc":dataArr[0]['category'][0]['event_desc'], "event_name":dataArr[0]['category'][0]['event_name'], "event_attr":"总次数", "event_attr_id":"*", "analysisname":'', "analysis":'total_count', "filts":[],//过滤项 "condrelation":'and', "customEvent":'', "eventNameDisplay":''//重命名指标 } data['events'].push(defaultindicator); X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); console.log(data.events); var index = data.events.length - 1; type2data[index]= retdata; type3data[index]= []; $(".analysis-del").show() //显示删除按钮 var drr = []; screentypearr.push(drr); if(data.events.length > 1){ $(".analysis-overall").show(); }else { $(".analysis-overall").hide(); } screentypearr[index]=props; groupitemeventsdata.push(defaultgroupdata); } //添加按钮 $(document).on('click','.analysis-jia1',function(){ addindex(); }) //添加指标按钮 $(document).on('click','.analysis-bottom-jia1',function(){ addindex(); }) //删除指标 $(document).on('click',".analysis-del",function(){ if(data['events'].length != 1){ var index = $(this).attr("data-index"); data['events'].splice(index,1); if(data['events'].length == 1){ $(".analysis-del").hide(); //隐藏删除按钮 $(".analysis-overall").hide(); } X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); } }) $(".analysis-custom-event-box .analysis-custom-event-txt").blur(function(){ $(this).css("border-bottom","0px"); }) $(document).off('click','.analysis-custom-event-box .analysis-custom-event-txt').on('blur','.analysis-custom-event-box .analysis-custom-event-txt',function(){ // $(this).css("border-bottom","1px solid #3d90ff"); var obj = $(this); var offset = obj.offset(); var index = obj.attr("data-index"); data['events'][index]['customEvent'] = $(this).val(); // console.log(data); }) $(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname2 input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname2 input',function(){ var index = $(this).attr('data-index'); data['events'][index]['eventNameDisplay'] = $(this).val(); // console.log(data); }) //分组项 var cat = "event"; $(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function(){ var index = data['eventView']['groupBy'].length; var screentypedata = filteringdata(); console.log(screentypedata); var drr = { "columnDesc":screentypedata[0]['category'][index]['title'],//事件中文显示 "columnName":screentypedata[0]['category'][index]['id'],//事件id 'data_type':screentypedata[0]['category'][index]['data_type'],//类型 'tableType': screentypedata[0]['id'], "ftv":'',//条件 "section":''//区间 } data.eventView.groupBy.push(drr); X.laytpldata("#analysis-gpmain___3YGfw-dot",data.eventView.groupBy,".analysis-gpmain___3YGfw"); }) $(document).off('click','.analysis-ant-dropdown-trigger').on('click','.analysis-ant-dropdown-trigger',function(){ var obj = $(this); var offset = obj.offset(); var index = obj.attr("data-index"); X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){ var htmlstring = val.title; obj.html(htmlstring); data.eventView.groupBy[index]['columnDesc'] = val.title; data.eventView.groupBy[index]['columnName'] = val.id; data.eventView.groupBy[index]['data_type'] = val.type; data.eventView.groupBy[index]['tableType'] = val.table_type; X.laytpldata("#analysis-gpmain___3YGfw-dot",data.eventView.groupBy,".analysis-gpmain___3YGfw"); }) }) $(document).off('click','.analysis-granularity').on("click",".analysis-granularity",function(){ var obj = $(this); var offset = obj.offset(); var type = obj.attr("data_type"); var index = obj.attr("data-index"); var arr; if(type == 'date'){ arr = { data:[ {'name':"按天",'id':'day','checked':true}, {'name':"按分钟",'id':'min','checked':false}, {'name':"按小时",'id':'hour','checked':false}, {'name':"按周",'id':'week','checked':false}, {'name':"按月",'id':'month','checked':false} ], default: data.eventView.groupBy[index]['ftv'] } }else { arr ={ data:[ {'name':"按元素",'id':'0','checked':true}, {'name':"按列表整体",'id':'1','checked':false}, {'name':"按元素集合",'id':'2','checked':false} ], default: data.eventView.groupBy[index]['ftv'] } } X.querycriteriapop(arr,'groupitem',offset.left,offset.top+obj.height(),function(val){ data.eventView.groupBy[index]['ftv'] = val.id; }) }) $(document).on("click",".analysis-section",function(){ var obj = $(this); var offset = obj.offset(); var sectionid = obj.attr("data-sectionid"); X.open({ type: 1, title: false, closeBtn: 0, shadeClose: true, skin: 'yourclass', url: 'groupeditemspop', extData : sectionid, callback : function(val){ } }) }) $(document).on('click','.analysis-action-right',function(){ var index = $(this).attr('data-index'); data.eventView.groupBy.splice(index,1); X.laytpldata("#analysis-gpmain___3YGfw-dot",data.eventView.groupBy,".analysis-gpmain___3YGfw"); }) $(document).on('click','.analysis-event-splitting',function(){ }) // 过滤数据 function filteringdata(){ var screentypedata; if(groupitemeventsdata.length>1){ for(var i =0; i < groupitemeventsdata.length - 1; i++){ if(i == 0){ X.groupintersection(groupitemeventsdata[i] , groupitemeventsdata[Number(i) + Number(1)],function(d){ screentypedata = d; }); }else { X.groupintersection(screentypedata , groupitemeventsdata[Number(i) + Number(1)],function(d){ screentypedata = d; }) } } }else { screentypedata = groupitemeventsdata[0]; } return screentypedata; } // 全局筛选 var filtsftvdata=[]; $(document).on('click','.analysis-overall-situation-add',function(){ var screentypedata = filteringdata(); var drr={ "columnDesc":screentypedata[0]['category'][0]['title'],//事件中文显示 columnDesc "columnName":screentypedata[0]['category'][0]['id'],//事件id 'data_type':screentypedata[0]['category'][0]['data_type'],//类型 'comparator_name':'等于',//默认等于 "comparator":'==',//符号id "ftv":[],//条件 "strftv":'',//显示条件 "section":[-1,1],//区间 "tableType":screentypedata[0]['id'] }; console.log(drr); data['eventView']['filts'].push(drr);//上传全局数据 filtsftvdata.push(screentypedata[0]['category'][0]['category']) $(".analysis-overall-situation-left-box").show(); if(data['eventView']['filts'].length > 1){ $(".analysis-overall-situation-left-guanxi").show(); }else{ $(".analysis-overall-situation-left-guanxi").hide(); } X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filts'],".analysis-overall-situation-list-box"); analysisdown(); }) //循环给条件框渲染下拉框 function analysisdown(){ for(let i in data['eventView']['filts']){ X.laydropdown("#analysis-overall-situation-fuhao-"+i,filtsftvdata[i],function(val){ $(this).html(val.title); data['eventView']['filts'][i]['comparator_name'] = val.title; data['eventView']['filts'][i]['comparator'] = val.id; if(val.id == "range"){ data['eventView']['filts'][i]['ftv'] = [-1,1]; } X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filts'],".analysis-overall-situation-list-box"); analysisdown(); }) } } $(document).on('click',".analysis-overall-situation-del",function(){ var index = $(this).attr("data-index"); data['eventView']['filts'].splice(index,1); filtsftvdata.splice(index,1); if(data['eventView']['filts'].length > 1){ $(".analysis-overall-situation-left-guanxi").show(); }else{ $(".analysis-overall-situation-left-guanxi").hide(); // $(".analysis-overall-situation-left-box").hide(); } X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filts'],".analysis-overall-situation-list-box"); analysisdown(); }) // 全局属性选择 $(document).off('click','.analysis-overall-situation-attr').on('click',".analysis-overall-situation-attr",function(){ var obj = $(this); var offset = obj.offset(); var index = obj.attr("data-index"); X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){ obj.html(val.title); data['eventView']['filts'][index]['columnDesc'] = val.title; data['eventView']['filts'][index]['columnName'] = val.id; data['eventView']['filts'][index]['data_type'] = val.type; data['eventView']['filts'][index]['comparator_name'] = '等于'; data['eventView']['filts'][index]['comparator'] = '=='; data['eventView']['filts'][index]['tableType'] = val.table_type; filtsftvdata[index]=val.category; X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filts'],".analysis-overall-situation-list-box"); analysisdown(); }) }) $(document).off('click','.analysis-overall-situation-input input').on('blur','.analysis-overall-situation-input input',function(){ var index = $(this).attr("data-index"); var val = $(this).val(); var valarr = val.split(","); data['eventView']['filts'][index]['ftv']=valarr; data['eventView']['filts'][index]['strftv']=val; }) $(document).off('click','.analysis-overall-situation-input2 input').on('blur','.analysis-overall-situation-input2 input',function(){ var name = $(this).attr('name'); var val = $(this).val(); var index = $(this).attr("data-index"); if(name == 'start'){ data['eventView']['filts'][index]['ftv'][0] = val; data['eventView']['filts'][index]['section'][0] = val; }else { data['eventView']['filts'][index]['ftv'][1] = val; data['eventView']['filts'][index]['section'][1] = val; } }) // 时间粒度 var timeParticleSizearr = [ {'title':'按天','id':'P1D'}, {'title':'按分钟','id':'PT1M'}, {'title':'每五分钟','id':'PT5M'}, {'title':'每十分钟','id':'PT10M'}, {'title':'每十五分钟','id':'PT15M'}, {'title':'按小时','id':'PT1H'}, {'title':'按周','id':'P1W'}, {'title':'按月','id':'P1M'}, // {'title':'合计','id':'total'}, ] X.laydropdown('.analtsis-timeParticleSize',timeParticleSizearr,function(d){ $(this).html(d.title); data['eventView']['timeParticleSize'] = d.id; calculationdata(); }) X.layuidate('#analysis-overall-situation-time1'); // 计算 $(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){ console.log(data); calculationdata(); }) var querydata;//查询数据 $(document).on('click','.analtsis-chart-switch-box .analtsis-chart-switch',function(){ console.log(querydata) if(querydata){ $('.analtsis-chart-switch-box .analtsis-chart-switch').removeClass('select-chart'); $(this).addClass('select-chart'); if($(this).attr('title') == '趋势图'){trendchart(querydata)} else if($(this).attr('title') == '堆积图'){stackingdiagram(querydata);} else if($(this).attr('title') == '累计图'){} else if($(this).attr('title') == '分布图'){distributionmap(querydata)} else if($(this).attr('title') == '饼状分布'){} }else{ // layer.msg('请先计算数据,在切换图表'); } }) //堆积图 function stackingdiagram(d){ var xAxisData=[]; for(let i in d){ for(let z in d[i]['groups']){ var pj = d[i]['event_name']+d[i]['groups'][z]; xAxisData.push(pj); } } var seriesData=[]; for(let i in d){ for(let z in d[i]['values']){ var arr = { name: '', type: 'line', stack: '总量', areaStyle: {}, emphasis: { focus: 'series' }, data: d[i]['values'][z] } seriesData.push(arr); } } if(xAxisData.length > 0){ for(let i in seriesData){ seriesData[i]['name'] = xAxisData[i]; } } var myChart = echarts.init(document.getElementById('analysis-echarts')); var option = { title: { text: '' }, color: X.DATA.echartscolor, tooltip: { trigger: 'axis', axisPointer: { type: 'cross', label: { backgroundColor: '#6a7985' } } }, legend: { type:'scroll', data: xAxisData }, grid: { left: '2%', right: '2%', bottom: '2%', top: '10%', containLabel: true }, xAxis: [ { type: 'category', boundaryGap: false, data: d[0]['date_range'] } ], yAxis: [ { type: 'value' } ], series: seriesData }; myChart.setOption(option,true); } //趋势图 function trendchart(d){ var xAxisData=[]; for(let i in d){ for(let z in d[i]['groups']){ var pj = d[i]['event_name']+d[i]['groups'][z]; xAxisData.push(pj); } } var seriesData=[]; for(let i in d){ for(let z in d[i]['values']){ var arr = { name: '', type: 'line', data: d[i]['values'][z] } seriesData.push(arr); } } if(xAxisData.length > 0){ for(let i in seriesData){ seriesData[i]['name'] = xAxisData[i]; } } console.log(d); console.log(seriesData); var myChart = echarts.init(document.getElementById('analysis-echarts')); var option = { title: { text: '' }, color: X.DATA.echartscolor, tooltip: { trigger: 'axis', axisPointer: { type: 'cross', label: { backgroundColor: '#6a7985' } } }, legend: { type:'scroll', data: xAxisData }, // toolbox: { // feature: { // saveAsImage: {} // } // }, grid: { left: '2%', right: '2%', bottom: '2%', top: '10%', containLabel: true }, xAxis: [ { type: 'category', boundaryGap: false, data: d[0]['date_range'] } ], yAxis: [ { type: 'value' } ], series: seriesData }; myChart.setOption(option,true); } //分布图 function distributionmap(d){ var legendData =[]; var xAxisData=[]; var seriesData=[]; if(jQuery.isEmptyObject(d[0]["groups"])){ for(let i in d){ xAxisData.push(d[i]['event_name']); legendData.push(d[i]['event_name']); var num =0; for(let j in d[i]['values'][i]){ num = num + d[i]['values'][i][j] } var arr = { name: d[i]['event_name'], type: 'bar', barWidth : 30, data: [], } arr['data'].push(num); seriesData.push(arr); } }else { for(let i in d){ xAxisData.push(d[i]['event_name']); for(let j in d[i]['groups']){ var num =0; for(let z in d[i]['values'][j]){ num = num + d[i]['values'][j][z] } if(i > 0){ for(let q in seriesData){ if(d[i]['groups'][j] == seriesData[q]['name']){ seriesData[q]['data'].push(num); }else { var arr = { name: d[i]['groups'][j], type: 'bar', barWidth : 30, data: [], } arr['data'].push(num); seriesData.push(arr); } } }else { var arr = { name: d[i]['groups'][j], type: 'bar', barWidth : 30, data: [], } arr['data'].push(num); seriesData.push(arr); } } } console.log(seriesData); console.log(xAxisData) } // for(let i in d){ // for(let z in d[i]['groups']){ // var pj = d[i]['event_name']+d[i]['groups'][z]; // xAxisData.push(pj); // } // } // var seriesData=[]; // for(let i in d){ // for(let z in d[i]['values']){ // var arr = { // name: '', // type: 'bar', // data: d[i]['values'][z] // } // seriesData.push(arr); // } // } // if(xAxisData.length > 0){ // for(let i in seriesData){ // seriesData[i]['name'] = xAxisData[i]; // } // } // return; var myChart = echarts.init(document.getElementById('analysis-echarts')); var option = { tooltip: { trigger: 'axis', axisPointer: { type: 'shadow' } }, color: X.DATA.echartscolor, legend: { data: legendData }, grid: { left: '2%', right: '2%', bottom: '2%', top: '10%', containLabel: true }, xAxis: [ { type: 'category', axisTick: {show: false}, data: xAxisData } ], yAxis: [ { type: 'value' } ], series: seriesData }; myChart.setOption(option,true); } //表格 function tabledata(d){ console.log(d); var titledata,condata = []; for(let i in d){ if(d[i]['groups']['length'] == 0){ titledata= $.extend(true,[],d[0]['date_range']) ; titledata.unshift('指标','阶段总和'); condata.push(d[i].values[0]); condata[i].unshift(d[i]['event_name'],d[i]['sum']); // console.log(condata); }else { } } console.log(titledata); console.log(condata); X.laytpldata("#table-fenxi-th-dot",titledata,".table-fenxi-th"); X.laytpldata("#table-fenxi-td-dot",condata ,".table-fenxi-td"); } function calculationdata(){ data['cachedata']['type2data'] = type2data; data['cachedata']['type3data'] = type3data; data['cachedata']['screentypearr'] = screentypearr; data['cachedata']['filtersymbols'] = filtersymbols; data['cachedata']['groupitemeventsdata'] = groupitemeventsdata; data['cachedata']['defaultgroupdata'] = defaultgroupdata; var dataArr = { eventView: data.eventView, events: data.events } X.api("ck/event_model","post",dataArr,function(d){ querydata = d; if(d[0].values.length > 0 ){ updata(); tabledata(d); // stackingdiagram(d); // tabledata(d); }else { $("#analysis-echarts").empty(); layer.msg("无数据"); } }) } function updata(){ var tit = $(".select-chart").attr("title"); if(tit == '趋势图'){trendchart(querydata)} else if(tit == '堆积图'){stackingdiagram(querydata);} else if(tit == '累计图'){} else if(tit == '分布图'){distributionmap(querydata)} else if(tit == '饼状分布'){} } // 保存报表 $(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){ if(baobiaodata != '' && baobiaodata != undefined && baobiaodata != null){ console.log(baobiaodata); X.parametersopen(baobiaodata,'savereport','auto'); }else{ X.parametersopen(data,'savereport','auto'); } }) }, // 保存报表 // savereport:function(d){ // } }; })();