diff --git a/web/pages/nodedetails.html b/web/pages/nodedetails.html index e586e35..99e80ea 100644 --- a/web/pages/nodedetails.html +++ b/web/pages/nodedetails.html @@ -5,10 +5,64 @@ -
-

节点事件:开始战斗

+
+
+ +
-
\ No newline at end of file + + + diff --git a/web/pages/route_userinfo.html b/web/pages/route_userinfo.html new file mode 100644 index 0000000..93df18e --- /dev/null +++ b/web/pages/route_userinfo.html @@ -0,0 +1,48 @@ +
+
+

2022-04-18 分组详情

+ +
+ +
+
+ + + + + + + + + +
+
+
+ +
+ + + + \ No newline at end of file diff --git a/web/pages/userinfolist.html b/web/pages/userinfolist.html index 557d231..7b7090a 100644 --- a/web/pages/userinfolist.html +++ b/web/pages/userinfolist.html @@ -4,7 +4,7 @@
- 用户搜索 / 用户列表 + 用户搜索 / 用户列表
diff --git a/web/src/macarons.js b/web/src/macarons.js new file mode 100644 index 0000000..398aa3f --- /dev/null +++ b/web/src/macarons.js @@ -0,0 +1,198 @@ +(function (root, factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['exports', 'echarts'], factory); + } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') { + // CommonJS + factory(exports, require('echarts')); + } else { + // Browser globals + factory({}, root.echarts); + } +}(this, function (exports, echarts) { + var log = function (msg) { + if (typeof console !== 'undefined') { + console && console.error && console.error(msg); + } + }; + if (!echarts) { + log('ECharts is not Loaded'); + return; + } + + var colorPalette = [ + '#2ec7c9','#b6a2de','#5ab1ef','#ffb980','#d87a80', + '#8d98b3','#e5cf0d','#97b552','#95706d','#dc69aa', + '#07a2a4','#9a7fd1','#588dd5','#f5994e','#c05050', + '#59678c','#c9ab00','#7eb00a','#6f5553','#c14089' + ]; + + + var theme = { + color: colorPalette, + + title: { + textStyle: { + fontWeight: 'normal', + color: '#008acd' + } + }, + + visualMap: { + itemWidth: 15, + color: ['#5ab1ef','#e0ffff'] + }, + + toolbox: { + iconStyle: { + normal: { + borderColor: colorPalette[0] + } + } + }, + + tooltip: { + backgroundColor: 'rgba(50,50,50,0.5)', + axisPointer : { + type : 'line', + lineStyle : { + color: '#008acd' + }, + crossStyle: { + color: '#008acd' + }, + shadowStyle : { + color: 'rgba(200,200,200,0.2)' + } + } + }, + + dataZoom: { + dataBackgroundColor: '#efefff', + fillerColor: 'rgba(182,162,222,0.2)', + handleColor: '#008acd' + }, + + grid: { + borderColor: '#eee' + }, + + categoryAxis: { + axisLine: { + lineStyle: { + color: '#008acd' + } + }, + splitLine: { + lineStyle: { + color: ['#eee'] + } + } + }, + + valueAxis: { + axisLine: { + lineStyle: { + color: '#008acd' + } + }, + splitArea : { + show : true, + areaStyle : { + color: ['rgba(250,250,250,0.1)','rgba(200,200,200,0.1)'] + } + }, + splitLine: { + lineStyle: { + color: ['#eee'] + } + } + }, + + timeline : { + lineStyle : { + color : '#008acd' + }, + controlStyle : { + normal : { color : '#008acd'}, + emphasis : { color : '#008acd'} + }, + symbol : 'emptyCircle', + symbolSize : 3 + }, + + line: { + smooth : true, + symbol: 'emptyCircle', + symbolSize: 3 + }, + + candlestick: { + itemStyle: { + normal: { + color: '#d87a80', + color0: '#2ec7c9', + lineStyle: { + color: '#d87a80', + color0: '#2ec7c9' + } + } + } + }, + + scatter: { + symbol: 'circle', + symbolSize: 4 + }, + + map: { + label: { + normal: { + textStyle: { + color: '#d87a80' + } + } + }, + itemStyle: { + normal: { + borderColor: '#eee', + areaColor: '#ddd' + }, + emphasis: { + areaColor: '#fe994e' + } + } + }, + + graph: { + color: colorPalette + }, + + gauge : { + axisLine: { + lineStyle: { + color: [[0.2, '#2ec7c9'],[0.8, '#5ab1ef'],[1, '#d87a80']], + width: 10 + } + }, + axisTick: { + splitNumber: 10, + length :15, + lineStyle: { + color: 'auto' + } + }, + splitLine: { + length :22, + lineStyle: { + color: 'auto' + } + }, + pointer : { + width : 5 + } + } + }; + + echarts.registerTheme('macarons', theme); +})); \ No newline at end of file diff --git a/web/src/x.min.js b/web/src/x.min.js index 55b9ce6..c894c91 100644 --- a/web/src/x.min.js +++ b/web/src/x.min.js @@ -137,8 +137,10 @@ var X = window.X || { (function(){ - //本地 + //本地李伟 // var ipurl = "http://10.0.0.240:7899/api/v1/"; + //本地李宗政 + // var ipurl = "http://10.0.0.94:7899/api/v1/"; // 线上 var ipurl = "http://139.159.159.3:9865/api/v1/"; //线上测试 @@ -966,7 +968,7 @@ var X = window.X || { X.eventsmall = function(data,callback){ var date,num,wowtype="",chain_ratiotype=""; //时间,当天数量 - // console.log(data); + // // for(let i in data){ // if(data[i]['groups']['length'] == 0){ @@ -1450,6 +1452,12 @@ var X = window.X || { X.DATA['eventid'] = ""; X.DATA['ltvid'] = ""; X.DATA['retentionid'] = ""; + X.DATA['user_propertyid'] = ""; + X.DATA['scatterid'] = ""; + X.DATA['traceid'] = ""; + if(url != "userinfolist" && url != "routeanalysis"){ + X.DATA['trace_query_cond'] = "" + } layer.closeAll(); }; @@ -1482,21 +1490,6 @@ var X = window.X || { } } - // $(document).keydown(function (event) { - // if (event.keyCode == 116) { - // event.preventDefault(); //阻止默认刷新 - // console.log('刷新'); - // var query = window.location.href; - // var querys = query.split("="); - // if(querys[1]){ - // $("#conetnt").html(""); - // var gourl = querys[1]; - // X.gourl(gourl,'conetnt'); - // } - // return false; - // } - // }); - }); window.onhashchange = function(){ @@ -3022,7 +3015,7 @@ var X = window.X || { this.parms = parms; this.callback = parms.callback; //选择后执行的回调 var data = parms.extData;//获取到上层弹窗传的数据 - // console.log(data); + // if(data){ // for(let i in data.ditch){ @@ -5099,7 +5092,7 @@ var X = window.X || { this.parms = parms; this.callback = parms.callback; //选择后执行的回调 var data = parms.extData;//获取到上层弹窗传的数据 - console.log(data); + X.api("authz/api_module","get",{},function(d){ X.laytpldata("#apiadd-apitype-box-dot",d,".apiadd-apitype-box",function(){ @@ -5999,7 +5992,7 @@ var X = window.X || { this.parms = parms; this.callback = parms.callback; //选择后执行的回调 var data = parms.extData;//获取到上层弹窗传的数据 - // console.log(data); + // X.api("project/","get",{},function(d){ X.laytpldata("#project-list-box-dot",d,".project-list-box"); @@ -6509,6 +6502,7 @@ var X = window.X || { }else if(cat == 'trace'){ gourl = 'routeanalysis'; } + X.gourl(gourl,'conetnt');//跳到对应的分析页面 X.DATA[cat+'id'] = id; }); @@ -7894,7 +7888,7 @@ var X = window.X || { 'where':where, 'default_field':baseeventdata }; - // console.log(data); + // X.api('check_data/check','post',data,function(d){ $(".datacheck-result-info-tongguo").html(""); $(".datacheck-result-info-cuowu").html(""); @@ -8205,7 +8199,7 @@ var X = window.X || { this.parms = parms; this.callback = parms.callback; //选择后执行的回调 var data = parms.extData;//获取到上层弹窗传的数据 - // console.log(data); + // if(data){ $(".datarightsedit-txt-input").html(data.owner_list); @@ -9265,7 +9259,7 @@ var X = window.X || { }else { var data = [] } - // console.log(data); + // X.laytpldata("#analysis-overall-situation-list-box-dot",data,"#initial-event"); } }; @@ -9439,7 +9433,7 @@ var X = window.X || { }else { var data = [] } - // console.log(data); + // X.laytpldata("#analysis-con-left-screen-list-dot",data,"#funnel-event"); } @@ -10266,7 +10260,7 @@ var X = window.X || { {title:'离散数字',id:'discrete',checked:false}, {title:'自定义区间',id:'user_defined',checked:false}, ] - // console.log(data); + // if(data!= ''){ for(let i in arr){ if(data['intervalType'] != ""){ @@ -10370,7 +10364,7 @@ var X = window.X || { this.parms = parms; this.callback = parms.callback; var data = parms.extData; - // console.log(data); + // if(data.default !=''){ for(let i in data.data){ if(data.data[i]['id'] == data.default){ @@ -10673,9 +10667,15 @@ var X = window.X || { }; submitdata = []; for(let i in toadddata){ + var graph_type = 'table'; + if(toadddata[i]['show_config']['graph_type']){ + graph_type = toadddata[i]['show_config']['graph_type'] + }else if(toadddata[i]['cat'] == "trace"){ + graph_type = "echarts" + } var arr = { report_id:toadddata[i]['_id'], - graph_type: toadddata[i]['show_config']['graph_type'] || 'table', + graph_type: graph_type, model:toadddata[i]['cat'], name:toadddata[i]['name'], graph_size:toadddata[i]['show_config']['graph_size'] || 'in', @@ -11569,7 +11569,7 @@ var X = window.X || { this.parms = parms; this.callback = parms.callback; var data = parms; - // console.log(data); + // X.laytpldata("#kanban-model-modify-type-dot",data,"model"+data.id,function(html){ // console.log(html); $("#model-two-"+data.id).html(html); @@ -11712,7 +11712,6 @@ var X = window.X || { }else { data = X.DATA.ProjectData; } - console.log(data); for(let i in data){ if(data[i]['name'] == name){ id = data[i]['_id'] @@ -11756,7 +11755,6 @@ var X = window.X || { arr['id'] = ProjectData[i]['_id'] data.push(arr); } - console.log(data); X.laydropdown("#newwenjianjustAnotherInputBox2",data,function(d){ spaceid = d.id; $("#newwenjianjustAnotherInputBox2").val(d.title); @@ -11815,7 +11813,6 @@ var X = window.X || { 'cat': type, 'pid':spaceid } - console.log(data); // return; X.api('folder/create',"post",data,function(d){ // if(d.msg == "ok"){ @@ -11836,12 +11833,36 @@ var X = window.X || { (function(){ X.pageLogic['nodedetails'] = { init : function(parms){ - var me = this; var me = this; this.parms = parms; this.callback = parms.callback; - - + var data = parms.extData; + console.log("nodedetails",data); + X.laytpldata("#nodedetails-event-box-scll-dot",data,".nodedetails-event-box-scll"); + + $(document).off('click','.nodedetails-top-box img').on('click','.nodedetails-top-box img',function(){ + layer.closeAll(); + }) + + $(document).off("click",'.nodedetails-event-userinfo').on("click",".nodedetails-event-userinfo",function(){ + var tit = $(this).attr("data-title"); + var type = $(this).attr("data-type"); + if(type || tit == "流失"){ + var namearr = data.name.split("-"); + tit = tit+"-"+ (Number(namearr[1])+Number(1)); + } + if(tit == "更多"){ + var namearr = data.name.split("-"); + tit = "more-up-"+ (Number(namearr[1])+Number(1)); + } + + data.data['events']['event_name'] = tit; + data.data['events']['page'] = 1; + data.data['events']['event_next'] = data.event_next; + X.gourl('userinfolist','conetnt');//跳到对应的分析页面 + X.DATA['trace_query_cond'] = data.data; + }) + } }; })(); @@ -11867,7 +11888,6 @@ var X = window.X || { 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(); @@ -11884,7 +11904,7 @@ var X = window.X || { // 搜索 $('.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 = []; @@ -11924,7 +11944,7 @@ var X = window.X || { layui.form.on('checkbox(checkboxexample)', function(){ var data = layui.form.val('participateexample'); - console.log(data); + if(Object.keys(data).length >= 30){ $(this).prop("checked", false); } @@ -11932,7 +11952,7 @@ var X = window.X || { $(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); @@ -12883,7 +12903,7 @@ var X = window.X || { // 计算按钮 $(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){ - // console.log(data); + // retaineddata() }); @@ -13384,7 +13404,7 @@ var X = window.X || { }else { var data = [] } - // console.log(data); + // X.laytpldata("#analysis-overall-situation-list-box-return-dot",data,"#returnvisit-event"); } @@ -13432,12 +13452,38 @@ var X = window.X || { }else { var data = [] } - console.log(data); + X.laytpldata("#route-overall-situation-list-box-dot",data,"#event-roue-event"); } }; })(); +// srczip/logic/route_userinfo.js +(function(){ + X.pageLogic['route_userinfo'] = { + init : function(parms){ + var me = this; + this.parms = parms; + this.callback = parms.callback; + var data = parms.extData; + + data['eventView']['endTime'] = data.time+" 23:59:59"; + data['eventView']['startTime'] = data.time+" 00:00:00"; + + X.api("ck/scatter_model_details","post",data,function(d){ + + + }); + + // $(document).off("click",'.grouptable-title-box img').on("click",'.grouptable-title-box img',function(){ + // data.eventView['download'] = 1; + // X.download("ck/scatter_model_details",data,'分布分析') + // }) + + + } + }; +})(); // srczip/logic/routeanalysis.js (function(){ X.pageLogic['routeanalysis'] = { @@ -13487,7 +13533,7 @@ var X = window.X || { // data['eventView']['startTime'] = startTime; // data['eventView']['endTime'] = endTime; // X.api("ck/trace_model","post",data,function(d){ - // routeanalysisdata(d); + // // }) // }) @@ -13539,13 +13585,20 @@ var X = window.X || { $('.analysis-saveas').show(); } X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){ - backfilldata(d[0]); + backfilldata(d[0].query); // console.log(d); }) } + + if(X.DATA['trace_query_cond'] && X.DATA['trace_query_cond'] != ''){ + // data = X.DATA['trace_query_cond']; + backfilldata(X.DATA['trace_query_cond']); + } + + function backfilldata(d){ if(d){ - data = d.query; + data = d; $('.route-time-input').val(data['eventView']['session_interval']); if(data['eventView']['session_type'] == "second"){ $(".route-condition").html("秒"); @@ -14017,19 +14070,55 @@ var X = window.X || { // 图表单击事件 myChart.setOption(option); - - + + // 绑定前解绑click事件 + myChart.off("click"); // 跳转节点详情弹窗 myChart.on('click', function (params) { - // console.log(params); - // X.open({ - // type: 1, - // title: false, - // closeBtn: 0, - // shadeClose: true, - // skin: 'yourclass', - // url: 'nodedetails' - // }) + var name = params.name; + if(name.indexOf("流失") == -1){ + var event_next = d.event_next[name]; + + var titarr = {}; + var namearr = []; + var nextsum = 0; + for(let i in event_next){ + var tit = event_next[i]['event_name'].split("-")[0]; + if(namearr.indexOf(tit) < 0){ + namearr.push(tit); + titarr[tit] = {}; + titarr[tit]['data'] = []; + titarr[tit]['sum'] = 0; + } + var value = event_next[i].value; + titarr[tit]['sum'] = titarr[tit]['sum'] + value; + titarr[tit]['data'].push(event_next[i]); + if(tit != "流失"){ + nextsum += event_next[i].value; + } + } + + var echartsdata = { + name: name, + sumnum: d.event_num[name], + nextsum: nextsum, + titarr: titarr, + namearr:namearr, + data:data, + event_next: event_next + } + + X.open({ + type: 1, + title: false, + closeBtn: 0, + shadeClose: true, + skin: 'yourclass', + url: 'nodedetails', + extData: echartsdata + }) + } + }); @@ -14163,7 +14252,7 @@ var X = window.X || { var data = parms.extData; layui.form.render(); if(data._id){ - console.log(data); + layui.form.val('savereportexample', { "title": data['name'] ,"desc": data['desc'] @@ -14455,7 +14544,7 @@ var X = window.X || { // 计算按钮 $(document).off('click','.screen-right-box .jisuan').on('click','.screen-right-box .jisuan',function(){ - console.log(data); + // 刷新看板里的数据暂时没有 me.callback && me.callback(data); }); @@ -14863,7 +14952,7 @@ var X = window.X || { } // console.log(updatatype); // X.submitrecord() - // console.log(data); + // // console.log(arr); me.callback && me.callback(d); layer.closeAll(); @@ -14963,7 +15052,7 @@ var X = window.X || { X.DATA["game"] = d[0]["game"]; }); } - console.log(data); + // 选择项目 X.laytpldata("#toptab-dot",data,"#analysis-zhanwei"); @@ -15587,55 +15676,104 @@ var X = window.X || { X.pageLogic['userinfolist'] = { init : function(){ - var data = X['ueser_search_data']; + // 当X.DATA.traceid部位空时,是从路径分析进入 + if(X.DATA['trace_query_cond'] && X.DATA['trace_query_cond'] != ''){ + var trace_query_cond = X.DATA['trace_query_cond']; + $(".userinfolist-type").html("路径分析"); + var sumlist = 0; + var configpagestype = 0; + updatatraceuserlist(); + function updatatraceuserlist(){ + X.api("ck/trace_user_info_model","post",trace_query_cond,function(d){ + $("#userinfolist-table-box").html(""); + $(".userinfolist_body_line_left_num span").html(d.user_num); + sumlist = d.user_num; + X.laytpldata("#userinfolist-table-box-dot",d,".userinfolist-table-box",function(){ + var tableMul = new FixedTable("dataTableMul-userlist", 1); + if(configpagestype == 0){ + configpages(); + configpagestype++ + } - updatauserlist(); - X.api('ck/seek_user_count','post', X['ueser_search_data'] ,function (d){ + }); + }) + } + configpages(); + function configpages(){ + layui.laypage.render({ + elem: 'laypages' //注意,这里的 test1 是 ID,不用加 # 号 + ,count: sumlist, //数据总数,从服务端得到 + limit:10, //每页条数设置 + jump: function(obj, first){ - $(".userinfolist_body_line_left_num span").html(d); - layui.laypage.render({ - elem: 'laypages' //注意,这里的 test1 是 ID,不用加 # 号 - ,count: d, //数据总数,从服务端得到 - limit:10, //每页条数设置 - jump: function(obj, first){ + trace_query_cond['events']['page']=obj.curr; //改变当前页码 - data['pages']=obj.curr; //改变当前页码 - - //首次不执行 - if(!first){ - updatauserlist(); //加载数据 + //首次不执行 + if(!first){ + updatatraceuserlist(); //加载数据 + } } - } - }); - }); - - $(document).off("click",'.userinfolist-page_table .table-fixed tbody tr td').on("click",".userinfolist-page_table .table-fixed tbody tr td",function(){ - var id = $(this).attr("data-id"); - X['DATA']['search-user-id'] = id; - X.gourl('userinfo','conetnt'); - }); - - function updatauserlist(){ - X.api('ck/seek_user','post', data ,function (val){ - $("#userinfolist-table-box").html(""); - X.laytpldata("#userinfolist-table-box-dot",val,".userinfolist-table-box",function(){ - var tableMul = new FixedTable("dataTableMul-userlist", 1); }); + }; - // X.laytpldata("#userinfolist-title-box-dot",val.details_data.new_columns,".userinfolist-title-box"); - // X.laytpldata("#userinfolist-list-box-dot",val.details_data.new_values,".userinfolist-list-box",function(){ - // var tableMul = new FixedTable("dataTableMul-userlist", 1); - // }); + $(document).off('click',".userinfolist-type").on('click','.userinfolist-type',function(){ + X.gourl('routeanalysis','conetnt'); + }) + + }else { + //从用户搜索进入 + var data = X['ueser_search_data']; + + updatauserlist(); + X.api('ck/seek_user_count','post', X['ueser_search_data'] ,function (d){ + + $(".userinfolist_body_line_left_num span").html(d); + layui.laypage.render({ + elem: 'laypages' //注意,这里的 test1 是 ID,不用加 # 号 + ,count: d, //数据总数,从服务端得到 + limit:10, //每页条数设置 + jump: function(obj, first){ + + data['pages']=obj.curr; //改变当前页码 + + //首次不执行 + if(!first){ + updatauserlist(); //加载数据 + } + } + }); }); - - }; - //下载 - $(document).off("click",'.download-user-data').on("click",".download-user-data",function(){ + $(document).off("click",'.userinfolist-page_table .table-fixed tbody tr td').on("click",".userinfolist-page_table .table-fixed tbody tr td",function(){ + var id = $(this).attr("data-id"); + X['DATA']['search-user-id'] = id; + X.gourl('userinfo','conetnt'); + }); - X.download('ck/download_user',data,'用户报表'); + function updatauserlist(){ + X.api('ck/seek_user','post', data ,function (val){ + $("#userinfolist-table-box").html(""); + X.laytpldata("#userinfolist-table-box-dot",val,".userinfolist-table-box",function(){ + var tableMul = new FixedTable("dataTableMul-userlist", 1); + }); - }); + // X.laytpldata("#userinfolist-title-box-dot",val.details_data.new_columns,".userinfolist-title-box"); + // X.laytpldata("#userinfolist-list-box-dot",val.details_data.new_values,".userinfolist-list-box",function(){ + // var tableMul = new FixedTable("dataTableMul-userlist", 1); + // }); + }); + + }; + + //下载 + $(document).off("click",'.download-user-data').on("click",".download-user-data",function(){ + + X.download('ck/download_user',data,'用户报表'); + + }); + } + + }, @@ -15682,7 +15820,7 @@ var X = window.X || { // 监听单行事件 layui.table.on('row(userlabeltest)',function(obj){ var data = obj.data - // console.log(data); + // X.DATA.userlabelid = data._id; X.api("user_label/cluster_user_count","post",{cluster_name:data.cluster_name},function(d){ @@ -16052,7 +16190,7 @@ var X = window.X || { }else { var data = [] } - console.log(data); + X.laytpldata("#userpar-overall-situation-list-box-dot",data[0],"#userpar-event"); } diff --git a/web/srczip/base/ajaxpage.js b/web/srczip/base/ajaxpage.js index fd8119d..1d898f2 100644 --- a/web/srczip/base/ajaxpage.js +++ b/web/srczip/base/ajaxpage.js @@ -49,6 +49,12 @@ X.DATA['eventid'] = ""; X.DATA['ltvid'] = ""; X.DATA['retentionid'] = ""; + X.DATA['user_propertyid'] = ""; + X.DATA['scatterid'] = ""; + X.DATA['traceid'] = ""; + if(url != "userinfolist" && url != "routeanalysis"){ + X.DATA['trace_query_cond'] = "" + } layer.closeAll(); }; @@ -81,21 +87,6 @@ } } - // $(document).keydown(function (event) { - // if (event.keyCode == 116) { - // event.preventDefault(); //阻止默认刷新 - // console.log('刷新'); - // var query = window.location.href; - // var querys = query.split("="); - // if(querys[1]){ - // $("#conetnt").html(""); - // var gourl = querys[1]; - // X.gourl(gourl,'conetnt'); - // } - // return false; - // } - // }); - }); window.onhashchange = function(){ diff --git a/web/srczip/common.js b/web/srczip/common.js index 954b134..a6d2a9b 100644 --- a/web/srczip/common.js +++ b/web/srczip/common.js @@ -136,8 +136,10 @@ var X = window.X || { (function(){ - //本地 + //本地李伟 // var ipurl = "http://10.0.0.240:7899/api/v1/"; + //本地李宗政 + // var ipurl = "http://10.0.0.94:7899/api/v1/"; // 线上 var ipurl = "http://139.159.159.3:9865/api/v1/"; //线上测试 @@ -965,7 +967,7 @@ var X = window.X || { X.eventsmall = function(data,callback){ var date,num,wowtype="",chain_ratiotype=""; //时间,当天数量 - // console.log(data); + // // for(let i in data){ // if(data[i]['groups']['length'] == 0){ diff --git a/web/srczip/logic/addproject_owner_name.js b/web/srczip/logic/addproject_owner_name.js index 95ffafc..8b57d0b 100644 --- a/web/srczip/logic/addproject_owner_name.js +++ b/web/srczip/logic/addproject_owner_name.js @@ -5,7 +5,7 @@ this.parms = parms; this.callback = parms.callback; //选择后执行的回调 var data = parms.extData;//获取到上层弹窗传的数据 - // console.log(data); + // if(data){ // for(let i in data.ditch){ diff --git a/web/srczip/logic/apiadmin_add.js b/web/srczip/logic/apiadmin_add.js index 9f10cca..1e4547e 100644 --- a/web/srczip/logic/apiadmin_add.js +++ b/web/srczip/logic/apiadmin_add.js @@ -5,7 +5,7 @@ this.parms = parms; this.callback = parms.callback; //选择后执行的回调 var data = parms.extData;//获取到上层弹窗传的数据 - console.log(data); + X.api("authz/api_module","get",{},function(d){ X.laytpldata("#apiadd-apitype-box-dot",d,".apiadd-apitype-box",function(){ diff --git a/web/srczip/logic/copyreport.js b/web/srczip/logic/copyreport.js index b31b762..ded7e12 100644 --- a/web/srczip/logic/copyreport.js +++ b/web/srczip/logic/copyreport.js @@ -5,7 +5,7 @@ this.parms = parms; this.callback = parms.callback; //选择后执行的回调 var data = parms.extData;//获取到上层弹窗传的数据 - // console.log(data); + // X.api("project/","get",{},function(d){ X.laytpldata("#project-list-box-dot",d,".project-list-box"); diff --git a/web/srczip/logic/dashboard.js b/web/srczip/logic/dashboard.js index 55c40c2..aada993 100644 --- a/web/srczip/logic/dashboard.js +++ b/web/srczip/logic/dashboard.js @@ -455,6 +455,7 @@ }else if(cat == 'trace'){ gourl = 'routeanalysis'; } + X.gourl(gourl,'conetnt');//跳到对应的分析页面 X.DATA[cat+'id'] = id; }); diff --git a/web/srczip/logic/datacheck.js b/web/srczip/logic/datacheck.js index 020f449..824d324 100644 --- a/web/srczip/logic/datacheck.js +++ b/web/srczip/logic/datacheck.js @@ -270,7 +270,7 @@ 'where':where, 'default_field':baseeventdata }; - // console.log(data); + // X.api('check_data/check','post',data,function(d){ $(".datacheck-result-info-tongguo").html(""); $(".datacheck-result-info-cuowu").html(""); diff --git a/web/srczip/logic/datarightsedit.js b/web/srczip/logic/datarightsedit.js index a937fea..940788a 100644 --- a/web/srczip/logic/datarightsedit.js +++ b/web/srczip/logic/datarightsedit.js @@ -5,7 +5,7 @@ this.parms = parms; this.callback = parms.callback; //选择后执行的回调 var data = parms.extData;//获取到上层弹窗传的数据 - // console.log(data); + // if(data){ $(".datarightsedit-txt-input").html(data.owner_list); diff --git a/web/srczip/logic/event.js b/web/srczip/logic/event.js index 3afff5d..8114a65 100644 --- a/web/srczip/logic/event.js +++ b/web/srczip/logic/event.js @@ -8,7 +8,7 @@ }else { var data = [] } - // console.log(data); + // X.laytpldata("#analysis-overall-situation-list-box-dot",data,"#initial-event"); } }; diff --git a/web/srczip/logic/funnel.js b/web/srczip/logic/funnel.js index 7551951..85d130b 100644 --- a/web/srczip/logic/funnel.js +++ b/web/srczip/logic/funnel.js @@ -8,7 +8,7 @@ }else { var data = [] } - // console.log(data); + // X.laytpldata("#analysis-con-left-screen-list-dot",data,"#funnel-event"); } diff --git a/web/srczip/logic/groupeditemspop.js b/web/srczip/logic/groupeditemspop.js index 42dcdfc..979cafa 100644 --- a/web/srczip/logic/groupeditemspop.js +++ b/web/srczip/logic/groupeditemspop.js @@ -11,7 +11,7 @@ {title:'离散数字',id:'discrete',checked:false}, {title:'自定义区间',id:'user_defined',checked:false}, ] - // console.log(data); + // if(data!= ''){ for(let i in arr){ if(data['intervalType'] != ""){ diff --git a/web/srczip/logic/groupitem.js b/web/srczip/logic/groupitem.js index 4c06feb..e295c39 100644 --- a/web/srczip/logic/groupitem.js +++ b/web/srczip/logic/groupitem.js @@ -5,7 +5,7 @@ this.parms = parms; this.callback = parms.callback; var data = parms.extData; - // console.log(data); + // if(data.default !=''){ for(let i in data.data){ if(data.data[i]['id'] == data.default){ diff --git a/web/srczip/logic/kanbanadmin.js b/web/srczip/logic/kanbanadmin.js index 37e2c07..b2b6d5c 100644 --- a/web/srczip/logic/kanbanadmin.js +++ b/web/srczip/logic/kanbanadmin.js @@ -159,9 +159,15 @@ }; submitdata = []; for(let i in toadddata){ + var graph_type = 'table'; + if(toadddata[i]['show_config']['graph_type']){ + graph_type = toadddata[i]['show_config']['graph_type'] + }else if(toadddata[i]['cat'] == "trace"){ + graph_type = "echarts" + } var arr = { report_id:toadddata[i]['_id'], - graph_type: toadddata[i]['show_config']['graph_type'] || 'table', + graph_type: graph_type, model:toadddata[i]['cat'], name:toadddata[i]['name'], graph_size:toadddata[i]['show_config']['graph_size'] || 'in', diff --git a/web/srczip/logic/modeltype.js b/web/srczip/logic/modeltype.js index 9ea2a0d..8af32e7 100644 --- a/web/srczip/logic/modeltype.js +++ b/web/srczip/logic/modeltype.js @@ -5,7 +5,7 @@ this.parms = parms; this.callback = parms.callback; var data = parms; - // console.log(data); + // X.laytpldata("#kanban-model-modify-type-dot",data,"model"+data.id,function(html){ // console.log(html); $("#model-two-"+data.id).html(html); diff --git a/web/srczip/logic/newkanban.js b/web/srczip/logic/newkanban.js index d5e9018..3bcbd83 100644 --- a/web/srczip/logic/newkanban.js +++ b/web/srczip/logic/newkanban.js @@ -94,7 +94,6 @@ }else { data = X.DATA.ProjectData; } - console.log(data); for(let i in data){ if(data[i]['name'] == name){ id = data[i]['_id'] diff --git a/web/srczip/logic/newwenjian.js b/web/srczip/logic/newwenjian.js index e5b96cd..e0f8a49 100644 --- a/web/srczip/logic/newwenjian.js +++ b/web/srczip/logic/newwenjian.js @@ -21,7 +21,6 @@ arr['id'] = ProjectData[i]['_id'] data.push(arr); } - console.log(data); X.laydropdown("#newwenjianjustAnotherInputBox2",data,function(d){ spaceid = d.id; $("#newwenjianjustAnotherInputBox2").val(d.title); @@ -80,7 +79,6 @@ 'cat': type, 'pid':spaceid } - console.log(data); // return; X.api('folder/create',"post",data,function(d){ // if(d.msg == "ok"){ diff --git a/web/srczip/logic/nodedetails.js b/web/srczip/logic/nodedetails.js new file mode 100644 index 0000000..e2e5872 --- /dev/null +++ b/web/srczip/logic/nodedetails.js @@ -0,0 +1,36 @@ +(function(){ + X.pageLogic['nodedetails'] = { + init : function(parms){ + var me = this; + this.parms = parms; + this.callback = parms.callback; + var data = parms.extData; + console.log("nodedetails",data); + X.laytpldata("#nodedetails-event-box-scll-dot",data,".nodedetails-event-box-scll"); + + $(document).off('click','.nodedetails-top-box img').on('click','.nodedetails-top-box img',function(){ + layer.closeAll(); + }) + + $(document).off("click",'.nodedetails-event-userinfo').on("click",".nodedetails-event-userinfo",function(){ + var tit = $(this).attr("data-title"); + var type = $(this).attr("data-type"); + if(type || tit == "流失"){ + var namearr = data.name.split("-"); + tit = tit+"-"+ (Number(namearr[1])+Number(1)); + } + if(tit == "更多"){ + var namearr = data.name.split("-"); + tit = "more-up-"+ (Number(namearr[1])+Number(1)); + } + + data.data['events']['event_name'] = tit; + data.data['events']['page'] = 1; + data.data['events']['event_next'] = data.event_next; + X.gourl('userinfolist','conetnt');//跳到对应的分析页面 + X.DATA['trace_query_cond'] = data.data; + }) + + } + }; +})(); \ No newline at end of file diff --git a/web/srczip/logic/participate.js b/web/srczip/logic/participate.js index b81d2a4..2bd367d 100644 --- a/web/srczip/logic/participate.js +++ b/web/srczip/logic/participate.js @@ -6,7 +6,6 @@ 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(); @@ -23,7 +22,7 @@ // 搜索 $('.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 = []; @@ -63,7 +62,7 @@ layui.form.on('checkbox(checkboxexample)', function(){ var data = layui.form.val('participateexample'); - console.log(data); + if(Object.keys(data).length >= 30){ $(this).prop("checked", false); } @@ -71,7 +70,7 @@ $(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); diff --git a/web/srczip/logic/retained.js b/web/srczip/logic/retained.js index b038a3c..442bd64 100644 --- a/web/srczip/logic/retained.js +++ b/web/srczip/logic/retained.js @@ -541,7 +541,7 @@ // 计算按钮 $(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){ - // console.log(data); + // retaineddata() }); diff --git a/web/srczip/logic/returnvisitevent.js b/web/srczip/logic/returnvisitevent.js index c3d8aad..0b61103 100644 --- a/web/srczip/logic/returnvisitevent.js +++ b/web/srczip/logic/returnvisitevent.js @@ -8,7 +8,7 @@ }else { var data = [] } - // console.log(data); + // X.laytpldata("#analysis-overall-situation-list-box-return-dot",data,"#returnvisit-event"); } diff --git a/web/srczip/logic/route.js b/web/srczip/logic/route.js index 81c7d52..3fbb56d 100644 --- a/web/srczip/logic/route.js +++ b/web/srczip/logic/route.js @@ -9,7 +9,7 @@ }else { var data = [] } - console.log(data); + X.laytpldata("#route-overall-situation-list-box-dot",data,"#event-roue-event"); } diff --git a/web/srczip/logic/route_userinfo.js b/web/srczip/logic/route_userinfo.js new file mode 100644 index 0000000..73c2f22 --- /dev/null +++ b/web/srczip/logic/route_userinfo.js @@ -0,0 +1,25 @@ +(function(){ + X.pageLogic['route_userinfo'] = { + init : function(parms){ + var me = this; + this.parms = parms; + this.callback = parms.callback; + var data = parms.extData; + + data['eventView']['endTime'] = data.time+" 23:59:59"; + data['eventView']['startTime'] = data.time+" 00:00:00"; + + X.api("ck/scatter_model_details","post",data,function(d){ + + + }); + + // $(document).off("click",'.grouptable-title-box img').on("click",'.grouptable-title-box img',function(){ + // data.eventView['download'] = 1; + // X.download("ck/scatter_model_details",data,'分布分析') + // }) + + + } + }; +})(); \ No newline at end of file diff --git a/web/srczip/logic/routeanalysis.js b/web/srczip/logic/routeanalysis.js index b983682..b2e7e24 100644 --- a/web/srczip/logic/routeanalysis.js +++ b/web/srczip/logic/routeanalysis.js @@ -46,7 +46,7 @@ // data['eventView']['startTime'] = startTime; // data['eventView']['endTime'] = endTime; // X.api("ck/trace_model","post",data,function(d){ - // routeanalysisdata(d); + // // }) // }) @@ -98,13 +98,20 @@ $('.analysis-saveas').show(); } X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){ - backfilldata(d[0]); + backfilldata(d[0].query); // console.log(d); }) } + + if(X.DATA['trace_query_cond'] && X.DATA['trace_query_cond'] != ''){ + // data = X.DATA['trace_query_cond']; + backfilldata(X.DATA['trace_query_cond']); + } + + function backfilldata(d){ if(d){ - data = d.query; + data = d; $('.route-time-input').val(data['eventView']['session_interval']); if(data['eventView']['session_type'] == "second"){ $(".route-condition").html("秒"); @@ -576,19 +583,55 @@ // 图表单击事件 myChart.setOption(option); - - + + // 绑定前解绑click事件 + myChart.off("click"); // 跳转节点详情弹窗 myChart.on('click', function (params) { - // console.log(params); - // X.open({ - // type: 1, - // title: false, - // closeBtn: 0, - // shadeClose: true, - // skin: 'yourclass', - // url: 'nodedetails' - // }) + var name = params.name; + if(name.indexOf("流失") == -1){ + var event_next = d.event_next[name]; + + var titarr = {}; + var namearr = []; + var nextsum = 0; + for(let i in event_next){ + var tit = event_next[i]['event_name'].split("-")[0]; + if(namearr.indexOf(tit) < 0){ + namearr.push(tit); + titarr[tit] = {}; + titarr[tit]['data'] = []; + titarr[tit]['sum'] = 0; + } + var value = event_next[i].value; + titarr[tit]['sum'] = titarr[tit]['sum'] + value; + titarr[tit]['data'].push(event_next[i]); + if(tit != "流失"){ + nextsum += event_next[i].value; + } + } + + var echartsdata = { + name: name, + sumnum: d.event_num[name], + nextsum: nextsum, + titarr: titarr, + namearr:namearr, + data:data, + event_next: event_next + } + + X.open({ + type: 1, + title: false, + closeBtn: 0, + shadeClose: true, + skin: 'yourclass', + url: 'nodedetails', + extData: echartsdata + }) + } + }); diff --git a/web/srczip/logic/savereport.js b/web/srczip/logic/savereport.js index 65c8e10..db7611f 100644 --- a/web/srczip/logic/savereport.js +++ b/web/srczip/logic/savereport.js @@ -7,7 +7,7 @@ var data = parms.extData; layui.form.render(); if(data._id){ - console.log(data); + layui.form.val('savereportexample', { "title": data['name'] ,"desc": data['desc'] diff --git a/web/srczip/logic/screen.js b/web/srczip/logic/screen.js index b68510f..4980378 100644 --- a/web/srczip/logic/screen.js +++ b/web/srczip/logic/screen.js @@ -232,7 +232,7 @@ // 计算按钮 $(document).off('click','.screen-right-box .jisuan').on('click','.screen-right-box .jisuan',function(){ - console.log(data); + // 刷新看板里的数据暂时没有 me.callback && me.callback(data); }); diff --git a/web/srczip/logic/setupbaobiao.js b/web/srczip/logic/setupbaobiao.js index 96cc65c..cdd7eae 100644 --- a/web/srczip/logic/setupbaobiao.js +++ b/web/srczip/logic/setupbaobiao.js @@ -192,7 +192,7 @@ } // console.log(updatatype); // X.submitrecord() - // console.log(data); + // // console.log(arr); me.callback && me.callback(d); layer.closeAll(); diff --git a/web/srczip/logic/toptab.js b/web/srczip/logic/toptab.js index ef8b76e..2baccf6 100644 --- a/web/srczip/logic/toptab.js +++ b/web/srczip/logic/toptab.js @@ -14,7 +14,7 @@ X.DATA["game"] = d[0]["game"]; }); } - console.log(data); + // 选择项目 X.laytpldata("#toptab-dot",data,"#analysis-zhanwei"); diff --git a/web/srczip/logic/userinfolist.js b/web/srczip/logic/userinfolist.js index f6d4f82..00be0ca 100644 --- a/web/srczip/logic/userinfolist.js +++ b/web/srczip/logic/userinfolist.js @@ -3,55 +3,104 @@ X.pageLogic['userinfolist'] = { init : function(){ - var data = X['ueser_search_data']; + // 当X.DATA.traceid部位空时,是从路径分析进入 + if(X.DATA['trace_query_cond'] && X.DATA['trace_query_cond'] != ''){ + var trace_query_cond = X.DATA['trace_query_cond']; + $(".userinfolist-type").html("路径分析"); + var sumlist = 0; + var configpagestype = 0; + updatatraceuserlist(); + function updatatraceuserlist(){ + X.api("ck/trace_user_info_model","post",trace_query_cond,function(d){ + $("#userinfolist-table-box").html(""); + $(".userinfolist_body_line_left_num span").html(d.user_num); + sumlist = d.user_num; + X.laytpldata("#userinfolist-table-box-dot",d,".userinfolist-table-box",function(){ + var tableMul = new FixedTable("dataTableMul-userlist", 1); + if(configpagestype == 0){ + configpages(); + configpagestype++ + } - updatauserlist(); - X.api('ck/seek_user_count','post', X['ueser_search_data'] ,function (d){ + }); + }) + } + configpages(); + function configpages(){ + layui.laypage.render({ + elem: 'laypages' //注意,这里的 test1 是 ID,不用加 # 号 + ,count: sumlist, //数据总数,从服务端得到 + limit:10, //每页条数设置 + jump: function(obj, first){ - $(".userinfolist_body_line_left_num span").html(d); - layui.laypage.render({ - elem: 'laypages' //注意,这里的 test1 是 ID,不用加 # 号 - ,count: d, //数据总数,从服务端得到 - limit:10, //每页条数设置 - jump: function(obj, first){ + trace_query_cond['events']['page']=obj.curr; //改变当前页码 - data['pages']=obj.curr; //改变当前页码 - - //首次不执行 - if(!first){ - updatauserlist(); //加载数据 + //首次不执行 + if(!first){ + updatatraceuserlist(); //加载数据 + } } - } - }); - }); - - $(document).off("click",'.userinfolist-page_table .table-fixed tbody tr td').on("click",".userinfolist-page_table .table-fixed tbody tr td",function(){ - var id = $(this).attr("data-id"); - X['DATA']['search-user-id'] = id; - X.gourl('userinfo','conetnt'); - }); - - function updatauserlist(){ - X.api('ck/seek_user','post', data ,function (val){ - $("#userinfolist-table-box").html(""); - X.laytpldata("#userinfolist-table-box-dot",val,".userinfolist-table-box",function(){ - var tableMul = new FixedTable("dataTableMul-userlist", 1); }); + }; - // X.laytpldata("#userinfolist-title-box-dot",val.details_data.new_columns,".userinfolist-title-box"); - // X.laytpldata("#userinfolist-list-box-dot",val.details_data.new_values,".userinfolist-list-box",function(){ - // var tableMul = new FixedTable("dataTableMul-userlist", 1); - // }); + $(document).off('click',".userinfolist-type").on('click','.userinfolist-type',function(){ + X.gourl('routeanalysis','conetnt'); + }) + + }else { + //从用户搜索进入 + var data = X['ueser_search_data']; + + updatauserlist(); + X.api('ck/seek_user_count','post', X['ueser_search_data'] ,function (d){ + + $(".userinfolist_body_line_left_num span").html(d); + layui.laypage.render({ + elem: 'laypages' //注意,这里的 test1 是 ID,不用加 # 号 + ,count: d, //数据总数,从服务端得到 + limit:10, //每页条数设置 + jump: function(obj, first){ + + data['pages']=obj.curr; //改变当前页码 + + //首次不执行 + if(!first){ + updatauserlist(); //加载数据 + } + } + }); }); - - }; - //下载 - $(document).off("click",'.download-user-data').on("click",".download-user-data",function(){ + $(document).off("click",'.userinfolist-page_table .table-fixed tbody tr td').on("click",".userinfolist-page_table .table-fixed tbody tr td",function(){ + var id = $(this).attr("data-id"); + X['DATA']['search-user-id'] = id; + X.gourl('userinfo','conetnt'); + }); - X.download('ck/download_user',data,'用户报表'); + function updatauserlist(){ + X.api('ck/seek_user','post', data ,function (val){ + $("#userinfolist-table-box").html(""); + X.laytpldata("#userinfolist-table-box-dot",val,".userinfolist-table-box",function(){ + var tableMul = new FixedTable("dataTableMul-userlist", 1); + }); - }); + // X.laytpldata("#userinfolist-title-box-dot",val.details_data.new_columns,".userinfolist-title-box"); + // X.laytpldata("#userinfolist-list-box-dot",val.details_data.new_values,".userinfolist-list-box",function(){ + // var tableMul = new FixedTable("dataTableMul-userlist", 1); + // }); + }); + + }; + + //下载 + $(document).off("click",'.download-user-data').on("click",".download-user-data",function(){ + + X.download('ck/download_user',data,'用户报表'); + + }); + } + + }, diff --git a/web/srczip/logic/userlabel.js b/web/srczip/logic/userlabel.js index 063f416..878a70c 100644 --- a/web/srczip/logic/userlabel.js +++ b/web/srczip/logic/userlabel.js @@ -37,7 +37,7 @@ // 监听单行事件 layui.table.on('row(userlabeltest)',function(obj){ var data = obj.data - // console.log(data); + // X.DATA.userlabelid = data._id; X.api("user_label/cluster_user_count","post",{cluster_name:data.cluster_name},function(d){ diff --git a/web/srczip/logic/userpar.js b/web/srczip/logic/userpar.js index 43dc962..b43f32e 100644 --- a/web/srczip/logic/userpar.js +++ b/web/srczip/logic/userpar.js @@ -9,7 +9,7 @@ }else { var data = [] } - console.log(data); + X.laytpldata("#userpar-overall-situation-list-box-dot",data[0],"#userpar-event"); } diff --git a/web/static/css/analysis.css b/web/static/css/analysis.css index a4fb73c..f059cb5 100644 --- a/web/static/css/analysis.css +++ b/web/static/css/analysis.css @@ -391,6 +391,12 @@ .nodedetails-box { width: 500px; height: 400px; } .nodedetails-top-box { padding: 16px 24px; display: flex; justify-content: space-between; align-items: center; color: rgba(0, 0, 0, 0.85); font-size: 16px; font-weight: 500; border-bottom: 1px solid #f0f0f0;} - - - +.nodedetails-top-box img { cursor: pointer; } +.nodedetails-event-box { padding: 0 24px; overflow-y: scroll; height: 310px;} +.nodedetails-event-box-scll { overflow: hidden; } +.nodedetails-event-title { padding: 16px 0; border-bottom: 1px solid #f0f0f0; } +.nodedetails-event-tab-box { width: 100%; } +.nodedetails-event-tab { display: flex; justify-content: space-between; align-items: center; } +.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;}