273 lines
12 KiB
JavaScript
273 lines
12 KiB
JavaScript
(function(){
|
|
X.pageLogic['ltvmodel'] = {
|
|
init : function(){
|
|
|
|
X.template("grouped","xinwei-whole");
|
|
var data ={
|
|
"eventView":{
|
|
"cksql":"ltv",
|
|
"endTime":"2021-06-07 23:59:59",
|
|
"filts":[],
|
|
"groupBy":[],
|
|
"e_days":0,
|
|
"s_days":7,
|
|
"relation":"and",
|
|
"startTime":"2021-05-09 00:00:00",
|
|
"statType":"retention",
|
|
"timeParticleSize":"P1D",
|
|
"unitNum":7,
|
|
"quota":'#account_id'
|
|
},
|
|
"events":[
|
|
|
|
]
|
|
};
|
|
|
|
// 日期渲染
|
|
X.daterender("#retained-condition-date",function(start, end, label){
|
|
var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00";
|
|
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
|
|
data['eventView']['startTime'] = startTime;
|
|
data['eventView']['endTime'] = endTime;
|
|
|
|
var sameday = Date.parse(new Date()) / 1000; //当天时间戳
|
|
|
|
var enddate = new Date(end.format('YYYY-MM-DD'));
|
|
var endmonth = Date.parse(enddate)/1000;
|
|
|
|
var startdate = new Date(start.format('YYYY-MM-DD'));
|
|
var startmonth = Date.parse(startdate)/1000;
|
|
data['eventView']['e_days'] = parseInt((sameday - endmonth)/86400);
|
|
data['eventView']['s_days'] = parseInt((sameday - startmonth)/86400);
|
|
retaineddata();
|
|
});
|
|
|
|
var time = $("#retained-condition-date").val();
|
|
var timearr = time.split(" ");
|
|
data['eventView']['startTime'] = timearr[0] + " "+"00:00:00";
|
|
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
|
|
|
|
var groupitemeventsdata,filter_map;//分组项里的事件
|
|
|
|
X.api("data_auth/load_filter_props","post",{event_name:'pay'},function(val){
|
|
groupitemeventsdata = val;
|
|
|
|
|
|
X.api("data_auth/filter_map","get",{},function(d){
|
|
filter_map = d;
|
|
|
|
//从数据看板点击进来触发事件
|
|
if(X.DATA.ltvid && X.DATA.ltvid != ''){
|
|
var report_idarr = [];
|
|
report_idarr.push(X.DATA.ltvid);
|
|
X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){
|
|
backfilldata(d[0]);
|
|
})
|
|
}
|
|
})
|
|
});
|
|
|
|
//全局筛选
|
|
$(document).off('click','.analysis-overall-situation-add').on('click','.analysis-overall-situation-add',function(){
|
|
var screentypedata = groupitemeventsdata;
|
|
|
|
var drr={
|
|
"columnDesc":screentypedata[0]['category'][0]['title'],//事件中文显示
|
|
"columnName":screentypedata[0]['category'][0]['id'],//事件id
|
|
'data_type':screentypedata[0]['category'][0]['data_type'],//类型
|
|
'comparator_name':'等于',//默认等于
|
|
"comparator":'==',//符号id
|
|
"ftv":[],//条件
|
|
"strftv":'',//显示条件
|
|
"section":[-1,1],//区间
|
|
"table_type":screentypedata[0]['id'],
|
|
};
|
|
if(data['eventView']['filts'].length == 1){
|
|
layer.msg('此项只能添加一个');
|
|
return;
|
|
}
|
|
data['eventView']['filts'].push(drr);
|
|
if(data['eventView']['filts'].length > 1){
|
|
$(".analysis-overall-situation-left-guanxi").show();
|
|
}else{
|
|
$(".analysis-overall-situation-left-guanxi").hide();
|
|
}
|
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
|
});
|
|
|
|
var listarr =[
|
|
{title:'角色',id:'#account_id'},
|
|
{title:'设备',id:'#distinct_id'},
|
|
// {title:'账号',id:'binduid'},
|
|
]
|
|
X.laydropdown('.eventsplit',listarr,function(d){
|
|
$('.eventsplit').html(d.title);
|
|
data['eventView']['quota'] = d.id;
|
|
console.log(d);
|
|
});
|
|
|
|
//删除指定全局数据
|
|
$(document).off('click','.analysis-overall-situation-del').on('click','.analysis-overall-situation-del',function(){
|
|
var index = $(this).attr('data-index');
|
|
data['eventView']['filts'].splice(index,1);
|
|
if(data['eventView']['filts'].length > 1){
|
|
$(".analysis-overall-situation-left-guanxi").show();
|
|
}else{
|
|
$(".analysis-overall-situation-left-guanxi").hide();
|
|
}
|
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
|
});
|
|
|
|
$(document).off('click','.analysis-overall-situation-attr').on('click','.analysis-overall-situation-attr',function(){
|
|
var obj = $(this);
|
|
var offset = obj.offset();
|
|
var index = obj.attr("data-index");
|
|
X.querycriteriapop(groupitemeventsdata,'category',offset.left,offset.top+obj.height(),function(val){
|
|
console.log(val);
|
|
obj.html(val.title);
|
|
data['eventView']['filts'][index]['columnDesc'] = val.title;
|
|
data['eventView']['filts'][index]['columnName'] = val.id;
|
|
data['eventView']['filts'][index]['data_type'] = val.type;
|
|
data['eventView']['filts'][index]['comparator_name'] = '等于';
|
|
data['eventView']['filts'][index]['comparator'] = '==';
|
|
data['eventView']['filts'][index]['table_type'] = val.table_type;
|
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
|
})
|
|
});
|
|
|
|
$(document).off('click','.analysis-overall-situation-fuhao').on('click','.analysis-overall-situation-fuhao',function(){
|
|
var obj = $(this);
|
|
var offset = obj.offset();
|
|
var index = $(this).attr("data-index");
|
|
var type = data['eventView']['filts'][index]['data_type'];
|
|
console.log(type)
|
|
X.querycriteriapop(filter_map[type],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
|
if(val != undefined){
|
|
obj.html(val.title);
|
|
data['eventView']['filts'][index]['comparator_name'] = val.title;
|
|
data['eventView']['filts'][index]['comparator'] = val.id;
|
|
if(val.id == "range"){
|
|
data['eventView']['filts'][index]['ftv'] = [-1,1];
|
|
}
|
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
|
}
|
|
})
|
|
});
|
|
$(document).off('click','.analysis-overall-situation-input input').on('blur','.analysis-overall-situation-input input',function(){
|
|
var val = $(this).val();
|
|
var index = $(this).attr("data-index");
|
|
var valarr = val.split(",");
|
|
data['eventView']['filts'][index]['strftv'] = val;
|
|
data['eventView']['filts'][index]['ftv']= valarr;
|
|
});
|
|
|
|
$(document).off('click','.analysis-overall-situation-input2 input').on('blur','.analysis-overall-situation-input2 input',function(){
|
|
var name = $(this).attr('name');
|
|
var val = $(this).val();
|
|
var index = $(this).attr("data-index");
|
|
|
|
if(name == 'start'){
|
|
data['eventView']['filts'][index]['ftv'][0] = val;
|
|
data['eventView']['filts'][index]['section'][0] = val;
|
|
data['eventView']['filts'][index]['ftv'].push(val);
|
|
}else {
|
|
data['eventView']['filts'][index]['ftv'][1] = val;
|
|
data['eventView']['filts'][index]['section'][1] = val;
|
|
data['eventView']['filts'][index]['ftv'].push(val);
|
|
}
|
|
});
|
|
|
|
|
|
|
|
// sql语句显示
|
|
$(document).off('click','.sqlquery').on('click','.sqlquery',function(){
|
|
var obj = $(this);
|
|
var offset = obj.offset();
|
|
X.querycriteriapop(data,'conditionquery',offset.left - 410,offset.top+obj.height(),function(){
|
|
|
|
})
|
|
});
|
|
|
|
// 时间粒度
|
|
var timeParticleSizearr = [
|
|
{'title':'当日','id':'1'},
|
|
{'title':'次日','id':'2'},
|
|
{'title':'7日','id':'7'},
|
|
{'title':'14日','id':'14'},
|
|
{'title':'30日','id':'30'},
|
|
];
|
|
X.laydropdown('.analtsis-timeParticleSize',timeParticleSizearr,function(d){
|
|
console.log(d);
|
|
$(".analtsis-timeParticleSize").html(d.title);
|
|
data['eventView']['unitNum'] = parseInt(d.id);
|
|
retaineddata();
|
|
});
|
|
|
|
// 计算按钮
|
|
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
|
retaineddata()
|
|
});
|
|
|
|
function retaineddata(){
|
|
var dataArr = {
|
|
eventView: data.eventView,
|
|
events: data.events
|
|
}
|
|
X.api("ck/ltv_model","post",dataArr,function(d){
|
|
if(d.title.length == 0){
|
|
layer.msg('无数据');
|
|
return;
|
|
}else{
|
|
X.laytpldata("#table-fenxi-th-dot",d.title,".table-fenxi-th");
|
|
X.laytpldata("#table-fenxi-td-dot",d.rows,".table-fenxi-td");
|
|
}
|
|
})
|
|
};
|
|
|
|
var baobiaodata;//已存报表
|
|
$(document).off('click','.analysis-navigation-bar-right-img-baobiao').on('click','.analysis-navigation-bar-right-img-baobiao',function(){
|
|
X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){
|
|
console.log(d);
|
|
if(d){
|
|
backfilldata(d);
|
|
}
|
|
|
|
})
|
|
});
|
|
|
|
function backfilldata(d){
|
|
data = d.query;
|
|
baobiaodata = d;
|
|
var time = $("#retained-condition-date").val();
|
|
var timearr = time.split(" ");
|
|
data['eventView']['startTime'] = timearr[0] + " "+"00:00:00";
|
|
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
|
|
|
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
|
|
|
retaineddata();
|
|
};
|
|
|
|
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){
|
|
if(baobiaodata != '' && baobiaodata != undefined && baobiaodata != null){
|
|
X.parametersopen(baobiaodata,'savereport','auto');
|
|
}else{
|
|
X.parametersopen(data,'savereport','auto');
|
|
}
|
|
});
|
|
|
|
// 返回
|
|
$(document).off('click','.analysis-fanhui').on('click','.analysis-fanhui',function(){
|
|
X.gourl("dashboard");
|
|
// return;
|
|
});
|
|
|
|
// 下载
|
|
$(document).off('click','.download-table').on('click','.download-table',function(){
|
|
// console.log(11111);
|
|
X.download('ck/ltv_model_export',data,'事件分析');
|
|
});
|
|
|
|
}
|
|
};
|
|
})(); |