diff --git a/web/pages/comprehensive.html b/web/pages/comprehensive.html new file mode 100644 index 0000000..c6780ba --- /dev/null +++ b/web/pages/comprehensive.html @@ -0,0 +1,124 @@ + +
+ +
+ +
+
+
+ 综合分析 +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + 返回 +
+
+
+ +
+ +
+ +
+ +
+ +
+
+
+ 综合分析 +
+
+ +
+ +
+ +
+ +
+ + + +
+
保存报表
+
计 算
+
+ + +
+ +
+
+
+
+ 玩法参与情况 +
+
+
+
+
按分钟
+
+ +
+ +
+ +
+ +
+ + + + + + + + + + +
+
+
+ + + +
+
+
+ +
+ + + + diff --git a/web/pages/dashboard.html b/web/pages/dashboard.html index 892a8b7..b0a422c 100644 --- a/web/pages/dashboard.html +++ b/web/pages/dashboard.html @@ -45,6 +45,14 @@
用户标签
+ +
  • + 综合分析 +
    +
    综合分析
    +
    +
  • +
  • 数据管理
    diff --git a/web/pages/modeltable.html b/web/pages/modeltable.html index 5375d01..af854d3 100644 --- a/web/pages/modeltable.html +++ b/web/pages/modeltable.html @@ -199,6 +199,17 @@ {{# }); }} + {{# } else if(d.cat === "first_event"){ }} + + + {{# layui.each(d.condata, function(indexs, items) { }} + +

    {{items[0]}}

    +

    {{items[1]}}%

    + + {{# }); }} + + {{# } }} @@ -289,6 +300,15 @@ {{items}} {{# }); }} + + {{# } else if(d.cat === "first_event"){ }} + + {{# layui.each(d.condata, function(indexs, items) { }} + +

    {{items[0]}}

    +

    {{items[1]}}%

    + + {{# }); }} {{# } }} diff --git a/web/src/x.min.js b/web/src/x.min.js index 21354e3..a0b1b97 100644 --- a/web/src/x.min.js +++ b/web/src/x.min.js @@ -118,6 +118,22 @@ var X = window.X || { {'title':'按周','id':'P1W'}, {'title':'按月','id':'P1M'}, {'title':'合计','id':'total'} + ], + 'comprehensive':[ + { + title: '按年',id:'year' + },{ + title: '按月',id:'P1M' + },{ + title: '按天',id:'P1D' + },{ + title: '按小时',id:'PT1H' + },{ + title: '按分钟',id:'PT1M' + },{ + title: '按秒',id:'second' + }, + ] }, 'retentionlist' : [ @@ -138,8 +154,7 @@ var X = window.X || { (function(){ //本地李伟 - // var ipurl = "http://10.0.0.240:7899/api/v1/"; - + // var ipurl = "http://10.0.0.240:7899/api/v1/"; //本地李宗振 // var ipurl = "http://10.0.0.94:7899/api/v1/"; // 线上 @@ -569,6 +584,10 @@ var X = window.X || { granularity = '14日' }else if(timeParticleSize == '30'){ granularity = '30日' + }else if( timeParticleSize == 'year' ){ + granularity = '按年' + }else if(timeParticleSize == 'second'){ + granularity = '按秒' } callback && callback(granularity); }; @@ -1401,16 +1420,13 @@ var X = window.X || { tabdata = data.list } - var date = data['start_date'] + " - " + data['end_date']; var dataArr = { titledata: xAxisdata, condata: tabdata, date:date } - console.log(dataArr) callback && callback(dataArr); - } X.funnelchart=function(data,callback){ @@ -1480,6 +1496,25 @@ var X = window.X || { callback && callback(dataArr); } + X.first_event=function(data,callback){ + var xAxisdata = [] + var tabledata=[]; + for(let i in data['list']){ + var arr = [] + arr[0] = data.list[i] + arr[1] = data.p[i] + tabledata.push(arr) + } + + var date = data['start_date'] + " - " + data['end_date']; + var dataArr = { + titledata: data.level, + condata: tabledata, + date:date + } + callback && callback(dataArr); + } + // 分组项 // X.grouped=function(data,id){ // console.log(data) @@ -5923,6 +5958,422 @@ var X = window.X || { })(); +// srczip/logic/comprehensive.js +(function(){ + X.pageLogic['comprehensive'] = { + init : function(parms){ + + var data ={ + "eventView":{ + "cksql":"first_event", + "endTime":"", + "filts":[], + "groupBy":[], + "e_days":0, + "s_days":7, + "relation":"and", + "startTime":"", + "statType":"retention", + "event_diff":"minute", + "windows_gap":7, + "switchTest": true, + minute:[] + }, + "events":[ + + ] + }; + + // 日期渲染 + X.daterender("#retained-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"; + 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; + data['eventView']['startTime'] = startTime; + data['eventView']['endTime'] = endTime; + data['eventView']['e_days'] = parseInt((sameday - endmonth)/86400); + data['eventView']['s_days'] = parseInt((sameday - startmonth)/86400); + retaineddata(); + }) + + // 时间粒度 + X.laydropdown('.analtsis-timeParticleSize',X['DATA']['companylist']['comprehensive'],function(d){ + $(".analtsis-timeParticleSize").html(d.title); + data['eventView']['event_diff'] = d.id; + }); + + var time = $("#retained-condition-date").val(); + var timearr = time.split(" "); + data['eventView']['startTime'] = timearr[0] + " "+"00:00:00"; + data['eventView']['endTime'] = timearr[2]+" "+"23:59:59"; + + var eventdata; + var groupitemeventsdata//分组项里的事件 + var filter_map,quotas_map,type2data; + // var screentypearr = []; + + layui.form.render(); + + X.api("data_auth/my_event","get",{},function(d){ + eventdata = d; + var arr = [{ + "eventDesc":eventdata[0]['category'][0]['event_desc'], + "eventName":eventdata[0]['category'][0]['event_name'], + "filts":[], + "relation":"and", + "condrelation":"and", + "renameindicator":"" + },{ + "eventDesc":eventdata[0]['category'][0]['event_desc'], + "eventName":eventdata[0]['category'][0]['event_name'], + "filts":[], + "relation":"and", + "condrelation":"and", + "renameindicator":"" + }] + data['events'] = arr; + + X.api("data_auth/load_prop_quotas","post",{event_name:eventdata[0]['category'][0]['event_name']},function(d){ + var retdata = d.staid_quots.concat(d.props); + type2data= retdata + X.api("data_auth/load_filter_props","post",{event_name:eventdata[0]['category'][0]['event_name']},function(val){ + groupitemeventsdata= val; + X.api("data_auth/filter_map","get",{},function(d){ + filter_map = d; + X.api('data_auth/quotas_map',"get",{},function(d){ + quotas_map = d; + //从数据看板点击进来触发事件 + if(X.DATA.funnelid && X.DATA.funnelid != ''){ + var report_idarr = []; + report_idarr.push(X.DATA.funnelid); + X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){ + backfilldata(d[0]); + }) + } + + //初始事件 + X.template("funnel","funnel-event",data['events']); + }) + }) + }) + }) + }); + + var baobiaodata; + function backfilldata(d){ + if(d){ + data = d.query; + var time = $("#retained-condition-date").val(); + var timearr = time.split(" "); + data['eventView']['startTime'] = timearr[0] + " "+"00:00:00"; + data['eventView']['endTime'] = timearr[2]+" "+"23:59:59"; + baobiaodata = d; + // 数据看板点进来时吧保存的时间初始化为当前时间 + var time = $("#retained-condition-date").val(); + var timearr = time.split(" "); + data['eventView']['startTime'] = timearr[0] + " "+"00:00:00"; + data['eventView']['endTime'] = timearr[2]+" "+"23:59:59"; + + retaineddata(); + } + }; + + $(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-chongmingming-del-initial-event").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-chongmingming").show(); + }); + + $(document).off("blur",'.analysis-con-left-screen-list-left-zhibiaoname-txt').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-txt',function(){ + var index = $(this).attr('data-index'); + // console.log(data) + data['events'][index]['renameindicator'] = $(this).val(); + }) + + $(document).off("click",'.analysis-con-left-screen-list-right-screen-qh-tit').on("click",'.analysis-con-left-screen-list-right-screen-qh-tit',function(){ + var index = $(this).attr('data-index'); + if($(this).html() == '或'){ + $(this).html('且') + data['events'][index]['condrelation'] = 'and' + }else { + $(this).html('或') + data['events'][index]['condrelation'] = 'or' + } + }) + + // 添加指标 + function addindex(){ + var defaultindicator = { + "eventDesc":eventdata[0]['category'][0]['event_desc'], + "eventName":eventdata[0]['category'][0]['event_name'], + "filts":[], + "relation":"and", + "condrelation":"and", + "renameindicator":"" + } + data['events'].push(defaultindicator); + X.template("funnel","funnel-event",data['events'],function(){ + var drr = []; + if(data['events'].length > 2){ + $(".analysis-del").show(); + }else { + $(".analysis-del").hide(); + } + }); + + }; + + //添加按钮 + $(document).off('click','.analysis-jia1').on('click','.analysis-jia1',function(){ + addindex(); + }); + $(document).off('click','.funnel-updataevent').on('click','.funnel-updataevent',function(){ + addindex(); + }); + + // 添加筛选项 + $(document).off('click','.analysis-shaix').on('click','.analysis-shaix',function(){ + var obj = $(this); + var index = obj.attr("data-index"); + addscreen(index); + }); + + // 添加筛选项 + function addscreen(index){ + var arr = { + "columnDesc":groupitemeventsdata[0]['category'][0]['title'], + "columnName":groupitemeventsdata[0]['category'][0]['id'], + "comparator":"==", + "comparatorName":"等于", + "ftv":[], + "strftv":"", + "tableType":groupitemeventsdata[0]['category'][0]['data_type'], + "timeUnit":"" + } + data['events'][index]['filts'].push(arr); + X.template("funnel","funnel-event",data['events']); + }; + + $(document).off('click','.analysis-zhibiao-updata').on('click','.analysis-zhibiao-updata',function(){ + var obj = $(this); + var index = obj.attr("data-index"); + addscreen(index); + }); + + // 删除指定初始事件筛选 + $(document).off('click','.analysis-del').on('click','.analysis-del',function(){ + var index = $(this).attr("data-index"); + data['events'].splice(index,1); + X.template("funnel","funnel-event",data['events']); + }); + + //删除指定筛选 + $(document).off('click','.funnel-analysis-zhibiao-list-del').on('click','.funnel-analysis-zhibiao-list-del',function(){ + var index = $(this).attr("data-index"); + var indexs = $(this).attr("data-twonum"); + data['events'][index]['filts'].splice(indexs,1); + X.template("funnel","funnel-event",data['events']); + }); + + $(document).off('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input',function(){ + var txt = $(this).val(); + data['events'][0]['renameindicator'] = txt; + }); + + $(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"); + var dataevent= data['events'][index]; + // console.log(dataevent); + X.querycriteriapop(eventdata,'setgrouping',offset.left,offset.top+obj.height(),function(val){ + obj.html(val.id); + dataevent['eventName'] = val.name; + dataevent['eventDesc'] = val.id; + + X.api("data_auth/load_filter_props","post",{event_name:val.name},function(val){ + groupitemeventsdata = val; + }) + // console.log(data['events']); + + }) + }); + + $(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(groupitemeventsdata,'category',offset.left,offset.top+obj.height(),function(val){ + var htmlstring = val.title; + obj.html(htmlstring); + 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"); + var type = data['events'][index]['filts'][indexs]['data_type']; + X.querycriteriapop(filter_map[type],'dropdownlist',offset.left,offset.top+obj.height(),function(val){ + if(val != undefined){ + obj.html(val.title); + data['events'][index]['filts'][indexs]['comparatorName'] = val.title; + data['events'][index]['filts'][indexs]['comparator'] = val.id; + } + }) + }); + + $(document).off("click",'.analysis-zhibiao-list-type4').on('click','.analysis-zhibiao-list-type4',function(){ + var obj = $(this); + var offset = obj.offset(); + var index = $(this).attr("data-index"); + var indexs = $(this).attr("data-indexs"); + var comparator = data['events'][index]['filts'][indexs]['comparator']; + var columnName = data['events'][index]['filts'][indexs]['columnName']; + + X.api("data_mana/select_attr","post",{attr_name:columnName},function(val){ + if(val != "查无数据"){ + X.parametersopen(val['map_'],'dropdownlist',[offset.top+obj.height(),offset.left],function(val){ + if(comparator == "in"){ + if(data['events'][index]['filts'][indexs]['strftv'] == "" ){ + var strftv = val.title; + data['events'][index]['filts'][indexs]['ftv'].push(val.id); + }else { + var strftv = data['events'][index]['filts'][indexs]['strftv'] + "," + val.title; + data['events'][index]['filts'][indexs]['ftv'].push(val.id); + } + data['events'][index]['filts'][indexs]['strftv'] = strftv; + }else { + data['events'][index]['filts'][indexs]['strftv'] = val.title; + var arr = []; + arr.push(val.id); + data['events'][index]['filts'][indexs]['ftv'] = arr; + } + + X.template("funnel","funnel-event",data['events'],function(){ + var drr = []; + if(data['events'].length > 2){ + $(".analysis-del").show(); + }else { + $(".analysis-del").hide(); + } + }); + }) + } + }) + }) + + $(document).off('blur','.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 txt = $(this).val(); + var txtarr = txt.split(","); + data['events'][index]['filts'][indexs]['strftv'] = txt; + data['events'][index]['filts'][indexs]['ftv'] = txtarr; + }); + + $(document).off('blur','.comprehensive-group-box').on('blur','.comprehensive-group-box',function(){ + var txt = $(this).val().split(','); + console.log(txt) + var arr = []; + for(let i in txt){ + arr.push(txt[i]) + } + data['eventView']['minute'] = arr + }) + + // 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).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){ + console.log(data) + retaineddata() + }); + var querydata; + function retaineddata(){ + var dataArr = { + eventView: data.eventView, + events: data.events + } + X.api("ck/first_event_model","post",dataArr,function(d){ + if(d != "查无数据"){ + retainedtable(d) + }else { + layer.msg('查无数据'); + } + }) + }; + + function retainedtable(d){ + var tabledata=[]; + for(let i in d['list']){ + var arr = [] + arr[0] = d.list[i] + arr[1] = d.p[i] + tabledata.push(arr) + } + X.laytpldata("#table-fenxi-th-dot",d.level,".table-fenxi-th"); + X.laytpldata("#table-fenxi-td-dot",tabledata,".table-fenxi-td"); + }; + + $(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){ + X.parametersopen(data,'savereport','auto') + }); + + $(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){ + if(d){ + data = d.query; + + X.template("funnel","funnel-event",data['events']); + X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){ + renderdate(); + }); + + retaineddata(); + } + + }) + }); + + // 返回 + $(document).off('click','.analysis-fanhui').on('click','.analysis-fanhui',function(){ + X.gourl("dashboard"); + // return; + }); + + } + }; +})(); // srczip/logic/conditionquery.js (function(){ X.pageLogic['conditionquery'] = { @@ -7147,7 +7598,9 @@ var X = window.X || { if(d['query']){ if(d.cat == "retention"){ var timeParticleSize = d['query']['eventView']['unitNum']; - }else { + }else if(d.cat == 'first_event'){ + var timeParticleSize = d['query']['eventView']['event_diff']; + } else { var timeParticleSize = d['query']['eventView']['timeParticleSize']; } @@ -7450,6 +7903,28 @@ var X = window.X || { eventdata.push(data); }) } + }else if(d['model'] == 'first_event'){ + X.first_event(val,function(data){ + console.log(data) + console.log(d) + data['name'] = d['name']; + data['modeltype'] = 'table'; + data['id'] = d['report_id']; + data['modelsize'] = d['graph_size']; + data['cat'] = d['model']; + data['desc'] = d['desc']; + data['reverseorder']=d['reverseorder']; + data['timeParticleSize'] = granularity; + eventdata.push(data); + if(d['ascending']){ + var condatalength = eventdata[0]['condata'].length; + var condataascend=[]; + for(var i = condatalength - 1; i >= 0; i--){ + condataascend.push(eventdata[0]['condata'][i]); + } + eventdata[0]['condata'] = condataascend; + } + }) } eventdata[0]['authority'] = X.DATA.authority; return eventdata; diff --git a/web/srczip/common.js b/web/srczip/common.js index a84fe40..a4f847b 100644 --- a/web/srczip/common.js +++ b/web/srczip/common.js @@ -117,6 +117,22 @@ var X = window.X || { {'title':'按周','id':'P1W'}, {'title':'按月','id':'P1M'}, {'title':'合计','id':'total'} + ], + 'comprehensive':[ + { + title: '按年',id:'year' + },{ + title: '按月',id:'P1M' + },{ + title: '按天',id:'P1D' + },{ + title: '按小时',id:'PT1H' + },{ + title: '按分钟',id:'PT1M' + },{ + title: '按秒',id:'second' + }, + ] }, 'retentionlist' : [ @@ -137,8 +153,7 @@ var X = window.X || { (function(){ //本地李伟 - // var ipurl = "http://10.0.0.240:7899/api/v1/"; - + // var ipurl = "http://10.0.0.240:7899/api/v1/"; //本地李宗振 // var ipurl = "http://10.0.0.94:7899/api/v1/"; // 线上 @@ -568,6 +583,10 @@ var X = window.X || { granularity = '14日' }else if(timeParticleSize == '30'){ granularity = '30日' + }else if( timeParticleSize == 'year' ){ + granularity = '按年' + }else if(timeParticleSize == 'second'){ + granularity = '按秒' } callback && callback(granularity); }; @@ -1400,16 +1419,13 @@ var X = window.X || { tabdata = data.list } - var date = data['start_date'] + " - " + data['end_date']; var dataArr = { titledata: xAxisdata, condata: tabdata, date:date } - console.log(dataArr) callback && callback(dataArr); - } X.funnelchart=function(data,callback){ @@ -1479,6 +1495,25 @@ var X = window.X || { callback && callback(dataArr); } + X.first_event=function(data,callback){ + var xAxisdata = [] + var tabledata=[]; + for(let i in data['list']){ + var arr = [] + arr[0] = data.list[i] + arr[1] = data.p[i] + tabledata.push(arr) + } + + var date = data['start_date'] + " - " + data['end_date']; + var dataArr = { + titledata: data.level, + condata: tabledata, + date:date + } + callback && callback(dataArr); + } + // 分组项 // X.grouped=function(data,id){ // console.log(data) diff --git a/web/srczip/logic/comprehensive.js b/web/srczip/logic/comprehensive.js new file mode 100644 index 0000000..40cb608 --- /dev/null +++ b/web/srczip/logic/comprehensive.js @@ -0,0 +1,415 @@ +(function(){ + X.pageLogic['comprehensive'] = { + init : function(parms){ + + var data ={ + "eventView":{ + "cksql":"first_event", + "endTime":"", + "filts":[], + "groupBy":[], + "e_days":0, + "s_days":7, + "relation":"and", + "startTime":"", + "statType":"retention", + "event_diff":"minute", + "windows_gap":7, + "switchTest": true, + minute:[] + }, + "events":[ + + ] + }; + + // 日期渲染 + X.daterender("#retained-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"; + 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; + data['eventView']['startTime'] = startTime; + data['eventView']['endTime'] = endTime; + data['eventView']['e_days'] = parseInt((sameday - endmonth)/86400); + data['eventView']['s_days'] = parseInt((sameday - startmonth)/86400); + retaineddata(); + }) + + // 时间粒度 + X.laydropdown('.analtsis-timeParticleSize',X['DATA']['companylist']['comprehensive'],function(d){ + $(".analtsis-timeParticleSize").html(d.title); + data['eventView']['event_diff'] = d.id; + }); + + var time = $("#retained-condition-date").val(); + var timearr = time.split(" "); + data['eventView']['startTime'] = timearr[0] + " "+"00:00:00"; + data['eventView']['endTime'] = timearr[2]+" "+"23:59:59"; + + var eventdata; + var groupitemeventsdata//分组项里的事件 + var filter_map,quotas_map,type2data; + // var screentypearr = []; + + layui.form.render(); + + X.api("data_auth/my_event","get",{},function(d){ + eventdata = d; + var arr = [{ + "eventDesc":eventdata[0]['category'][0]['event_desc'], + "eventName":eventdata[0]['category'][0]['event_name'], + "filts":[], + "relation":"and", + "condrelation":"and", + "renameindicator":"" + },{ + "eventDesc":eventdata[0]['category'][0]['event_desc'], + "eventName":eventdata[0]['category'][0]['event_name'], + "filts":[], + "relation":"and", + "condrelation":"and", + "renameindicator":"" + }] + data['events'] = arr; + + X.api("data_auth/load_prop_quotas","post",{event_name:eventdata[0]['category'][0]['event_name']},function(d){ + var retdata = d.staid_quots.concat(d.props); + type2data= retdata + X.api("data_auth/load_filter_props","post",{event_name:eventdata[0]['category'][0]['event_name']},function(val){ + groupitemeventsdata= val; + X.api("data_auth/filter_map","get",{},function(d){ + filter_map = d; + X.api('data_auth/quotas_map',"get",{},function(d){ + quotas_map = d; + //从数据看板点击进来触发事件 + if(X.DATA.funnelid && X.DATA.funnelid != ''){ + var report_idarr = []; + report_idarr.push(X.DATA.funnelid); + X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){ + backfilldata(d[0]); + }) + } + + //初始事件 + X.template("funnel","funnel-event",data['events']); + }) + }) + }) + }) + }); + + var baobiaodata; + function backfilldata(d){ + if(d){ + data = d.query; + var time = $("#retained-condition-date").val(); + var timearr = time.split(" "); + data['eventView']['startTime'] = timearr[0] + " "+"00:00:00"; + data['eventView']['endTime'] = timearr[2]+" "+"23:59:59"; + baobiaodata = d; + // 数据看板点进来时吧保存的时间初始化为当前时间 + var time = $("#retained-condition-date").val(); + var timearr = time.split(" "); + data['eventView']['startTime'] = timearr[0] + " "+"00:00:00"; + data['eventView']['endTime'] = timearr[2]+" "+"23:59:59"; + + retaineddata(); + } + }; + + $(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-chongmingming-del-initial-event").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-chongmingming").show(); + }); + + $(document).off("blur",'.analysis-con-left-screen-list-left-zhibiaoname-txt').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-txt',function(){ + var index = $(this).attr('data-index'); + // console.log(data) + data['events'][index]['renameindicator'] = $(this).val(); + }) + + $(document).off("click",'.analysis-con-left-screen-list-right-screen-qh-tit').on("click",'.analysis-con-left-screen-list-right-screen-qh-tit',function(){ + var index = $(this).attr('data-index'); + if($(this).html() == '或'){ + $(this).html('且') + data['events'][index]['condrelation'] = 'and' + }else { + $(this).html('或') + data['events'][index]['condrelation'] = 'or' + } + }) + + // 添加指标 + function addindex(){ + var defaultindicator = { + "eventDesc":eventdata[0]['category'][0]['event_desc'], + "eventName":eventdata[0]['category'][0]['event_name'], + "filts":[], + "relation":"and", + "condrelation":"and", + "renameindicator":"" + } + data['events'].push(defaultindicator); + X.template("funnel","funnel-event",data['events'],function(){ + var drr = []; + if(data['events'].length > 2){ + $(".analysis-del").show(); + }else { + $(".analysis-del").hide(); + } + }); + + }; + + //添加按钮 + $(document).off('click','.analysis-jia1').on('click','.analysis-jia1',function(){ + addindex(); + }); + $(document).off('click','.funnel-updataevent').on('click','.funnel-updataevent',function(){ + addindex(); + }); + + // 添加筛选项 + $(document).off('click','.analysis-shaix').on('click','.analysis-shaix',function(){ + var obj = $(this); + var index = obj.attr("data-index"); + addscreen(index); + }); + + // 添加筛选项 + function addscreen(index){ + var arr = { + "columnDesc":groupitemeventsdata[0]['category'][0]['title'], + "columnName":groupitemeventsdata[0]['category'][0]['id'], + "comparator":"==", + "comparatorName":"等于", + "ftv":[], + "strftv":"", + "tableType":groupitemeventsdata[0]['category'][0]['data_type'], + "timeUnit":"" + } + data['events'][index]['filts'].push(arr); + X.template("funnel","funnel-event",data['events']); + }; + + $(document).off('click','.analysis-zhibiao-updata').on('click','.analysis-zhibiao-updata',function(){ + var obj = $(this); + var index = obj.attr("data-index"); + addscreen(index); + }); + + // 删除指定初始事件筛选 + $(document).off('click','.analysis-del').on('click','.analysis-del',function(){ + var index = $(this).attr("data-index"); + data['events'].splice(index,1); + X.template("funnel","funnel-event",data['events']); + }); + + //删除指定筛选 + $(document).off('click','.funnel-analysis-zhibiao-list-del').on('click','.funnel-analysis-zhibiao-list-del',function(){ + var index = $(this).attr("data-index"); + var indexs = $(this).attr("data-twonum"); + data['events'][index]['filts'].splice(indexs,1); + X.template("funnel","funnel-event",data['events']); + }); + + $(document).off('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input',function(){ + var txt = $(this).val(); + data['events'][0]['renameindicator'] = txt; + }); + + $(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"); + var dataevent= data['events'][index]; + // console.log(dataevent); + X.querycriteriapop(eventdata,'setgrouping',offset.left,offset.top+obj.height(),function(val){ + obj.html(val.id); + dataevent['eventName'] = val.name; + dataevent['eventDesc'] = val.id; + + X.api("data_auth/load_filter_props","post",{event_name:val.name},function(val){ + groupitemeventsdata = val; + }) + // console.log(data['events']); + + }) + }); + + $(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(groupitemeventsdata,'category',offset.left,offset.top+obj.height(),function(val){ + var htmlstring = val.title; + obj.html(htmlstring); + 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"); + var type = data['events'][index]['filts'][indexs]['data_type']; + X.querycriteriapop(filter_map[type],'dropdownlist',offset.left,offset.top+obj.height(),function(val){ + if(val != undefined){ + obj.html(val.title); + data['events'][index]['filts'][indexs]['comparatorName'] = val.title; + data['events'][index]['filts'][indexs]['comparator'] = val.id; + } + }) + }); + + $(document).off("click",'.analysis-zhibiao-list-type4').on('click','.analysis-zhibiao-list-type4',function(){ + var obj = $(this); + var offset = obj.offset(); + var index = $(this).attr("data-index"); + var indexs = $(this).attr("data-indexs"); + var comparator = data['events'][index]['filts'][indexs]['comparator']; + var columnName = data['events'][index]['filts'][indexs]['columnName']; + + X.api("data_mana/select_attr","post",{attr_name:columnName},function(val){ + if(val != "查无数据"){ + X.parametersopen(val['map_'],'dropdownlist',[offset.top+obj.height(),offset.left],function(val){ + if(comparator == "in"){ + if(data['events'][index]['filts'][indexs]['strftv'] == "" ){ + var strftv = val.title; + data['events'][index]['filts'][indexs]['ftv'].push(val.id); + }else { + var strftv = data['events'][index]['filts'][indexs]['strftv'] + "," + val.title; + data['events'][index]['filts'][indexs]['ftv'].push(val.id); + } + data['events'][index]['filts'][indexs]['strftv'] = strftv; + }else { + data['events'][index]['filts'][indexs]['strftv'] = val.title; + var arr = []; + arr.push(val.id); + data['events'][index]['filts'][indexs]['ftv'] = arr; + } + + X.template("funnel","funnel-event",data['events'],function(){ + var drr = []; + if(data['events'].length > 2){ + $(".analysis-del").show(); + }else { + $(".analysis-del").hide(); + } + }); + }) + } + }) + }) + + $(document).off('blur','.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 txt = $(this).val(); + var txtarr = txt.split(","); + data['events'][index]['filts'][indexs]['strftv'] = txt; + data['events'][index]['filts'][indexs]['ftv'] = txtarr; + }); + + $(document).off('blur','.comprehensive-group-box').on('blur','.comprehensive-group-box',function(){ + var txt = $(this).val().split(','); + console.log(txt) + var arr = []; + for(let i in txt){ + arr.push(txt[i]) + } + data['eventView']['minute'] = arr + }) + + // 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).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){ + console.log(data) + retaineddata() + }); + var querydata; + function retaineddata(){ + var dataArr = { + eventView: data.eventView, + events: data.events + } + X.api("ck/first_event_model","post",dataArr,function(d){ + if(d != "查无数据"){ + retainedtable(d) + }else { + layer.msg('查无数据'); + } + }) + }; + + function retainedtable(d){ + var tabledata=[]; + for(let i in d['list']){ + var arr = [] + arr[0] = d.list[i] + arr[1] = d.p[i] + tabledata.push(arr) + } + X.laytpldata("#table-fenxi-th-dot",d.level,".table-fenxi-th"); + X.laytpldata("#table-fenxi-td-dot",tabledata,".table-fenxi-td"); + }; + + $(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){ + X.parametersopen(data,'savereport','auto') + }); + + $(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){ + if(d){ + data = d.query; + + X.template("funnel","funnel-event",data['events']); + X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){ + renderdate(); + }); + + retaineddata(); + } + + }) + }); + + // 返回 + $(document).off('click','.analysis-fanhui').on('click','.analysis-fanhui',function(){ + X.gourl("dashboard"); + // return; + }); + + } + }; +})(); \ No newline at end of file diff --git a/web/srczip/logic/dashboard.js b/web/srczip/logic/dashboard.js index a85142e..86f4607 100644 --- a/web/srczip/logic/dashboard.js +++ b/web/srczip/logic/dashboard.js @@ -956,7 +956,9 @@ if(d['query']){ if(d.cat == "retention"){ var timeParticleSize = d['query']['eventView']['unitNum']; - }else { + }else if(d.cat == 'first_event'){ + var timeParticleSize = d['query']['eventView']['event_diff']; + } else { var timeParticleSize = d['query']['eventView']['timeParticleSize']; } @@ -1259,6 +1261,28 @@ eventdata.push(data); }) } + }else if(d['model'] == 'first_event'){ + X.first_event(val,function(data){ + console.log(data) + console.log(d) + data['name'] = d['name']; + data['modeltype'] = 'table'; + data['id'] = d['report_id']; + data['modelsize'] = d['graph_size']; + data['cat'] = d['model']; + data['desc'] = d['desc']; + data['reverseorder']=d['reverseorder']; + data['timeParticleSize'] = granularity; + eventdata.push(data); + if(d['ascending']){ + var condatalength = eventdata[0]['condata'].length; + var condataascend=[]; + for(var i = condatalength - 1; i >= 0; i--){ + condataascend.push(eventdata[0]['condata'][i]); + } + eventdata[0]['condata'] = condataascend; + } + }) } eventdata[0]['authority'] = X.DATA.authority; return eventdata; diff --git a/web/static/css/analysis.css b/web/static/css/analysis.css index 2ea76b5..7b4a691 100644 --- a/web/static/css/analysis.css +++ b/web/static/css/analysis.css @@ -400,3 +400,6 @@ .nodedetails-event-tab-td { width: 33%;height: 36px; line-height: 36px; } .nodedetails-event-tab-font-col { color: #42546d; } .nodedetails-event-tab-td img { cursor: pointer;} + +.comprehensive-group-box { padding: 6px; border: 0; width: calc(100% - 12px); } +