784 lines
37 KiB
JavaScript
784 lines
37 KiB
JavaScript
(function(){
|
|
X.pageLogic['analysis'] = {
|
|
init : function(){
|
|
var me = this;
|
|
// 渲染form样式
|
|
layui.form.render();
|
|
|
|
var dataArr; //分析指标
|
|
var groupeddata;//分组项
|
|
var type2data =[],type3data = [];
|
|
var screentypearr=[]; //筛选项数据
|
|
var drr = [];
|
|
screentypearr.push(drr); //每一个筛选事件按添加次数依次写入
|
|
var filtersymbols=[];//筛选符号
|
|
var data = {
|
|
"events":[],
|
|
"eventView":{
|
|
"startTime":"2021-05-01 00:00:00",
|
|
"timeParticleSize":"P1D",
|
|
"endTime":"2021-05-19 23:59:59",
|
|
"graphShape":"L0",
|
|
"recentDay":"1-30",
|
|
"groupBy":[],
|
|
"uiCommonConfig":{
|
|
"tableSorts":[],
|
|
"chartSort":"num-desc"
|
|
},
|
|
"filters":[],//全局筛选
|
|
"relation":1,
|
|
"zone_time":'8'//时区
|
|
}
|
|
}
|
|
|
|
X.api("data_auth/my_event","get",{},function(d){
|
|
|
|
dataArr = d.analysis;
|
|
groupeddata = d.group_by;
|
|
var arr = {
|
|
"event_name":dataArr[0]['category'][0]['event_name'],
|
|
"event_attr":dataArr[0]['category'][0]['event_attr'][0]["category"][0]["title"],
|
|
"event_attr_id":dataArr[0]['category'][0]['event_attr'][0]["category"][0]["id"],
|
|
"analysisname":'',
|
|
"analysis":dataArr[0]['category'][0]['event_attr'][0]['category'][0]['analysis'],
|
|
"renameindicator":"", //重命名指标
|
|
"filters":[],//过滤项
|
|
"condrelation":'and',
|
|
}
|
|
data.events.push(arr);
|
|
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
|
type2data[0]= dataArr[0]['category'][0]['event_attr'][0]["category"];
|
|
type3data[0]= dataArr[0]['category'][0]['event_attr'][0]["category"][0]["category"];
|
|
|
|
})
|
|
|
|
// 渲染选择时间下拉框
|
|
layui.dropdown.render({
|
|
elem: ".analysis-navigation-bar-datetime"
|
|
,data: X.DATA.timezone
|
|
,click: function(obj){
|
|
$(".analysis-navigation-bar-datetime").html(obj.title);
|
|
data['eventView']['zone_time'] = obj.id;
|
|
}
|
|
});
|
|
|
|
// 伸缩左侧选项
|
|
$(".analysis-con-left-shrink").click(function(){
|
|
if($(".analysis-con-left").css('left') == "auto" || $(".analysis-con-left").css('left') == "0px"){
|
|
$(".analysis-con-left").css("position","absolute");
|
|
$(".analysis-con-left").css("left","-535px");
|
|
$(".analysis-con-left-shrink").css("transform","rotate(180deg)");
|
|
$(".analysis-con-right").css("width","calc(100% - 15px)");
|
|
$(".analysis-con-right").css("margin-left","16px");
|
|
}else {
|
|
$(".analysis-con-left").css("position","relative");
|
|
$(".analysis-con-left").css("left","auto");
|
|
$(".analysis-con-left-shrink").css("transform","rotate(3600deg)");
|
|
$(".analysis-con-right").css("width","calc(100% - 550px)");
|
|
$(".analysis-con-right").css("margin-left","0px");
|
|
}
|
|
});
|
|
|
|
//已存报表
|
|
$(".analysis-navigation-bar-right .analysis-navigation-bar-right-img-baobiao").click(function(){
|
|
X.parametersopen({},'savedbaobiao','rt',function(d){
|
|
if(d){
|
|
data = d.query;
|
|
type2data=[];
|
|
type3data=[];
|
|
screentypearr = [];
|
|
filtersymbols=[];
|
|
var events = d.query.events;
|
|
|
|
// $(".analtsis-timeParticleSize").html(d['query']['eventView'][])
|
|
|
|
X.api('data_auth/my_event','get',{},function(val){
|
|
for(let i in events){
|
|
for(let z in val.deserialization.event_attr){
|
|
if(events[i]['event_name'] == z){
|
|
type2data.push(val.deserialization.event_attr[z]);
|
|
for(let j in val.deserialization.event_attr[z]){
|
|
if(events[i]['event_attr'] == val.deserialization.event_attr[z][j]['title']){
|
|
type3data.push(val.deserialization.event_attr[z][j]['category']);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
for(let i in events){
|
|
for(let z in val.deserialization.event_filter){
|
|
if(events[i]['event_name'] == z ){
|
|
screentypearr.push(val.deserialization.event_filter[z]);
|
|
}
|
|
}
|
|
}
|
|
|
|
for(let i in events){
|
|
if(events[i]['filters'].length > 0){
|
|
filtersymbols[i]=[];
|
|
for(let z in events[i]['filters']){
|
|
for(let j in val.operator){
|
|
if(events[i]['filters'][z]['data_type'] == j){
|
|
filtersymbols[i].push(val.operator[j])
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
for(let i in d.query.eventView.filters){
|
|
filtsftvdata
|
|
var type = d.query.eventView.filters[i]['data_type']
|
|
filtsftvdata.push(val.filter[type]);
|
|
}
|
|
|
|
if(d.query.eventView.filters.length > 0){
|
|
$(".analysis-overall").show();
|
|
}else {
|
|
$(".analysis-overall").hide();
|
|
}
|
|
|
|
X.laytpldata("#analysis-con-left-screen-list-dot",d.query.events,".analysis-con-left-screen-list-box");
|
|
X.laytpldata("#analysis-gpmain___3YGfw-dot",d.query.eventView.groupBy,".analysis-gpmain___3YGfw");
|
|
X.laytpldata("#analysis-overall-situation-list-box-dot",d.query['eventView']['filters'],".analysis-overall-situation-list-box");
|
|
analysisdown();
|
|
|
|
calculationdata();
|
|
})
|
|
}
|
|
})
|
|
})
|
|
|
|
// 切换为指标公式
|
|
$(document).on('click','.analysis-gongshi',function(){
|
|
var index = $(this).attr("data-index");
|
|
$("#analysis-con-left-screen-list-left-box-"+index).hide();
|
|
$("#analysis-custom-box-"+index).show();
|
|
$(this).hide();
|
|
$("#analysis-con-left-screen-list-right-"+index+" "+".analysis-zhibiao").show();
|
|
|
|
})
|
|
|
|
// 切换为指标选择
|
|
$(document).on('click','.analysis-zhibiao',function(){
|
|
var index = $(this).attr("data-index");
|
|
$("#analysis-con-left-screen-list-left-box-"+index).show();
|
|
$("#analysis-custom-box-"+index).hide();
|
|
$(this).hide();
|
|
$("#analysis-con-left-screen-list-right-"+index+" "+".analysis-gongshi").show();
|
|
})
|
|
|
|
//复制指标
|
|
$(document).on('click','.analysis-fuzhi',function(){
|
|
var index = $(this).attr("data-index");
|
|
var arr = data.events[index];
|
|
data.events.push(arr);
|
|
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
|
var num = data.events.length;
|
|
type2data[num] = type2data[index];
|
|
type3data[num] = type3data[index];
|
|
screentypearr[num] = screentypearr[index];
|
|
filtersymbols[num] = filtersymbols[index];
|
|
})
|
|
|
|
// $('.analysis-con-left-screen-list-left-zhibiaoname-txt').bind('input propertychange', function() {
|
|
|
|
// })
|
|
|
|
//重命名指标
|
|
$(document).on('click','.analysis-chongmingming',function(){
|
|
var index = $(this).attr('data-index');
|
|
$("#analysis-con-left-screen-list-left-zhibiaoname-"+index).show();
|
|
$(this).hide();
|
|
$("#analysis-con-left-screen-list-right-"+index+" "+".analysis-chongmingming-del").show();
|
|
})
|
|
|
|
//删除重命名
|
|
$(document).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-con-left-screen-list-right-"+index+" "+".analysis-chongmingming").show();
|
|
})
|
|
|
|
// 设置一级事件
|
|
|
|
$(document).off('click','.ant-dropdown-trigger').on('click','.ant-dropdown-trigger',function() {
|
|
// $(document).on('click','.ant-dropdown-trigger',function(){
|
|
var obj = $(this);
|
|
var offset = obj.offset();
|
|
var index = obj.attr('data-index');
|
|
X.querycriteriapop(dataArr,'setgrouping',offset.left,offset.top+obj.height(),function(val){
|
|
var htmlstring = val.name;
|
|
obj.html(htmlstring);
|
|
data['events'][index]['event_name'] = val.name
|
|
type2data[index]=val.event_attr[0].category;
|
|
screentypearr[index] = val.event_filter;
|
|
})
|
|
})
|
|
//设置一级事件中第二个参数
|
|
$(document).off('click','.analysis-zhibiao-list-type2').on('click','.analysis-zhibiao-list-type2',function(){
|
|
var obj = $(this);
|
|
var offset = obj.offset();
|
|
var index = obj.attr("data-index");
|
|
if(type2data.length >0){
|
|
X.querycriteriapop(type2data[index],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
|
if(val != undefined){
|
|
$("#analysis-zhibiao-list-type2-"+index).html(val.title);
|
|
|
|
type3data[index]=val.category;
|
|
data['events'][index]['event_attr'] = val.title;
|
|
data['events'][index]['event_attr_id'] = val.id;
|
|
if(val.category.length > 0){
|
|
$("#analysis-zhibiao-list-type3-"+index).show();
|
|
$("#analysis-zhibiao-list-type3-"+index).html(val.category[0].title);
|
|
data['events'][index]['analysisname'] = val.category[0].title;
|
|
data['events'][index]['analysis'] = val.category[0].id;
|
|
}else {
|
|
$("#analysis-zhibiao-list-type3-"+index).hide();
|
|
data['events'][index]['analysis'] = val.analysis;
|
|
}
|
|
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
|
}
|
|
})
|
|
}
|
|
})
|
|
//设置一级事件中第三个参数
|
|
$(document).on('click','.analysis-zhibiao-condition',function(){
|
|
var obj = $(this);
|
|
var offset = obj.offset();
|
|
var index = obj.attr("data-index");
|
|
var indexs = obj.attr("data-indexs");
|
|
if(type3data.length>0){
|
|
if(type3data[index].length > 0){
|
|
X.querycriteriapop(type3data[index],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
|
$("#analysis-zhibiao-list-type3-"+index).html(val.title);
|
|
data['events'][index]['analysisname'] = val.title;
|
|
data['events'][index]['analysis'] = val.id;
|
|
})
|
|
}
|
|
}
|
|
})
|
|
|
|
$(document).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(screentypearr[index],'category',offset.left,offset.top+obj.height(),function(val){
|
|
var htmlstring = val.title;
|
|
obj.html(htmlstring);
|
|
filtersymbols[index][indexs] = val.category;
|
|
data['events'][index]['filters'][indexs]['column_name'] = htmlstring;
|
|
data['events'][index]['filters'][indexs]['column_id'] = val.id;
|
|
data['events'][index]['filters'][indexs]['data_type'] = val.type;
|
|
})
|
|
|
|
})
|
|
|
|
$(document).on('click','.analysis-choicetypename',function(){
|
|
var obj = $(this);
|
|
var offset = obj.offset();
|
|
var index = $(this).attr("data-index");
|
|
var indexs = $(this).attr("data-indexs");
|
|
X.querycriteriapop(filtersymbols[index][indexs],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
|
if(val != undefined){
|
|
obj.html(val.title);
|
|
data['events'][index]['filters'][indexs]['comparator_name'] = val.title;
|
|
data['events'][index]['filters'][indexs]['comparator_id'] = val.id;
|
|
}
|
|
})
|
|
})
|
|
|
|
// 添加筛选项
|
|
$(document).on('click','.analysis-shaix',function(){
|
|
var obj = $(this);
|
|
var index = obj.attr("data-index");
|
|
var arr = {
|
|
"column_name":dataArr[0]['category'][0]['event_filter'][0]['category'][0]['title'],//事件中文显示
|
|
"column_id":dataArr[0]['category'][0]['event_filter'][0]['category'][0]['id'],//事件id
|
|
"comparator_name":dataArr[0]['category'][0]['event_filter'][0]['category'][0]['category'][0]['title'],//选择符号中文显示
|
|
"comparator_id":dataArr[0]['category'][0]['event_filter'][0]['category'][0]['category'][0]['id'],//符号id
|
|
"data_type":dataArr[0]['category'][0]['event_filter'][0]['category'][0]['data_type'],
|
|
"ftv":'',//条件
|
|
"strftv":''//字符串显示条件
|
|
} //筛选数据
|
|
data['events'][index]['filters'].push(arr);
|
|
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
|
var drr=[];
|
|
filtersymbols.push(drr);
|
|
screentypearr[index] = dataArr[0]['category'][0]["event_filter"];
|
|
filtersymbols[index][filtersymbols[index].length] = dataArr[0]['category'][0]["event_filter"][0]["category"][0]["category"];
|
|
|
|
})
|
|
|
|
//监听重命名指标
|
|
$(document).on('blur','.analysis-con-left-screen-list-left-zhibiaoname input',function(){
|
|
var index = $(this).attr("data-index");
|
|
var txt = $(this).val();
|
|
data['events'][index]['renameindicator'] = txt;
|
|
})
|
|
|
|
// 监听文本框
|
|
$(document).on('blur','.analysis-zhibiao-list-type4 input',function(){
|
|
var index = $(this).attr("data-index");
|
|
var indexs = $(this).attr("data-indexs");
|
|
var val = $(this).val();
|
|
var valarr = val.split(",");
|
|
data['events'][index]['filters'][indexs]['ftv']=valarr;
|
|
data['events'][index]['filters'][indexs]['strftv']=val;
|
|
})
|
|
|
|
// 且和或切换
|
|
$(document).on("click",".analysis-con-left-screen-list-right-screen-qh-tit",function(){
|
|
var html = $(this).html(); //condrelation筛选条件的关系
|
|
var index = $(this).attr("data-index");
|
|
if(html == "且"){
|
|
$(this).html('或');
|
|
data['events'][index]['condrelation'] = 'or'
|
|
}else {
|
|
$(this).html('且');
|
|
data['events'][index]['condrelation'] = 'and'
|
|
}
|
|
})
|
|
|
|
// 添加条件按钮
|
|
$(document).on('click',".analysis-zhibiao-updata",function(){
|
|
// addindex();
|
|
})
|
|
|
|
// 删除二级筛选项
|
|
$(document).on('click','.analysis-zhibiao-list-del',function(){
|
|
var id = "analysis-zhibiao-list-mar-"+$(this).attr("data-twonum");
|
|
$("#"+id).remove();
|
|
})
|
|
|
|
// 添加指标
|
|
function addindex(){
|
|
var arr = {
|
|
"event_name":dataArr[0]['category'][0]['event_name'],
|
|
"event_attr":dataArr[0]['category'][0]['event_attr'][0]["category"][0]["title"],
|
|
"event_attr_id":dataArr[0]['category'][0]['event_attr'][0]["category"][0]["id"],
|
|
"analysisname":'',
|
|
"analysis":dataArr[0]['category'][0]['event_attr'][0]['category'][0]['analysis'],
|
|
"renameindicator":"", //重命名指标
|
|
"filters":[],//过滤项
|
|
}
|
|
data['events'].push(arr);
|
|
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
|
var index = data.events.length - 1;
|
|
type2data[index]= dataArr[0]['category'][0]['event_attr'][0]["category"];
|
|
type3data[index]= dataArr[0]['category'][0]['event_attr'][0]["category"][0]["category"];
|
|
$(".analysis-del").show() //显示删除按钮
|
|
var drr = [];
|
|
screentypearr.push(drr);
|
|
if(data.events.length > 1){
|
|
$(".analysis-overall").show();
|
|
}else {
|
|
$(".analysis-overall").hide();
|
|
}
|
|
|
|
}
|
|
|
|
//添加按钮
|
|
$(document).on('click','.analysis-jia1',function(){
|
|
|
|
addindex();
|
|
|
|
})
|
|
//添加指标按钮
|
|
$(document).on('click','.analysis-bottom-jia1',function(){
|
|
|
|
addindex();
|
|
|
|
})
|
|
|
|
//删除指标
|
|
$(document).on('click',".analysis-del",function(){
|
|
if(data['events'].length != 1){
|
|
var index = $(this).attr("data-index");
|
|
data['events'].splice(index,1);
|
|
if(data['events'].length == 1){
|
|
$(".analysis-del").hide(); //隐藏删除按钮
|
|
$(".analysis-overall").hide();
|
|
}
|
|
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
|
}
|
|
})
|
|
|
|
|
|
$(".analysis-custom-event-box .analysis-custom-event-txt").blur(function(){
|
|
$(this).css("border-bottom","0px");
|
|
|
|
})
|
|
|
|
$(document).on('click','.analysis-custom-event-box .analysis-custom-event-txt',function(){
|
|
$(this).css("border-bottom","1px solid #3d90ff");
|
|
var obj = $(this);
|
|
var offset = obj.offset();
|
|
var index = obj.attr("data-index");
|
|
X.querycriteriapop(dataArr,'setgrouping',offset.left,offset.top+obj.height(),function(val){
|
|
$("#analysis-custom-event-dis-box-"+index).show();
|
|
obj.hide();
|
|
|
|
})
|
|
})
|
|
|
|
//分组项
|
|
var cat = "event";
|
|
|
|
$(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function(){
|
|
var index = data['eventView']['groupBy'].length;
|
|
var drr = {
|
|
"column_name":groupeddata[0]['category'][index]['title'],//事件中文显示
|
|
"column_id":groupeddata[0]['category'][index]['id'],//事件id
|
|
'data_type':groupeddata[0]['category'][index]['data_type'],//类型
|
|
"ftv":'',//条件
|
|
"section":''//区间
|
|
}
|
|
data.eventView.groupBy.push(drr);
|
|
X.laytpldata("#analysis-gpmain___3YGfw-dot",data.eventView.groupBy,".analysis-gpmain___3YGfw");
|
|
})
|
|
|
|
$(document).off('click','.analysis-ant-dropdown-trigger').on('click','.analysis-ant-dropdown-trigger',function(){
|
|
var obj = $(this);
|
|
var offset = obj.offset();
|
|
var index = obj.attr("data-index");
|
|
X.querycriteriapop(groupeddata,'category',offset.left,offset.top+obj.height(),function(val){
|
|
var htmlstring = val.title;
|
|
obj.html(htmlstring);
|
|
data.eventView.groupBy[index]['column_name'] = val.title;
|
|
data.eventView.groupBy[index]['column_id'] = val.id;
|
|
data.eventView.groupBy[index]['data_type'] = val.type;
|
|
X.laytpldata("#analysis-gpmain___3YGfw-dot",data.eventView.groupBy,".analysis-gpmain___3YGfw");
|
|
})
|
|
})
|
|
|
|
$(document).on("click",".analysis-granularity",function(){
|
|
var obj = $(this);
|
|
var offset = obj.offset();
|
|
var type = obj.attr("data_type");
|
|
var index = obj.attr("data-index");
|
|
var arr;
|
|
if(type == 'date'){
|
|
arr = {
|
|
data:[
|
|
{'name':"按天",'id':'day','checked':true},
|
|
{'name':"按分钟",'id':'min','checked':false},
|
|
{'name':"按小时",'id':'hour','checked':false},
|
|
{'name':"按周",'id':'week','checked':false},
|
|
{'name':"按月",'id':'month','checked':false}
|
|
],
|
|
default: data.eventView.groupBy[index]['ftv']
|
|
|
|
}
|
|
}else {
|
|
arr ={
|
|
data:[
|
|
{'name':"按元素",'id':'0','checked':true},
|
|
{'name':"按列表整体",'id':'1','checked':false},
|
|
{'name':"按元素集合",'id':'2','checked':false}
|
|
],
|
|
default: data.eventView.groupBy[index]['ftv']
|
|
}
|
|
}
|
|
|
|
X.querycriteriapop(arr,'groupitem',offset.left,offset.top+obj.height(),function(val){
|
|
data.eventView.groupBy[index]['ftv'] = val.id;
|
|
})
|
|
})
|
|
|
|
$(document).on("click",".analysis-section",function(){
|
|
var obj = $(this);
|
|
var offset = obj.offset();
|
|
var sectionid = obj.attr("data-sectionid");
|
|
|
|
X.open({
|
|
type: 1,
|
|
title: false,
|
|
closeBtn: 0,
|
|
shadeClose: true,
|
|
skin: 'yourclass',
|
|
url: 'groupeditemspop',
|
|
extData : sectionid,
|
|
callback : function(val){
|
|
// console.log(val);
|
|
}
|
|
})
|
|
|
|
})
|
|
|
|
$(document).on('click','.analysis-action-right',function(){
|
|
var index = $(this).attr('data-index');
|
|
data.eventView.groupBy.splice(index,1);
|
|
X.laytpldata("#analysis-gpmain___3YGfw-dot",data.eventView.groupBy,".analysis-gpmain___3YGfw");
|
|
})
|
|
|
|
$(document).on('click','.analysis-event-splitting',function(){
|
|
|
|
})
|
|
|
|
$(document).on('click','.analtsis-chart-switch-box .analtsis-chart-switch',function(){
|
|
$('.analtsis-chart-switch-box .analtsis-chart-switch').removeClass('select-chart');
|
|
|
|
$(this).addClass('select-chart');
|
|
|
|
})
|
|
|
|
// 全局筛选
|
|
var filtsftvdata=[];
|
|
$(document).on('click','.analysis-overall-situation-add',function(){
|
|
var drr={
|
|
"column_name":groupeddata[0]['category'][0]['title'],//事件中文显示
|
|
"column_id":groupeddata[0]['category'][0]['id'],//事件id
|
|
'data_type':groupeddata[0]['category'][0]['data_type'],//类型
|
|
'comparator_name':'等于',//默认等于
|
|
"comparator_id":'==',//符号id
|
|
"ftv":[],//条件
|
|
"strftv":'',//显示条件
|
|
"section":[-1,1]//区间
|
|
|
|
};
|
|
|
|
data['eventView']['filters'].push(drr);//上传全局数据
|
|
filtsftvdata.push(groupeddata[0]['category'][0]['category'])
|
|
|
|
$(".analysis-overall-situation-left-box").show();
|
|
|
|
if(data['eventView']['filters'].length > 1){
|
|
$(".analysis-overall-situation-left-guanxi").show();
|
|
}else{
|
|
$(".analysis-overall-situation-left-guanxi").hide();
|
|
}
|
|
X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filters'],".analysis-overall-situation-list-box");
|
|
analysisdown();
|
|
})
|
|
|
|
//循环给条件框渲染下拉框
|
|
function analysisdown(){
|
|
for(let i in data['eventView']['filters']){
|
|
X.laydropdown("#analysis-overall-situation-fuhao-"+i,filtsftvdata[i],function(val){
|
|
$(this).html(val.title);
|
|
data['eventView']['filters'][i]['comparator_name'] = val.title;
|
|
data['eventView']['filters'][i]['comparator_id'] = val.id;
|
|
if(val.id == "range"){
|
|
data['eventView']['filters'][i]['ftv'] = [-1,1];
|
|
}
|
|
X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filters'],".analysis-overall-situation-list-box");
|
|
analysisdown();
|
|
})
|
|
}
|
|
}
|
|
|
|
$(document).on('click',".analysis-overall-situation-del",function(){
|
|
var index = $(this).attr("data-index");
|
|
data['eventView']['filters'].splice(index,1);
|
|
filtsftvdata.splice(index,1);
|
|
if(data['eventView']['filters'].length > 1){
|
|
$(".analysis-overall-situation-left-guanxi").show();
|
|
}else{
|
|
$(".analysis-overall-situation-left-guanxi").hide();
|
|
// $(".analysis-overall-situation-left-box").hide();
|
|
}
|
|
X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filters'],".analysis-overall-situation-list-box");
|
|
analysisdown();
|
|
})
|
|
|
|
// 全局属性选择
|
|
$(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(groupeddata,'category',offset.left,offset.top+obj.height(),function(val){
|
|
obj.html(val.title);
|
|
data['eventView']['filters'][index]['column_name'] = val.title;
|
|
data['eventView']['filters'][index]['column_id'] = val.id;
|
|
data['eventView']['filters'][index]['data_type'] = val.type;
|
|
data['eventView']['filters'][index]['comparator_name'] = '等于';
|
|
data['eventView']['filters'][index]['comparator_id'] = '==';
|
|
filtsftvdata[index]=val.category;
|
|
X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filters'],".analysis-overall-situation-list-box");
|
|
analysisdown();
|
|
})
|
|
})
|
|
|
|
$(document).on('blur','.analysis-overall-situation-input input',function(){
|
|
var index = $(this).attr("data-index");
|
|
var val = $(this).val();
|
|
var valarr = val.split(",");
|
|
data['eventView']['filters'][index]['ftv']=valarr;
|
|
data['eventView']['filters'][index]['strftv']=val;
|
|
})
|
|
|
|
$(document).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']['filters'][index]['ftv'][0] = val;
|
|
data['eventView']['filters'][index]['section'][0] = val;
|
|
}else {
|
|
data['eventView']['filters'][index]['ftv'][1] = val;
|
|
data['eventView']['filters'][index]['section'][1] = val;
|
|
}
|
|
})
|
|
|
|
// 日期选择器
|
|
$("#analtsis-condition-date").daterangepicker({
|
|
'locale': {
|
|
"format": 'YYYY-MM-DD',
|
|
"separator": " - ",
|
|
"applyLabel": "应用",
|
|
"cancelLabel": "取消",
|
|
"fromLabel": "起始时间",
|
|
"toLabel": "结束时间'",
|
|
"customRangeLabel": "自定义",
|
|
"weekLabel": "W",
|
|
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
|
|
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
|
"firstDay": 1
|
|
},
|
|
ranges: {
|
|
'今日': [moment(), moment()],
|
|
'昨日': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
|
|
'最近7日': [moment().subtract(7, 'days'), moment().subtract(1, 'days')],
|
|
'最近30日': [moment().subtract(30, 'days'), moment().subtract(1, 'days')],
|
|
'上周': [moment().subtract(1, 'week').startOf('week')+86400000, moment().subtract(1, 'week').endOf('week')+86400000],
|
|
'本周': [moment().startOf('week')+86400000, moment()+86400000],
|
|
'本月': [moment().startOf('month'), moment()],
|
|
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')
|
|
]
|
|
},
|
|
"alwaysShowCalendars": true,
|
|
"startDate": moment().subtract(29, 'days'),
|
|
"endDate": new Date(),
|
|
"opens": "right"
|
|
}, 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;
|
|
calculationdata();
|
|
});
|
|
|
|
// 时间粒度
|
|
var timeParticleSizearr = [
|
|
{'title':'按天','id':'P1D'},
|
|
{'title':'按分钟','id':'PT1M'},
|
|
{'title':'每五分钟','id':'PT5M'},
|
|
{'title':'每十分钟','id':'PT10M'},
|
|
{'title':'每十五分钟','id':'PT15M'},
|
|
{'title':'按小时','id':'PT1H'},
|
|
{'title':'按周','id':'P1W'},
|
|
{'title':'按月','id':'P1M'},
|
|
// {'title':'合计','id':'total'},
|
|
]
|
|
|
|
X.laydropdown('.analtsis-timeParticleSize',timeParticleSizearr,function(d){
|
|
$(this).html(d.title);
|
|
data['eventView']['timeParticleSize'] = d.id;
|
|
calculationdata();
|
|
})
|
|
|
|
X.layuidate('#analysis-overall-situation-time1');
|
|
|
|
// 计算
|
|
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
|
calculationdata();
|
|
})
|
|
|
|
function calculationdata(){
|
|
console.log(data)
|
|
X.api("ck/event_model","post",data,function(d){
|
|
console.log(d);
|
|
var xAxisData=[];
|
|
for(let i in d){
|
|
for(let z in d[i]['groups']){
|
|
var pj = d[i]['event_name']+d[i]['groups'][z][0]+d[i]['groups'][z][1];
|
|
xAxisData.push(pj);
|
|
}
|
|
}
|
|
var seriesData=[];
|
|
for(let i in d){
|
|
for(let z in d[i]['values']){
|
|
var arr = {
|
|
name: '',
|
|
type: 'line',
|
|
stack: '总量',
|
|
areaStyle: {},
|
|
emphasis: {
|
|
focus: 'series'
|
|
},
|
|
data: d[i]['values'][z]
|
|
}
|
|
seriesData.push(arr);
|
|
}
|
|
}
|
|
if(xAxisData.length > 0){
|
|
for(let i in seriesData){
|
|
seriesData[i]['name'] = xAxisData[i];
|
|
}
|
|
}
|
|
var myChart = echarts.init(document.getElementById('analysis-echarts'));
|
|
var option = {
|
|
title: {
|
|
text: ''
|
|
},
|
|
color: [ '#3ea7fd', '#cdddfd', '#5ad8a6', '#cdf3e4', '#5d7092', '#ced4de', '#f6bd16','#fcebb9','#e86452','#f8d0cb','#6dc8ec', '#d3eef9', '#9270ca', '#d3c6ea', '#ff9d4d', '#ffd8b8', '#269a99','#aad8d8','#ff99c3','#ffd6e7' ],
|
|
tooltip: {
|
|
trigger: 'axis',
|
|
axisPointer: {
|
|
type: 'cross',
|
|
label: {
|
|
backgroundColor: '#6a7985'
|
|
}
|
|
}
|
|
},
|
|
legend: {
|
|
data: xAxisData
|
|
},
|
|
toolbox: {
|
|
feature: {
|
|
saveAsImage: {}
|
|
}
|
|
},
|
|
grid: {
|
|
left: '2%',
|
|
right: '2%',
|
|
bottom: '2%',
|
|
top: '10%',
|
|
containLabel: true
|
|
},
|
|
xAxis: [
|
|
{
|
|
type: 'category',
|
|
boundaryGap: false,
|
|
data: d[0]['date_range']
|
|
}
|
|
],
|
|
yAxis: [
|
|
{
|
|
type: 'value'
|
|
}
|
|
],
|
|
series: seriesData
|
|
};
|
|
myChart.setOption(option);
|
|
|
|
})
|
|
}
|
|
// 保存报表
|
|
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){
|
|
X.parametersopen(data,'savereport','auto')
|
|
})
|
|
|
|
|
|
}
|
|
};
|
|
})();
|
|
|
|
|