路径分析

This commit is contained in:
罗松柏 2022-05-19 16:07:40 +08:00
parent 390babb8bc
commit 8a2b0434ef
36 changed files with 797 additions and 204 deletions

View File

@ -5,10 +5,64 @@
<img src="./static/img/cha.png">
</div>
<div class="">
<p>节点事件:<span>开始战斗</span></p>
<div class="nodedetails-event-box">
<div class="nodedetails-event-box-scll">
</div>
</div>
</div>
</div>
<script id="nodedetails-event-box-scll-dot" type="text/html">
<p class="nodedetails-event-title">节点事件:<span>{{d.name}}</span></p>
<div class="nodedetails-event-tab-box" style="border-bottom: 1px solid #f0f0f0;">
<div class="nodedetails-event-tab">
<div class="nodedetails-event-tab-td"></div>
<div class="nodedetails-event-tab-td">会话数</div>
<div class="nodedetails-event-tab-td">用户详情</div>
</div>
<div class="nodedetails-event-tab">
<div class="nodedetails-event-tab-td">合计</div>
<div class="nodedetails-event-tab-td nodedetails-event-tab-font-col">{{d.sumnum}}</div>
<div class="nodedetails-event-tab-td nodedetails-event-userinfo" data-title="{{d.name}}"> <img src="./static/img/yonghu.png"> </div>
</div>
<div class="nodedetails-event-tab">
<div class="nodedetails-event-tab-td">后续事件统计</div>
<div class="nodedetails-event-tab-td nodedetails-event-tab-font-col">{{d.nextsum}}</div>
<div class="nodedetails-event-tab-td nodedetails-event-userinfo" data-title="follow-up-{{d.name}}"> <img src="./static/img/yonghu.png"> </div>
</div>
<div class="nodedetails-event-tab">
<div class="nodedetails-event-tab-td">流失</div>
<div class="nodedetails-event-tab-td nodedetails-event-tab-font-col">{{d.titarr['流失'].sum}}</div>
<div class="nodedetails-event-tab-td nodedetails-event-userinfo" data-title="流失"> <img src="./static/img/yonghu.png"> </div>
</div>
</div>
<div class="nodedetails-event-tab-box">
<div class="nodedetails-event-tab">
<div class="nodedetails-event-tab-td">后续事件统计</div>
<div class="nodedetails-event-tab-td">会话数</div>
<div class="nodedetails-event-tab-td">用户详情</div>
</div>
{{# layui.each(d.titarr, function(index, item){ }}
{{# if(index !== "流失"){ }}
<div class="nodedetails-event-tab">
<div class="nodedetails-event-tab-td nodedetails-event-tab-font-col">{{index}}</div>
<div class="nodedetails-event-tab-td nodedetails-event-tab-font-col">{{item.sum}}</div>
<div class="nodedetails-event-tab-td nodedetails-event-userinfo" data-title="{{index}}" data-type="follow-up"> <img src="./static/img/yonghu.png"> </div>
</div>
{{# }}}
{{# }); }}
</div>
</script>

View File

@ -0,0 +1,48 @@
<div class="grouptable-box">
<div class="grouptable-title-box">
<p><span>2022-04-18</span> 分组详情</p>
<img src="./static/img/xiazai.png" id="fenbu-grouptable">
</div>
<div class="grouptable-table-box">
<div class="table-div-box table-grouptable-div-box">
<table class="table-fenxi-box">
<thead>
<tr class="table-fenxi-group-th">
</tr>
</thead>
<tbody class="table-fenxi-group-td">
</tbody>
</table>
</div>
</div>
</div>
<script id="table-fenxi-th-group-dot" type="text/html">
{{# layui.each(d, function(index, item){ }}
{{# if(item == "第0日"){ }}
<th>当日</th>
{{# } else { }}
<th>{{item}}</th>
{{# } }}
{{# }); }}
</script>
<script id="table-fenxi-td-group-dot" type="text/html">
{{# layui.each(d, function(index, item){ }}
<tr >
<td>{{item.first}}</td>
<td>{{item.total}}</td>
{{# layui.each(item.data, function(indexs, items){ }}
<td>
<p>{{items.n}}</p>
<p>{{items.p}}</p>
</td>
{{# }); }}
</tr>
{{# }); }}
</script>

View File

@ -4,7 +4,7 @@
<div class="userinfolist-page-header-box">
<div class="userinfolist-page-header">
<span style="color: #4f5276;">用户搜索</span> / <span>用户列表</span>
<span class="userinfolist-type" style="color: #4f5276; cursor: pointer;">用户搜索</span> / <span>用户列表</span>
</div>
</div>

198
web/src/macarons.js Normal file
View File

@ -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);
}));

338
web/src/x.min.js vendored
View File

@ -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");
}

View File

@ -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(){

View File

@ -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){

View File

@ -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){

View File

@ -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(){

View File

@ -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");

View File

@ -455,6 +455,7 @@
}else if(cat == 'trace'){
gourl = 'routeanalysis';
}
X.gourl(gourl,'conetnt');//跳到对应的分析页面
X.DATA[cat+'id'] = id;
});

View File

@ -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("");

View File

@ -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);

View File

@ -8,7 +8,7 @@
}else {
var data = []
}
// console.log(data);
//
X.laytpldata("#analysis-overall-situation-list-box-dot",data,"#initial-event");
}
};

View File

@ -8,7 +8,7 @@
}else {
var data = []
}
// console.log(data);
//
X.laytpldata("#analysis-con-left-screen-list-dot",data,"#funnel-event");
}

View File

@ -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'] != ""){

View File

@ -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){

View File

@ -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',

View File

@ -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);

View File

@ -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']

View File

@ -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"){

View File

@ -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;
})
}
};
})();

View File

@ -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);

View File

@ -541,7 +541,7 @@
// 计算按钮
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
// console.log(data);
//
retaineddata()
});

View File

@ -8,7 +8,7 @@
}else {
var data = []
}
// console.log(data);
//
X.laytpldata("#analysis-overall-situation-list-box-return-dot",data,"#returnvisit-event");
}

View File

@ -9,7 +9,7 @@
}else {
var data = []
}
console.log(data);
X.laytpldata("#route-overall-situation-list-box-dot",data,"#event-roue-event");
}

View File

@ -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,'分布分析')
// })
}
};
})();

View File

@ -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
})
}
});

View File

@ -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']

View File

@ -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);
});

View File

@ -192,7 +192,7 @@
}
// console.log(updatatype);
// X.submitrecord()
// console.log(data);
//
// console.log(arr);
me.callback && me.callback(d);
layer.closeAll();

View File

@ -14,7 +14,7 @@
X.DATA["game"] = d[0]["game"];
});
}
console.log(data);
// 选择项目
X.laytpldata("#toptab-dot",data,"#analysis-zhanwei");

View File

@ -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,'用户报表');
});
}
},

View File

@ -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){

View File

@ -9,7 +9,7 @@
}else {
var data = []
}
console.log(data);
X.laytpldata("#userpar-overall-situation-list-box-dot",data[0],"#userpar-event");
}

View File

@ -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;}