1
This commit is contained in:
parent
663ed1d80b
commit
34ec2d7870
@ -609,7 +609,7 @@
|
||||
<div class="layui-card modify-layui-card-small">
|
||||
<div class="row-top controlhover">
|
||||
<div class="row-tit">
|
||||
<p><a href="javascript:;" class="gobaobiaoinfo" data-id="{{d.report_id}}" data-cat="{{d.cat}}">{{d.name}} <img src="./static/img/chongmingming.png"> </a></p>
|
||||
<p><a href="javascript:;" class="gobaobiaoinfo" data-id="{{d.report_id}}" data-cat="{{d.cat}}">{{d.name}} <img src="./static/img/chongmingming.png" title='{{d.desc}}'> </a></p>
|
||||
</div>
|
||||
<div class="control">
|
||||
<div class="action-box" >
|
||||
@ -650,7 +650,7 @@
|
||||
<div class="layui-card modify-layui-card">
|
||||
<div class="row-top controlhover">
|
||||
<div class="row-tit">
|
||||
<p><a href="javascript:;" class="gobaobiaoinfo" data-id="{{d.report_id}}" data-cat="{{d.cat}}">{{d.name}} <img src="./static/img/chongmingming.png"> </a></p>
|
||||
<p><a href="javascript:;" class="gobaobiaoinfo" data-id="{{d.report_id}}" data-cat="{{d.cat}}">{{d.name}} <img src="./static/img/chongmingming.png" title='{{d.desc}}'> </a></p>
|
||||
</div>
|
||||
<div class="control">
|
||||
<div class="action-box" >
|
||||
@ -687,7 +687,7 @@
|
||||
<div class="layui-card modify-layui-card">
|
||||
<div class="row-top controlhover">
|
||||
<div class="row-tit">
|
||||
<p><a href="javascript:;" class="gobaobiaoinfo" data-id="{{d.report_id}}" data-cat="{{d.cat}}">{{d.name}} <img src="./static/img/chongmingming.png"> </a></p>
|
||||
<p><a href="javascript:;" class="gobaobiaoinfo" data-id="{{d.report_id}}" data-cat="{{d.cat}}">{{d.name}} <img src="./static/img/chongmingming.png" title='{{d.desc}}'> </a></p>
|
||||
</div>
|
||||
<div class="control">
|
||||
<div class="action-box" >
|
||||
|
@ -59,7 +59,7 @@
|
||||
</tr>
|
||||
{{# }); }}
|
||||
</tbody>
|
||||
{{# } else if(d.cat === "retention"){ }}
|
||||
{{# } else if(d.cat === "retention" || d.cat == "scatter"){ }}
|
||||
<tbody class="table-fenxi-td">
|
||||
|
||||
{{# layui.each(d.condata, function(indexs, items) { }}
|
||||
@ -95,6 +95,8 @@
|
||||
{{# }); }}
|
||||
{{# } }}
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
@ -103,8 +105,8 @@
|
||||
|
||||
{{# } else { }}
|
||||
|
||||
{{# if(d.cat != "user_property"){ }}
|
||||
|
||||
{{# if(d.cat != "user_property" && d.cat != "scatter"){ }}
|
||||
|
||||
<div class="data-box">
|
||||
<div style="display: flex; align-items: center;">
|
||||
<div class="data-num">{{d.sameday}}<span></span></div>
|
||||
|
@ -15,8 +15,10 @@
|
||||
{{# 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}} <img src="./static/img/xiajiantou.png"> </span>
|
||||
{{# } }}
|
||||
<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}} <img src="./static/img/xiajiantou.png"> </span>
|
||||
{{# if(d.cat != "scatter"){ }}
|
||||
<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}} <img src="./static/img/xiajiantou.png"> </span>
|
||||
{{# } }}
|
||||
{{# if(d.cat === "retention"){ }}
|
||||
<div class="xian"></div>
|
||||
{{# if(d.retentiontype === 0){ }}
|
||||
@ -42,7 +44,7 @@
|
||||
{{# 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}} <img src="./static/img/xiajiantou.png"> </span>
|
||||
<div class="xian"></div>
|
||||
{{# if(d.date != ""){ }}
|
||||
{{# if(d.date != "" && d.cat != "scatter"){ }}
|
||||
<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}} <img src="./static/img/xiajiantou.png"> </span>
|
||||
{{# } }}
|
||||
{{# if(d.cat === "retention"){ }}
|
||||
|
@ -4,7 +4,7 @@
|
||||
<div class="savereport-tit-box">保存报表</div>
|
||||
<form class="layui-form" action="" lay-filter="savereportexample">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">报表名称:</label>
|
||||
<label class="layui-form-label">报表名称:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="title" lay-verify="title" autocomplete="off" placeholder="请输入报表名称" class="layui-input">
|
||||
</div>
|
||||
@ -16,6 +16,15 @@
|
||||
<textarea placeholder="输入80个字内的报表描述" name="desc" class="layui-textarea"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">时间状态:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="date_type" value="dynamic" title="动态" checked="">
|
||||
<input type="radio" name="date_type" value="static" title="静态">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
<div class="savereport-but-box">
|
||||
<div class="savereport-but-qx">取 消</div>
|
||||
|
@ -47,6 +47,20 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="setupbaobiao-left-from-list-box">
|
||||
<span class="setupbaobiao-left-from-list-title">开启倒序</span>
|
||||
<div class="setupbaobiao-left-from-list-radio">
|
||||
<div class="setupbaobiao-left-from-list-radio-box">
|
||||
<div>
|
||||
<input type="radio" name="reverseorder" value="true" id="kqreverseorder">开启
|
||||
</div>
|
||||
<div style="margin-left: 20px;">
|
||||
<input type="radio" name="reverseorder" value="false" id="gbreverseorder">关闭
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<div class="setupbaobiao-left-from-list-box">
|
||||
<span class="setupbaobiao-left-from-list-title">报表备注</span>
|
||||
<div class="setupbaobiao-left-from-list-input">
|
||||
|
200
web/src/x.min.js
vendored
200
web/src/x.min.js
vendored
@ -116,7 +116,7 @@ var X = window.X || {
|
||||
|
||||
(function(){
|
||||
//本地
|
||||
// var ipurl = "http://10.0.0.77:7889/api/v1/";
|
||||
// var ipurl = "http://10.0.0.77:7889/api/v1/";
|
||||
//线上
|
||||
var ipurl = "http://139.159.159.3:9865/api/v1/";
|
||||
//线上测试
|
||||
@ -1072,6 +1072,86 @@ var X = window.X || {
|
||||
callback && callback(dataArr);
|
||||
};
|
||||
|
||||
X.scattertable=function(data,callback){
|
||||
var tabledata = [];
|
||||
for(let i in data.list){
|
||||
var arr = {
|
||||
date: i,
|
||||
d0: data['list'][i]['总体']["total"],
|
||||
data:[]
|
||||
}
|
||||
for(let j in data['list'][i]['总体']["n"]){
|
||||
var nrr = {
|
||||
n:0,
|
||||
p:0
|
||||
}
|
||||
nrr["n"] = data['list'][i]['总体']["n"][j];
|
||||
nrr["p"] = data['list'][i]['总体']["p"][j]
|
||||
arr['data'].push(nrr);
|
||||
}
|
||||
tabledata.push(arr)
|
||||
}
|
||||
data['tabletitle'] = $.extend(true,[],data['label']);
|
||||
data['tabletitle'].unshift('事件发生时间','总人数');
|
||||
var date = data['start_date'] + " - " + data['end_date'];
|
||||
var dataArr = {
|
||||
titledata: data.tabletitle,
|
||||
condata:tabledata,
|
||||
date:date
|
||||
}
|
||||
callback && callback(dataArr);
|
||||
};
|
||||
|
||||
X.scatterchart=function(data,callback){
|
||||
|
||||
var legendData = data.label;
|
||||
var xAxisData = [];
|
||||
var seriesData = [];
|
||||
var arr =[];
|
||||
for(let i in data['list']){
|
||||
xAxisData.push(i);
|
||||
for(let j in data['list'][i]){
|
||||
if(arr[j]){
|
||||
arr[j][i] = data['list'][i][j]['n'];
|
||||
}else {
|
||||
arr[j]=[];
|
||||
arr[j][i] = data['list'][i][j]['n'];
|
||||
}
|
||||
}
|
||||
}
|
||||
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){
|
||||
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){
|
||||
@ -1236,10 +1316,13 @@ var X = window.X || {
|
||||
});
|
||||
|
||||
window.onhashchange = function(){
|
||||
console.log( getHashParms() );
|
||||
// var urlinfo = getHashParms();
|
||||
// X.DATA['dashboard_id'] = urlinfo.menu;
|
||||
// X.pageLogic['dashboard'].gettabledata();
|
||||
// console.log( getHashParms() );
|
||||
var urlinfo = getHashParms();
|
||||
// if(urlinfo.page == 'dashboard'){
|
||||
// X.gourl(urlinfo.page,'conetnt');
|
||||
// X.DATA['dashboard_id'] = urlinfo.menu;
|
||||
// X.pageLogic['dashboard'].gettabledata();
|
||||
// }
|
||||
};
|
||||
|
||||
//})();
|
||||
@ -4024,7 +4107,7 @@ var X = window.X || {
|
||||
// setHashParms("menu",$(this).attr('data-id'));
|
||||
X.DATA['dashboard_id'] = $(this).attr('data-id'); //看板id
|
||||
$("#model-box").html("");
|
||||
// // 获取报表数据
|
||||
// 获取报表数据
|
||||
me.gettabledata();
|
||||
});
|
||||
|
||||
@ -4278,6 +4361,8 @@ var X = window.X || {
|
||||
// return;
|
||||
}else if(cat == 'user_property'){
|
||||
gourl = 'attribute';
|
||||
}else if(cat == 'scatter'){
|
||||
gourl = 'distribution';
|
||||
}
|
||||
X.gourl(gourl,'conetnt');//跳到对应的分析页面
|
||||
X.DATA[cat+'id'] = id;
|
||||
@ -4527,7 +4612,6 @@ var X = window.X || {
|
||||
}else if(d.id == 'export'){
|
||||
X.download('ck/'+ cat +'_model_export',{report_id:id},name);
|
||||
}else {
|
||||
|
||||
layer.confirm('确认移除['+ name + ']', {
|
||||
btn: ['取消','删除 '] //按钮
|
||||
}, function(){
|
||||
@ -4623,9 +4707,6 @@ var X = window.X || {
|
||||
//总体逻辑是:根据获取到的看板内容去先渲染放置的框,在根据不同分析模型处理对应的数据进行填充
|
||||
fillmodeldata:function(d,id,type){
|
||||
X.modelapi("ck/"+d['model']+"_model","post",{report_id:d['report_id']},function(val){
|
||||
console.log(d);
|
||||
console.log(id);
|
||||
|
||||
if(val == null || JSON.stringify(val) == "{}" || JSON.stringify(val) == "[]"){
|
||||
$('#model-two-'+d['report_id']).html('<span class="woshujv">查无数据</span>');
|
||||
}else {
|
||||
@ -4682,6 +4763,7 @@ var X = window.X || {
|
||||
data['cat'] = d['model'];
|
||||
data['wow'] = Math.abs(val[0]['wow']);
|
||||
data['chain_ratio'] = Math.abs(val[0]['chain_ratio']);
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else {
|
||||
@ -4696,8 +4778,8 @@ var X = window.X || {
|
||||
// data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
data['modelswitch'] = d['modelswitch'];
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
console.log(eventdata);
|
||||
// return;
|
||||
if(d['modelswitch']){
|
||||
var originaldata;//原始数据
|
||||
@ -4731,6 +4813,7 @@ var X = window.X || {
|
||||
data['cat'] = d['model'];
|
||||
// data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -4755,6 +4838,7 @@ var X = window.X || {
|
||||
data['cat'] = d['model'];
|
||||
// data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
|
||||
@ -4767,6 +4851,7 @@ var X = window.X || {
|
||||
data['cat'] = d['model'];
|
||||
// data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -4782,6 +4867,7 @@ var X = window.X || {
|
||||
data['cat'] = d['model'];
|
||||
// data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else {
|
||||
@ -4793,6 +4879,7 @@ var X = window.X || {
|
||||
data['cat'] = d['model'];
|
||||
// data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -4806,6 +4893,7 @@ var X = window.X || {
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = "";
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else {
|
||||
@ -4816,9 +4904,35 @@ var X = window.X || {
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = "";
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
}else if(d['model'] == 'scatter'){
|
||||
// 分布分析
|
||||
if(d['graph_type'] == "table"){
|
||||
X.scattertable(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'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else {
|
||||
X.scatterchart(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'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return eventdata;
|
||||
},
|
||||
@ -5187,7 +5301,9 @@ var X = window.X || {
|
||||
"endTime":"",
|
||||
"groupBy":[],
|
||||
"startTime":"",
|
||||
"timeParticleSize":"P1D"
|
||||
"timeParticleSize":"P1D",
|
||||
"e_days":0,
|
||||
"s_days":7
|
||||
},
|
||||
"events":[
|
||||
|
||||
@ -5209,6 +5325,16 @@ var X = window.X || {
|
||||
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
|
||||
data['eventView']['startTime'] = startTime;
|
||||
data['eventView']['endTime'] = endTime;
|
||||
|
||||
var sameday = Date.parse(new Date()) / 1000; //当天时间戳
|
||||
|
||||
var enddate = new Date(end.format('YYYY-MM-DD'));
|
||||
var endmonth = Date.parse(enddate)/1000;
|
||||
|
||||
var startdate = new Date(start.format('YYYY-MM-DD'));
|
||||
var startmonth = Date.parse(startdate)/1000;
|
||||
data['eventView']['e_days'] = parseInt((sameday - endmonth)/86400);
|
||||
data['eventView']['s_days'] = parseInt((sameday - startmonth)/86400);
|
||||
distributiondata();
|
||||
});
|
||||
|
||||
@ -5220,17 +5346,20 @@ var X = window.X || {
|
||||
$(document).off('click','.analysis-navigation-bar-right-img-baobiao').on('click','.analysis-navigation-bar-right-img-baobiao',function(){
|
||||
X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){
|
||||
// console.log(d);
|
||||
if(d){
|
||||
data = d.query;
|
||||
|
||||
X.template("userpar","userpar-event",data['events']);
|
||||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||||
distributiondata();
|
||||
|
||||
}
|
||||
backfilldata(d);
|
||||
|
||||
})
|
||||
});
|
||||
var baobiaodata;
|
||||
function backfilldata(d){
|
||||
if(d){
|
||||
baobiaodata = d;
|
||||
data = d.query;
|
||||
X.template("userpar","userpar-event",data['events']);
|
||||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||||
distributiondata();
|
||||
}
|
||||
};
|
||||
|
||||
X.template("grouped","shushi");
|
||||
|
||||
@ -5274,7 +5403,15 @@ var X = window.X || {
|
||||
})
|
||||
X.api('data_auth/quotas_map',"get",{},function(d){
|
||||
quotas_map = d;
|
||||
|
||||
|
||||
//从数据看板点击进来触发事件
|
||||
if(X.DATA.scatterid && X.DATA.scatterid != ''){
|
||||
var report_idarr = [];
|
||||
report_idarr.push(X.DATA.scatterid);
|
||||
X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){
|
||||
backfilldata(d[0]);
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
@ -5376,6 +5513,10 @@ var X = window.X || {
|
||||
addscreen(index);
|
||||
});
|
||||
|
||||
$(document).off('click','.analysis-zhibiao-updata-initial-event').on("click",'.analysis-zhibiao-updata-initial-event',function(){
|
||||
addscreen(0);
|
||||
})
|
||||
|
||||
// 添加筛选项
|
||||
function addscreen(index){
|
||||
// X.api('data_auth/load_filter_props',"post",{event_name:data['events'][index]["eventName"]},function(d){
|
||||
@ -5441,10 +5582,11 @@ 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();
|
||||
console.log(val);
|
||||
var valarr = val.split(",");
|
||||
data['events'][index]['filts'][indexs]['ftv']=valarr;
|
||||
data['events'][index]['filts'][indexs]['strftv']=val;
|
||||
@ -5729,7 +5871,11 @@ var X = window.X || {
|
||||
};
|
||||
|
||||
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){
|
||||
X.parametersopen(data,'savereport','auto')
|
||||
if(baobiaodata != '' && baobiaodata != undefined && baobiaodata != null){
|
||||
X.parametersopen(baobiaodata,'savereport','auto');
|
||||
}else{
|
||||
X.parametersopen(data,'savereport','auto');
|
||||
}
|
||||
});
|
||||
|
||||
// 返回
|
||||
@ -10089,11 +10235,14 @@ var X = window.X || {
|
||||
this.parms = parms;
|
||||
this.callback = parms.callback;
|
||||
var data = parms.extData;
|
||||
layui.form.render();
|
||||
if(data._id){
|
||||
console.log(data);
|
||||
layui.form.val('savereportexample', {
|
||||
"title": data['name']
|
||||
,"desc": data['desc']
|
||||
});
|
||||
,"date_type": data['query']['eventView']['date_type'] || "dynamic"
|
||||
});
|
||||
}
|
||||
$(document).off('click',".savereport-but-qd").on('click','.savereport-but-qd',function(){
|
||||
var tabval = layui.form.val('savereportexample');
|
||||
@ -10107,6 +10256,7 @@ var X = window.X || {
|
||||
}
|
||||
|
||||
if(data._id){
|
||||
data['query']['eventView']['date_type'] = tabval.date_type;
|
||||
var arr = {
|
||||
name: tabval['title'],
|
||||
desc:tabval['desc'],
|
||||
@ -10118,6 +10268,7 @@ var X = window.X || {
|
||||
layer.closeAll();
|
||||
})
|
||||
}else {
|
||||
data['eventView']['date_type'] = tabval.date_type;
|
||||
var arr = {
|
||||
name: tabval['title'],
|
||||
desc:tabval['desc'],
|
||||
@ -10125,7 +10276,6 @@ var X = window.X || {
|
||||
project_id:X.DATA.projectid,
|
||||
cat: data['eventView']['cksql']
|
||||
}
|
||||
// console.log(arr);
|
||||
X.api('report/create','post',arr,function(d){
|
||||
layer.msg(d);
|
||||
layer.closeAll();
|
||||
|
@ -97,10 +97,13 @@
|
||||
});
|
||||
|
||||
window.onhashchange = function(){
|
||||
console.log( getHashParms() );
|
||||
// var urlinfo = getHashParms();
|
||||
// X.DATA['dashboard_id'] = urlinfo.menu;
|
||||
// X.pageLogic['dashboard'].gettabledata();
|
||||
// console.log( getHashParms() );
|
||||
var urlinfo = getHashParms();
|
||||
// if(urlinfo.page == 'dashboard'){
|
||||
// X.gourl(urlinfo.page,'conetnt');
|
||||
// X.DATA['dashboard_id'] = urlinfo.menu;
|
||||
// X.pageLogic['dashboard'].gettabledata();
|
||||
// }
|
||||
};
|
||||
|
||||
//})();
|
@ -115,7 +115,7 @@ var X = window.X || {
|
||||
|
||||
(function(){
|
||||
//本地
|
||||
// var ipurl = "http://10.0.0.77:7889/api/v1/";
|
||||
// var ipurl = "http://10.0.0.77:7889/api/v1/";
|
||||
//线上
|
||||
var ipurl = "http://139.159.159.3:9865/api/v1/";
|
||||
//线上测试
|
||||
@ -1071,6 +1071,86 @@ var X = window.X || {
|
||||
callback && callback(dataArr);
|
||||
};
|
||||
|
||||
X.scattertable=function(data,callback){
|
||||
var tabledata = [];
|
||||
for(let i in data.list){
|
||||
var arr = {
|
||||
date: i,
|
||||
d0: data['list'][i]['总体']["total"],
|
||||
data:[]
|
||||
}
|
||||
for(let j in data['list'][i]['总体']["n"]){
|
||||
var nrr = {
|
||||
n:0,
|
||||
p:0
|
||||
}
|
||||
nrr["n"] = data['list'][i]['总体']["n"][j];
|
||||
nrr["p"] = data['list'][i]['总体']["p"][j]
|
||||
arr['data'].push(nrr);
|
||||
}
|
||||
tabledata.push(arr)
|
||||
}
|
||||
data['tabletitle'] = $.extend(true,[],data['label']);
|
||||
data['tabletitle'].unshift('事件发生时间','总人数');
|
||||
var date = data['start_date'] + " - " + data['end_date'];
|
||||
var dataArr = {
|
||||
titledata: data.tabletitle,
|
||||
condata:tabledata,
|
||||
date:date
|
||||
}
|
||||
callback && callback(dataArr);
|
||||
};
|
||||
|
||||
X.scatterchart=function(data,callback){
|
||||
|
||||
var legendData = data.label;
|
||||
var xAxisData = [];
|
||||
var seriesData = [];
|
||||
var arr =[];
|
||||
for(let i in data['list']){
|
||||
xAxisData.push(i);
|
||||
for(let j in data['list'][i]){
|
||||
if(arr[j]){
|
||||
arr[j][i] = data['list'][i][j]['n'];
|
||||
}else {
|
||||
arr[j]=[];
|
||||
arr[j][i] = data['list'][i][j]['n'];
|
||||
}
|
||||
}
|
||||
}
|
||||
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){
|
||||
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){
|
||||
|
@ -66,7 +66,7 @@
|
||||
// setHashParms("menu",$(this).attr('data-id'));
|
||||
X.DATA['dashboard_id'] = $(this).attr('data-id'); //看板id
|
||||
$("#model-box").html("");
|
||||
// // 获取报表数据
|
||||
// 获取报表数据
|
||||
me.gettabledata();
|
||||
});
|
||||
|
||||
@ -320,6 +320,8 @@
|
||||
// return;
|
||||
}else if(cat == 'user_property'){
|
||||
gourl = 'attribute';
|
||||
}else if(cat == 'scatter'){
|
||||
gourl = 'distribution';
|
||||
}
|
||||
X.gourl(gourl,'conetnt');//跳到对应的分析页面
|
||||
X.DATA[cat+'id'] = id;
|
||||
@ -569,7 +571,6 @@
|
||||
}else if(d.id == 'export'){
|
||||
X.download('ck/'+ cat +'_model_export',{report_id:id},name);
|
||||
}else {
|
||||
|
||||
layer.confirm('确认移除['+ name + ']', {
|
||||
btn: ['取消','删除 '] //按钮
|
||||
}, function(){
|
||||
@ -665,9 +666,6 @@
|
||||
//总体逻辑是:根据获取到的看板内容去先渲染放置的框,在根据不同分析模型处理对应的数据进行填充
|
||||
fillmodeldata:function(d,id,type){
|
||||
X.modelapi("ck/"+d['model']+"_model","post",{report_id:d['report_id']},function(val){
|
||||
console.log(d);
|
||||
console.log(id);
|
||||
|
||||
if(val == null || JSON.stringify(val) == "{}" || JSON.stringify(val) == "[]"){
|
||||
$('#model-two-'+d['report_id']).html('<span class="woshujv">查无数据</span>');
|
||||
}else {
|
||||
@ -724,6 +722,7 @@
|
||||
data['cat'] = d['model'];
|
||||
data['wow'] = Math.abs(val[0]['wow']);
|
||||
data['chain_ratio'] = Math.abs(val[0]['chain_ratio']);
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else {
|
||||
@ -738,8 +737,8 @@
|
||||
// data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
data['modelswitch'] = d['modelswitch'];
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
console.log(eventdata);
|
||||
// return;
|
||||
if(d['modelswitch']){
|
||||
var originaldata;//原始数据
|
||||
@ -773,6 +772,7 @@
|
||||
data['cat'] = d['model'];
|
||||
// data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -797,6 +797,7 @@
|
||||
data['cat'] = d['model'];
|
||||
// data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
|
||||
@ -809,6 +810,7 @@
|
||||
data['cat'] = d['model'];
|
||||
// data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -824,6 +826,7 @@
|
||||
data['cat'] = d['model'];
|
||||
// data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else {
|
||||
@ -835,6 +838,7 @@
|
||||
data['cat'] = d['model'];
|
||||
// data['date'] = startTimearr[0] + ' - ' + endTimearr[0];
|
||||
data['timeParticleSize'] = granularity;
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
@ -848,6 +852,7 @@
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = "";
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else {
|
||||
@ -858,9 +863,35 @@
|
||||
data['modelsize'] = d['graph_size'];
|
||||
data['cat'] = d['model'];
|
||||
data['date'] = "";
|
||||
data['desc'] = d['desc'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
}else if(d['model'] == 'scatter'){
|
||||
// 分布分析
|
||||
if(d['graph_type'] == "table"){
|
||||
X.scattertable(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'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}else {
|
||||
X.scatterchart(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'];
|
||||
eventdata.push(data);
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
return eventdata;
|
||||
},
|
||||
|
@ -8,7 +8,9 @@
|
||||
"endTime":"",
|
||||
"groupBy":[],
|
||||
"startTime":"",
|
||||
"timeParticleSize":"P1D"
|
||||
"timeParticleSize":"P1D",
|
||||
"e_days":0,
|
||||
"s_days":7
|
||||
},
|
||||
"events":[
|
||||
|
||||
@ -30,6 +32,16 @@
|
||||
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
|
||||
data['eventView']['startTime'] = startTime;
|
||||
data['eventView']['endTime'] = endTime;
|
||||
|
||||
var sameday = Date.parse(new Date()) / 1000; //当天时间戳
|
||||
|
||||
var enddate = new Date(end.format('YYYY-MM-DD'));
|
||||
var endmonth = Date.parse(enddate)/1000;
|
||||
|
||||
var startdate = new Date(start.format('YYYY-MM-DD'));
|
||||
var startmonth = Date.parse(startdate)/1000;
|
||||
data['eventView']['e_days'] = parseInt((sameday - endmonth)/86400);
|
||||
data['eventView']['s_days'] = parseInt((sameday - startmonth)/86400);
|
||||
distributiondata();
|
||||
});
|
||||
|
||||
@ -41,17 +53,20 @@
|
||||
$(document).off('click','.analysis-navigation-bar-right-img-baobiao').on('click','.analysis-navigation-bar-right-img-baobiao',function(){
|
||||
X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){
|
||||
// console.log(d);
|
||||
if(d){
|
||||
data = d.query;
|
||||
|
||||
X.template("userpar","userpar-event",data['events']);
|
||||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||||
distributiondata();
|
||||
|
||||
}
|
||||
backfilldata(d);
|
||||
|
||||
})
|
||||
});
|
||||
var baobiaodata;
|
||||
function backfilldata(d){
|
||||
if(d){
|
||||
baobiaodata = d;
|
||||
data = d.query;
|
||||
X.template("userpar","userpar-event",data['events']);
|
||||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||||
distributiondata();
|
||||
}
|
||||
};
|
||||
|
||||
X.template("grouped","shushi");
|
||||
|
||||
@ -95,7 +110,15 @@
|
||||
})
|
||||
X.api('data_auth/quotas_map',"get",{},function(d){
|
||||
quotas_map = d;
|
||||
|
||||
|
||||
//从数据看板点击进来触发事件
|
||||
if(X.DATA.scatterid && X.DATA.scatterid != ''){
|
||||
var report_idarr = [];
|
||||
report_idarr.push(X.DATA.scatterid);
|
||||
X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){
|
||||
backfilldata(d[0]);
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
@ -197,6 +220,10 @@
|
||||
addscreen(index);
|
||||
});
|
||||
|
||||
$(document).off('click','.analysis-zhibiao-updata-initial-event').on("click",'.analysis-zhibiao-updata-initial-event',function(){
|
||||
addscreen(0);
|
||||
})
|
||||
|
||||
// 添加筛选项
|
||||
function addscreen(index){
|
||||
// X.api('data_auth/load_filter_props',"post",{event_name:data['events'][index]["eventName"]},function(d){
|
||||
@ -262,10 +289,11 @@
|
||||
}
|
||||
});
|
||||
|
||||
$(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();
|
||||
console.log(val);
|
||||
var valarr = val.split(",");
|
||||
data['events'][index]['filts'][indexs]['ftv']=valarr;
|
||||
data['events'][index]['filts'][indexs]['strftv']=val;
|
||||
@ -550,7 +578,11 @@
|
||||
};
|
||||
|
||||
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){
|
||||
X.parametersopen(data,'savereport','auto')
|
||||
if(baobiaodata != '' && baobiaodata != undefined && baobiaodata != null){
|
||||
X.parametersopen(baobiaodata,'savereport','auto');
|
||||
}else{
|
||||
X.parametersopen(data,'savereport','auto');
|
||||
}
|
||||
});
|
||||
|
||||
// 返回
|
||||
|
@ -5,11 +5,14 @@
|
||||
this.parms = parms;
|
||||
this.callback = parms.callback;
|
||||
var data = parms.extData;
|
||||
layui.form.render();
|
||||
if(data._id){
|
||||
console.log(data);
|
||||
layui.form.val('savereportexample', {
|
||||
"title": data['name']
|
||||
,"desc": data['desc']
|
||||
});
|
||||
,"date_type": data['query']['eventView']['date_type'] || "dynamic"
|
||||
});
|
||||
}
|
||||
$(document).off('click',".savereport-but-qd").on('click','.savereport-but-qd',function(){
|
||||
var tabval = layui.form.val('savereportexample');
|
||||
@ -23,6 +26,7 @@
|
||||
}
|
||||
|
||||
if(data._id){
|
||||
data['query']['eventView']['date_type'] = tabval.date_type;
|
||||
var arr = {
|
||||
name: tabval['title'],
|
||||
desc:tabval['desc'],
|
||||
@ -34,6 +38,7 @@
|
||||
layer.closeAll();
|
||||
})
|
||||
}else {
|
||||
data['eventView']['date_type'] = tabval.date_type;
|
||||
var arr = {
|
||||
name: tabval['title'],
|
||||
desc:tabval['desc'],
|
||||
@ -41,7 +46,6 @@
|
||||
project_id:X.DATA.projectid,
|
||||
cat: data['eventView']['cksql']
|
||||
}
|
||||
// console.log(arr);
|
||||
X.api('report/create','post',arr,function(d){
|
||||
layer.msg(d);
|
||||
layer.closeAll();
|
||||
|
@ -254,7 +254,7 @@
|
||||
.analysis-overall-situation-time-box input{ width: 320px; height: 30px; border: 1px solid #f0f0f0; background-color: #fff; border-right: 2px; padding: 0 8px; }
|
||||
|
||||
/* 保存报表 */
|
||||
.savereport-box { width: 520px; height: 298px; background-color: #fff; }
|
||||
.savereport-box { width: 520px; height: 350px; background-color: #fff; }
|
||||
.savereport-bg-box { padding: 24px; color: #42546d; }
|
||||
.savereport-tit-box { padding: 6px 0 24px; font-weight: 500; text-align: center; }
|
||||
.savereport-but-box { display: flex; justify-content: space-evenly; align-items: center; }
|
||||
|
Loading…
Reference in New Issue
Block a user