1
This commit is contained in:
parent
442dd288d7
commit
72f9ac5401
@ -33,15 +33,19 @@
|
||||
<div class="small-data-box">{{d.num}}</div>
|
||||
|
||||
<div class="small-proportion">
|
||||
{{# if(d.wowtyle == '-'){ }}
|
||||
<div class="proportion-data">较环比 <div class="sanjiao"></div><span>{{d.wow}}%</span></div>
|
||||
{{# } else { }}
|
||||
<div class="proportion-data">较环比 <div class="sanjiao fu"></div><span class="funum">{{d.wow}}%</span></div>
|
||||
{{# if(d.wowtype != ''){ }}
|
||||
{{# if(d.wowtype == '-'){ }}
|
||||
<div class="proportion-data">较环比 <div class="sanjiao"></div><span>{{d.wow}}%</span></div>
|
||||
{{# } else { }}
|
||||
<div class="proportion-data">较环比 <div class="sanjiao fu"></div><span class="funum">{{d.wow}}%</span></div>
|
||||
{{# } }}
|
||||
{{# } }}
|
||||
{{# if(d.chain_ratiotype == "+"){ }}
|
||||
<div class="proportion-data">较同比 <div class="sanjiao"></div><span>{{d.chain_ratio}}%</span></div>
|
||||
{{# } else { }}
|
||||
<div class="proportion-data">较同比 <div class="sanjiao fu"></div><span class="funum">{{d.chain_ratio}}%</span></div>
|
||||
{{# if(d.chain_ratiotype != ''){ }}
|
||||
{{# if(d.chain_ratiotype == "+"){ }}
|
||||
<div class="proportion-data">较同比 <div class="sanjiao"></div><span>{{d.chain_ratio}}%</span></div>
|
||||
{{# } else { }}
|
||||
<div class="proportion-data">较同比 <div class="sanjiao fu"></div><span class="funum">{{d.chain_ratio}}%</span></div>
|
||||
{{# } }}
|
||||
{{# } }}
|
||||
</div>
|
||||
|
||||
@ -67,6 +71,17 @@
|
||||
<div class="tishi model-fuzhi" title="复制" data-id="{{d.id}}">
|
||||
<img src="./static/img/fuzhi2.png" />
|
||||
</div>
|
||||
{{# if(d.cat == "event"){ }}
|
||||
{{# if(d.modelswitch){ }}
|
||||
<div class="tishi model-switch" title="切换横纵坐标" data-id="{{d.id}}">
|
||||
<img src="./static/img/qhuan.png" />
|
||||
</div>
|
||||
{{# } else { }}
|
||||
<div class="tishi model-switch" title="切换横纵坐标" data-id="{{d.id}}" data-modelswitch="{{d.modelswitch}}" >
|
||||
<img src="./static/img/qhuan.png" />
|
||||
</div>
|
||||
{{# } }}
|
||||
{{# } }}
|
||||
<div class="tishi model-gengduo" title="更多">
|
||||
<img src="./static/img/gengduo.png" />
|
||||
</div>
|
||||
@ -76,15 +91,21 @@
|
||||
|
||||
<div class="condition-box controlhover">
|
||||
<div class="time-cond">
|
||||
<span class="model-times" id="times{{d.id}}">{{d.date}}</span>
|
||||
<div class="xian"></div>
|
||||
<span class="model-screenlist" data-cat="{{d.cat}}" data-id="{{d.id}}" >按天</span>
|
||||
{{# if(d.cat === "retention"){ }}
|
||||
{{# if(d.cat != "user_property"){ }}
|
||||
{{# if(d.date != ""){ }}
|
||||
<span class="model-times" id="times{{d.id}}">{{d.date}}</span>
|
||||
{{# } }}
|
||||
<div class="xian"></div>
|
||||
{{# if(d.retentiontype === 0){ }}
|
||||
<span class="kanben-retained-type" data-id="{{d.id}}" id="retention{{d.id}}">留存</span>
|
||||
{{# } else { }}
|
||||
<span class="kanben-retained-type" data-id="{{d.id}}" id="retention{{d.id}}">流失</span>
|
||||
<span class="model-screenlist" data-modelsize="{{d.modelsize}}" data-modeltype="{{d.modeltype}}" data-name="{{d.name}}" data-cat="{{d.cat}}" data-id="{{d.id}}" >
|
||||
{{d.timeParticleSize}}
|
||||
</span>
|
||||
{{# if(d.cat === "retention"){ }}
|
||||
<div class="xian"></div>
|
||||
{{# if(d.retentiontype === 0){ }}
|
||||
<span class="kanben-retained-type" data-id="{{d.id}}" id="retention{{d.id}}">留存</span>
|
||||
{{# } else { }}
|
||||
<span class="kanben-retained-type" data-id="{{d.id}}" id="retention{{d.id}}">流失</span>
|
||||
{{# } }}
|
||||
{{# } }}
|
||||
{{# } }}
|
||||
</div>
|
||||
@ -206,15 +227,19 @@
|
||||
|
||||
<div class="condition-box controlhover">
|
||||
<div class="time-cond">
|
||||
<span class="model-times" id="times{{d.id}}">{{d.date}}</span>
|
||||
<div class="xian"></div>
|
||||
<span class="model-screenlist">按天</span>
|
||||
{{# if(d.cat === "retention"){ }}
|
||||
{{# if(d.cat != "user_property"){ }}
|
||||
<span class="model-times" id="times{{d.id}}">{{d.date}}</span>
|
||||
<div class="xian"></div>
|
||||
{{# if(d.retentiontype === 0){ }}
|
||||
<span class="kanben-retained-type" data-id="{{d.id}}" id="retention{{d.id}}">留存</span>
|
||||
{{# } else { }}
|
||||
<span class="kanben-retained-type" data-id="{{d.id}}" id="retention{{d.id}}">流失</span>
|
||||
{{# if(d.date != ""){ }}
|
||||
<span class="model-screenlist" data-modelsize="{{d.modelsize}}" data-modeltype="{{d.modeltype}}" data-name="{{d.name}}" data-cat="{{d.cat}}" data-id="{{d.id}}" >{{d.timeParticleSize}}</span>
|
||||
{{# } }}
|
||||
{{# if(d.cat === "retention"){ }}
|
||||
<div class="xian"></div>
|
||||
{{# if(d.retentiontype === 0){ }}
|
||||
<span class="kanben-retained-type" data-id="{{d.id}}" id="retention{{d.id}}">留存</span>
|
||||
{{# } else { }}
|
||||
<span class="kanben-retained-type" data-id="{{d.id}}" id="retention{{d.id}}">流失</span>
|
||||
{{# } }}
|
||||
{{# } }}
|
||||
{{# } }}
|
||||
</div>
|
||||
@ -222,21 +247,21 @@
|
||||
<img src="./static/img/qvshitu.png" /> <span>趋势图</span>
|
||||
</div>
|
||||
</div>
|
||||
<p class="dqtime">{{d.date}}</p>
|
||||
<!-- <p class="dqtime">{{d.date}}</p> -->
|
||||
<div class="data-box">
|
||||
<div style="display: flex; align-items: center;">
|
||||
<div class="data-num">{{d.sameday}}<span></span></div>
|
||||
<div class="proportion">
|
||||
<!-- <div class="proportion-data">较环比 <div class="sanjiao"></div><span>5.4%</span></div>
|
||||
<div class="proportion-data">较同比 <div class="sanjiao"></div><span>5.4%</span></div> -->
|
||||
{{# if(d.wow != undefined){ }}
|
||||
{{# if(d.wowtyle == '-'){ }}
|
||||
{{# if(d.wowtype != ''){ }}
|
||||
{{# if(d.wowtype == '-'){ }}
|
||||
<div class="proportion-data">较环比 <div class="sanjiao"></div><span>{{d.wow}}%</span></div>
|
||||
{{# } else { }}
|
||||
<div class="proportion-data">较环比 <div class="sanjiao fu"></div><span class="funum">{{d.wow}}%</span></div>
|
||||
{{# } }}
|
||||
{{# } }}
|
||||
{{# if(d.chain_ratio != undefined){ }}
|
||||
{{# if(d.chain_ratiotype != ''){ }}
|
||||
{{# if(d.chain_ratiotype == "+"){ }}
|
||||
<div class="proportion-data">较同比 <div class="sanjiao"></div><span>{{d.chain_ratio}}%</span></div>
|
||||
{{# } else { }}
|
||||
@ -248,8 +273,12 @@
|
||||
|
||||
<div class="thesum">
|
||||
<div class="thesum-box">
|
||||
<div class="thesum-data">总和 <span>{{d.sum}}</span></div>
|
||||
<div class="thesum-data">均值 <span>{{d.mean}}</span></div>
|
||||
{{# if(d.sum != -1){ }}
|
||||
<div class="thesum-data">总和 <span>{{d.sum}}</span></div>
|
||||
{{# } }}
|
||||
{{# if(d.mean != -1){ }}
|
||||
<div class="thesum-data">均值 <span>{{d.mean}}</span></div>
|
||||
{{# } }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
360
web/src/x.min.js
vendored
360
web/src/x.min.js
vendored
@ -96,9 +96,9 @@ var X = window.X || {
|
||||
'retention':[
|
||||
{'title':'当日','id':'1'},
|
||||
{'title':'次日','id':'2'},
|
||||
{'title':'7日','id':'P1W'},
|
||||
{'title':'7日','id':'7'},
|
||||
{'title':'14日','id':'14'},
|
||||
{'title':'30日','id':'P1M'}
|
||||
{'title':'30日','id':'30'}
|
||||
],
|
||||
'distribution':[
|
||||
{'title':'按天','id':'P1D'},
|
||||
@ -365,6 +365,41 @@ var X = window.X || {
|
||||
})
|
||||
};
|
||||
|
||||
//获取时间粒度中文名
|
||||
X.granularity=function(timeParticleSize,callback){
|
||||
if(timeParticleSize == 'P1D'){
|
||||
granularity = '按天'
|
||||
}else if(timeParticleSize == 'PT1M'){
|
||||
granularity = '按分钟'
|
||||
}else if(timeParticleSize == 'PT5M'){
|
||||
granularity = '每五分钟'
|
||||
}else if(timeParticleSize == 'PT10M'){
|
||||
granularity = '每十分钟'
|
||||
}else if(timeParticleSize == 'PT15M'){
|
||||
granularity = '每十五分钟'
|
||||
}else if(timeParticleSize == 'PT1H'){
|
||||
granularity = '按小时'
|
||||
}else if(timeParticleSize == 'P1W'){
|
||||
granularity = '按周'
|
||||
}else if(timeParticleSize == 'P1M'){
|
||||
granularity = '按月'
|
||||
}else if(timeParticleSize == 'total'){
|
||||
granularity = '合计'
|
||||
}else if(timeParticleSize == '1'){
|
||||
granularity = '当日'
|
||||
}else if(timeParticleSize == '2'){
|
||||
granularity = '次日'
|
||||
}else if(timeParticleSize == '7'){
|
||||
granularity = '7日'
|
||||
}else if(timeParticleSize == '14'){
|
||||
granularity = '14日'
|
||||
}else if(timeParticleSize == '30'){
|
||||
granularity = '30日'
|
||||
}
|
||||
callback && callback(granularity);
|
||||
};
|
||||
|
||||
|
||||
// 分组项取交集
|
||||
X.groupintersection=function(c , a , callback){
|
||||
var dataArr=[];
|
||||
@ -583,11 +618,11 @@ var X = window.X || {
|
||||
}
|
||||
}
|
||||
var seriesData=[];
|
||||
var sum = 0;
|
||||
var mean = 0;
|
||||
var sum = -1;
|
||||
var mean = -1;
|
||||
var sameday = 0;
|
||||
var date;
|
||||
var wowtype,chain_ratiotype;//判断较环比和较同比的正负
|
||||
var wowtype='',chain_ratiotype='';//判断较环比和较同比的正负
|
||||
|
||||
var length = data[0]['date_range'].length - 1;
|
||||
date = data[0]['date_range'][length];
|
||||
@ -600,31 +635,37 @@ var X = window.X || {
|
||||
}
|
||||
seriesData.push(arr);
|
||||
sameday = data[i]['values'][z][data[i]['values'][z].length - 1];
|
||||
for(let j in data[i]['values'][z]){
|
||||
mean = parseInt(mean) + parseInt(data[i]['values'][z][j]);
|
||||
}
|
||||
|
||||
}
|
||||
sum = sum + data[i]['sum'][0];
|
||||
mean = mean / data[i]['values'].length;
|
||||
}
|
||||
|
||||
//只在单个指标分析中显示总价和均值
|
||||
if(data.length == 1){
|
||||
sum = data[0]['sum'][0];
|
||||
mean = data[0]['avg'][0];
|
||||
}
|
||||
|
||||
if(legenddata.length > 0){
|
||||
for(let i in seriesData){
|
||||
seriesData[i]['name'] = legenddata[i];
|
||||
}
|
||||
}
|
||||
|
||||
if(data[0]['wow'] >= 0){
|
||||
wowtype = '+'
|
||||
}else{
|
||||
wowtype = '-'
|
||||
if(data[0]['wow']){
|
||||
if(data[0]['wow'] >= 0){
|
||||
wowtype = '+'
|
||||
}else{
|
||||
wowtype = '-'
|
||||
}
|
||||
}
|
||||
|
||||
if(data[0]['chain_ratio'] >= 0){
|
||||
chain_ratiotype = '+'
|
||||
}else{
|
||||
chain_ratiotype = '-'
|
||||
|
||||
if(data[0]['chain_ratio']){
|
||||
if(data[0]['chain_ratio'] >= 0){
|
||||
chain_ratiotype = '+'
|
||||
}else{
|
||||
chain_ratiotype = '-'
|
||||
}
|
||||
}
|
||||
console.log(111,data[0]['date_range']);
|
||||
|
||||
var dataArr = {
|
||||
xAxisData:data[0]['date_range'],
|
||||
legenddata:legenddata,
|
||||
@ -634,8 +675,6 @@ var X = window.X || {
|
||||
mean:mean,
|
||||
sameday: sameday,
|
||||
wowtype:wowtype,
|
||||
// wow: 0,
|
||||
// chain_ratio: 0,
|
||||
wow: Math.abs(data[0]['wow']),//环比
|
||||
chain_ratio: Math.abs(data[0]['chain_ratio']),//同比
|
||||
chain_ratiotype:chain_ratiotype
|
||||
@ -4042,8 +4081,6 @@ var X = window.X || {
|
||||
X.parametersopen(X['DATA']['retentionlist'],'dropdownlist',[offset.top+obj.height(),offset.left],function(d){
|
||||
var retentiontype = d.id;
|
||||
var modelid = "retention"+id;
|
||||
console.log(d);
|
||||
console.log(modelid);
|
||||
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(val){
|
||||
for(let i in val){
|
||||
if(val[i]['report_id'] == id){
|
||||
@ -4054,41 +4091,143 @@ var X = window.X || {
|
||||
})
|
||||
});
|
||||
|
||||
//报表时间粒度修改
|
||||
$(document).off('click','.model-screenlist').on('click','.model-screenlist',function(){
|
||||
var obj = $(this);
|
||||
var offset = obj.offset();
|
||||
|
||||
// var id = obj.attr('data-id');
|
||||
// X.parametersopen(X['DATA']['screenlist'][eventdata.cat],'dropdownlist',[offset.top+obj.height(),offset.left],function(d){
|
||||
var id = obj.attr('data-id');
|
||||
var cat = obj.attr('data-cat');
|
||||
var modelsize = obj.attr('data-modelsize');
|
||||
var modeltype = obj.attr('data-modeltype');
|
||||
var name = obj.attr('data-name');
|
||||
|
||||
// var modelid = eventdata['cat']+eventdata.id;
|
||||
// var reportid = [];
|
||||
// reportid.push(eventdata.id);
|
||||
// X.api('report/read_report','post',{project_id:X.DATA['projectid'],report_id:reportid},function(val){
|
||||
// var query = {
|
||||
// eventView:val[0]['query']['eventView'],
|
||||
// events:val[0]['query']['events'],
|
||||
// };
|
||||
// query['eventView']['timeParticleSize'] = d.id;
|
||||
// X.api("ck/"+ eventdata.cat +"_model","post",query,function(val){
|
||||
// var bbsetdata = {
|
||||
// graph_size:eventdata['modelsize'],
|
||||
// graph_type:eventdata['modeltype'],
|
||||
// model:eventdata['cat'],
|
||||
// name:eventdata['name'],
|
||||
// report_id:eventdata['id'],
|
||||
// }
|
||||
X.parametersopen(X['DATA']['screenlist'][cat],'dropdownlist',[offset.top+obj.height(),offset.left],function(d){
|
||||
|
||||
// var modeldata = X.pageLogic['dashboard'].modeldata(bbsetdata,val);
|
||||
// // console.log(modeldata);
|
||||
// //渲染模板和数据
|
||||
// X.template("modeltable",'model'+modeldata[0]['id'],modeldata[0],function(){
|
||||
// X.pageLogic['dashboard'].morefeatures(modeldata);
|
||||
// });
|
||||
// })
|
||||
// })
|
||||
var reportid = [];
|
||||
reportid.push(id);
|
||||
X.api('report/read_report','post',{project_id:X.DATA['projectid'],report_id:reportid},function(val){
|
||||
var query = {
|
||||
eventView:val[0]['query']['eventView'],
|
||||
events:val[0]['query']['events'],
|
||||
};
|
||||
query['eventView']['timeParticleSize'] = d.id;
|
||||
X.api("ck/"+ cat +"_model","post",query,function(vals){
|
||||
var bbsetdata = {
|
||||
graph_size:modelsize,
|
||||
graph_type:modeltype,
|
||||
model:cat,
|
||||
name:name,
|
||||
report_id:id,
|
||||
query:val[0]['query']
|
||||
}
|
||||
// debugger;
|
||||
var modeldata = X.pageLogic['dashboard'].modeldata(bbsetdata,vals);
|
||||
//渲染模板和数据
|
||||
X.template("modeltable",'model'+modeldata[0]['id'],modeldata[0],function(){
|
||||
X.pageLogic['dashboard'].morefeatures(modeldata[0]);
|
||||
});
|
||||
})
|
||||
})
|
||||
|
||||
// })
|
||||
})
|
||||
});
|
||||
|
||||
$(document).off('click','.chart').on('click','.chart',function(){
|
||||
var dropdownlist = [
|
||||
{title:'表格',id:'table'},
|
||||
{title:'图形',id:'echarts'}
|
||||
];
|
||||
var obj = $(this);
|
||||
var offset = obj.offset();
|
||||
var id = obj.attr('data-id');
|
||||
var modelid = 'model'+id;
|
||||
var modelsize = obj.attr('data-modelsize');
|
||||
var modeltype = obj.attr('data-modeltype');
|
||||
var cat = obj.attr('data-cat');
|
||||
var name = obj.attr('data-name');
|
||||
X.parametersopen(dropdownlist,'dropdownlist',[offset.top+obj.height()+5,offset.left-150],function(d){
|
||||
|
||||
var data = {
|
||||
report_id:id,
|
||||
graph_size:modelsize,
|
||||
graph_type:d.id,
|
||||
model:cat,
|
||||
name:name
|
||||
}
|
||||
X.api('dashboard/edit_show_report','post',{dashboard_id:X.DATA.dashboard_id,config:data},function(d){
|
||||
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(val){
|
||||
for(let i in val){
|
||||
if(val[i]['report_id'] == id){
|
||||
X.pageLogic['dashboard'].fillmodeldata(val[i],modelid);
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
// 横纵切换
|
||||
$(document).off('click','.model-switch').on('click','.model-switch',function(){
|
||||
var id = $(this).attr('data-id');
|
||||
var modelswitch = $(this).attr('data-modelswitch');
|
||||
var d = X['DATA']['kanbanlist'][id];
|
||||
var modelid = 'model'+id;
|
||||
var eventdata = [];
|
||||
var startTime = d['query']['eventView']['startTime'];
|
||||
var endTime = d['query']['eventView']['endTime'];
|
||||
|
||||
if(startTime && endTime){
|
||||
var startTimearr = startTime.split(" ");
|
||||
var endTimearr = endTime.split(" ");
|
||||
}else {
|
||||
var startTimearr = [];
|
||||
var endTimearr = [];
|
||||
}
|
||||
|
||||
var timeParticleSize = d['query']['eventView']['timeParticleSize'];
|
||||
var granularity = ''
|
||||
if(timeParticleSize){
|
||||
X.granularity(timeParticleSize,function(d){
|
||||
granularity = d;
|
||||
});
|
||||
}
|
||||
X.api("ck/event_model","post",{report_id:id},function(val){
|
||||
X.eventtable(val,function(data){//表格数据处理
|
||||
data['name'] = d['name'];
|
||||
data['modeltype'] = d['graph_type'];
|
||||
data['id'] = d['report_id'];
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
if(modelswitch){
|
||||
eventdata[0]['modelswitch'] = 1;
|
||||
var originaldata;//原始数据
|
||||
originaldata= $.extend(true,[],eventdata[0]['condata']);
|
||||
originaldata.unshift(eventdata[0]['titledata']);
|
||||
var dataarr = [];
|
||||
for(let i in originaldata[0]){
|
||||
var arr = [];
|
||||
dataarr.push(arr);
|
||||
}
|
||||
for(let i in originaldata){
|
||||
for(let j in originaldata[i]){
|
||||
dataarr[j].push(originaldata[i][j]);
|
||||
}
|
||||
}
|
||||
var titledata = dataarr[0];
|
||||
var condata = dataarr.slice(1, dataarr.length - 1);
|
||||
eventdata[0]['titledata'] = titledata;
|
||||
eventdata[0]['condata'] = condata;
|
||||
}
|
||||
X.template("modeltable",modelid,eventdata[0],function(){
|
||||
X.pageLogic['dashboard'].morefeatures(eventdata[0]);
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
},
|
||||
@ -4130,12 +4269,24 @@ var X = window.X || {
|
||||
},
|
||||
|
||||
modeldata:function(d,val,type){
|
||||
console.log('aaa',val);
|
||||
var eventdata = [];
|
||||
var startTime = d['query']['eventView']['startTime'];
|
||||
var endTime = d['query']['eventView']['endTime'];
|
||||
var startTimearr = startTime.split(" ");
|
||||
var endTimearr = endTime.split(" ");
|
||||
if(startTime && endTime){
|
||||
var startTimearr = startTime.split(" ");
|
||||
var endTimearr = endTime.split(" ");
|
||||
}else {
|
||||
var startTimearr = [];
|
||||
var endTimearr = [];
|
||||
}
|
||||
|
||||
var timeParticleSize = d['query']['eventView']['timeParticleSize'];
|
||||
var granularity = ''
|
||||
if(timeParticleSize){
|
||||
X.granularity(timeParticleSize,function(d){
|
||||
granularity = d;
|
||||
});
|
||||
}
|
||||
|
||||
if(d['model'] == "event"){
|
||||
// 事件分析
|
||||
@ -4160,6 +4311,7 @@ var X = window.X || {
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else if(d['graph_type'] == 'echarts'){
|
||||
@ -4171,6 +4323,7 @@ var X = window.X || {
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -4194,6 +4347,7 @@ var X = window.X || {
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
|
||||
@ -4205,6 +4359,7 @@ var X = window.X || {
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -4219,6 +4374,7 @@ var X = window.X || {
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else {
|
||||
@ -4229,6 +4385,7 @@ var X = window.X || {
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -4241,7 +4398,7 @@ var X = window.X || {
|
||||
data['id'] = d['report_id'];
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['date'] = "";
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else {
|
||||
@ -4251,7 +4408,7 @@ var X = window.X || {
|
||||
data['id'] = d['report_id'];
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['date'] = "";
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -4262,57 +4419,6 @@ var X = window.X || {
|
||||
//画统计图和添加移入移出事件
|
||||
morefeatures:function(eventdata){
|
||||
|
||||
var dropdownlist = [
|
||||
{title:'表格',id:'table'},
|
||||
{title:'图形',id:'echarts'}
|
||||
];
|
||||
X.laydropdown("#chart"+eventdata.id,dropdownlist,function(d){
|
||||
var id = $("#chart"+eventdata.id).attr('data-id');
|
||||
var modelid = 'model'+id;
|
||||
var modelsize = $("#chart"+eventdata.id).attr('data-modelsize');
|
||||
var modeltype = $("#chart"+eventdata.id).attr('data-modeltype');
|
||||
var cat = $("#chart"+eventdata.id).attr('data-cat');
|
||||
var name = $("#chart"+eventdata.id).attr('data-name');
|
||||
var data = {
|
||||
report_id:id,
|
||||
graph_size:modelsize,
|
||||
graph_type:d.id,
|
||||
model:cat,
|
||||
name:name
|
||||
}
|
||||
X.api('dashboard/edit_show_report','post',{dashboard_id:X.DATA.dashboard_id,config:data},function(d){
|
||||
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(val){
|
||||
for(let i in val){
|
||||
if(val[i]['report_id'] == id){
|
||||
X.pageLogic['dashboard'].fillmodeldata(val[i],modelid);
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
//已废弃 留存分析模板特定留存流失按钮
|
||||
// var retentionlist = [
|
||||
// {'title':'留存','id':0},
|
||||
// {'title':'流失','id':1},
|
||||
// ]
|
||||
// if(eventdata.cat == 'retention'){
|
||||
// X.laydropdown("#retention"+eventdata.id,retentionlist,function(d){
|
||||
|
||||
// var retentiontype = d.id;
|
||||
// var modelid = "retention"+eventdata.id;
|
||||
// X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(val){
|
||||
// for(let i in val){
|
||||
// if(val[i]['report_id'] == eventdata.id){
|
||||
// X.pageLogic['dashboard'].fillmodeldata(val[i],modelid,retentiontype);
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
|
||||
// })
|
||||
// };
|
||||
|
||||
//更多按钮配置下拉框
|
||||
X.laydropdown(".model-gengduo",X['DATA']['gengduolist'],function(d){
|
||||
if(d.id == 'shezhi'){
|
||||
@ -4375,6 +4481,7 @@ var X = window.X || {
|
||||
model:eventdata['cat'],
|
||||
name:eventdata['name'],
|
||||
report_id:eventdata['id'],
|
||||
query:query
|
||||
}
|
||||
|
||||
var modeldata = X.pageLogic['dashboard'].modeldata(bbsetdata,val);
|
||||
@ -4387,35 +4494,6 @@ var X = window.X || {
|
||||
})
|
||||
});
|
||||
|
||||
X.laydropdown(".model-screenlist",X['DATA']['screenlist'][eventdata.cat],function(d){
|
||||
var modelid = eventdata['cat']+eventdata.id;
|
||||
var reportid = [];
|
||||
reportid.push(eventdata.id);
|
||||
X.api('report/read_report','post',{project_id:X.DATA['projectid'],report_id:reportid},function(val){
|
||||
var query = {
|
||||
eventView:val[0]['query']['eventView'],
|
||||
events:val[0]['query']['events'],
|
||||
};
|
||||
query['eventView']['timeParticleSize'] = d.id;
|
||||
X.api("ck/"+ eventdata.cat +"_model","post",query,function(val){
|
||||
var bbsetdata = {
|
||||
graph_size:eventdata['modelsize'],
|
||||
graph_type:eventdata['modeltype'],
|
||||
model:eventdata['cat'],
|
||||
name:eventdata['name'],
|
||||
report_id:eventdata['id'],
|
||||
}
|
||||
|
||||
var modeldata = X.pageLogic['dashboard'].modeldata(bbsetdata,val);
|
||||
// console.log(modeldata);
|
||||
//渲染模板和数据
|
||||
X.template("modeltable",'model'+modeldata[0]['id'],modeldata[0],function(){
|
||||
X.pageLogic['dashboard'].morefeatures(modeldata);
|
||||
});
|
||||
})
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
if(eventdata['modeltype'] == 'echarts' && eventdata['modelsize'] != 'small' ){
|
||||
var myChart = echarts.init(document.getElementById(eventdata['id']));
|
||||
@ -4473,13 +4551,14 @@ var X = window.X || {
|
||||
},
|
||||
legend: {
|
||||
type:'scroll',
|
||||
bottom:0,
|
||||
data: eventdata['legenddata']
|
||||
},
|
||||
grid: {
|
||||
left: '2%',
|
||||
right: '2%',
|
||||
bottom: '2%',
|
||||
top: '10%',
|
||||
bottom: '10%',
|
||||
top: '5%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: [
|
||||
@ -4508,6 +4587,7 @@ var X = window.X || {
|
||||
gettabledata:function(){
|
||||
$("#model-box").html("");//清空表格数据
|
||||
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){
|
||||
X['DATA']['kanbanlist'] = d;
|
||||
var modellist=[];
|
||||
for(let i in d){
|
||||
var arr = {
|
||||
|
@ -95,9 +95,9 @@ var X = window.X || {
|
||||
'retention':[
|
||||
{'title':'当日','id':'1'},
|
||||
{'title':'次日','id':'2'},
|
||||
{'title':'7日','id':'P1W'},
|
||||
{'title':'7日','id':'7'},
|
||||
{'title':'14日','id':'14'},
|
||||
{'title':'30日','id':'P1M'}
|
||||
{'title':'30日','id':'30'}
|
||||
],
|
||||
'distribution':[
|
||||
{'title':'按天','id':'P1D'},
|
||||
@ -364,6 +364,41 @@ var X = window.X || {
|
||||
})
|
||||
};
|
||||
|
||||
//获取时间粒度中文名
|
||||
X.granularity=function(timeParticleSize,callback){
|
||||
if(timeParticleSize == 'P1D'){
|
||||
granularity = '按天'
|
||||
}else if(timeParticleSize == 'PT1M'){
|
||||
granularity = '按分钟'
|
||||
}else if(timeParticleSize == 'PT5M'){
|
||||
granularity = '每五分钟'
|
||||
}else if(timeParticleSize == 'PT10M'){
|
||||
granularity = '每十分钟'
|
||||
}else if(timeParticleSize == 'PT15M'){
|
||||
granularity = '每十五分钟'
|
||||
}else if(timeParticleSize == 'PT1H'){
|
||||
granularity = '按小时'
|
||||
}else if(timeParticleSize == 'P1W'){
|
||||
granularity = '按周'
|
||||
}else if(timeParticleSize == 'P1M'){
|
||||
granularity = '按月'
|
||||
}else if(timeParticleSize == 'total'){
|
||||
granularity = '合计'
|
||||
}else if(timeParticleSize == '1'){
|
||||
granularity = '当日'
|
||||
}else if(timeParticleSize == '2'){
|
||||
granularity = '次日'
|
||||
}else if(timeParticleSize == '7'){
|
||||
granularity = '7日'
|
||||
}else if(timeParticleSize == '14'){
|
||||
granularity = '14日'
|
||||
}else if(timeParticleSize == '30'){
|
||||
granularity = '30日'
|
||||
}
|
||||
callback && callback(granularity);
|
||||
};
|
||||
|
||||
|
||||
// 分组项取交集
|
||||
X.groupintersection=function(c , a , callback){
|
||||
var dataArr=[];
|
||||
@ -582,11 +617,11 @@ var X = window.X || {
|
||||
}
|
||||
}
|
||||
var seriesData=[];
|
||||
var sum = 0;
|
||||
var mean = 0;
|
||||
var sum = -1;
|
||||
var mean = -1;
|
||||
var sameday = 0;
|
||||
var date;
|
||||
var wowtype,chain_ratiotype;//判断较环比和较同比的正负
|
||||
var wowtype='',chain_ratiotype='';//判断较环比和较同比的正负
|
||||
|
||||
var length = data[0]['date_range'].length - 1;
|
||||
date = data[0]['date_range'][length];
|
||||
@ -599,31 +634,37 @@ var X = window.X || {
|
||||
}
|
||||
seriesData.push(arr);
|
||||
sameday = data[i]['values'][z][data[i]['values'][z].length - 1];
|
||||
for(let j in data[i]['values'][z]){
|
||||
mean = parseInt(mean) + parseInt(data[i]['values'][z][j]);
|
||||
}
|
||||
|
||||
}
|
||||
sum = sum + data[i]['sum'][0];
|
||||
mean = mean / data[i]['values'].length;
|
||||
}
|
||||
|
||||
//只在单个指标分析中显示总价和均值
|
||||
if(data.length == 1){
|
||||
sum = data[0]['sum'][0];
|
||||
mean = data[0]['avg'][0];
|
||||
}
|
||||
|
||||
if(legenddata.length > 0){
|
||||
for(let i in seriesData){
|
||||
seriesData[i]['name'] = legenddata[i];
|
||||
}
|
||||
}
|
||||
|
||||
if(data[0]['wow'] >= 0){
|
||||
wowtype = '+'
|
||||
}else{
|
||||
wowtype = '-'
|
||||
if(data[0]['wow']){
|
||||
if(data[0]['wow'] >= 0){
|
||||
wowtype = '+'
|
||||
}else{
|
||||
wowtype = '-'
|
||||
}
|
||||
}
|
||||
|
||||
if(data[0]['chain_ratio'] >= 0){
|
||||
chain_ratiotype = '+'
|
||||
}else{
|
||||
chain_ratiotype = '-'
|
||||
|
||||
if(data[0]['chain_ratio']){
|
||||
if(data[0]['chain_ratio'] >= 0){
|
||||
chain_ratiotype = '+'
|
||||
}else{
|
||||
chain_ratiotype = '-'
|
||||
}
|
||||
}
|
||||
console.log(111,data[0]['date_range']);
|
||||
|
||||
var dataArr = {
|
||||
xAxisData:data[0]['date_range'],
|
||||
legenddata:legenddata,
|
||||
@ -633,8 +674,6 @@ var X = window.X || {
|
||||
mean:mean,
|
||||
sameday: sameday,
|
||||
wowtype:wowtype,
|
||||
// wow: 0,
|
||||
// chain_ratio: 0,
|
||||
wow: Math.abs(data[0]['wow']),//环比
|
||||
chain_ratio: Math.abs(data[0]['chain_ratio']),//同比
|
||||
chain_ratiotype:chain_ratiotype
|
||||
|
@ -334,8 +334,6 @@
|
||||
X.parametersopen(X['DATA']['retentionlist'],'dropdownlist',[offset.top+obj.height(),offset.left],function(d){
|
||||
var retentiontype = d.id;
|
||||
var modelid = "retention"+id;
|
||||
console.log(d);
|
||||
console.log(modelid);
|
||||
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(val){
|
||||
for(let i in val){
|
||||
if(val[i]['report_id'] == id){
|
||||
@ -346,41 +344,143 @@
|
||||
})
|
||||
});
|
||||
|
||||
//报表时间粒度修改
|
||||
$(document).off('click','.model-screenlist').on('click','.model-screenlist',function(){
|
||||
var obj = $(this);
|
||||
var offset = obj.offset();
|
||||
|
||||
// var id = obj.attr('data-id');
|
||||
// X.parametersopen(X['DATA']['screenlist'][eventdata.cat],'dropdownlist',[offset.top+obj.height(),offset.left],function(d){
|
||||
var id = obj.attr('data-id');
|
||||
var cat = obj.attr('data-cat');
|
||||
var modelsize = obj.attr('data-modelsize');
|
||||
var modeltype = obj.attr('data-modeltype');
|
||||
var name = obj.attr('data-name');
|
||||
|
||||
// var modelid = eventdata['cat']+eventdata.id;
|
||||
// var reportid = [];
|
||||
// reportid.push(eventdata.id);
|
||||
// X.api('report/read_report','post',{project_id:X.DATA['projectid'],report_id:reportid},function(val){
|
||||
// var query = {
|
||||
// eventView:val[0]['query']['eventView'],
|
||||
// events:val[0]['query']['events'],
|
||||
// };
|
||||
// query['eventView']['timeParticleSize'] = d.id;
|
||||
// X.api("ck/"+ eventdata.cat +"_model","post",query,function(val){
|
||||
// var bbsetdata = {
|
||||
// graph_size:eventdata['modelsize'],
|
||||
// graph_type:eventdata['modeltype'],
|
||||
// model:eventdata['cat'],
|
||||
// name:eventdata['name'],
|
||||
// report_id:eventdata['id'],
|
||||
// }
|
||||
X.parametersopen(X['DATA']['screenlist'][cat],'dropdownlist',[offset.top+obj.height(),offset.left],function(d){
|
||||
|
||||
// var modeldata = X.pageLogic['dashboard'].modeldata(bbsetdata,val);
|
||||
// // console.log(modeldata);
|
||||
// //渲染模板和数据
|
||||
// X.template("modeltable",'model'+modeldata[0]['id'],modeldata[0],function(){
|
||||
// X.pageLogic['dashboard'].morefeatures(modeldata);
|
||||
// });
|
||||
// })
|
||||
// })
|
||||
var reportid = [];
|
||||
reportid.push(id);
|
||||
X.api('report/read_report','post',{project_id:X.DATA['projectid'],report_id:reportid},function(val){
|
||||
var query = {
|
||||
eventView:val[0]['query']['eventView'],
|
||||
events:val[0]['query']['events'],
|
||||
};
|
||||
query['eventView']['timeParticleSize'] = d.id;
|
||||
X.api("ck/"+ cat +"_model","post",query,function(vals){
|
||||
var bbsetdata = {
|
||||
graph_size:modelsize,
|
||||
graph_type:modeltype,
|
||||
model:cat,
|
||||
name:name,
|
||||
report_id:id,
|
||||
query:val[0]['query']
|
||||
}
|
||||
// debugger;
|
||||
var modeldata = X.pageLogic['dashboard'].modeldata(bbsetdata,vals);
|
||||
//渲染模板和数据
|
||||
X.template("modeltable",'model'+modeldata[0]['id'],modeldata[0],function(){
|
||||
X.pageLogic['dashboard'].morefeatures(modeldata[0]);
|
||||
});
|
||||
})
|
||||
})
|
||||
|
||||
// })
|
||||
})
|
||||
});
|
||||
|
||||
$(document).off('click','.chart').on('click','.chart',function(){
|
||||
var dropdownlist = [
|
||||
{title:'表格',id:'table'},
|
||||
{title:'图形',id:'echarts'}
|
||||
];
|
||||
var obj = $(this);
|
||||
var offset = obj.offset();
|
||||
var id = obj.attr('data-id');
|
||||
var modelid = 'model'+id;
|
||||
var modelsize = obj.attr('data-modelsize');
|
||||
var modeltype = obj.attr('data-modeltype');
|
||||
var cat = obj.attr('data-cat');
|
||||
var name = obj.attr('data-name');
|
||||
X.parametersopen(dropdownlist,'dropdownlist',[offset.top+obj.height()+5,offset.left-150],function(d){
|
||||
|
||||
var data = {
|
||||
report_id:id,
|
||||
graph_size:modelsize,
|
||||
graph_type:d.id,
|
||||
model:cat,
|
||||
name:name
|
||||
}
|
||||
X.api('dashboard/edit_show_report','post',{dashboard_id:X.DATA.dashboard_id,config:data},function(d){
|
||||
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(val){
|
||||
for(let i in val){
|
||||
if(val[i]['report_id'] == id){
|
||||
X.pageLogic['dashboard'].fillmodeldata(val[i],modelid);
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
})
|
||||
});
|
||||
|
||||
// 横纵切换
|
||||
$(document).off('click','.model-switch').on('click','.model-switch',function(){
|
||||
var id = $(this).attr('data-id');
|
||||
var modelswitch = $(this).attr('data-modelswitch');
|
||||
var d = X['DATA']['kanbanlist'][id];
|
||||
var modelid = 'model'+id;
|
||||
var eventdata = [];
|
||||
var startTime = d['query']['eventView']['startTime'];
|
||||
var endTime = d['query']['eventView']['endTime'];
|
||||
|
||||
if(startTime && endTime){
|
||||
var startTimearr = startTime.split(" ");
|
||||
var endTimearr = endTime.split(" ");
|
||||
}else {
|
||||
var startTimearr = [];
|
||||
var endTimearr = [];
|
||||
}
|
||||
|
||||
var timeParticleSize = d['query']['eventView']['timeParticleSize'];
|
||||
var granularity = ''
|
||||
if(timeParticleSize){
|
||||
X.granularity(timeParticleSize,function(d){
|
||||
granularity = d;
|
||||
});
|
||||
}
|
||||
X.api("ck/event_model","post",{report_id:id},function(val){
|
||||
X.eventtable(val,function(data){//表格数据处理
|
||||
data['name'] = d['name'];
|
||||
data['modeltype'] = d['graph_type'];
|
||||
data['id'] = d['report_id'];
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
if(modelswitch){
|
||||
eventdata[0]['modelswitch'] = 1;
|
||||
var originaldata;//原始数据
|
||||
originaldata= $.extend(true,[],eventdata[0]['condata']);
|
||||
originaldata.unshift(eventdata[0]['titledata']);
|
||||
var dataarr = [];
|
||||
for(let i in originaldata[0]){
|
||||
var arr = [];
|
||||
dataarr.push(arr);
|
||||
}
|
||||
for(let i in originaldata){
|
||||
for(let j in originaldata[i]){
|
||||
dataarr[j].push(originaldata[i][j]);
|
||||
}
|
||||
}
|
||||
var titledata = dataarr[0];
|
||||
var condata = dataarr.slice(1, dataarr.length - 1);
|
||||
eventdata[0]['titledata'] = titledata;
|
||||
eventdata[0]['condata'] = condata;
|
||||
}
|
||||
X.template("modeltable",modelid,eventdata[0],function(){
|
||||
X.pageLogic['dashboard'].morefeatures(eventdata[0]);
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
},
|
||||
@ -422,12 +522,24 @@
|
||||
},
|
||||
|
||||
modeldata:function(d,val,type){
|
||||
console.log('aaa',val);
|
||||
var eventdata = [];
|
||||
var startTime = d['query']['eventView']['startTime'];
|
||||
var endTime = d['query']['eventView']['endTime'];
|
||||
var startTimearr = startTime.split(" ");
|
||||
var endTimearr = endTime.split(" ");
|
||||
if(startTime && endTime){
|
||||
var startTimearr = startTime.split(" ");
|
||||
var endTimearr = endTime.split(" ");
|
||||
}else {
|
||||
var startTimearr = [];
|
||||
var endTimearr = [];
|
||||
}
|
||||
|
||||
var timeParticleSize = d['query']['eventView']['timeParticleSize'];
|
||||
var granularity = ''
|
||||
if(timeParticleSize){
|
||||
X.granularity(timeParticleSize,function(d){
|
||||
granularity = d;
|
||||
});
|
||||
}
|
||||
|
||||
if(d['model'] == "event"){
|
||||
// 事件分析
|
||||
@ -452,6 +564,7 @@
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else if(d['graph_type'] == 'echarts'){
|
||||
@ -463,6 +576,7 @@
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -486,6 +600,7 @@
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
|
||||
@ -497,6 +612,7 @@
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -511,6 +627,7 @@
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else {
|
||||
@ -521,6 +638,7 @@
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -533,7 +651,7 @@
|
||||
data['id'] = d['report_id'];
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['date'] = "";
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else {
|
||||
@ -543,7 +661,7 @@
|
||||
data['id'] = d['report_id'];
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['date'] = "";
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -554,57 +672,6 @@
|
||||
//画统计图和添加移入移出事件
|
||||
morefeatures:function(eventdata){
|
||||
|
||||
var dropdownlist = [
|
||||
{title:'表格',id:'table'},
|
||||
{title:'图形',id:'echarts'}
|
||||
];
|
||||
X.laydropdown("#chart"+eventdata.id,dropdownlist,function(d){
|
||||
var id = $("#chart"+eventdata.id).attr('data-id');
|
||||
var modelid = 'model'+id;
|
||||
var modelsize = $("#chart"+eventdata.id).attr('data-modelsize');
|
||||
var modeltype = $("#chart"+eventdata.id).attr('data-modeltype');
|
||||
var cat = $("#chart"+eventdata.id).attr('data-cat');
|
||||
var name = $("#chart"+eventdata.id).attr('data-name');
|
||||
var data = {
|
||||
report_id:id,
|
||||
graph_size:modelsize,
|
||||
graph_type:d.id,
|
||||
model:cat,
|
||||
name:name
|
||||
}
|
||||
X.api('dashboard/edit_show_report','post',{dashboard_id:X.DATA.dashboard_id,config:data},function(d){
|
||||
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(val){
|
||||
for(let i in val){
|
||||
if(val[i]['report_id'] == id){
|
||||
X.pageLogic['dashboard'].fillmodeldata(val[i],modelid);
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
//已废弃 留存分析模板特定留存流失按钮
|
||||
// var retentionlist = [
|
||||
// {'title':'留存','id':0},
|
||||
// {'title':'流失','id':1},
|
||||
// ]
|
||||
// if(eventdata.cat == 'retention'){
|
||||
// X.laydropdown("#retention"+eventdata.id,retentionlist,function(d){
|
||||
|
||||
// var retentiontype = d.id;
|
||||
// var modelid = "retention"+eventdata.id;
|
||||
// X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(val){
|
||||
// for(let i in val){
|
||||
// if(val[i]['report_id'] == eventdata.id){
|
||||
// X.pageLogic['dashboard'].fillmodeldata(val[i],modelid,retentiontype);
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
|
||||
// })
|
||||
// };
|
||||
|
||||
//更多按钮配置下拉框
|
||||
X.laydropdown(".model-gengduo",X['DATA']['gengduolist'],function(d){
|
||||
if(d.id == 'shezhi'){
|
||||
@ -667,6 +734,7 @@
|
||||
model:eventdata['cat'],
|
||||
name:eventdata['name'],
|
||||
report_id:eventdata['id'],
|
||||
query:query
|
||||
}
|
||||
|
||||
var modeldata = X.pageLogic['dashboard'].modeldata(bbsetdata,val);
|
||||
@ -679,35 +747,6 @@
|
||||
})
|
||||
});
|
||||
|
||||
X.laydropdown(".model-screenlist",X['DATA']['screenlist'][eventdata.cat],function(d){
|
||||
var modelid = eventdata['cat']+eventdata.id;
|
||||
var reportid = [];
|
||||
reportid.push(eventdata.id);
|
||||
X.api('report/read_report','post',{project_id:X.DATA['projectid'],report_id:reportid},function(val){
|
||||
var query = {
|
||||
eventView:val[0]['query']['eventView'],
|
||||
events:val[0]['query']['events'],
|
||||
};
|
||||
query['eventView']['timeParticleSize'] = d.id;
|
||||
X.api("ck/"+ eventdata.cat +"_model","post",query,function(val){
|
||||
var bbsetdata = {
|
||||
graph_size:eventdata['modelsize'],
|
||||
graph_type:eventdata['modeltype'],
|
||||
model:eventdata['cat'],
|
||||
name:eventdata['name'],
|
||||
report_id:eventdata['id'],
|
||||
}
|
||||
|
||||
var modeldata = X.pageLogic['dashboard'].modeldata(bbsetdata,val);
|
||||
// console.log(modeldata);
|
||||
//渲染模板和数据
|
||||
X.template("modeltable",'model'+modeldata[0]['id'],modeldata[0],function(){
|
||||
X.pageLogic['dashboard'].morefeatures(modeldata);
|
||||
});
|
||||
})
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
if(eventdata['modeltype'] == 'echarts' && eventdata['modelsize'] != 'small' ){
|
||||
var myChart = echarts.init(document.getElementById(eventdata['id']));
|
||||
@ -765,13 +804,14 @@
|
||||
},
|
||||
legend: {
|
||||
type:'scroll',
|
||||
bottom:0,
|
||||
data: eventdata['legenddata']
|
||||
},
|
||||
grid: {
|
||||
left: '2%',
|
||||
right: '2%',
|
||||
bottom: '2%',
|
||||
top: '10%',
|
||||
bottom: '10%',
|
||||
top: '5%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: [
|
||||
@ -800,6 +840,7 @@
|
||||
gettabledata:function(){
|
||||
$("#model-box").html("");//清空表格数据
|
||||
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){
|
||||
X['DATA']['kanbanlist'] = d;
|
||||
var modellist=[];
|
||||
for(let i in d){
|
||||
var arr = {
|
||||
|
@ -273,7 +273,7 @@
|
||||
.conditionquery-copy { cursor: pointer; color: #fff; background-color: #3d90ff; border-radius: 2px; padding: 0 16px; font-weight: 400; font-size: 14px; height: 32px; line-height: 32px; }
|
||||
.conditionquery-but-box span{ background-color: #eaecf8; color: #3d90ff; padding: 0 8px; cursor: pointer; display: inline-block; }
|
||||
|
||||
.table-div-box { width: 100%; max-height: 660px; overflow: auto; }
|
||||
.table-div-box { width: 100%; max-height: 660px; overflow: auto; margin-top: 30px; }
|
||||
.table-fenxi-box { width: 100%; }
|
||||
.table-fenxi-box th { background-color: #f0f2f5; min-width: 100px; max-width: 200px; padding: 10px 16px; color: #202d3f; font-size: 13px; font-weight: 400; border-right: 1px solid #e6e6e6; border-bottom: 1px solid #f0f2f5; }
|
||||
.table-fenxi-box tr { text-align: center; border-left: 1px solid #e6e6e6; }
|
||||
|
BIN
web/static/img/qhuan.png
Normal file
BIN
web/static/img/qhuan.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 346 B |
Loading…
Reference in New Issue
Block a user