xfrontend/web/srczip/logic/comprehensive.js
2022-08-24 16:52:41 +08:00

415 lines
19 KiB
JavaScript

(function(){
X.pageLogic['comprehensive'] = {
init : function(parms){
var data ={
"eventView":{
"cksql":"first_event",
"endTime":"",
"filts":[],
"groupBy":[],
"e_days":0,
"s_days":7,
"relation":"and",
"startTime":"",
"statType":"retention",
"event_diff":"minute",
"windows_gap":7,
"switchTest": true,
minute:[]
},
"events":[
]
};
// 日期渲染
X.daterender("#retained-condition-date",function(start, end, label){
var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00";
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
var sameday = Date.parse(new Date()) / 1000; //当天时间戳
var enddate = new Date(end.format('YYYY-MM-DD'));
var endmonth = Date.parse(enddate)/1000;
var startdate = new Date(start.format('YYYY-MM-DD'));
var startmonth = Date.parse(startdate)/1000;
data['eventView']['startTime'] = startTime;
data['eventView']['endTime'] = endTime;
data['eventView']['e_days'] = parseInt((sameday - endmonth)/86400);
data['eventView']['s_days'] = parseInt((sameday - startmonth)/86400);
retaineddata();
})
// 时间粒度
X.laydropdown('.analtsis-timeParticleSize',X['DATA']['companylist']['comprehensive'],function(d){
$(".analtsis-timeParticleSize").html(d.title);
data['eventView']['event_diff'] = d.id;
});
var time = $("#retained-condition-date").val();
var timearr = time.split(" ");
data['eventView']['startTime'] = timearr[0] + " "+"00:00:00";
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
var eventdata;
var groupitemeventsdata//分组项里的事件
var filter_map,quotas_map,type2data;
// var screentypearr = [];
layui.form.render();
X.api("data_auth/my_event","get",{},function(d){
eventdata = d;
var arr = [{
"eventDesc":eventdata[0]['category'][0]['event_desc'],
"eventName":eventdata[0]['category'][0]['event_name'],
"filts":[],
"relation":"and",
"condrelation":"and",
"renameindicator":""
},{
"eventDesc":eventdata[0]['category'][0]['event_desc'],
"eventName":eventdata[0]['category'][0]['event_name'],
"filts":[],
"relation":"and",
"condrelation":"and",
"renameindicator":""
}]
data['events'] = arr;
X.api("data_auth/load_prop_quotas","post",{event_name:eventdata[0]['category'][0]['event_name']},function(d){
var retdata = d.staid_quots.concat(d.props);
type2data= retdata
X.api("data_auth/load_filter_props","post",{event_name:eventdata[0]['category'][0]['event_name']},function(val){
groupitemeventsdata= val;
X.api("data_auth/filter_map","get",{},function(d){
filter_map = d;
X.api('data_auth/quotas_map',"get",{},function(d){
quotas_map = d;
//从数据看板点击进来触发事件
if(X.DATA.funnelid && X.DATA.funnelid != ''){
var report_idarr = [];
report_idarr.push(X.DATA.funnelid);
X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){
backfilldata(d[0]);
})
}
//初始事件
X.template("funnel","funnel-event",data['events']);
})
})
})
})
});
var baobiaodata;
function backfilldata(d){
if(d){
data = d.query;
var time = $("#retained-condition-date").val();
var timearr = time.split(" ");
data['eventView']['startTime'] = timearr[0] + " "+"00:00:00";
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
baobiaodata = d;
// 数据看板点进来时吧保存的时间初始化为当前时间
var time = $("#retained-condition-date").val();
var timearr = time.split(" ");
data['eventView']['startTime'] = timearr[0] + " "+"00:00:00";
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
retaineddata();
}
};
$(document).off('click','.analysis-chongmingming').on('click','.analysis-chongmingming',function(){
var index = $(this).attr('data-index');
$("#analysis-con-left-screen-list-left-zhibiaoname-"+index).show();
$(this).hide();
$(".analysis-chongmingming-del-initial-event").show();
});
$(document).off('click','.analysis-chongmingming-del').on('click','.analysis-chongmingming-del',function(){
var index = $(this).attr('data-index');
$("#analysis-con-left-screen-list-left-zhibiaoname-"+index).hide();
$("#analysis-con-left-screen-list-left-zhibiaoname-"+index+ " input").val('');
$(this).hide();
$(".analysis-chongmingming").show();
});
$(document).off("blur",'.analysis-con-left-screen-list-left-zhibiaoname-txt').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-txt',function(){
var index = $(this).attr('data-index');
// console.log(data)
data['events'][index]['renameindicator'] = $(this).val();
})
$(document).off("click",'.analysis-con-left-screen-list-right-screen-qh-tit').on("click",'.analysis-con-left-screen-list-right-screen-qh-tit',function(){
var index = $(this).attr('data-index');
if($(this).html() == '或'){
$(this).html('且')
data['events'][index]['condrelation'] = 'and'
}else {
$(this).html('或')
data['events'][index]['condrelation'] = 'or'
}
})
// 添加指标
function addindex(){
var defaultindicator = {
"eventDesc":eventdata[0]['category'][0]['event_desc'],
"eventName":eventdata[0]['category'][0]['event_name'],
"filts":[],
"relation":"and",
"condrelation":"and",
"renameindicator":""
}
data['events'].push(defaultindicator);
X.template("funnel","funnel-event",data['events'],function(){
var drr = [];
if(data['events'].length > 2){
$(".analysis-del").show();
}else {
$(".analysis-del").hide();
}
});
};
//添加按钮
$(document).off('click','.analysis-jia1').on('click','.analysis-jia1',function(){
addindex();
});
$(document).off('click','.funnel-updataevent').on('click','.funnel-updataevent',function(){
addindex();
});
// 添加筛选项
$(document).off('click','.analysis-shaix').on('click','.analysis-shaix',function(){
var obj = $(this);
var index = obj.attr("data-index");
addscreen(index);
});
// 添加筛选项
function addscreen(index){
var arr = {
"columnDesc":groupitemeventsdata[0]['category'][0]['title'],
"columnName":groupitemeventsdata[0]['category'][0]['id'],
"comparator":"==",
"comparatorName":"等于",
"ftv":[],
"strftv":"",
"tableType":groupitemeventsdata[0]['category'][0]['data_type'],
"timeUnit":""
}
data['events'][index]['filts'].push(arr);
X.template("funnel","funnel-event",data['events']);
};
$(document).off('click','.analysis-zhibiao-updata').on('click','.analysis-zhibiao-updata',function(){
var obj = $(this);
var index = obj.attr("data-index");
addscreen(index);
});
// 删除指定初始事件筛选
$(document).off('click','.analysis-del').on('click','.analysis-del',function(){
var index = $(this).attr("data-index");
data['events'].splice(index,1);
X.template("funnel","funnel-event",data['events']);
});
//删除指定筛选
$(document).off('click','.funnel-analysis-zhibiao-list-del').on('click','.funnel-analysis-zhibiao-list-del',function(){
var index = $(this).attr("data-index");
var indexs = $(this).attr("data-twonum");
data['events'][index]['filts'].splice(indexs,1);
X.template("funnel","funnel-event",data['events']);
});
$(document).off('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input',function(){
var txt = $(this).val();
data['events'][0]['renameindicator'] = txt;
});
$(document).off('click','.ant-dropdown-trigger').on('click','.ant-dropdown-trigger',function(){
var obj = $(this);
var offset = obj.offset();
var index = obj.attr("data-index");
var dataevent= data['events'][index];
// console.log(dataevent);
X.querycriteriapop(eventdata,'setgrouping',offset.left,offset.top+obj.height(),function(val){
obj.html(val.id);
dataevent['eventName'] = val.name;
dataevent['eventDesc'] = val.id;
X.api("data_auth/load_filter_props","post",{event_name:val.name},function(val){
groupitemeventsdata = val;
})
// console.log(data['events']);
})
});
$(document).off('click','.ta-property-select').on('click','.ta-property-select',function(){
var obj = $(this);
var offset = obj.offset();
var index = obj.attr("data-index");
var indexs = obj.attr("data-indexs");
X.querycriteriapop(groupitemeventsdata,'category',offset.left,offset.top+obj.height(),function(val){
var htmlstring = val.title;
obj.html(htmlstring);
data['events'][index]['filts'][indexs]['columnDesc'] = htmlstring;
data['events'][index]['filts'][indexs]['columnName'] = val.id;
data['events'][index]['filts'][indexs]['data_type'] = val.type;
data['events'][index]['filts'][indexs]['tableType'] = val.table_type;
})
});
$(document).off('click','.analysis-choicetypename').on('click','.analysis-choicetypename',function(){
var obj = $(this);
var offset = obj.offset();
var index = $(this).attr("data-index");
var indexs = $(this).attr("data-indexs");
var type = data['events'][index]['filts'][indexs]['data_type'];
X.querycriteriapop(filter_map[type],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
if(val != undefined){
obj.html(val.title);
data['events'][index]['filts'][indexs]['comparatorName'] = val.title;
data['events'][index]['filts'][indexs]['comparator'] = val.id;
}
})
});
$(document).off("click",'.analysis-zhibiao-list-type4').on('click','.analysis-zhibiao-list-type4',function(){
var obj = $(this);
var offset = obj.offset();
var index = $(this).attr("data-index");
var indexs = $(this).attr("data-indexs");
var comparator = data['events'][index]['filts'][indexs]['comparator'];
var columnName = data['events'][index]['filts'][indexs]['columnName'];
X.api("data_mana/select_attr","post",{attr_name:columnName},function(val){
if(val != "查无数据"){
X.parametersopen(val['map_'],'dropdownlist',[offset.top+obj.height(),offset.left],function(val){
if(comparator == "in"){
if(data['events'][index]['filts'][indexs]['strftv'] == "" ){
var strftv = val.title;
data['events'][index]['filts'][indexs]['ftv'].push(val.id);
}else {
var strftv = data['events'][index]['filts'][indexs]['strftv'] + "," + val.title;
data['events'][index]['filts'][indexs]['ftv'].push(val.id);
}
data['events'][index]['filts'][indexs]['strftv'] = strftv;
}else {
data['events'][index]['filts'][indexs]['strftv'] = val.title;
var arr = [];
arr.push(val.id);
data['events'][index]['filts'][indexs]['ftv'] = arr;
}
X.template("funnel","funnel-event",data['events'],function(){
var drr = [];
if(data['events'].length > 2){
$(".analysis-del").show();
}else {
$(".analysis-del").hide();
}
});
})
}
})
})
$(document).off('blur','.analysis-zhibiao-list-type4 input').on('blur','.analysis-zhibiao-list-type4 input',function(){
var index = $(this).attr('data-index');
var indexs = $(this).attr('data-indexs');
var txt = $(this).val();
var txtarr = txt.split(",");
data['events'][index]['filts'][indexs]['strftv'] = txt;
data['events'][index]['filts'][indexs]['ftv'] = txtarr;
});
$(document).off('blur','.comprehensive-group-box').on('blur','.comprehensive-group-box',function(){
var txt = $(this).val().split(',');
console.log(txt)
var arr = [];
for(let i in txt){
arr.push(txt[i])
}
data['eventView']['minute'] = arr
})
// sql语句显示
$(document).off('click','.sqlquery').on('click','.sqlquery',function(){
var obj = $(this);
var offset = obj.offset();
X.querycriteriapop(data,'conditionquery',offset.left - 410,offset.top+obj.height(),function(){
})
});
// 计算按钮
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
console.log(data)
retaineddata()
});
var querydata;
function retaineddata(){
var dataArr = {
eventView: data.eventView,
events: data.events
}
X.api("ck/first_event_model","post",dataArr,function(d){
if(d != "查无数据"){
retainedtable(d)
}else {
layer.msg('查无数据');
}
})
};
function retainedtable(d){
var tabledata=[];
for(let i in d['list']){
var arr = []
arr[0] = d.list[i]
arr[1] = d.p[i]
tabledata.push(arr)
}
X.laytpldata("#table-fenxi-th-dot",d.level,".table-fenxi-th");
X.laytpldata("#table-fenxi-td-dot",tabledata,".table-fenxi-td");
};
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){
X.parametersopen(data,'savereport','auto')
});
$(document).off('click','.analysis-navigation-bar-right-img-baobiao').on('click','.analysis-navigation-bar-right-img-baobiao',function(){
X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){
if(d){
data = d.query;
X.template("funnel","funnel-event",data['events']);
X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){
renderdate();
});
retaineddata();
}
})
});
// 返回
$(document).off('click','.analysis-fanhui').on('click','.analysis-fanhui',function(){
X.gourl("dashboard");
// return;
});
}
};
})();