趋势图
diff --git a/web/src/x.min.js b/web/src/x.min.js
index 8229e5a..509bd54 100644
--- a/web/src/x.min.js
+++ b/web/src/x.min.js
@@ -28,31 +28,7 @@ var X = window.X || {
//用户搜索条件
'search':{
category:[
- {
- 'title':'全部',
- 'id':'0',
- 'Category':[]
- },
- {
- 'title':'用户属性',
- 'id':'1',
- 'Category':[
- {'title':'账户ID','id':'10','type':'string'},
- {'title':'访客ID','id':'11','type':'string'},
- {'title':'注册时间','id':'12','type':'time'},
- {'title':'来源渠道','id':'13','type':'time'},
- ]
- },
- {
- 'title':'测试',
- 'id':'2',
- 'Category':[
- {'title':'账户ID','id':'10','type':'string'},
- {'title':'访客ID','id':'11','type':'string'},
- {'title':'注册时间','id':'12','type':'time'},
- {'title':'来源渠道','id':'13','type':'time'},
- ]
- }
+
],
condition:[
{'title':'等于','id':'0','default':false},
@@ -612,6 +588,14 @@ var X = window.X || {
};
X.retentiontable=function(data,callback){
+ var nname,pname
+ if(data.retentiontype == 0) {
+ nname = 'n';
+ pname = 'p';
+ }else {
+ nname = 'n_outflow';
+ pname = 'p_outflow';
+ }
var tabledata=[];
for(let i in data['summary_values']){
var arr = {
@@ -619,13 +603,13 @@ var X = window.X || {
d0:data['summary_values'][i]['d0'],
data:[]
}
- for(let j in data['summary_values'][i]["n"]){
+ for(let j in data['summary_values'][i][nname]){
var nrr = {
n:0,
p:0
}
- nrr["n"] = data['summary_values'][i]["n"][j];
- nrr["p"] = data['summary_values'][i]["p"][j]
+ nrr["n"] = data['summary_values'][i][nname][j];
+ nrr["p"] = data['summary_values'][i][pname][j]
arr['data'].push(nrr);
}
tabledata.push(arr);
@@ -639,12 +623,21 @@ var X = window.X || {
titdata.unshift("日期",data.title);
var dataArr = {
titledata:titdata,
- condata:tabledata
+ condata:tabledata,
+ retentiontype:data.retentiontype
}
callback && callback(dataArr);
};
X.retentionchart = function(d,callback){
+ var nname,pname
+ if(d.retentiontype == 0) {
+ nname = 'n';
+ pname = 'p';
+ }else {
+ nname = 'n_outflow';
+ pname = 'p_outflow';
+ }
var arr = {};
var legenddata = [];
var seriesData = [];
@@ -653,8 +646,8 @@ var X = window.X || {
if(jQuery.isEmptyObject(d.values)){
var arr = []
for(let i in d['summary_values']){
- var index = d['summary_values'][i]['p'].length - 1;
- arr.push(d['summary_values'][i]['p'][index]);
+ var index = d['summary_values'][i][pname].length - 1;
+ arr.push(d['summary_values'][i][pname][index]);
xAxisData.push(i);
}
@@ -675,10 +668,10 @@ var X = window.X || {
timearr.push(i);
for(let j in d.values[i]){
if(arr[j]){
- arr[j][i] = d.values[i][j]['p'];
+ arr[j][i] = d.values[i][j][pname];
}else {
arr[j]=[];
- arr[j][i] = d.values[i][j]['p'];
+ arr[j][i] = d.values[i][j][pname];
}
}
}
@@ -716,7 +709,8 @@ var X = window.X || {
date:date,
sum:sum.toFixed(2),
mean:mean,
- sameday: sameday
+ sameday: sameday,
+ retentiontype:d.retentiontype
}
// console.log(dataArr);
callback && callback(dataArr);
@@ -2047,13 +2041,14 @@ var X = window.X || {
});
// 监听文本框
- $(document).off('click','.analysis-zhibiao-list-type4 input').on('blur','.analysis-zhibiao-list-type4 input',function(){
+ $(document).off('click','.analysis-zhibiao-list-type4 input').on('change','.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]['filts'][indexs]['ftv']=valarr;
data['events'][index]['filts'][indexs]['strftv']=val;
+ console.log(val);
});
// 且和或切换
@@ -3879,7 +3874,7 @@ var X = window.X || {
var id = $(this).attr('data-id');
// console.log(id);
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){
- return;
+ // return;
X.pageLogic['dashboard'].fillmodeldata(d[id]);
})
@@ -3976,7 +3971,8 @@ var X = window.X || {
},
//填充看板数据
- fillmodeldata:function(d,id){
+ //总体逻辑是:根据获取到的看板内容去先渲染放置的框,在根据不同分析模型处理对应的数据进行填充
+ fillmodeldata:function(d,id,type){//
// console.log(d);
X.api("ck/"+d['model']+"_model","post",{report_id:d['report_id']},function(val){
var eventdata=[];
@@ -4018,6 +4014,11 @@ var X = window.X || {
} else if(d['model'] == "retention"){
//留存分析
+ if(type){
+ val['retentiontype'] = type;
+ }else {
+ val['retentiontype'] = 0
+ }
if(d['graph_size'] == 'small'){
}else {
@@ -4109,6 +4110,8 @@ var X = window.X || {
// $('.layui-row').dad({
// draggable:'table'
// });
+
+
})
},
@@ -4146,6 +4149,29 @@ var X = window.X || {
});
console.log(eventdata);
+ // 留存分析模板特定留存流失按钮
+ var retentionlist = [
+ {'title':'留存','id':0},
+ {'title':'流失','id':1},
+ ]
+ if(eventdata.cat == 'retention'){
+ X.laydropdown("#retention"+eventdata.id,retentionlist,function(d){
+ console.log(d.id);
+ console.log(eventdata);
+ 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);
+ }
+ }
+ })
+
+ })
+ }
+
+
if(eventdata['modeltype'] == 'echarts' && eventdata['modelsize'] != 'small' ){
var myChart = echarts.init(document.getElementById(eventdata['id']));
if(eventdata['cat'] == 'user_property'){
@@ -4235,7 +4261,8 @@ var X = window.X || {
},
- // 获取表格数据
+ //获取表格数据
+ //渲染外框大小位置
gettabledata:function(){
$("#model-box").html("");//清空表格数据
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){
@@ -8321,8 +8348,8 @@ var X = window.X || {
titdata.push(tit);
}
titdata.unshift("日期",d.title);
+ // X.fixedTable=function(id,type,classname,headdata){
X.laytpldata("#table-fenxi-th-dot",titdata,".table-fenxi-th");
-
X.laytpldata("#table-fenxi-td-dot",tabledata,".table-fenxi-td");
};
diff --git a/web/srczip/common.js b/web/srczip/common.js
index 319ec59..3602c13 100644
--- a/web/srczip/common.js
+++ b/web/srczip/common.js
@@ -27,31 +27,7 @@ var X = window.X || {
//用户搜索条件
'search':{
category:[
- {
- 'title':'全部',
- 'id':'0',
- 'Category':[]
- },
- {
- 'title':'用户属性',
- 'id':'1',
- 'Category':[
- {'title':'账户ID','id':'10','type':'string'},
- {'title':'访客ID','id':'11','type':'string'},
- {'title':'注册时间','id':'12','type':'time'},
- {'title':'来源渠道','id':'13','type':'time'},
- ]
- },
- {
- 'title':'测试',
- 'id':'2',
- 'Category':[
- {'title':'账户ID','id':'10','type':'string'},
- {'title':'访客ID','id':'11','type':'string'},
- {'title':'注册时间','id':'12','type':'time'},
- {'title':'来源渠道','id':'13','type':'time'},
- ]
- }
+
],
condition:[
{'title':'等于','id':'0','default':false},
@@ -611,6 +587,14 @@ var X = window.X || {
};
X.retentiontable=function(data,callback){
+ var nname,pname
+ if(data.retentiontype == 0) {
+ nname = 'n';
+ pname = 'p';
+ }else {
+ nname = 'n_outflow';
+ pname = 'p_outflow';
+ }
var tabledata=[];
for(let i in data['summary_values']){
var arr = {
@@ -618,13 +602,13 @@ var X = window.X || {
d0:data['summary_values'][i]['d0'],
data:[]
}
- for(let j in data['summary_values'][i]["n"]){
+ for(let j in data['summary_values'][i][nname]){
var nrr = {
n:0,
p:0
}
- nrr["n"] = data['summary_values'][i]["n"][j];
- nrr["p"] = data['summary_values'][i]["p"][j]
+ nrr["n"] = data['summary_values'][i][nname][j];
+ nrr["p"] = data['summary_values'][i][pname][j]
arr['data'].push(nrr);
}
tabledata.push(arr);
@@ -638,12 +622,21 @@ var X = window.X || {
titdata.unshift("日期",data.title);
var dataArr = {
titledata:titdata,
- condata:tabledata
+ condata:tabledata,
+ retentiontype:data.retentiontype
}
callback && callback(dataArr);
};
X.retentionchart = function(d,callback){
+ var nname,pname
+ if(d.retentiontype == 0) {
+ nname = 'n';
+ pname = 'p';
+ }else {
+ nname = 'n_outflow';
+ pname = 'p_outflow';
+ }
var arr = {};
var legenddata = [];
var seriesData = [];
@@ -652,8 +645,8 @@ var X = window.X || {
if(jQuery.isEmptyObject(d.values)){
var arr = []
for(let i in d['summary_values']){
- var index = d['summary_values'][i]['p'].length - 1;
- arr.push(d['summary_values'][i]['p'][index]);
+ var index = d['summary_values'][i][pname].length - 1;
+ arr.push(d['summary_values'][i][pname][index]);
xAxisData.push(i);
}
@@ -674,10 +667,10 @@ var X = window.X || {
timearr.push(i);
for(let j in d.values[i]){
if(arr[j]){
- arr[j][i] = d.values[i][j]['p'];
+ arr[j][i] = d.values[i][j][pname];
}else {
arr[j]=[];
- arr[j][i] = d.values[i][j]['p'];
+ arr[j][i] = d.values[i][j][pname];
}
}
}
@@ -715,7 +708,8 @@ var X = window.X || {
date:date,
sum:sum.toFixed(2),
mean:mean,
- sameday: sameday
+ sameday: sameday,
+ retentiontype:d.retentiontype
}
// console.log(dataArr);
callback && callback(dataArr);
diff --git a/web/srczip/logic/analysis.js b/web/srczip/logic/analysis.js
index 16e4a0d..c1b97db 100644
--- a/web/srczip/logic/analysis.js
+++ b/web/srczip/logic/analysis.js
@@ -371,13 +371,14 @@
});
// 监听文本框
- $(document).off('click','.analysis-zhibiao-list-type4 input').on('blur','.analysis-zhibiao-list-type4 input',function(){
+ $(document).off('click','.analysis-zhibiao-list-type4 input').on('change','.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]['filts'][indexs]['ftv']=valarr;
data['events'][index]['filts'][indexs]['strftv']=val;
+ console.log(val);
});
// 且和或切换
diff --git a/web/srczip/logic/dashboard.js b/web/srczip/logic/dashboard.js
index eb1fc66..60effca 100644
--- a/web/srczip/logic/dashboard.js
+++ b/web/srczip/logic/dashboard.js
@@ -245,7 +245,7 @@
var id = $(this).attr('data-id');
// console.log(id);
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){
- return;
+ // return;
X.pageLogic['dashboard'].fillmodeldata(d[id]);
})
@@ -342,7 +342,8 @@
},
//填充看板数据
- fillmodeldata:function(d,id){
+ //总体逻辑是:根据获取到的看板内容去先渲染放置的框,在根据不同分析模型处理对应的数据进行填充
+ fillmodeldata:function(d,id,type){//
// console.log(d);
X.api("ck/"+d['model']+"_model","post",{report_id:d['report_id']},function(val){
var eventdata=[];
@@ -384,6 +385,11 @@
} else if(d['model'] == "retention"){
//留存分析
+ if(type){
+ val['retentiontype'] = type;
+ }else {
+ val['retentiontype'] = 0
+ }
if(d['graph_size'] == 'small'){
}else {
@@ -475,6 +481,8 @@
// $('.layui-row').dad({
// draggable:'table'
// });
+
+
})
},
@@ -512,6 +520,29 @@
});
console.log(eventdata);
+ // 留存分析模板特定留存流失按钮
+ var retentionlist = [
+ {'title':'留存','id':0},
+ {'title':'流失','id':1},
+ ]
+ if(eventdata.cat == 'retention'){
+ X.laydropdown("#retention"+eventdata.id,retentionlist,function(d){
+ console.log(d.id);
+ console.log(eventdata);
+ 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);
+ }
+ }
+ })
+
+ })
+ }
+
+
if(eventdata['modeltype'] == 'echarts' && eventdata['modelsize'] != 'small' ){
var myChart = echarts.init(document.getElementById(eventdata['id']));
if(eventdata['cat'] == 'user_property'){
@@ -601,7 +632,8 @@
},
- // 获取表格数据
+ //获取表格数据
+ //渲染外框大小位置
gettabledata:function(){
$("#model-box").html("");//清空表格数据
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){
diff --git a/web/srczip/logic/retained.js b/web/srczip/logic/retained.js
index 10fce21..fe462a8 100644
--- a/web/srczip/logic/retained.js
+++ b/web/srczip/logic/retained.js
@@ -590,8 +590,8 @@
titdata.push(tit);
}
titdata.unshift("日期",d.title);
+ // X.fixedTable=function(id,type,classname,headdata){
X.laytpldata("#table-fenxi-th-dot",titdata,".table-fenxi-th");
-
X.laytpldata("#table-fenxi-td-dot",tabledata,".table-fenxi-td");
};