diff --git a/web/pages/dashboard.html b/web/pages/dashboard.html index c153d83..dde4df1 100644 --- a/web/pages/dashboard.html +++ b/web/pages/dashboard.html @@ -28,7 +28,7 @@
留存分析
漏斗分析
分布分析
-
路径分析
+
路径分析
  • diff --git a/web/pages/distribution.html b/web/pages/distribution.html index 5910cd6..f83b4d4 100644 --- a/web/pages/distribution.html +++ b/web/pages/distribution.html @@ -74,7 +74,7 @@
    -
    7天
    +
    diff --git a/web/pages/participate.html b/web/pages/participate.html new file mode 100644 index 0000000..ee3843e --- /dev/null +++ b/web/pages/participate.html @@ -0,0 +1,46 @@ + +
    +
    +
    + + +
    +
    +
    +
    设置分组
    +
    + +
    +
    + +
    + +
    + +
    +
    确 定
    +
    + +
    + \ No newline at end of file diff --git a/web/pages/route.html b/web/pages/route.html index ec6effd..9154b68 100644 --- a/web/pages/route.html +++ b/web/pages/route.html @@ -1,147 +1,59 @@ - -
    - -
    - -
    -
    -
    - 路径分析 -
    -
    -
    - + + - - \ No newline at end of file diff --git a/web/pages/routeanalysis.html b/web/pages/routeanalysis.html new file mode 100644 index 0000000..3dd9a64 --- /dev/null +++ b/web/pages/routeanalysis.html @@ -0,0 +1,162 @@ + +
    + +
    + +
    +
    +
    + 路径分析 +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    + +
    + +
    + +
    + +
    +
    参与分析的事件 事件拆分
    +
    +
    事件(0)
    +
    + +
    + + +
    + +
    + +
    +
    分析路径以
    +
    + +
    +
    + +
    +
    且用户符合
    + +
    + +
    + +
    +
    +
    +
    + +
    + + +
    + +
    + +
    + + + 添加条件 + +
    +
    + +
    + +
    +
    会话间隔时长
    +
    + +
    分钟
    + +
    +
    + + + +
    + +
    +
    保存报表
    +
    计 算
    +
    + + +
    + +
    +
    +
    +
    + 玩法参与情况 +
    +
    +
    +
    +
    + +
    + + +
    + +
    + +
    + +
    + + + + + + + + + + +
    +
    +
    + +
    +
    +
    + +
    + + diff --git a/web/src/x.min.js b/web/src/x.min.js index 6e8f974..73a1bd6 100644 --- a/web/src/x.min.js +++ b/web/src/x.min.js @@ -3202,20 +3202,21 @@ var X = window.X || { for(let i in d.list){ var arr = { date: i, - total: d['list'][i]["total"], + total: d['list'][i]['总体']["total"], data:[] } - for(let j in d['list'][i]["n"]){ + for(let j in d['list'][i]['总体']["n"]){ var nrr = { n:0, p:0 } - nrr["n"] = d['list'][i]["n"][j]; - nrr["p"] = d['list'][i]["p"][j] + nrr["n"] = d['list'][i]['总体']["n"][j]; + nrr["p"] = d['list'][i]['总体']["p"][j] arr['data'].push(nrr); } tabledata.push(arr) } + // console.log(tabledata); X.laytpldata("#table-fenxi-th-dot",d.tabletitle,".table-fenxi-th"); X.laytpldata("#table-fenxi-td-dot",tabledata,".table-fenxi-td"); } @@ -3224,28 +3225,42 @@ var X = window.X || { var legendData = d.label; var xAxisData = []; var seriesData = []; - var nrr =[]; + var arr =[]; for(let i in d['list']){ xAxisData.push(i); - - for(let j in d['list'][i]['n']){ - if(nrr[j]){ - nrr[j].push(d['list'][i]['n'][j]); + for(let j in d['list'][i]){ + if(arr[j]){ + arr[j][i] = d['list'][i][j]['n']; }else { - nrr[j] = []; - nrr[j].push(d['list'][i]['n'][j]); + arr[j]=[]; + arr[j][i] = d['list'][i][j]['n']; } } } - for(let i in nrr){ + var ydata = {}; + for(let j in arr){ + if(!ydata[j]){ + ydata[j] = []; + } + for( let i in xAxisData){ + ydata[j].push(""); + for(let z in arr[j]){ + if(xAxisData[i] == z){ + var index = arr[j][z].length - 1; + ydata[j][i] =arr[j][z][index]; + } + } + } + } + for(let i in ydata){ var arr = { - name: '', + name: i, type: 'line', areaStyle: {}, emphasis: { focus: 'series' }, - data: nrr[i] + data: ydata[i] } seriesData.push(arr); } @@ -3294,28 +3309,42 @@ var X = window.X || { var legendData = d.label; var xAxisData = []; var seriesData = []; - var nrr =[]; + var arr =[]; for(let i in d['list']){ xAxisData.push(i); - - for(let j in d['list'][i]['p']){ - if(nrr[j]){ - nrr[j].push(d['list'][i]['p'][j]); + for(let j in d['list'][i]){ + if(arr[j]){ + arr[j][i] = d['list'][i][j]['p']; }else { - nrr[j] = []; - nrr[j].push(d['list'][i]['p'][j]); + arr[j]=[]; + arr[j][i] = d['list'][i][j]['p']; } } } - for(let i in nrr){ + var ydata = {}; + for(let j in arr){ + if(!ydata[j]){ + ydata[j] = []; + } + for( let i in xAxisData){ + ydata[j].push(""); + for(let z in arr[j]){ + if(xAxisData[i] == z){ + var index = arr[j][z].length - 1; + ydata[j][i] =arr[j][z][index]; + } + } + } + } + for(let i in ydata){ var arr = { - name: '', + name: i, type: 'line', areaStyle: {}, emphasis: { focus: 'series' }, - data: nrr[i] + data: ydata[i] } seriesData.push(arr); } @@ -4336,7 +4365,7 @@ var X = window.X || { this.parms = parms; this.callback = parms.callback; var data = parms.extData; - console.log(data); + var arr = [ {title:'默认区间',id:'def',checked:true}, {title:'离散数字',id:'discrete',checked:false}, @@ -4393,7 +4422,6 @@ var X = window.X || { $(".groupeditemspop-custom-box").hide(); } }) - X.laytpldata("#qvjian-box-dot",qvjian,".qvjian-box"); $(document).off('click','.qvjian-but').on('click','.qvjian-but',function(){ @@ -4403,7 +4431,6 @@ var X = window.X || { X.laytpldata("#qvjian-box-dot",qvjian,".qvjian-box"); }) - $(document).off('click','.qvjian input').on('blur','.qvjian input',function(){ var index = $(this).attr("data-index"); var tit = $(this).val(); @@ -5005,6 +5032,106 @@ var X = window.X || { } }; })(); +// srczip/logic/participate.js +(function(){ + X.pageLogic['participate'] = { + init : function(parms){ + var me = this; + this.parms = parms; + this.callback = parms.callback; + var data = parms.extData; + + console.log(data); + X.laytpldata("#judge-box-dot",data.list,".setgrouping-box2 .setgrouping-content-box2"); + layui.form.render(); + + if( data.select && Object.keys(data.select).length > 0){ + var select = Object.keys(data['select']) + var selectdata = {}; + for(let i in select){ + selectdata[select[i]] = true; + } + layui.form.val('participateexample', selectdata); + } + + // 搜索 + $('.setgrouping-sousuo-txt-box input').bind('input propertychange', function() { + var value = $(this).val(); + console.log(data); + if(value != ""){ + $(".setgrouping-sousuo-txt-box img").show(); + var filteringdata = []; + for(let i in data.list){ + var detailsdata = []; + for(let j in data['list'][i]["category"]){ + if(data['list'][i]["category"][j]['event_name'].indexOf(value) != -1){ + detailsdata.push(data['list'][i]["category"][j]); + } + } + if(detailsdata.length >0){ + var arr = { + "title": data['list'][i]['title'], + "id":data['list'][i]['id'], + "category": detailsdata + }; + filteringdata.push(arr); + } + } + console.log(filteringdata); + X.laytpldata("#judge-box-dot",filteringdata,".setgrouping-box2 .setgrouping-content-box2"); + }else { + $(".setgrouping-sousuo-txt-box img").hide(); + X.laytpldata("#judge-box-dot",data.list,".setgrouping-box2 .setgrouping-content-box2"); + } + }) + + //清空按钮 + $(".setgrouping-sousuo-txt-box img").click(function(){ + $(".setgrouping-sousuo-txt-box input").val(""); + $(".setgrouping-sousuo-txt-box img").hide(); + X.laytpldata("#judge-box-dot",data.list,".setgrouping-box2 .setgrouping-content-box2"); + }) + + layui.form.on('checkbox(checkboxexample)', function(){ + var data = layui.form.val('participateexample'); + if(Object.keys(data).length >= 30){ + $(this).prop("checked", false); + } + }); + + $(document).off('click','.participate-but').on('click','.participate-but',function(){ + var dataarr = layui.form.val('participateexample'); + console.log(data); + var idarr = []; + for(let i in dataarr){ + var arr = i.substring(5); + arr = arr.substring(0,arr.length - 1); + idarr.push(arr); + } + var callbackdata = []; + for(let i in data['list']){ + for(let j in data['list'][i]['category']){ + for(let z in idarr){ + if(data['list'][i]['category'][j]['event_name'] == idarr[z]){ + var arr = { + 'event_desc': data['list'][i]['category'][j]['event_desc'], + 'event_name': data['list'][i]['category'][j]['event_name'] + } + callbackdata.push(arr); + } + } + + } + } + // console.log(callbackdata); + me.callback && me.callback(callbackdata); + layer.close( me.parms.layIndex );//获取最新的弹窗关闭 + }) + + } + }; +})(); + // srczip/logic/personalsettings.js (function(){ X.pageLogic['personalsettings'] = { @@ -6039,10 +6166,259 @@ var X = window.X || { // srczip/logic/route.js (function(){ X.pageLogic['route'] = { - init : function(){ + init : function(parms){ + var me = this; + if(parms){ + this.parms = parms; + var data = parms; + }else { + var data = [] + } + console.log(data); + X.laytpldata("#route-overall-situation-list-box-dot",data,"#event-roue-event"); + } + }; +})(); +// srczip/logic/routeanalysis.js +(function(){ + X.pageLogic['routeanalysis'] = { + init : function(){ + var eventdata = {}; + X.api("data_auth/my_event","get",{},function(d){ + eventdata['list'] = d; + }) + + var data = { + "eventView":{ + "col_limit":10, + "startTime":"2021-06-22 00:00:00", + "recent_day":"1-7", + "session_interval":30, + "session_type":"minute", + "endTime":"2021-06-28 23:59:59" + }, + "events":{ + "by_fields":[ + + ], + "event_names":[], + "source_event":{ + "event_name":"complete_activity", + "event_Desc":"complete_activity", + "source_type":"initial_event", + "filts": [], + "relation":'and' + }, + "user_filter":{ + "filterType":"COMPOUND", + "filts":[] + } + } + } + + X.template("route","event-roue-event",data['events']['source_event']); + + // 日期渲染 + X.daterender("#route-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; + retaineddata(); + }) + + var time = $("#route-condition-date").val(); + var timearr = time.split(" "); + data['eventView']['startTime'] = timearr[0] + " "+"00:00:00"; + data['eventView']['endTime'] = timearr[2]+" "+"23:59:59"; + + $(document).off('click','.eventsplit').on('click','.eventsplit',function(){ + var routeevent = X['DATA']['routeevent']; + console.log(routeevent); + if( routeevent && routeevent.length > data['events']['by_fields'].length){ + var arr = { + "eventName": routeevent[data['events']['by_fields'].length]['id'], + "eventDesc": routeevent[data['events']['by_fields'].length]['title'], + "field":"rmbmoney", + "fieDesc":"rmbmoney", + "range":"", + "range_type":"def", + "table_type":"event" + }; + data['events']['by_fields'].push(arr); + X.laytpldata("#eventsplit-box-dot",data['events']['by_fields'],".eventsplit-box"); + + X.api("data_auth/load_filter_props","post",{event_name:routeevent[data['events']['by_fields'].length]['id']},function(val){ + console.log(val); + // defaultgroupdata = val; + groupitemeventsdata.push(val); + }) + + } + }) + + $(document).off('click','.route-action-right').on('click','.route-action-right',function(){ + var index = $(this).attr('data-index'); + data['events']['by_fields'].splice(index,1); + X.laytpldata("#eventsplit-box-dot",data['events']['by_fields'],".eventsplit-box"); + }) + $(document).off('click','.participate-box').on('click','.participate-box',function(){ + var obj = $(this); + var offset = obj.offset(); + X.querycriteriapop(eventdata,'participate',offset.left,offset.top+obj.height(),function(val){ + var selectdata = []; //选中事件的id数组 + // var selectdescdata = []; //选中事件的别名数组 + for(let i in val){ + selectdata.push(val[i]['event_name']); + // selectdescdata.push(val[i]['event_desc']); + } + eventdata['select'] = selectdata; + data['event_names'] = selectdata; + $('.participate-num').html(selectdata.length); + + for(let i in val){ + var arr = { + title: val[i]['event_desc'] + ,id: val[i]['event_name'] + } + if(X.DATA['routeevent']){ + X.DATA['routeevent'].push(arr); + }else { + X.DATA['routeevent'] = []; + X.DATA['routeevent'].push(arr); + } + } + }) + }) + var groupitemeventsdata = []; + $(document).off('click','.route-ant-select-selector1').on('click','.route-ant-select-selector1',function(){ + var obj = $(this); + var offset = obj.offset(); + var index = obj.attr('data-index'); + X.querycriteriapop(X.DATA['routeevent'],'dropdownlist',offset.left,offset.top+obj.height(),function(val){ + obj.html(val.title); + data['events']['by_fields'][index]['eventDesc'] = val.title; + data['events']['by_fields'][index]['eventName'] = val.id; + X.api("data_auth/load_filter_props","post",{event_name:val.id},function(val){ + console.log(val); + // defaultgroupdata = val; + groupitemeventsdata.push(val); + }) + }) + }) + + // 过滤数据 + 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; + } + + $(document).off('click','.route-ant-select-selector2').on('click','.route-ant-select-selector2',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){ + console.log(val); + obj.html(val.title); + // data['events']['by_fields'][index]['eventDesc'] = val.title; + // data['events']['by_fields'][index]['eventName'] = val.id; + }) + }) + + $(document).off('click','.analysis-overall-situation-add').on('click','.analysis-overall-situation-add',function(){ + var drr={ + "columnName":'asdasd',//事件中文显示 + "column_id":'asdasd',//事件id + 'data_type':'asdasd',//类型 + 'comparator_name':'等于',//默认等于 + "comparator_id":'==',//符号id + "ftv":[],//条件 + "strftv":'',//显示条件 + "section":[-1,1],//区间 + "table_type":'asdasd' + }; + data['events']['user_filter']['filts'].push(drr); + if(data['events']['user_filter']['filts'].length > 1){ + $(".analysis-overall-situation-left-guanxi").show(); + }else{ + $(".analysis-overall-situation-left-guanxi").hide(); + } + X.template("globalfilter","xinwei-whole",data['events']['user_filter']['filts'],function(){ + // analysisdown(); + }); + }) + + $(document).off('click','.analysis-overall-situation-del').on('click','.analysis-overall-situation-del',function(){ + var index = $(this).attr('data-index'); + data['events']['user_filter']['filts'].splice(index,1); + // filtsftvdata.splice(index,1); + if(data['events']['user_filter']['filts'].length > 1){ + $(".analysis-overall-situation-left-guanxi").show(); + }else{ + $(".analysis-overall-situation-left-guanxi").hide(); + } + X.template("globalfilter","xinwei-whole",data['events']['user_filter']['filts'],function(){ + // analysisdown(); + }); + }) + + $(document).off('click','.analysis-shaix-initial-event').on('click','.analysis-shaix-initial-event',function(){ + addscreen(0) + }) + + $(document).off('click','.analysis-zhibiao-updata-initial-event').on('click','.analysis-zhibiao-updata-initial-event',function(){ + addscreen(0) + }) + + // 添加筛选项 + function addscreen(index){ + X.api('data_auth/load_filter_props',"post",{event_name:data['events']['source_event']["event_name"]},function(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']['source_event']['filts'].push(arr); + X.template("route","event-roue-event",data['events']['source_event']); //更新事件 + // screentypearr[index] = d; + // filtersymbols.push(d[0]['category'][0]["category"]); + }) + } + + $(document).off('click','.analysis-con-left-screen-list-right-screen-qh-tit').on('click','.analysis-con-left-screen-list-right-screen-qh-tit',function(){ + if($(this).html() == '或'){ + $(this).html('且'); + data['events']["source_event"]['relation'] = 'or'; + }else{ + $(this).html('或'); + data['events']["source_event"]['relation'] = 'and'; + } + }) + } }; })(); diff --git a/web/srczip/logic/distribution.js b/web/srczip/logic/distribution.js index 5baf385..0e93168 100644 --- a/web/srczip/logic/distribution.js +++ b/web/srczip/logic/distribution.js @@ -376,20 +376,21 @@ for(let i in d.list){ var arr = { date: i, - total: d['list'][i]["total"], + total: d['list'][i]['总体']["total"], data:[] } - for(let j in d['list'][i]["n"]){ + for(let j in d['list'][i]['总体']["n"]){ var nrr = { n:0, p:0 } - nrr["n"] = d['list'][i]["n"][j]; - nrr["p"] = d['list'][i]["p"][j] + nrr["n"] = d['list'][i]['总体']["n"][j]; + nrr["p"] = d['list'][i]['总体']["p"][j] arr['data'].push(nrr); } tabledata.push(arr) } + // console.log(tabledata); X.laytpldata("#table-fenxi-th-dot",d.tabletitle,".table-fenxi-th"); X.laytpldata("#table-fenxi-td-dot",tabledata,".table-fenxi-td"); } @@ -398,28 +399,42 @@ var legendData = d.label; var xAxisData = []; var seriesData = []; - var nrr =[]; + var arr =[]; for(let i in d['list']){ xAxisData.push(i); - - for(let j in d['list'][i]['n']){ - if(nrr[j]){ - nrr[j].push(d['list'][i]['n'][j]); + for(let j in d['list'][i]){ + if(arr[j]){ + arr[j][i] = d['list'][i][j]['n']; }else { - nrr[j] = []; - nrr[j].push(d['list'][i]['n'][j]); + arr[j]=[]; + arr[j][i] = d['list'][i][j]['n']; } } } - for(let i in nrr){ + var ydata = {}; + for(let j in arr){ + if(!ydata[j]){ + ydata[j] = []; + } + for( let i in xAxisData){ + ydata[j].push(""); + for(let z in arr[j]){ + if(xAxisData[i] == z){ + var index = arr[j][z].length - 1; + ydata[j][i] =arr[j][z][index]; + } + } + } + } + for(let i in ydata){ var arr = { - name: '', + name: i, type: 'line', areaStyle: {}, emphasis: { focus: 'series' }, - data: nrr[i] + data: ydata[i] } seriesData.push(arr); } @@ -468,28 +483,42 @@ var legendData = d.label; var xAxisData = []; var seriesData = []; - var nrr =[]; + var arr =[]; for(let i in d['list']){ xAxisData.push(i); - - for(let j in d['list'][i]['p']){ - if(nrr[j]){ - nrr[j].push(d['list'][i]['p'][j]); + for(let j in d['list'][i]){ + if(arr[j]){ + arr[j][i] = d['list'][i][j]['p']; }else { - nrr[j] = []; - nrr[j].push(d['list'][i]['p'][j]); + arr[j]=[]; + arr[j][i] = d['list'][i][j]['p']; } } } - for(let i in nrr){ + var ydata = {}; + for(let j in arr){ + if(!ydata[j]){ + ydata[j] = []; + } + for( let i in xAxisData){ + ydata[j].push(""); + for(let z in arr[j]){ + if(xAxisData[i] == z){ + var index = arr[j][z].length - 1; + ydata[j][i] =arr[j][z][index]; + } + } + } + } + for(let i in ydata){ var arr = { - name: '', + name: i, type: 'line', areaStyle: {}, emphasis: { focus: 'series' }, - data: nrr[i] + data: ydata[i] } seriesData.push(arr); } diff --git a/web/srczip/logic/groupeditemspop.js b/web/srczip/logic/groupeditemspop.js index 04cb6d0..77477dc 100644 --- a/web/srczip/logic/groupeditemspop.js +++ b/web/srczip/logic/groupeditemspop.js @@ -5,7 +5,7 @@ this.parms = parms; this.callback = parms.callback; var data = parms.extData; - console.log(data); + var arr = [ {title:'默认区间',id:'def',checked:true}, {title:'离散数字',id:'discrete',checked:false}, @@ -62,7 +62,6 @@ $(".groupeditemspop-custom-box").hide(); } }) - X.laytpldata("#qvjian-box-dot",qvjian,".qvjian-box"); $(document).off('click','.qvjian-but').on('click','.qvjian-but',function(){ @@ -72,7 +71,6 @@ X.laytpldata("#qvjian-box-dot",qvjian,".qvjian-box"); }) - $(document).off('click','.qvjian input').on('blur','.qvjian input',function(){ var index = $(this).attr("data-index"); var tit = $(this).val(); diff --git a/web/srczip/logic/participate.js b/web/srczip/logic/participate.js new file mode 100644 index 0000000..40defd4 --- /dev/null +++ b/web/srczip/logic/participate.js @@ -0,0 +1,98 @@ +(function(){ + X.pageLogic['participate'] = { + init : function(parms){ + var me = this; + this.parms = parms; + this.callback = parms.callback; + var data = parms.extData; + + console.log(data); + X.laytpldata("#judge-box-dot",data.list,".setgrouping-box2 .setgrouping-content-box2"); + layui.form.render(); + + if( data.select && Object.keys(data.select).length > 0){ + var select = Object.keys(data['select']) + var selectdata = {}; + for(let i in select){ + selectdata[select[i]] = true; + } + layui.form.val('participateexample', selectdata); + } + + // 搜索 + $('.setgrouping-sousuo-txt-box input').bind('input propertychange', function() { + var value = $(this).val(); + console.log(data); + if(value != ""){ + $(".setgrouping-sousuo-txt-box img").show(); + var filteringdata = []; + for(let i in data.list){ + var detailsdata = []; + for(let j in data['list'][i]["category"]){ + if(data['list'][i]["category"][j]['event_name'].indexOf(value) != -1){ + detailsdata.push(data['list'][i]["category"][j]); + } + } + if(detailsdata.length >0){ + var arr = { + "title": data['list'][i]['title'], + "id":data['list'][i]['id'], + "category": detailsdata + }; + filteringdata.push(arr); + } + } + console.log(filteringdata); + X.laytpldata("#judge-box-dot",filteringdata,".setgrouping-box2 .setgrouping-content-box2"); + }else { + $(".setgrouping-sousuo-txt-box img").hide(); + X.laytpldata("#judge-box-dot",data.list,".setgrouping-box2 .setgrouping-content-box2"); + } + }) + + //清空按钮 + $(".setgrouping-sousuo-txt-box img").click(function(){ + $(".setgrouping-sousuo-txt-box input").val(""); + $(".setgrouping-sousuo-txt-box img").hide(); + X.laytpldata("#judge-box-dot",data.list,".setgrouping-box2 .setgrouping-content-box2"); + }) + + layui.form.on('checkbox(checkboxexample)', function(){ + var data = layui.form.val('participateexample'); + if(Object.keys(data).length >= 30){ + $(this).prop("checked", false); + } + }); + + $(document).off('click','.participate-but').on('click','.participate-but',function(){ + var dataarr = layui.form.val('participateexample'); + console.log(data); + var idarr = []; + for(let i in dataarr){ + var arr = i.substring(5); + arr = arr.substring(0,arr.length - 1); + idarr.push(arr); + } + var callbackdata = []; + for(let i in data['list']){ + for(let j in data['list'][i]['category']){ + for(let z in idarr){ + if(data['list'][i]['category'][j]['event_name'] == idarr[z]){ + var arr = { + 'event_desc': data['list'][i]['category'][j]['event_desc'], + 'event_name': data['list'][i]['category'][j]['event_name'] + } + callbackdata.push(arr); + } + } + + } + } + // console.log(callbackdata); + me.callback && me.callback(callbackdata); + layer.close( me.parms.layIndex );//获取最新的弹窗关闭 + }) + + } + }; +})(); diff --git a/web/srczip/logic/route.js b/web/srczip/logic/route.js index 5e82c4b..81c7d52 100644 --- a/web/srczip/logic/route.js +++ b/web/srczip/logic/route.js @@ -1,9 +1,17 @@ (function(){ X.pageLogic['route'] = { - init : function(){ + init : function(parms){ + var me = this; + if(parms){ + this.parms = parms; + var data = parms; + }else { + var data = [] + } + console.log(data); + X.laytpldata("#route-overall-situation-list-box-dot",data,"#event-roue-event"); - } }; })(); \ No newline at end of file diff --git a/web/srczip/logic/routeanalysis.js b/web/srczip/logic/routeanalysis.js new file mode 100644 index 0000000..7fdb0c9 --- /dev/null +++ b/web/srczip/logic/routeanalysis.js @@ -0,0 +1,240 @@ +(function(){ + X.pageLogic['routeanalysis'] = { + init : function(){ + var eventdata = {}; + X.api("data_auth/my_event","get",{},function(d){ + eventdata['list'] = d; + }) + + var data = { + "eventView":{ + "col_limit":10, + "startTime":"2021-06-22 00:00:00", + "recent_day":"1-7", + "session_interval":30, + "session_type":"minute", + "endTime":"2021-06-28 23:59:59" + }, + "events":{ + "by_fields":[ + + ], + "event_names":[], + "source_event":{ + "event_name":"complete_activity", + "event_Desc":"complete_activity", + "source_type":"initial_event", + "filts": [], + "relation":'and' + }, + "user_filter":{ + "filterType":"COMPOUND", + "filts":[] + } + } + } + + X.template("route","event-roue-event",data['events']['source_event']); + + // 日期渲染 + X.daterender("#route-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; + retaineddata(); + }) + + var time = $("#route-condition-date").val(); + var timearr = time.split(" "); + data['eventView']['startTime'] = timearr[0] + " "+"00:00:00"; + data['eventView']['endTime'] = timearr[2]+" "+"23:59:59"; + + $(document).off('click','.eventsplit').on('click','.eventsplit',function(){ + var routeevent = X['DATA']['routeevent']; + console.log(routeevent); + if( routeevent && routeevent.length > data['events']['by_fields'].length){ + var arr = { + "eventName": routeevent[data['events']['by_fields'].length]['id'], + "eventDesc": routeevent[data['events']['by_fields'].length]['title'], + "field":"rmbmoney", + "fieDesc":"rmbmoney", + "range":"", + "range_type":"def", + "table_type":"event" + }; + data['events']['by_fields'].push(arr); + X.laytpldata("#eventsplit-box-dot",data['events']['by_fields'],".eventsplit-box"); + + X.api("data_auth/load_filter_props","post",{event_name:routeevent[data['events']['by_fields'].length]['id']},function(val){ + console.log(val); + // defaultgroupdata = val; + groupitemeventsdata.push(val); + }) + + } + }) + + $(document).off('click','.route-action-right').on('click','.route-action-right',function(){ + var index = $(this).attr('data-index'); + data['events']['by_fields'].splice(index,1); + X.laytpldata("#eventsplit-box-dot",data['events']['by_fields'],".eventsplit-box"); + }) + + $(document).off('click','.participate-box').on('click','.participate-box',function(){ + var obj = $(this); + var offset = obj.offset(); + X.querycriteriapop(eventdata,'participate',offset.left,offset.top+obj.height(),function(val){ + var selectdata = []; //选中事件的id数组 + // var selectdescdata = []; //选中事件的别名数组 + for(let i in val){ + selectdata.push(val[i]['event_name']); + // selectdescdata.push(val[i]['event_desc']); + } + eventdata['select'] = selectdata; + data['event_names'] = selectdata; + $('.participate-num').html(selectdata.length); + + for(let i in val){ + var arr = { + title: val[i]['event_desc'] + ,id: val[i]['event_name'] + } + if(X.DATA['routeevent']){ + X.DATA['routeevent'].push(arr); + }else { + X.DATA['routeevent'] = []; + X.DATA['routeevent'].push(arr); + } + } + }) + }) + var groupitemeventsdata = []; + $(document).off('click','.route-ant-select-selector1').on('click','.route-ant-select-selector1',function(){ + var obj = $(this); + var offset = obj.offset(); + var index = obj.attr('data-index'); + X.querycriteriapop(X.DATA['routeevent'],'dropdownlist',offset.left,offset.top+obj.height(),function(val){ + obj.html(val.title); + data['events']['by_fields'][index]['eventDesc'] = val.title; + data['events']['by_fields'][index]['eventName'] = val.id; + X.api("data_auth/load_filter_props","post",{event_name:val.id},function(val){ + console.log(val); + // defaultgroupdata = val; + groupitemeventsdata.push(val); + }) + }) + }) + + // 过滤数据 + 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; + } + + $(document).off('click','.route-ant-select-selector2').on('click','.route-ant-select-selector2',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){ + console.log(val); + obj.html(val.title); + // data['events']['by_fields'][index]['eventDesc'] = val.title; + // data['events']['by_fields'][index]['eventName'] = val.id; + }) + }) + + $(document).off('click','.analysis-overall-situation-add').on('click','.analysis-overall-situation-add',function(){ + var drr={ + "columnName":'asdasd',//事件中文显示 + "column_id":'asdasd',//事件id + 'data_type':'asdasd',//类型 + 'comparator_name':'等于',//默认等于 + "comparator_id":'==',//符号id + "ftv":[],//条件 + "strftv":'',//显示条件 + "section":[-1,1],//区间 + "table_type":'asdasd' + }; + data['events']['user_filter']['filts'].push(drr); + if(data['events']['user_filter']['filts'].length > 1){ + $(".analysis-overall-situation-left-guanxi").show(); + }else{ + $(".analysis-overall-situation-left-guanxi").hide(); + } + X.template("globalfilter","xinwei-whole",data['events']['user_filter']['filts'],function(){ + // analysisdown(); + }); + }) + + $(document).off('click','.analysis-overall-situation-del').on('click','.analysis-overall-situation-del',function(){ + var index = $(this).attr('data-index'); + data['events']['user_filter']['filts'].splice(index,1); + // filtsftvdata.splice(index,1); + if(data['events']['user_filter']['filts'].length > 1){ + $(".analysis-overall-situation-left-guanxi").show(); + }else{ + $(".analysis-overall-situation-left-guanxi").hide(); + } + X.template("globalfilter","xinwei-whole",data['events']['user_filter']['filts'],function(){ + // analysisdown(); + }); + }) + + $(document).off('click','.analysis-shaix-initial-event').on('click','.analysis-shaix-initial-event',function(){ + addscreen(0) + }) + + $(document).off('click','.analysis-zhibiao-updata-initial-event').on('click','.analysis-zhibiao-updata-initial-event',function(){ + addscreen(0) + }) + + // 添加筛选项 + function addscreen(index){ + X.api('data_auth/load_filter_props',"post",{event_name:data['events']['source_event']["event_name"]},function(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']['source_event']['filts'].push(arr); + X.template("route","event-roue-event",data['events']['source_event']); //更新事件 + // screentypearr[index] = d; + // filtersymbols.push(d[0]['category'][0]["category"]); + }) + } + + $(document).off('click','.analysis-con-left-screen-list-right-screen-qh-tit').on('click','.analysis-con-left-screen-list-right-screen-qh-tit',function(){ + if($(this).html() == '或'){ + $(this).html('且'); + data['events']["source_event"]['relation'] = 'or'; + }else{ + $(this).html('或'); + data['events']["source_event"]['relation'] = 'and'; + } + }) + + } + }; +})(); \ No newline at end of file diff --git a/web/static/css/analysis.css b/web/static/css/analysis.css index 5020a4f..c0289fd 100644 --- a/web/static/css/analysis.css +++ b/web/static/css/analysis.css @@ -46,7 +46,8 @@ .analysis-con-left-title { padding: 10px 16px 12px; color: #202d3f; font-weight: 500; font-size: 13px; line-height: 18px; display: flex; justify-content: space-between; align-items: center; } .analysis-event-splitting { cursor: pointer; color: #67729d; } .analysis-event-splitting img { width: 14px; height: 14px; position: relative; top: -2px; } -.analysis-con-left-screen-box { min-height: 40px; } +.analysis-con-left-screen-box { min-height: 40px;} +.analysis-con-left-screen-box2 { min-height: 40px; display: flex; align-items: center; } .analysis-con-left-screen-list { padding: 8px 0; display: flex; justify-content: space-between; align-items: end; } .analysis-con-left-screen-list:hover{ background-color: #f6f8fa; } .analysis-background { border: 1px solid #f0f2f5; background-color: #fff !important; } @@ -54,6 +55,18 @@ .analysis-con-left-screen-list:hover > .analysis-zhibiao-list .analysis-zhibiao-list-type1 { background-color: #ffffff; } */ .analysis-con-left-screen-list:hover > .analysis-con-left-screen-list-right-box{ display: block; } .analysis-echarts { width: 100%; height: 400px; } +.eventsplit:hover { color: #4fa1ff; cursor: pointer; } +.eventsplit-box { padding: 0 8px; margin: 8px 8px; font-size: 13px; margin-bottom: 0; background-color: #f0f2f5; } +.action-left { display: flex; align-items: center; } +.action-row { display: flex; justify-content: space-between; align-items: center; } +.ant-select-selector2 { cursor: pointer; height: 28px; line-height: 28px; margin: 4px 0; padding: 0 6px; background-color: #fff; border: 1px solid #fff; border-radius: 2px; } +.word___2ZSA5 { margin: 0 4px; color: #42546d; font-size: 13px; } +.action-right { min-width: 24px; padding: 0 4px; line-height: 22px; height: 24px; text-align: center; cursor: pointer; display: none; } +.action-right img { width: 16px; height: 16px; } +.action-row:hover > .action-right{display: block;} +.route-time-input { padding: 0 8px; margin-left: 16px; width: 50px; height: 28px; line-height: 28px; border: 1px solid #f0f0f0; font-size: 13px; color: #42546d; border-radius: 2px; } +.route-condition { margin-left: 8px; padding: 0 8px; height: 28px; line-height: 28px; color: #42546d; font-size: 13px; border: 1px solid #f0f0f0; border-radius: 2px; cursor: pointer; } +.route-duration-explain { margin-left: 8px; } .analysis-num { width: 18px; height: 18px; margin-left: 6px; border-radius: 18px; background-color: #818bad; text-align: center; line-height: 18px; font-size: 12px; color: #ffffff; } .analysis-zhibiao-list { display: flex; flex-wrap: wrap; align-items: center; } @@ -101,7 +114,6 @@ .analysis-bottom-box div:hover { background-color: #e4f2ff; } .analysis-bottom-box div span img { width: 10px; height: 10px; position: relative; top: -1px; } -.analysis-con-left-screen-list-left-box { } .analysis-custom-box { width: 100%; display: none; } .analysis-custom-event-box { padding-left: 33px; padding-right: 8px; } .analysis-custom-event-box input{ width: 100%; border: 0px; height: 37px; line-height: 37px; background-color: rgba(0, 0, 0, 0); } @@ -127,6 +139,7 @@ /* 设置分组 */ .setgrouping-box { width: 560px; height: 440px; background-color: #fff; } +.setgrouping-box2 { width: 560px; height: 460px; background-color: #fff; } .setgrouping-sousuo-box { padding: 16px 16px 0 24px;} .setgrouping-sousuo-txt { height: 30px; border: 0; width: 100%; color:rgba(0,0,0,0.85); } .setgrouping-sousuo-txt-box { display: flex; align-items: center; padding: 0 0px 0 30px; background: url("../img/fangdajing2.png") no-repeat 100%; background-position: left;} @@ -138,13 +151,20 @@ .setgrouping-action-box-right div { margin-left: 8px; cursor: pointer; } .setgrouping-action-box-right div:hover { background-color: #f6f8fa; } .setgrouping-content-box { height: calc(100% - 120px); width: 100%; padding: 12px 0; overflow-x: hidden; overflow-y: auto; } +.setgrouping-content-box2 { height: calc(100% - 180px); width: 100%; padding: 12px 0; overflow-x: hidden; overflow-y: auto; } .setgrouping-content { margin-bottom: 12px; border-bottom: 1px solid #f0f0f0; padding: 0 16px 0 24px; color: #42546d; font-size: 14px; } .setgrouping-content-title { color: #42546d; font-size: 14px; line-height: 20px; } .setgrouping-content-list-box { display: flex; flex-wrap: wrap; padding: 8px 0 4px; color: #42546d; } .setgrouping-content-list { cursor: pointer; border-radius: 2px; margin-bottom: 4px; height: 28px; line-height: 28px; display: flex; justify-content: space-between; align-items: center; width: 235px; padding: 0 8px; } +.setgrouping-content-list2 { cursor: pointer; border-radius: 2px; margin-bottom: 4px; height: 28px; line-height: 28px; display: flex; align-items: center; width: 235px; padding: 0 8px; } .setgrouping-content-list:hover { background-color: #f6f8fa; } -.setgrouping-content-list-img { display: none; cursor: pointer;} +.setgrouping-content-list-img { display: none; cursor: pointer; } .setgrouping-content-list:hover > .setgrouping-content-list-img { display: block; } +.setgrouping-content-list-img2 { display: none; cursor: pointer; margin-left: 198px; } +.setgrouping-content-list2:hover > .setgrouping-content-list-img { display: block; } +.participate-but-box { display: flex; justify-content: flex-end; padding: 14px; } +.participate-but {cursor: pointer; padding: 0 16px; margin-left: 8px; height: 32px; color: #fff; font-weight: 400; font-size: 14px; line-height: 30px; text-shadow: none; background-color: #3d90ff; border-radius: 2px; text-align: center;} + .analysis-foot___P797w { margin-top: 4px; padding: 0 12px; } .analysis-footadd___2D4YB { display: inline-block; margin-right: 16px; padding: 4px; color: #3d90ff; font-size: 13px; line-height: 16px; border-radius: 2px; cursor: pointer; } @@ -259,5 +279,6 @@ .table-fenxi-box tr { text-align: center; border-left: 1px solid #e6e6e6; } .table-fenxi-box tr td{ padding: 10px 16px; color: #202d3f; font-size: 13px; font-weight: 400; border-right: 1px solid #e6e6e6; border-bottom: 1px solid #f0f2f5; } +.participate-box { color: #67729d; margin-left: 16px; padding: 0 6px; display: inline-block; min-width: 40px; height: 28px; font-size: 13px; line-height: 29px; border-radius: 2px; cursor: pointer; background-color: #fff; border: 1px solid #f0f2f5; }