1
This commit is contained in:
parent
cedd21f88f
commit
cf8c4e7131
@ -5,9 +5,17 @@
|
|||||||
<div class="analysis-con-left-screen-list">
|
<div class="analysis-con-left-screen-list">
|
||||||
<!-- 指标选择 -->
|
<!-- 指标选择 -->
|
||||||
<div class="analysis-con-left-screen-list-left-box" id="analysis-con-left-screen-list-left-box-{{index}}">
|
<div class="analysis-con-left-screen-list-left-box" id="analysis-con-left-screen-list-left-box-{{index}}">
|
||||||
|
|
||||||
|
{{# if(item.renameindicator === ""){ }}
|
||||||
<div class="analysis-con-left-screen-list-left-zhibiaoname" id="analysis-con-left-screen-list-left-zhibiaoname-{{index}}">
|
<div class="analysis-con-left-screen-list-left-zhibiaoname" id="analysis-con-left-screen-list-left-zhibiaoname-{{index}}">
|
||||||
<input type="text" placeholder="请输入指标名" class="analysis-con-left-screen-list-left-zhibiaoname-txt" data-index="{{index}}"/>
|
<input type="text" placeholder="请输入指标名" class="analysis-con-left-screen-list-left-zhibiaoname-txt" data-index="{{index}}"/>
|
||||||
</div>
|
</div>
|
||||||
|
{{# } else { }}
|
||||||
|
<div class="analysis-con-left-screen-list-left-zhibiaoname" id="analysis-con-left-screen-list-left-zhibiaoname-{{index}}" style="display: block;">
|
||||||
|
<input type="text" placeholder="请输入指标名" class="analysis-con-left-screen-list-left-zhibiaoname-txt" data-index="{{index}}" value="{{item.renameindicator}}"/>
|
||||||
|
</div>
|
||||||
|
{{# } }}
|
||||||
|
|
||||||
<div class="analysis-con-left-screen-list-left">
|
<div class="analysis-con-left-screen-list-left">
|
||||||
<div class="analysis-num">{{index}}</div>
|
<div class="analysis-num">{{index}}</div>
|
||||||
<div class="analysis-zhibiao-list">
|
<div class="analysis-zhibiao-list">
|
||||||
@ -21,9 +29,9 @@
|
|||||||
<div class="analysis-con-left-screen-list-right-screen-qh-xian"></div>
|
<div class="analysis-con-left-screen-list-right-screen-qh-xian"></div>
|
||||||
{{# if(item.filts.length > 1){ }}
|
{{# if(item.filts.length > 1){ }}
|
||||||
{{# if(item.condrelation === "and"){ }}
|
{{# if(item.condrelation === "and"){ }}
|
||||||
<div class="analysis-con-left-screen-list-right-screen-qh-tit" data-index="{{index}}">且</div>
|
|
||||||
{{# } else { }}
|
|
||||||
<div class="analysis-con-left-screen-list-right-screen-qh-tit" data-index="{{index}}">或</div>
|
<div class="analysis-con-left-screen-list-right-screen-qh-tit" data-index="{{index}}">或</div>
|
||||||
|
{{# } else { }}
|
||||||
|
<div class="analysis-con-left-screen-list-right-screen-qh-tit" data-index="{{index}}">且</div>
|
||||||
{{# } }}
|
{{# } }}
|
||||||
{{# } }}
|
{{# } }}
|
||||||
</div>
|
</div>
|
||||||
@ -33,7 +41,7 @@
|
|||||||
<div id="ta-property-select-{{index}}-{{indexs}}" class="ta-property-select analysis-zhibiao-list-type1 analysis-background" data-index="{{index}}" data-indexs="{{indexs}}"> {{items.columnDesc}}</div>
|
<div id="ta-property-select-{{index}}-{{indexs}}" class="ta-property-select analysis-zhibiao-list-type1 analysis-background" data-index="{{index}}" data-indexs="{{indexs}}"> {{items.columnDesc}}</div>
|
||||||
<div class="analysis-zhibiao-list-type3 analysis-background analysis-choicetypename" data-index="{{index}}" data-indexs="{{indexs}}">{{items.comparatorName}}</div>
|
<div class="analysis-zhibiao-list-type3 analysis-background analysis-choicetypename" data-index="{{index}}" data-indexs="{{indexs}}">{{items.comparatorName}}</div>
|
||||||
<!-- {{# if(item.comparator_id != "is null" && item.comparator_id != "is not null" && item.comparator_id !="not null" && item.comparator_id != "range"){ }} -->
|
<!-- {{# if(item.comparator_id != "is null" && item.comparator_id != "is not null" && item.comparator_id !="not null" && item.comparator_id != "range"){ }} -->
|
||||||
<div class="analysis-zhibiao-list-type4" id="analysis-zhibiao-list-type4-{{index}}-{{indexs}}"> <input type="text" data-index="{{index}}" data-indexs="{{indexs}}" placeholder="多个条件用,隔开" value="{{items.strftv}}"> </div>
|
<div class="analysis-zhibiao-list-type4" data-index="{{index}}" data-indexs="{{indexs}}" data-type="{{item.data_type}}" data-comparator="{{item.comparator}}"> <input type="text" data-index="{{index}}" data-indexs="{{indexs}}" placeholder="多个条件用,隔开" value="{{items.strftv}}"> </div>
|
||||||
<!-- {{# } }} -->
|
<!-- {{# } }} -->
|
||||||
<div class="analysis-zhibiao-list-del funnel-analysis-zhibiao-list-del" data-index="{{index}}" data-twonum="{{indexs}}"></div>
|
<div class="analysis-zhibiao-list-del funnel-analysis-zhibiao-list-del" data-index="{{index}}" data-twonum="{{indexs}}"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -33,14 +33,26 @@
|
|||||||
|
|
||||||
<div class="analysis-bg">
|
<div class="analysis-bg">
|
||||||
<!-- 左侧条件筛选区域 -->
|
<!-- 左侧条件筛选区域 -->
|
||||||
<div class="analysis-con-left">
|
<div class="analysis-con-left" style=" position: relative; ">
|
||||||
<!-- 伸缩按钮 -->
|
<!-- 伸缩按钮 -->
|
||||||
<div class="analysis-con-left-shrink"></div>
|
<div class="analysis-con-left-shrink"></div>
|
||||||
|
|
||||||
|
<form class="layui-form" action="">
|
||||||
|
<div class="layui-form-item" style=" position: absolute; right: 10px; top: 10px;">
|
||||||
|
<label class="layui-form-label" style="padding: 0 15px;">开关</label>
|
||||||
|
<div class="layui-input-block">
|
||||||
|
<input type="checkbox" checked="" name="open" lay-skin="switch" lay-filter="switchTest">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
<div class="root___2a4tb ">
|
<div class="root___2a4tb ">
|
||||||
|
|
||||||
|
<div class="funnelanalysis-screen-box">
|
||||||
<div class="block___2n0We">
|
<div class="block___2n0We">
|
||||||
<div class="analysis-con-left-title">漏斗步骤</div>
|
<div class="analysis-con-left-title">
|
||||||
|
漏斗步骤
|
||||||
|
</div>
|
||||||
<div class="analysis-con-left-screen-list-box" id="funnel-event">
|
<div class="analysis-con-left-screen-list-box" id="funnel-event">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -82,6 +94,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="block___2n0We">
|
<div class="block___2n0We">
|
||||||
<div class="analysis-con-left-title">分组项</div>
|
<div class="analysis-con-left-title">分组项</div>
|
||||||
<div class="analysis-con-left-screen-box" id="shushi">
|
<div class="analysis-con-left-screen-box" id="shushi">
|
||||||
@ -102,9 +115,39 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="single-box" style="display: none;">
|
||||||
|
<div class="block___2n0We ">
|
||||||
|
<div class="analysis-con-left-title">
|
||||||
|
漏斗步骤
|
||||||
|
</div>
|
||||||
|
<div class="analysis-con-left-screen-list-box">
|
||||||
|
<div class="analysis-con-left-screen-list">
|
||||||
|
<div class="analysis-con-left-screen-list-left-box">
|
||||||
|
|
||||||
|
<div class="analysis-con-left-screen-list-left">
|
||||||
|
<div class="analysis-num">0</div>
|
||||||
|
<div class="analysis-zhibiao-list">
|
||||||
|
<div class="ant-dropdown-trigger analysis-zhibiao-list-type1 analysis-background single-eventName"
|
||||||
|
data-index="0"> </div>
|
||||||
|
</div>
|
||||||
|
<span style="margin-left: 6px;">的</span>
|
||||||
|
<div
|
||||||
|
class="analysis-zhibiao-list-type2 analysis-background single-analysisDesc">
|
||||||
|
总次数
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="analysis-but-box">
|
<div class="analysis-but-box">
|
||||||
<div class="analysis-savereport">保存报表</div>
|
<div class="analysis-savereport">保存报表</div>
|
||||||
@ -122,15 +165,18 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="analtsis-condition-box">
|
<div class="analtsis-condition-box">
|
||||||
<div class="analtsis-time-box">
|
<div class="analtsis-time-box">
|
||||||
<div class="analtsis-condition" > <input id="retained-condition-date" readonly="readonly"></input> </div>
|
<div class="analtsis-condition"> <input id="retained-condition-date"
|
||||||
|
readonly="readonly"></input> </div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="analtsis-condition-right-box">
|
<div class="analtsis-condition-right-box">
|
||||||
<!-- <div class="analtsis-condition">指标</div>
|
<!-- <div class="analtsis-condition">指标</div>
|
||||||
<div class="analtsis-condition">分组</div> -->
|
<div class="analtsis-condition">分组</div> -->
|
||||||
<div class="analtsis-chart-switch-box">
|
<div class="analtsis-chart-switch-box">
|
||||||
<div class="analtsis-chart-switch select-chart" title="转化图"> <i class="iconfont" style="font-size: 18px; "></i> </div>
|
<div class="analtsis-chart-switch select-chart" title="转化图"> <i class="iconfont"
|
||||||
<div class="analtsis-chart-switch " title="趋势图"> <i class="iconfont" style="font-size: 18px; "></i> </div>
|
style="font-size: 18px; "></i> </div>
|
||||||
|
<div class="analtsis-chart-switch " title="趋势图"> <i class="iconfont"
|
||||||
|
style="font-size: 18px; "></i> </div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -184,3 +230,21 @@
|
|||||||
</tr>
|
</tr>
|
||||||
{{# }); }}
|
{{# }); }}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<script id="table-fenxi-th-single-dot" type="text/html">
|
||||||
|
{{# layui.each(d, function(index, item){ }}
|
||||||
|
<th>{{item}}</th>
|
||||||
|
{{# }); }}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script id="table-fenxi-td-single-dot" type="text/html">
|
||||||
|
{{# layui.each(d, function(index, item){ }}
|
||||||
|
<tr >
|
||||||
|
{{# layui.each(item, function(indexs, items){ }}
|
||||||
|
<td>
|
||||||
|
<p>{{items}}</p>
|
||||||
|
</td>
|
||||||
|
{{# }); }}
|
||||||
|
</tr>
|
||||||
|
{{# }); }}
|
||||||
|
</script>
|
||||||
|
@ -187,8 +187,24 @@
|
|||||||
</tr>
|
</tr>
|
||||||
{{# }); }}
|
{{# }); }}
|
||||||
|
|
||||||
|
{{# } else if(d.cat === "funnel"){ }}
|
||||||
|
|
||||||
|
{{# layui.each(d.condata, function(indexs, items) { }}
|
||||||
|
<tr >
|
||||||
|
<td>{{items.title}}</td>
|
||||||
|
{{# layui.each(items.data, function(indexss, itemss){ }}
|
||||||
|
<td>
|
||||||
|
<p>{{itemss.n}}</p>
|
||||||
|
<p>{{itemss.p}}%</p>
|
||||||
|
</td>
|
||||||
|
{{# }); }}
|
||||||
|
</tr>
|
||||||
|
{{# }); }}
|
||||||
|
|
||||||
{{# } }}
|
{{# } }}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</tbody>
|
</tbody>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
@ -301,14 +317,14 @@
|
|||||||
{{# if(d.chain_ratiotype != ''){ }}
|
{{# if(d.chain_ratiotype != ''){ }}
|
||||||
{{# if(d.chain_ratiotype == '+'){ }}
|
{{# if(d.chain_ratiotype == '+'){ }}
|
||||||
<div class="proportion-data">较环比 <div class="sanjiao"></div><span>{{d.chain_ratio}}%</span></div>
|
<div class="proportion-data">较环比 <div class="sanjiao"></div><span>{{d.chain_ratio}}%</span></div>
|
||||||
{{# } else { }}
|
{{# } else if( d.wowtype == "-" ) { }}
|
||||||
<div class="proportion-data">较环比 <div class="sanjiao fu"></div><span class="funum">{{d.chain_ratio}}%</span></div>
|
<div class="proportion-data">较环比 <div class="sanjiao fu"></div><span class="funum">{{d.chain_ratio}}%</span></div>
|
||||||
{{# } }}
|
{{# } }}
|
||||||
{{# } }}
|
{{# } }}
|
||||||
{{# if(d.wowtype != ''){ }}
|
{{# if(d.wowtype != ''){ }}
|
||||||
{{# if(d.wowtype == "+"){ }}
|
{{# if(d.wowtype == "+"){ }}
|
||||||
<div class="proportion-data">较同比 <div class="sanjiao"></div><span>{{d.wow}}%</span></div>
|
<div class="proportion-data">较同比 <div class="sanjiao"></div><span>{{d.wow}}%</span></div>
|
||||||
{{# } else { }}
|
{{# } else if( d.wowtype == "-" ) { }}
|
||||||
<div class="proportion-data">较同比 <div class="sanjiao fu"></div><span class="funum">{{d.wow}}%</span></div>
|
<div class="proportion-data">较同比 <div class="sanjiao fu"></div><span class="funum">{{d.wow}}%</span></div>
|
||||||
{{# } }}
|
{{# } }}
|
||||||
{{# } }}
|
{{# } }}
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
{{# if(d.date != ""){ }}
|
{{# if(d.date != ""){ }}
|
||||||
<span class="model-times" id="times{{d.id}}" data-id="{{d.id}}" data-cat="{{d.cat}}" data-modelsize="{{d.modelsize}}" data-modeltype="{{d.modeltype}}" data-name="{{d.name}}">{{d.date}}</span><img src="./static/img/xiajiantou.png">
|
<span class="model-times" id="times{{d.id}}" data-id="{{d.id}}" data-cat="{{d.cat}}" data-modelsize="{{d.modelsize}}" data-modeltype="{{d.modeltype}}" data-name="{{d.name}}">{{d.date}}</span><img src="./static/img/xiajiantou.png">
|
||||||
{{# } }}
|
{{# } }}
|
||||||
{{# if(d.cat != "scatter" && d.cat != "retention"){ }}
|
{{# if(d.cat != "scatter" && d.cat != "retention" && d.cat != "funnel"){ }}
|
||||||
<div class="xian"></div>
|
<div class="xian"></div>
|
||||||
<span class="model-screenlist" id="screenlist{{d.id}}" data-modelsize="{{d.modelsize}}" data-modeltype="{{d.modeltype}}" data-name="{{d.name}}" data-cat="{{d.cat}}" data-id="{{d.id}}">{{d.timeParticleSize}}</span><img src="./static/img/xiajiantou.png">
|
<span class="model-screenlist" id="screenlist{{d.id}}" data-modelsize="{{d.modelsize}}" data-modeltype="{{d.modeltype}}" data-name="{{d.name}}" data-cat="{{d.cat}}" data-id="{{d.id}}">{{d.timeParticleSize}}</span><img src="./static/img/xiajiantou.png">
|
||||||
{{# } }}
|
{{# } }}
|
||||||
@ -52,7 +52,7 @@
|
|||||||
{{# if(d.cat != "user_property"){ }}
|
{{# if(d.cat != "user_property"){ }}
|
||||||
<span class="model-times" id="times{{d.id}}" data-id="{{d.id}}" data-cat="{{d.cat}}" data-modelsize="{{d.modelsize}}" data-modeltype="{{d.modeltype}}" data-name="{{d.name}}" >{{d.date}}</span><img src="./static/img/xiajiantou.png">
|
<span class="model-times" id="times{{d.id}}" data-id="{{d.id}}" data-cat="{{d.cat}}" data-modelsize="{{d.modelsize}}" data-modeltype="{{d.modeltype}}" data-name="{{d.name}}" >{{d.date}}</span><img src="./static/img/xiajiantou.png">
|
||||||
<div class="xian"></div>
|
<div class="xian"></div>
|
||||||
{{# if(d.date != "" && d.cat != "scatter" && d.cat != "retention" && d.cat != "trace"){ }}
|
{{# if(d.date != "" && d.cat != "scatter" && d.cat != "retention" && d.cat != "trace" && d.cat != "funnel"){ }}
|
||||||
<span class="model-screenlist" id="screenlist{{d.id}}" data-modelsize="{{d.modelsize}}" data-modeltype="{{d.modeltype}}" data-name="{{d.name}}" data-cat="{{d.cat}}" data-id="{{d.id}}" >{{d.timeParticleSize}}</span><img src="./static/img/xiajiantou.png">
|
<span class="model-screenlist" id="screenlist{{d.id}}" data-modelsize="{{d.modelsize}}" data-modeltype="{{d.modeltype}}" data-name="{{d.name}}" data-cat="{{d.cat}}" data-id="{{d.id}}" >{{d.timeParticleSize}}</span><img src="./static/img/xiajiantou.png">
|
||||||
{{# } }}
|
{{# } }}
|
||||||
{{# if(d.cat === "retention"){ }}
|
{{# if(d.cat === "retention"){ }}
|
||||||
|
418
web/src/x.min.js
vendored
418
web/src/x.min.js
vendored
@ -138,11 +138,12 @@ var X = window.X || {
|
|||||||
|
|
||||||
(function(){
|
(function(){
|
||||||
//本地李伟
|
//本地李伟
|
||||||
var ipurl = "http://10.0.0.240:7899/api/v1/";
|
// var ipurl = "http://10.0.0.240:7899/api/v1/";
|
||||||
|
|
||||||
//本地李宗振
|
//本地李宗振
|
||||||
// var ipurl = "http://10.0.0.94:7899/api/v1/";
|
// var ipurl = "http://10.0.0.94:7899/api/v1/";
|
||||||
// 线上
|
// 线上
|
||||||
// var ipurl = "http://139.159.159.3:9865/api/v1/";
|
var ipurl = "http://139.159.159.3:9865/api/v1/";
|
||||||
//线上测试
|
//线上测试
|
||||||
// var ipurl = "http://139.159.159.3:7889/api/v1/";
|
// var ipurl = "http://139.159.159.3:7889/api/v1/";
|
||||||
|
|
||||||
@ -1231,6 +1232,7 @@ var X = window.X || {
|
|||||||
titledata:data.title,
|
titledata:data.title,
|
||||||
condata:data.value
|
condata:data.value
|
||||||
}
|
}
|
||||||
|
console.log('45465465456',dataArr)
|
||||||
callback && callback(dataArr);
|
callback && callback(dataArr);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1337,6 +1339,147 @@ var X = window.X || {
|
|||||||
callback && callback(dataArr);
|
callback && callback(dataArr);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
X.funneltable=function(data,callback){
|
||||||
|
var arr = {};
|
||||||
|
var seriesData = [];
|
||||||
|
var xAxisdata = [];
|
||||||
|
if(jQuery.isEmptyObject(data.date_data)){
|
||||||
|
var arr = []
|
||||||
|
for(let i in data['summary_values']){
|
||||||
|
var index = data['summary_values'][i]['p'].length - 1;
|
||||||
|
arr.push(data['summary_values'][i]['p'][index]);
|
||||||
|
}
|
||||||
|
|
||||||
|
seriesData = {
|
||||||
|
type: 'line',
|
||||||
|
data: arr
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
var arr =[];
|
||||||
|
for(let i in data['date_data']){
|
||||||
|
xAxisdata.push(i);
|
||||||
|
for(let j in data['date_data'][i]){
|
||||||
|
if(arr[j]){
|
||||||
|
arr[j][i] = data['date_data'][i][j]['p1'];
|
||||||
|
}else {
|
||||||
|
arr[j]=[];
|
||||||
|
arr[j][i] = data['date_data'][i][j]['p1'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var ydata = {};
|
||||||
|
for(let j in arr){
|
||||||
|
if(!ydata[j]){
|
||||||
|
ydata[j] = [];
|
||||||
|
}
|
||||||
|
for( let i in xAxisdata ){
|
||||||
|
ydata[j].push(0);
|
||||||
|
for(let z in arr[j]){
|
||||||
|
if(xAxisdata[i] == z){
|
||||||
|
var index = arr[j][z].length - 1;
|
||||||
|
ydata[j][i] =arr[j][z][index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
xAxisdata.unshift('总体');
|
||||||
|
|
||||||
|
var tabdata = [];
|
||||||
|
for(let i in ydata){
|
||||||
|
var arr = {
|
||||||
|
'title': i,
|
||||||
|
'data':[]
|
||||||
|
}
|
||||||
|
for(let j in ydata[i]){
|
||||||
|
var nrr = {
|
||||||
|
n:'',
|
||||||
|
p:ydata[i][j]
|
||||||
|
}
|
||||||
|
arr['data'].push(nrr);
|
||||||
|
}
|
||||||
|
tabdata.push(arr);
|
||||||
|
}
|
||||||
|
|
||||||
|
var date = data['start_date'] + " - " + data['end_date'];
|
||||||
|
var dataArr = {
|
||||||
|
titledata: xAxisdata,
|
||||||
|
condata: tabdata,
|
||||||
|
date:date
|
||||||
|
}
|
||||||
|
console.log(dataArr)
|
||||||
|
callback && callback(dataArr);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
X.funnelchart=function(data,callback){
|
||||||
|
var arr = {};
|
||||||
|
var legenddata = [];
|
||||||
|
var seriesData = [];
|
||||||
|
var xAxisdata = [];
|
||||||
|
if(jQuery.isEmptyObject(data.date_data)){
|
||||||
|
var arr = []
|
||||||
|
for(let i in data['summary_values']){
|
||||||
|
var index = data['summary_values'][i]['p'].length - 1;
|
||||||
|
arr.push(data['summary_values'][i]['p'][index]);
|
||||||
|
}
|
||||||
|
|
||||||
|
seriesData = {
|
||||||
|
type: 'line',
|
||||||
|
data: arr
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
var arr =[];
|
||||||
|
for(let i in data['date_data']){
|
||||||
|
xAxisdata.push(i);
|
||||||
|
for(let j in data['date_data'][i]){
|
||||||
|
if(arr[j]){
|
||||||
|
arr[j][i] = data['date_data'][i][j]['p1'];
|
||||||
|
}else {
|
||||||
|
arr[j]=[];
|
||||||
|
arr[j][i] = data['date_data'][i][j]['p1'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var ydata = {};
|
||||||
|
for(let j in arr){
|
||||||
|
if(!ydata[j]){
|
||||||
|
ydata[j] = [];
|
||||||
|
}
|
||||||
|
for( let i in xAxisdata ){
|
||||||
|
ydata[j].push("");
|
||||||
|
for(let z in arr[j]){
|
||||||
|
if(xAxisdata[i] == z){
|
||||||
|
var index = arr[j][z].length - 1;
|
||||||
|
ydata[j][i] =arr[j][z][index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(let i in ydata){
|
||||||
|
legenddata.push(i);
|
||||||
|
var arr = {
|
||||||
|
name: i,
|
||||||
|
type: 'line',
|
||||||
|
data: ydata[i]
|
||||||
|
}
|
||||||
|
seriesData.push(arr)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
var date = data['start_date'] + " - " + data['end_date'];
|
||||||
|
var dataArr = {
|
||||||
|
xAxisData:xAxisdata,
|
||||||
|
legenddata:legenddata,
|
||||||
|
seriesData:seriesData,
|
||||||
|
date:date,
|
||||||
|
}
|
||||||
|
callback && callback(dataArr);
|
||||||
|
}
|
||||||
|
|
||||||
// 分组项
|
// 分组项
|
||||||
// X.grouped=function(data,id){
|
// X.grouped=function(data,id){
|
||||||
@ -1456,6 +1599,7 @@ var X = window.X || {
|
|||||||
X.DATA['user_propertyid'] = "";
|
X.DATA['user_propertyid'] = "";
|
||||||
X.DATA['scatterid'] = "";
|
X.DATA['scatterid'] = "";
|
||||||
X.DATA['traceid'] = "";
|
X.DATA['traceid'] = "";
|
||||||
|
X.DATA['FUNNELid'] = "";
|
||||||
if(url != "userinfolist" && url != "routeanalysis"){
|
if(url != "userinfolist" && url != "routeanalysis"){
|
||||||
X.DATA['trace_query_cond'] = ""
|
X.DATA['trace_query_cond'] = ""
|
||||||
}
|
}
|
||||||
@ -6096,6 +6240,7 @@ var X = window.X || {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// $(".username").html(X.DATA.userinfo.name);
|
// $(".username").html(X.DATA.userinfo.name);
|
||||||
|
|
||||||
// 选择项目
|
// 选择项目
|
||||||
@ -6502,6 +6647,8 @@ var X = window.X || {
|
|||||||
gourl = 'distribution';
|
gourl = 'distribution';
|
||||||
}else if(cat == 'trace'){
|
}else if(cat == 'trace'){
|
||||||
gourl = 'routeanalysis';
|
gourl = 'routeanalysis';
|
||||||
|
}else if(cat == 'funnel'){
|
||||||
|
gourl = 'funnelanalysis';
|
||||||
}
|
}
|
||||||
|
|
||||||
X.gourl(gourl,'conetnt');//跳到对应的分析页面
|
X.gourl(gourl,'conetnt');//跳到对应的分析页面
|
||||||
@ -6963,6 +7110,7 @@ var X = window.X || {
|
|||||||
//总体逻辑是:根据获取到的看板内容去先渲染放置的框,在根据不同分析模型处理对应的数据进行填充
|
//总体逻辑是:根据获取到的看板内容去先渲染放置的框,在根据不同分析模型处理对应的数据进行填充
|
||||||
fillmodeldata:function(d,id,type){
|
fillmodeldata:function(d,id,type){
|
||||||
X.modelapi("ck/"+d['model']+"_model","post",{report_id:d['report_id']},function(val){
|
X.modelapi("ck/"+d['model']+"_model","post",{report_id:d['report_id']},function(val){
|
||||||
|
// return
|
||||||
if(typeof val == 'string'){
|
if(typeof val == 'string'){
|
||||||
$('#model-two-'+d['report_id']).html('<span class="woshujv">'+ val +'</span>');
|
$('#model-two-'+d['report_id']).html('<span class="woshujv">'+ val +'</span>');
|
||||||
}else {
|
}else {
|
||||||
@ -7269,6 +7417,40 @@ var X = window.X || {
|
|||||||
data['date'] = val['start_date'] + " - " + val['end_date'];
|
data['date'] = val['start_date'] + " - " + val['end_date'];
|
||||||
eventdata.push(data);
|
eventdata.push(data);
|
||||||
|
|
||||||
|
}else if(d['model'] == 'funnel'){
|
||||||
|
// 漏斗分析
|
||||||
|
if(d['graph_type'] == "table"){
|
||||||
|
X.funneltable(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['desc'] = d['desc'];
|
||||||
|
data['reverseorder']=d['reverseorder'];
|
||||||
|
eventdata.push(data);
|
||||||
|
if(d['ascending']){
|
||||||
|
var condatalength = eventdata[0]['condata'].length;
|
||||||
|
var condataascend=[];
|
||||||
|
for(var i = condatalength - 1; i >= 0; i--){
|
||||||
|
condataascend.push(eventdata[0]['condata'][i]);
|
||||||
|
}
|
||||||
|
eventdata[0]['condata'] = condataascend;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
X.funnelchart(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['desc'] = d['desc'];
|
||||||
|
data['avesumdata']= false;
|
||||||
|
data['daydata'] = d['daydata'];
|
||||||
|
eventdata.push(data);
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
eventdata[0]['authority'] = X.DATA.authority;
|
eventdata[0]['authority'] = X.DATA.authority;
|
||||||
return eventdata;
|
return eventdata;
|
||||||
@ -9465,7 +9647,8 @@ var X = window.X || {
|
|||||||
},
|
},
|
||||||
"events":[
|
"events":[
|
||||||
|
|
||||||
]
|
],
|
||||||
|
"single":[]
|
||||||
};
|
};
|
||||||
|
|
||||||
// 日期渲染
|
// 日期渲染
|
||||||
@ -9493,9 +9676,26 @@ var X = window.X || {
|
|||||||
|
|
||||||
var eventdata;
|
var eventdata;
|
||||||
var groupitemeventsdata//分组项里的事件
|
var groupitemeventsdata//分组项里的事件
|
||||||
var filter_map,quotas_map;
|
var filter_map,quotas_map,type2data;
|
||||||
// var screentypearr = [];
|
// var screentypearr = [];
|
||||||
|
|
||||||
|
layui.form.render();
|
||||||
|
var switchTest = true;
|
||||||
|
//指定开关事件
|
||||||
|
layui.form.on('switch(switchTest)', function(res){
|
||||||
|
if(this.checked){
|
||||||
|
$(".funnelanalysis-screen-box").show();
|
||||||
|
$(".single-box").hide();
|
||||||
|
}else {
|
||||||
|
$('.funnelanalysis-screen-box').hide();
|
||||||
|
$(".single-box").show();
|
||||||
|
|
||||||
|
$(".single-eventName").html(data['single'][0]['eventName'])
|
||||||
|
$(".single-eventName").html(data['single'][0]['analysisDesc'])
|
||||||
|
}
|
||||||
|
switchTest = this.checked
|
||||||
|
});
|
||||||
|
|
||||||
X.api("data_auth/my_event","get",{},function(d){
|
X.api("data_auth/my_event","get",{},function(d){
|
||||||
eventdata = d;
|
eventdata = d;
|
||||||
var arr = [{
|
var arr = [{
|
||||||
@ -9503,19 +9703,40 @@ var X = window.X || {
|
|||||||
"eventName":eventdata[0]['category'][0]['event_name'],
|
"eventName":eventdata[0]['category'][0]['event_name'],
|
||||||
"filts":[],
|
"filts":[],
|
||||||
"relation":"and",
|
"relation":"and",
|
||||||
"relationUser":"and",
|
"condrelation":"and",
|
||||||
"renameindicator":""
|
"renameindicator":""
|
||||||
},{
|
},{
|
||||||
"eventDesc":eventdata[0]['category'][0]['event_desc'],
|
"eventDesc":eventdata[0]['category'][0]['event_desc'],
|
||||||
"eventName":eventdata[0]['category'][0]['event_name'],
|
"eventName":eventdata[0]['category'][0]['event_name'],
|
||||||
"filts":[],
|
"filts":[],
|
||||||
"relation":"and",
|
"relation":"and",
|
||||||
"relationUser":"and",
|
"condrelation":"and",
|
||||||
"renameindicator":""
|
"renameindicator":""
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
data['events'] = arr;
|
data['events'] = arr;
|
||||||
X.api("data_auth/load_filter_props","post",{event_name:d[0]['category'][0]['event_name']},function(val){
|
data['single'][0] = {
|
||||||
|
"eventDesc":eventdata[0]['category'][0]['event_desc'],
|
||||||
|
"eventName":eventdata[0]['category'][0]['event_name'],
|
||||||
|
"analysis":"times",
|
||||||
|
"analysisDesc":"次数",
|
||||||
|
"filts": [],
|
||||||
|
"intervalType": "def",
|
||||||
|
"quota": "*",
|
||||||
|
"quotaname": "次数",
|
||||||
|
"relation": "and",
|
||||||
|
"type": "normal",
|
||||||
|
"renameindicator": "",
|
||||||
|
"label_id": "",
|
||||||
|
"data_type": null
|
||||||
|
}
|
||||||
|
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);
|
||||||
|
// props = d.props;
|
||||||
|
|
||||||
|
type2data= retdata
|
||||||
|
|
||||||
|
X.api("data_auth/load_filter_props","post",{event_name:eventdata[0]['category'][0]['event_name']},function(val){
|
||||||
|
|
||||||
groupitemeventsdata= val;
|
groupitemeventsdata= val;
|
||||||
|
|
||||||
@ -9525,13 +9746,13 @@ var X = window.X || {
|
|||||||
X.api('data_auth/quotas_map',"get",{},function(d){
|
X.api('data_auth/quotas_map',"get",{},function(d){
|
||||||
quotas_map = d;
|
quotas_map = d;
|
||||||
//从数据看板点击进来触发事件
|
//从数据看板点击进来触发事件
|
||||||
// if(X.DATA.retentionid && X.DATA.retentionid != ''){
|
if(X.DATA.funnelid && X.DATA.funnelid != ''){
|
||||||
// var report_idarr = [];
|
var report_idarr = [];
|
||||||
// report_idarr.push(X.DATA.retentionid);
|
report_idarr.push(X.DATA.funnelid);
|
||||||
// X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){
|
X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){
|
||||||
// backfilldata(d[0]);
|
backfilldata(d[0]);
|
||||||
// })
|
})
|
||||||
// }
|
}
|
||||||
|
|
||||||
//初始事件
|
//初始事件
|
||||||
X.template("funnel","funnel-event",data['events']);
|
X.template("funnel","funnel-event",data['events']);
|
||||||
@ -9542,23 +9763,106 @@ var X = window.X || {
|
|||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
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";
|
||||||
|
|
||||||
|
X.template("funnel","funnel-event",data['events'],function(){
|
||||||
|
var drr = [];
|
||||||
|
if(data['events'].length > 2){
|
||||||
|
$(".analysis-del").show();
|
||||||
|
}else {
|
||||||
|
$(".analysis-del").hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){
|
||||||
|
renderdate();
|
||||||
|
});
|
||||||
|
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||||||
|
retaineddata();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
//开启重命名
|
//开启重命名
|
||||||
$(document).off('click','.analysis-chongmingming-initial-event').on('click','.analysis-chongmingming-initial-event',function(){
|
// $(document).off('click','.analysis-chongmingming-initial-event').on('click','.analysis-chongmingming-initial-event',function(){
|
||||||
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").show();
|
// $("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").show();
|
||||||
|
// $(this).hide();
|
||||||
|
// $(".analysis-chongmingming-del-initial-event").show();
|
||||||
|
// });
|
||||||
|
$(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();
|
$(this).hide();
|
||||||
$(".analysis-chongmingming-del-initial-event").show();
|
$(".analysis-chongmingming-del-initial-event").show();
|
||||||
});
|
});
|
||||||
|
|
||||||
//取消重命名
|
//取消重命名
|
||||||
$(document).off('click','.analysis-chongmingming-del-initial-event').on('click','.analysis-chongmingming-del-initial-event',function(){
|
// $(document).off('click','.analysis-chongmingming-del-initial-event').on('click','.analysis-chongmingming-del-initial-event',function(){
|
||||||
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").hide();
|
// $("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").hide();
|
||||||
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event input").val('');
|
// $("#analysis-con-left-screen-list-left-zhibiaoname-initial-event input").val('');
|
||||||
|
// $(this).hide();
|
||||||
|
// $(".analysis-chongmingming").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();
|
$(this).hide();
|
||||||
$(".analysis-chongmingming-initial-event").show();
|
$(".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-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.parametersopen(type2data,'dropdownlist',[offset.top+obj.height(),offset.left],function(val){
|
||||||
|
if(val != undefined){
|
||||||
|
obj.html(val.title);
|
||||||
|
console.log(val)
|
||||||
|
data['single'][0]['analysisDesc'] = val.title;
|
||||||
|
data['single'][0]['analysis'] = val.id;
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$(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(){
|
function addindex(){
|
||||||
var defaultindicator = {
|
var defaultindicator = {
|
||||||
@ -9566,7 +9870,7 @@ var X = window.X || {
|
|||||||
"eventName":eventdata[0]['category'][0]['event_name'],
|
"eventName":eventdata[0]['category'][0]['event_name'],
|
||||||
"filts":[],
|
"filts":[],
|
||||||
"relation":"and",
|
"relation":"and",
|
||||||
"relationUser":"and",
|
"condrelation":"and",
|
||||||
"renameindicator":""
|
"renameindicator":""
|
||||||
}
|
}
|
||||||
data['events'].push(defaultindicator);
|
data['events'].push(defaultindicator);
|
||||||
@ -9646,8 +9950,14 @@ var X = window.X || {
|
|||||||
// console.log(dataevent);
|
// console.log(dataevent);
|
||||||
X.querycriteriapop(eventdata,'setgrouping',offset.left,offset.top+obj.height(),function(val){
|
X.querycriteriapop(eventdata,'setgrouping',offset.left,offset.top+obj.height(),function(val){
|
||||||
obj.html(val.id);
|
obj.html(val.id);
|
||||||
|
if(switchTest){
|
||||||
dataevent['eventName'] = val.name;
|
dataevent['eventName'] = val.name;
|
||||||
dataevent['eventDesc'] = val.id;
|
dataevent['eventDesc'] = val.id;
|
||||||
|
}else {
|
||||||
|
data['single'][0]['eventName'] = val.name;
|
||||||
|
data['single'][0]['eventDesc'] = val.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
X.api("data_auth/load_filter_props","post",{event_name:val.name},function(val){
|
X.api("data_auth/load_filter_props","post",{event_name:val.name},function(val){
|
||||||
groupitemeventsdata = val;
|
groupitemeventsdata = val;
|
||||||
@ -9708,6 +10018,46 @@ var X = window.X || {
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$(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(){
|
$(document).off('blur','.analysis-zhibiao-list-type4 input').on('blur','.analysis-zhibiao-list-type4 input',function(){
|
||||||
var index = $(this).attr('data-index');
|
var index = $(this).attr('data-index');
|
||||||
var indexs = $(this).attr('data-indexs');
|
var indexs = $(this).attr('data-indexs');
|
||||||
@ -9934,10 +10284,13 @@ var X = window.X || {
|
|||||||
|
|
||||||
// 计算按钮
|
// 计算按钮
|
||||||
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
||||||
|
console.log(data)
|
||||||
retaineddata()
|
retaineddata()
|
||||||
});
|
});
|
||||||
var querydata;
|
var querydata;
|
||||||
function retaineddata(){
|
function retaineddata(){
|
||||||
|
if(switchTest){
|
||||||
|
$("#funnel-echarts").show();
|
||||||
var dataArr = {
|
var dataArr = {
|
||||||
eventView: data.eventView,
|
eventView: data.eventView,
|
||||||
events: data.events
|
events: data.events
|
||||||
@ -9954,8 +10307,30 @@ var X = window.X || {
|
|||||||
layer.msg('查无数据');
|
layer.msg('查无数据');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}else {
|
||||||
|
$("#funnel-echarts").hide();
|
||||||
|
var dataArr = {
|
||||||
|
eventView: data.eventView,
|
||||||
|
events: data.single
|
||||||
|
}
|
||||||
|
|
||||||
|
X.api("ck/guide_model","post",dataArr,function(d){
|
||||||
|
if(d != "查无数据"){
|
||||||
|
console.log(d)
|
||||||
|
updata2(d)
|
||||||
|
}else {
|
||||||
|
layer.msg('查无数据');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function updata2(d){
|
||||||
|
X.laytpldata("#table-fenxi-th-single-dot",d.level,".table-fenxi-th");
|
||||||
|
X.laytpldata("#table-fenxi-td-single-dot",d.list,".table-fenxi-td");
|
||||||
|
}
|
||||||
|
|
||||||
function updata(d){
|
function updata(d){
|
||||||
var title = $(".select-chart").attr("title");
|
var title = $(".select-chart").attr("title");
|
||||||
if(title == '转化图'){ retainedtable(d); retaineddayRetained(d);}
|
if(title == '转化图'){ retainedtable(d); retaineddayRetained(d);}
|
||||||
@ -10132,6 +10507,7 @@ var X = window.X || {
|
|||||||
],
|
],
|
||||||
series: seriesData
|
series: seriesData
|
||||||
};
|
};
|
||||||
|
|
||||||
myChart.setOption(option,true);
|
myChart.setOption(option,true);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -52,6 +52,7 @@
|
|||||||
X.DATA['user_propertyid'] = "";
|
X.DATA['user_propertyid'] = "";
|
||||||
X.DATA['scatterid'] = "";
|
X.DATA['scatterid'] = "";
|
||||||
X.DATA['traceid'] = "";
|
X.DATA['traceid'] = "";
|
||||||
|
X.DATA['FUNNELid'] = "";
|
||||||
if(url != "userinfolist" && url != "routeanalysis"){
|
if(url != "userinfolist" && url != "routeanalysis"){
|
||||||
X.DATA['trace_query_cond'] = ""
|
X.DATA['trace_query_cond'] = ""
|
||||||
}
|
}
|
||||||
|
@ -137,11 +137,12 @@ var X = window.X || {
|
|||||||
|
|
||||||
(function(){
|
(function(){
|
||||||
//本地李伟
|
//本地李伟
|
||||||
var ipurl = "http://10.0.0.240:7899/api/v1/";
|
// var ipurl = "http://10.0.0.240:7899/api/v1/";
|
||||||
|
|
||||||
//本地李宗振
|
//本地李宗振
|
||||||
// var ipurl = "http://10.0.0.94:7899/api/v1/";
|
// var ipurl = "http://10.0.0.94:7899/api/v1/";
|
||||||
// 线上
|
// 线上
|
||||||
// var ipurl = "http://139.159.159.3:9865/api/v1/";
|
var ipurl = "http://139.159.159.3:9865/api/v1/";
|
||||||
//线上测试
|
//线上测试
|
||||||
// var ipurl = "http://139.159.159.3:7889/api/v1/";
|
// var ipurl = "http://139.159.159.3:7889/api/v1/";
|
||||||
|
|
||||||
@ -1230,6 +1231,7 @@ var X = window.X || {
|
|||||||
titledata:data.title,
|
titledata:data.title,
|
||||||
condata:data.value
|
condata:data.value
|
||||||
}
|
}
|
||||||
|
console.log('45465465456',dataArr)
|
||||||
callback && callback(dataArr);
|
callback && callback(dataArr);
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1336,6 +1338,147 @@ var X = window.X || {
|
|||||||
callback && callback(dataArr);
|
callback && callback(dataArr);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
X.funneltable=function(data,callback){
|
||||||
|
var arr = {};
|
||||||
|
var seriesData = [];
|
||||||
|
var xAxisdata = [];
|
||||||
|
if(jQuery.isEmptyObject(data.date_data)){
|
||||||
|
var arr = []
|
||||||
|
for(let i in data['summary_values']){
|
||||||
|
var index = data['summary_values'][i]['p'].length - 1;
|
||||||
|
arr.push(data['summary_values'][i]['p'][index]);
|
||||||
|
}
|
||||||
|
|
||||||
|
seriesData = {
|
||||||
|
type: 'line',
|
||||||
|
data: arr
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
var arr =[];
|
||||||
|
for(let i in data['date_data']){
|
||||||
|
xAxisdata.push(i);
|
||||||
|
for(let j in data['date_data'][i]){
|
||||||
|
if(arr[j]){
|
||||||
|
arr[j][i] = data['date_data'][i][j]['p1'];
|
||||||
|
}else {
|
||||||
|
arr[j]=[];
|
||||||
|
arr[j][i] = data['date_data'][i][j]['p1'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var ydata = {};
|
||||||
|
for(let j in arr){
|
||||||
|
if(!ydata[j]){
|
||||||
|
ydata[j] = [];
|
||||||
|
}
|
||||||
|
for( let i in xAxisdata ){
|
||||||
|
ydata[j].push(0);
|
||||||
|
for(let z in arr[j]){
|
||||||
|
if(xAxisdata[i] == z){
|
||||||
|
var index = arr[j][z].length - 1;
|
||||||
|
ydata[j][i] =arr[j][z][index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
xAxisdata.unshift('总体');
|
||||||
|
|
||||||
|
var tabdata = [];
|
||||||
|
for(let i in ydata){
|
||||||
|
var arr = {
|
||||||
|
'title': i,
|
||||||
|
'data':[]
|
||||||
|
}
|
||||||
|
for(let j in ydata[i]){
|
||||||
|
var nrr = {
|
||||||
|
n:'',
|
||||||
|
p:ydata[i][j]
|
||||||
|
}
|
||||||
|
arr['data'].push(nrr);
|
||||||
|
}
|
||||||
|
tabdata.push(arr);
|
||||||
|
}
|
||||||
|
|
||||||
|
var date = data['start_date'] + " - " + data['end_date'];
|
||||||
|
var dataArr = {
|
||||||
|
titledata: xAxisdata,
|
||||||
|
condata: tabdata,
|
||||||
|
date:date
|
||||||
|
}
|
||||||
|
console.log(dataArr)
|
||||||
|
callback && callback(dataArr);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
X.funnelchart=function(data,callback){
|
||||||
|
var arr = {};
|
||||||
|
var legenddata = [];
|
||||||
|
var seriesData = [];
|
||||||
|
var xAxisdata = [];
|
||||||
|
if(jQuery.isEmptyObject(data.date_data)){
|
||||||
|
var arr = []
|
||||||
|
for(let i in data['summary_values']){
|
||||||
|
var index = data['summary_values'][i]['p'].length - 1;
|
||||||
|
arr.push(data['summary_values'][i]['p'][index]);
|
||||||
|
}
|
||||||
|
|
||||||
|
seriesData = {
|
||||||
|
type: 'line',
|
||||||
|
data: arr
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
var arr =[];
|
||||||
|
for(let i in data['date_data']){
|
||||||
|
xAxisdata.push(i);
|
||||||
|
for(let j in data['date_data'][i]){
|
||||||
|
if(arr[j]){
|
||||||
|
arr[j][i] = data['date_data'][i][j]['p1'];
|
||||||
|
}else {
|
||||||
|
arr[j]=[];
|
||||||
|
arr[j][i] = data['date_data'][i][j]['p1'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var ydata = {};
|
||||||
|
for(let j in arr){
|
||||||
|
if(!ydata[j]){
|
||||||
|
ydata[j] = [];
|
||||||
|
}
|
||||||
|
for( let i in xAxisdata ){
|
||||||
|
ydata[j].push("");
|
||||||
|
for(let z in arr[j]){
|
||||||
|
if(xAxisdata[i] == z){
|
||||||
|
var index = arr[j][z].length - 1;
|
||||||
|
ydata[j][i] =arr[j][z][index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(let i in ydata){
|
||||||
|
legenddata.push(i);
|
||||||
|
var arr = {
|
||||||
|
name: i,
|
||||||
|
type: 'line',
|
||||||
|
data: ydata[i]
|
||||||
|
}
|
||||||
|
seriesData.push(arr)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
var date = data['start_date'] + " - " + data['end_date'];
|
||||||
|
var dataArr = {
|
||||||
|
xAxisData:xAxisdata,
|
||||||
|
legenddata:legenddata,
|
||||||
|
seriesData:seriesData,
|
||||||
|
date:date,
|
||||||
|
}
|
||||||
|
callback && callback(dataArr);
|
||||||
|
}
|
||||||
|
|
||||||
// 分组项
|
// 分组项
|
||||||
// X.grouped=function(data,id){
|
// X.grouped=function(data,id){
|
||||||
|
@ -48,6 +48,7 @@
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// $(".username").html(X.DATA.userinfo.name);
|
// $(".username").html(X.DATA.userinfo.name);
|
||||||
|
|
||||||
// 选择项目
|
// 选择项目
|
||||||
@ -454,6 +455,8 @@
|
|||||||
gourl = 'distribution';
|
gourl = 'distribution';
|
||||||
}else if(cat == 'trace'){
|
}else if(cat == 'trace'){
|
||||||
gourl = 'routeanalysis';
|
gourl = 'routeanalysis';
|
||||||
|
}else if(cat == 'funnel'){
|
||||||
|
gourl = 'funnelanalysis';
|
||||||
}
|
}
|
||||||
|
|
||||||
X.gourl(gourl,'conetnt');//跳到对应的分析页面
|
X.gourl(gourl,'conetnt');//跳到对应的分析页面
|
||||||
@ -915,6 +918,7 @@
|
|||||||
//总体逻辑是:根据获取到的看板内容去先渲染放置的框,在根据不同分析模型处理对应的数据进行填充
|
//总体逻辑是:根据获取到的看板内容去先渲染放置的框,在根据不同分析模型处理对应的数据进行填充
|
||||||
fillmodeldata:function(d,id,type){
|
fillmodeldata:function(d,id,type){
|
||||||
X.modelapi("ck/"+d['model']+"_model","post",{report_id:d['report_id']},function(val){
|
X.modelapi("ck/"+d['model']+"_model","post",{report_id:d['report_id']},function(val){
|
||||||
|
// return
|
||||||
if(typeof val == 'string'){
|
if(typeof val == 'string'){
|
||||||
$('#model-two-'+d['report_id']).html('<span class="woshujv">'+ val +'</span>');
|
$('#model-two-'+d['report_id']).html('<span class="woshujv">'+ val +'</span>');
|
||||||
}else {
|
}else {
|
||||||
@ -1221,6 +1225,40 @@
|
|||||||
data['date'] = val['start_date'] + " - " + val['end_date'];
|
data['date'] = val['start_date'] + " - " + val['end_date'];
|
||||||
eventdata.push(data);
|
eventdata.push(data);
|
||||||
|
|
||||||
|
}else if(d['model'] == 'funnel'){
|
||||||
|
// 漏斗分析
|
||||||
|
if(d['graph_type'] == "table"){
|
||||||
|
X.funneltable(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['desc'] = d['desc'];
|
||||||
|
data['reverseorder']=d['reverseorder'];
|
||||||
|
eventdata.push(data);
|
||||||
|
if(d['ascending']){
|
||||||
|
var condatalength = eventdata[0]['condata'].length;
|
||||||
|
var condataascend=[];
|
||||||
|
for(var i = condatalength - 1; i >= 0; i--){
|
||||||
|
condataascend.push(eventdata[0]['condata'][i]);
|
||||||
|
}
|
||||||
|
eventdata[0]['condata'] = condataascend;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
X.funnelchart(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['desc'] = d['desc'];
|
||||||
|
data['avesumdata']= false;
|
||||||
|
data['daydata'] = d['daydata'];
|
||||||
|
eventdata.push(data);
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
eventdata[0]['authority'] = X.DATA.authority;
|
eventdata[0]['authority'] = X.DATA.authority;
|
||||||
return eventdata;
|
return eventdata;
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
},
|
},
|
||||||
"events":[
|
"events":[
|
||||||
|
|
||||||
]
|
],
|
||||||
|
"single":[]
|
||||||
};
|
};
|
||||||
|
|
||||||
// 日期渲染
|
// 日期渲染
|
||||||
@ -48,9 +49,26 @@
|
|||||||
|
|
||||||
var eventdata;
|
var eventdata;
|
||||||
var groupitemeventsdata//分组项里的事件
|
var groupitemeventsdata//分组项里的事件
|
||||||
var filter_map,quotas_map;
|
var filter_map,quotas_map,type2data;
|
||||||
// var screentypearr = [];
|
// var screentypearr = [];
|
||||||
|
|
||||||
|
layui.form.render();
|
||||||
|
var switchTest = true;
|
||||||
|
//指定开关事件
|
||||||
|
layui.form.on('switch(switchTest)', function(res){
|
||||||
|
if(this.checked){
|
||||||
|
$(".funnelanalysis-screen-box").show();
|
||||||
|
$(".single-box").hide();
|
||||||
|
}else {
|
||||||
|
$('.funnelanalysis-screen-box').hide();
|
||||||
|
$(".single-box").show();
|
||||||
|
|
||||||
|
$(".single-eventName").html(data['single'][0]['eventName'])
|
||||||
|
$(".single-eventName").html(data['single'][0]['analysisDesc'])
|
||||||
|
}
|
||||||
|
switchTest = this.checked
|
||||||
|
});
|
||||||
|
|
||||||
X.api("data_auth/my_event","get",{},function(d){
|
X.api("data_auth/my_event","get",{},function(d){
|
||||||
eventdata = d;
|
eventdata = d;
|
||||||
var arr = [{
|
var arr = [{
|
||||||
@ -58,19 +76,40 @@
|
|||||||
"eventName":eventdata[0]['category'][0]['event_name'],
|
"eventName":eventdata[0]['category'][0]['event_name'],
|
||||||
"filts":[],
|
"filts":[],
|
||||||
"relation":"and",
|
"relation":"and",
|
||||||
"relationUser":"and",
|
"condrelation":"and",
|
||||||
"renameindicator":""
|
"renameindicator":""
|
||||||
},{
|
},{
|
||||||
"eventDesc":eventdata[0]['category'][0]['event_desc'],
|
"eventDesc":eventdata[0]['category'][0]['event_desc'],
|
||||||
"eventName":eventdata[0]['category'][0]['event_name'],
|
"eventName":eventdata[0]['category'][0]['event_name'],
|
||||||
"filts":[],
|
"filts":[],
|
||||||
"relation":"and",
|
"relation":"and",
|
||||||
"relationUser":"and",
|
"condrelation":"and",
|
||||||
"renameindicator":""
|
"renameindicator":""
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
data['events'] = arr;
|
data['events'] = arr;
|
||||||
X.api("data_auth/load_filter_props","post",{event_name:d[0]['category'][0]['event_name']},function(val){
|
data['single'][0] = {
|
||||||
|
"eventDesc":eventdata[0]['category'][0]['event_desc'],
|
||||||
|
"eventName":eventdata[0]['category'][0]['event_name'],
|
||||||
|
"analysis":"times",
|
||||||
|
"analysisDesc":"次数",
|
||||||
|
"filts": [],
|
||||||
|
"intervalType": "def",
|
||||||
|
"quota": "*",
|
||||||
|
"quotaname": "次数",
|
||||||
|
"relation": "and",
|
||||||
|
"type": "normal",
|
||||||
|
"renameindicator": "",
|
||||||
|
"label_id": "",
|
||||||
|
"data_type": null
|
||||||
|
}
|
||||||
|
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);
|
||||||
|
// props = d.props;
|
||||||
|
|
||||||
|
type2data= retdata
|
||||||
|
|
||||||
|
X.api("data_auth/load_filter_props","post",{event_name:eventdata[0]['category'][0]['event_name']},function(val){
|
||||||
|
|
||||||
groupitemeventsdata= val;
|
groupitemeventsdata= val;
|
||||||
|
|
||||||
@ -80,13 +119,13 @@
|
|||||||
X.api('data_auth/quotas_map',"get",{},function(d){
|
X.api('data_auth/quotas_map',"get",{},function(d){
|
||||||
quotas_map = d;
|
quotas_map = d;
|
||||||
//从数据看板点击进来触发事件
|
//从数据看板点击进来触发事件
|
||||||
// if(X.DATA.retentionid && X.DATA.retentionid != ''){
|
if(X.DATA.funnelid && X.DATA.funnelid != ''){
|
||||||
// var report_idarr = [];
|
var report_idarr = [];
|
||||||
// report_idarr.push(X.DATA.retentionid);
|
report_idarr.push(X.DATA.funnelid);
|
||||||
// X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){
|
X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){
|
||||||
// backfilldata(d[0]);
|
backfilldata(d[0]);
|
||||||
// })
|
})
|
||||||
// }
|
}
|
||||||
|
|
||||||
//初始事件
|
//初始事件
|
||||||
X.template("funnel","funnel-event",data['events']);
|
X.template("funnel","funnel-event",data['events']);
|
||||||
@ -97,23 +136,106 @@
|
|||||||
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
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";
|
||||||
|
|
||||||
|
X.template("funnel","funnel-event",data['events'],function(){
|
||||||
|
var drr = [];
|
||||||
|
if(data['events'].length > 2){
|
||||||
|
$(".analysis-del").show();
|
||||||
|
}else {
|
||||||
|
$(".analysis-del").hide();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){
|
||||||
|
renderdate();
|
||||||
|
});
|
||||||
|
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||||||
|
retaineddata();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
//开启重命名
|
//开启重命名
|
||||||
$(document).off('click','.analysis-chongmingming-initial-event').on('click','.analysis-chongmingming-initial-event',function(){
|
// $(document).off('click','.analysis-chongmingming-initial-event').on('click','.analysis-chongmingming-initial-event',function(){
|
||||||
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").show();
|
// $("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").show();
|
||||||
|
// $(this).hide();
|
||||||
|
// $(".analysis-chongmingming-del-initial-event").show();
|
||||||
|
// });
|
||||||
|
$(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();
|
$(this).hide();
|
||||||
$(".analysis-chongmingming-del-initial-event").show();
|
$(".analysis-chongmingming-del-initial-event").show();
|
||||||
});
|
});
|
||||||
|
|
||||||
//取消重命名
|
//取消重命名
|
||||||
$(document).off('click','.analysis-chongmingming-del-initial-event').on('click','.analysis-chongmingming-del-initial-event',function(){
|
// $(document).off('click','.analysis-chongmingming-del-initial-event').on('click','.analysis-chongmingming-del-initial-event',function(){
|
||||||
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").hide();
|
// $("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").hide();
|
||||||
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event input").val('');
|
// $("#analysis-con-left-screen-list-left-zhibiaoname-initial-event input").val('');
|
||||||
|
// $(this).hide();
|
||||||
|
// $(".analysis-chongmingming").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();
|
$(this).hide();
|
||||||
$(".analysis-chongmingming-initial-event").show();
|
$(".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-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.parametersopen(type2data,'dropdownlist',[offset.top+obj.height(),offset.left],function(val){
|
||||||
|
if(val != undefined){
|
||||||
|
obj.html(val.title);
|
||||||
|
console.log(val)
|
||||||
|
data['single'][0]['analysisDesc'] = val.title;
|
||||||
|
data['single'][0]['analysis'] = val.id;
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$(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(){
|
function addindex(){
|
||||||
var defaultindicator = {
|
var defaultindicator = {
|
||||||
@ -121,7 +243,7 @@
|
|||||||
"eventName":eventdata[0]['category'][0]['event_name'],
|
"eventName":eventdata[0]['category'][0]['event_name'],
|
||||||
"filts":[],
|
"filts":[],
|
||||||
"relation":"and",
|
"relation":"and",
|
||||||
"relationUser":"and",
|
"condrelation":"and",
|
||||||
"renameindicator":""
|
"renameindicator":""
|
||||||
}
|
}
|
||||||
data['events'].push(defaultindicator);
|
data['events'].push(defaultindicator);
|
||||||
@ -201,8 +323,14 @@
|
|||||||
// console.log(dataevent);
|
// console.log(dataevent);
|
||||||
X.querycriteriapop(eventdata,'setgrouping',offset.left,offset.top+obj.height(),function(val){
|
X.querycriteriapop(eventdata,'setgrouping',offset.left,offset.top+obj.height(),function(val){
|
||||||
obj.html(val.id);
|
obj.html(val.id);
|
||||||
|
if(switchTest){
|
||||||
dataevent['eventName'] = val.name;
|
dataevent['eventName'] = val.name;
|
||||||
dataevent['eventDesc'] = val.id;
|
dataevent['eventDesc'] = val.id;
|
||||||
|
}else {
|
||||||
|
data['single'][0]['eventName'] = val.name;
|
||||||
|
data['single'][0]['eventDesc'] = val.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
X.api("data_auth/load_filter_props","post",{event_name:val.name},function(val){
|
X.api("data_auth/load_filter_props","post",{event_name:val.name},function(val){
|
||||||
groupitemeventsdata = val;
|
groupitemeventsdata = val;
|
||||||
@ -263,6 +391,46 @@
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$(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(){
|
$(document).off('blur','.analysis-zhibiao-list-type4 input').on('blur','.analysis-zhibiao-list-type4 input',function(){
|
||||||
var index = $(this).attr('data-index');
|
var index = $(this).attr('data-index');
|
||||||
var indexs = $(this).attr('data-indexs');
|
var indexs = $(this).attr('data-indexs');
|
||||||
@ -489,10 +657,13 @@
|
|||||||
|
|
||||||
// 计算按钮
|
// 计算按钮
|
||||||
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
||||||
|
console.log(data)
|
||||||
retaineddata()
|
retaineddata()
|
||||||
});
|
});
|
||||||
var querydata;
|
var querydata;
|
||||||
function retaineddata(){
|
function retaineddata(){
|
||||||
|
if(switchTest){
|
||||||
|
$("#funnel-echarts").show();
|
||||||
var dataArr = {
|
var dataArr = {
|
||||||
eventView: data.eventView,
|
eventView: data.eventView,
|
||||||
events: data.events
|
events: data.events
|
||||||
@ -509,8 +680,30 @@
|
|||||||
layer.msg('查无数据');
|
layer.msg('查无数据');
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}else {
|
||||||
|
$("#funnel-echarts").hide();
|
||||||
|
var dataArr = {
|
||||||
|
eventView: data.eventView,
|
||||||
|
events: data.single
|
||||||
|
}
|
||||||
|
|
||||||
|
X.api("ck/guide_model","post",dataArr,function(d){
|
||||||
|
if(d != "查无数据"){
|
||||||
|
console.log(d)
|
||||||
|
updata2(d)
|
||||||
|
}else {
|
||||||
|
layer.msg('查无数据');
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function updata2(d){
|
||||||
|
X.laytpldata("#table-fenxi-th-single-dot",d.level,".table-fenxi-th");
|
||||||
|
X.laytpldata("#table-fenxi-td-single-dot",d.list,".table-fenxi-td");
|
||||||
|
}
|
||||||
|
|
||||||
function updata(d){
|
function updata(d){
|
||||||
var title = $(".select-chart").attr("title");
|
var title = $(".select-chart").attr("title");
|
||||||
if(title == '转化图'){ retainedtable(d); retaineddayRetained(d);}
|
if(title == '转化图'){ retainedtable(d); retaineddayRetained(d);}
|
||||||
@ -687,6 +880,7 @@
|
|||||||
],
|
],
|
||||||
series: seriesData
|
series: seriesData
|
||||||
};
|
};
|
||||||
|
|
||||||
myChart.setOption(option,true);
|
myChart.setOption(option,true);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user