8796 lines
356 KiB
JavaScript
8796 lines
356 KiB
JavaScript
// srczip/common.js
|
||
//基础通用方法
|
||
var X = window.X || {
|
||
event : new EventEmitter(),
|
||
pageLogic : {},
|
||
DATA : {
|
||
'echartscolor': [ '#3ea7fd', '#cdddfd', '#5ad8a6', '#cdf3e4', '#5d7092', '#ced4de', '#f6bd16','#fcebb9','#e86452','#f8d0cb','#6dc8ec', '#d3eef9', '#9270ca', '#d3c6ea', '#ff9d4d', '#ffd8b8', '#269a99','#aad8d8','#ff99c3','#ffd6e7' ],
|
||
'createsidebar':[{ title: '新建看板',id: 0,url:'newkanban'},{title: '新建文件夹',id: 1,url:'newwenjian'},{title: '创建空间',id: 2,url:'kongjianshezhi'}],
|
||
'taboperationdata':{
|
||
kanban:[
|
||
{'title':'重命名','img':'xiugai.png','click':'modifyname'},
|
||
{'title':'移动至','img':'yidong.png','click':'move'},
|
||
{'title':'复制看板','img':'fuzhi.png','click':'copy'},
|
||
{'title':'删除看板','img':'del.png','click':'del'},
|
||
],
|
||
wenjian:[
|
||
{'title':'重新命名','img':'xiugai.png','click':'modifyname'},
|
||
{'title':'删除文件夹','img':'del.png','click':'del'},
|
||
],
|
||
baobiao:[
|
||
{'title':'复制看板','img':'fuzhi.png','click':'copy'}
|
||
]
|
||
},
|
||
//用户搜索条件
|
||
'search':{
|
||
category:[
|
||
{
|
||
'title':'全部',
|
||
'id':'0',
|
||
'Category':[]
|
||
},
|
||
{
|
||
'title':'用户属性',
|
||
'id':'1',
|
||
'Category':[
|
||
{'title':'账户ID','id':'10','type':'string'},
|
||
{'title':'访客ID','id':'11','type':'string'},
|
||
{'title':'注册时间','id':'12','type':'time'},
|
||
{'title':'来源渠道','id':'13','type':'time'},
|
||
]
|
||
},
|
||
{
|
||
'title':'测试',
|
||
'id':'2',
|
||
'Category':[
|
||
{'title':'账户ID','id':'10','type':'string'},
|
||
{'title':'访客ID','id':'11','type':'string'},
|
||
{'title':'注册时间','id':'12','type':'time'},
|
||
{'title':'来源渠道','id':'13','type':'time'},
|
||
]
|
||
}
|
||
],
|
||
condition:[
|
||
{'title':'等于','id':'0','default':false},
|
||
{'title':'不等于','id':'1','default':false},
|
||
{'title':'包括','id':'2','default':true},
|
||
{'title':'不包括','id':'3','default':false},
|
||
{'title':'有值','id':'4','default':false},
|
||
{'title':'无值','id':'5','default':false},
|
||
{'title':'正则匹配','id':'6','default':false},
|
||
{'title':'正则不匹配','id':'7','default':false},
|
||
],
|
||
condition2:[
|
||
{'title':'等于','id':'0','default':false},
|
||
{'title':'不等于','id':'1','default':false},
|
||
{'title':'小于','id':'2','default':true},
|
||
{'title':'大于','id':'3','default':false},
|
||
{'title':'有值','id':'4','default':false},
|
||
{'title':'无值','id':'5','default':false},
|
||
{'title':'区间','id':'6','default':false}
|
||
]
|
||
},
|
||
//日期控件参数
|
||
'locale': {
|
||
"format": 'YYYY-MM-DD',
|
||
"separator": " - ",
|
||
"applyLabel": "应用",
|
||
"cancelLabel": "取消",
|
||
"fromLabel": "起始时间",
|
||
"toLabel": "结束时间'",
|
||
"customRangeLabel": "自定义",
|
||
"weekLabel": "W",
|
||
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
|
||
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
|
||
"firstDay": 1
|
||
},
|
||
'timezone':[
|
||
{'title': "UTC+08:00 默认",id:8},
|
||
{'title': "当前时区",id:8},
|
||
{'title': "UTC-12:00",id:12},
|
||
{'title': "UTC-11:00",id:11},
|
||
{'title': "UTC-10:00",id:10},
|
||
{'title': "UTC-09:00",id:9},
|
||
{'title': "UTC-08:00",id:8},
|
||
{'title': "UTC-07:00",id:7},
|
||
{'title': "UTC±00:00",id:0}
|
||
],
|
||
'analysis':{
|
||
|
||
}
|
||
},
|
||
};
|
||
|
||
(function(){
|
||
|
||
// var ipurl = "http://10.0.0.77:7889/api/v1/";
|
||
var ipurl = "http://139.159.159.3:9865/api/v1/";
|
||
|
||
//设置或读取登录缓存,需要保存到localStorage,防止刷新时候登录数据丢失
|
||
X.loginCache = function(data){
|
||
if(data == null){
|
||
var _cache = localStorage.loginData;
|
||
if(_cache){
|
||
return JSON.parse(_cache);
|
||
}else{
|
||
return null;
|
||
}
|
||
}else{
|
||
localStorage.loginData = JSON.stringify(data);
|
||
}
|
||
};
|
||
|
||
//统一API接口调用
|
||
X.api = function(url,type,parms,callback){
|
||
var loginCache = X.loginCache();
|
||
var token = (loginCache? loginCache.token:"");
|
||
token = "Bearer "+token;
|
||
var contentType;
|
||
if(url.indexOf("login") != -1){
|
||
var data = parms;
|
||
var url = ipurl+url;
|
||
}else {
|
||
var data = {};
|
||
contentType = 'application/json';
|
||
if(parms != 1){
|
||
var data = JSON.stringify(parms);
|
||
}
|
||
if(url == 'data_mana/list'){
|
||
var url = ipurl+url+"?game="+ X.DATA.game+"&"+parms || "";
|
||
}else {
|
||
var url = ipurl+url+"?game="+ X.DATA.game || "";
|
||
}
|
||
}
|
||
var index;
|
||
$.ajax({
|
||
headers: {
|
||
Authorization:token//此处放置请求到的用户token
|
||
},
|
||
url: url,
|
||
type:type,
|
||
data:data,
|
||
async:true,
|
||
contentType: contentType,
|
||
beforeSend: function () {
|
||
// loading 显示
|
||
index = layer.load(1);
|
||
},
|
||
success:function(d){
|
||
// console.log(d);
|
||
if(d.code == 0){
|
||
callback && callback(d.data);
|
||
}else {
|
||
layer.msg(d.msg);
|
||
}
|
||
layer.close(index);
|
||
},
|
||
error:function(error){
|
||
layer.msg('条件错误');
|
||
layer.close(index);
|
||
}
|
||
});
|
||
};
|
||
|
||
X.template = function(url,id,data,callback){
|
||
$.get('pages/'+ url + '.html',function(content){
|
||
$('#'+id).html(content);
|
||
X.pageLogic[url] && X.pageLogic[url].init && X.pageLogic[url].init(data);
|
||
callback && callback();
|
||
// X.pageLogic[parms.url] && X.pageLogic[parms.url].init && X.pageLogic[parms.url].init( parms );
|
||
});
|
||
};
|
||
|
||
//弹窗
|
||
X.open = function(parms){
|
||
if(parms.url){
|
||
var url = 'pages/'+ parms.url + '.html';
|
||
$.get(url,function(html){
|
||
parms.content = html;
|
||
// openindes是弹出层的标记,方便后面多个弹框对应关闭
|
||
parms.success = function(layero, index){
|
||
parms.layIndex = index;
|
||
X.pageLogic[parms.url] && X.pageLogic[parms.url].init && X.pageLogic[parms.url].init( parms );
|
||
};
|
||
layer.open(parms);
|
||
})
|
||
}else{
|
||
layer.open(parms);
|
||
}
|
||
};
|
||
|
||
//渲染表格无分页无操作
|
||
X.tabledata = function(id,url,data){
|
||
var loginCache = X.loginCache();
|
||
var token = (loginCache? loginCache.token:"");
|
||
token = "Bearer "+token;
|
||
layui.table.render({
|
||
headers: {
|
||
Authorization: token
|
||
}
|
||
,elem: id
|
||
,url: ipurl+url+"?game="+X.DATA.game
|
||
,cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
||
,cols: data
|
||
});
|
||
};
|
||
|
||
//渲染表格有分页有操作
|
||
X.laytabledata = function(id,url,data,arr){
|
||
var loginCache = X.loginCache();
|
||
var token = (loginCache? loginCache.token:"");
|
||
token = "Bearer "+token;
|
||
var url
|
||
if(arr){
|
||
url = ipurl+url+"?game="+X.DATA.game+arr;
|
||
}else {
|
||
url = ipurl+url+"?game="+X.DATA.game;
|
||
}
|
||
layui.table.render({
|
||
headers: {
|
||
Authorization: token
|
||
}
|
||
,elem: id
|
||
,url: url
|
||
,cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
|
||
,cols: data
|
||
,height: 'full-20'
|
||
});
|
||
};
|
||
|
||
//渲染模板,模板id,数据,位置id
|
||
X.laytpldata = function (mbid ,data,wzid,callback){
|
||
var getTpl = $(mbid).html()
|
||
layui.laytpl(getTpl).render(data, function(html){
|
||
wzid && $(wzid).html(html);
|
||
layui.element.init(); //重新渲染
|
||
callback && callback(html);
|
||
});
|
||
};
|
||
|
||
//渲染下拉框
|
||
X.laydropdown = function(id,data,callback){
|
||
layui.dropdown.render({
|
||
elem: id
|
||
,data: data
|
||
,click: callback
|
||
});
|
||
};
|
||
|
||
//查询条件弹框 id:位置,data:数据,deviationleft:左偏移量,deviationtop:上偏移量
|
||
X.querycriteriapop = function(data,url,deviationleft, deviationtop, callback){
|
||
var innerHeight = window.innerHeight;
|
||
if(innerHeight - deviationtop < 420){
|
||
deviationtop = deviationtop - 450
|
||
}
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shade:[0.1, '#000'],
|
||
shadeClose: true,
|
||
offset: [deviationtop,deviationleft],
|
||
url: url,
|
||
extData : data,
|
||
callback : callback
|
||
});
|
||
};
|
||
|
||
X.parametersopen = function(data,url,offset,callback){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
skin: 'yourclass',
|
||
offset:offset,
|
||
url: url,
|
||
extData : data,
|
||
callback : callback
|
||
});
|
||
};
|
||
|
||
// 渲染树形菜单
|
||
X.treemenu = function(elem,data,id){
|
||
layui.tree.render({
|
||
elem: elem
|
||
,data: data
|
||
,showCheckbox: true //是否显示复选框
|
||
,id: id
|
||
,isJump: false //是否允许点击节点时弹出新窗口跳转
|
||
|
||
});
|
||
};
|
||
|
||
//渲染穿梭框
|
||
X.laytransfer = function(elem,data,title,id){
|
||
layui.transfer.render({
|
||
elem: elem
|
||
,data: data
|
||
,title: title
|
||
,showSearch: true
|
||
,id: id
|
||
})
|
||
};
|
||
|
||
// 分组项取交集
|
||
X.groupintersection=function(c , a , callback){
|
||
var dataArr=[];
|
||
var arr=[];
|
||
for(let i in c){
|
||
|
||
for(let j in a){
|
||
|
||
if(c[i]['id'] == a[j]['id']){
|
||
|
||
for(let z in c[i]['category']){
|
||
|
||
for(let q in a[j]['category']){
|
||
|
||
if(c[i]['category'][z]['title'] == a[j]['category'][q]['title']){
|
||
arr.push(c[i]['category'][z]);
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
if(arr.length > 0){
|
||
var data = {
|
||
title: c[i]['title'],
|
||
id:c[i]['id'],
|
||
category:arr
|
||
};
|
||
dataArr.push(data);
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
callback && callback(dataArr);
|
||
};
|
||
|
||
// 日期选择器
|
||
X.daterender = function(id,callback){
|
||
// console.log(moment().subtract(1, 'week').startOf('week'))
|
||
$(id).daterangepicker({
|
||
'locale': X.DATA.locale,
|
||
ranges: {
|
||
'今日': [moment(), moment()],
|
||
'昨日': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
|
||
'最近7日': [moment().subtract(7, 'days'), moment().subtract(1, 'days')],
|
||
'最近30日': [moment().subtract(30, 'days'), moment().subtract(1, 'days')],
|
||
'上周': [moment().subtract(1, 'week').startOf('week')+86400000, moment().subtract(1, 'week').endOf('week')+86400000],
|
||
'本周': [moment().startOf('week')+86400000, moment()+86400000],
|
||
'本月': [moment().startOf('month'), moment()],
|
||
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')
|
||
]
|
||
},
|
||
"alwaysShowCalendars": true,
|
||
"startDate": moment().subtract(7, 'days'),
|
||
"endDate": new Date(),
|
||
"opens": "right",
|
||
|
||
}, function (start, end, label) {
|
||
callback && callback(start,end,label);
|
||
// console.log(start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
|
||
});
|
||
};
|
||
|
||
X.updatatime = function(id){
|
||
var myDate = new Date;
|
||
var year = myDate.getFullYear(); //获取当前年
|
||
var mon = myDate.getMonth() + 1; //获取当前月
|
||
var date = myDate.getDate(); //获取当前日
|
||
var h = myDate.getHours();//获取当前小时数(0-23)
|
||
var m = myDate.getMinutes();//获取当前分钟数(0-59)
|
||
var s = myDate.getSeconds();//获取当前秒
|
||
var week = myDate.getDay();
|
||
var weeks = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
|
||
var time = year + "-" + mon + "-" + date + " " + h+":"+m+":"+s
|
||
// console.log(year + "-" + mon + "-" + date + " " + h+":"+m+":"+s);
|
||
$(id).attr('title',"最新更新时间:"+time);
|
||
};
|
||
|
||
//多选下拉框
|
||
X.select = function(){
|
||
|
||
};
|
||
|
||
//多选标签-基本配置
|
||
X.selectM = function(id,data,width,callback){
|
||
layui.selectM({
|
||
//元素容器【必填】
|
||
elem: id
|
||
//候选数据【必填】
|
||
,data: data
|
||
,width: width
|
||
,max: 100
|
||
//添加验证
|
||
,verify:'required',
|
||
callback:callback
|
||
});
|
||
};
|
||
|
||
X.layuidate=function(id){
|
||
layui.laydate.render({
|
||
elem: id
|
||
,type: 'datetime'
|
||
,range: true
|
||
});
|
||
};
|
||
|
||
X.eventtable=function(data,callback){
|
||
var titledata,condata = [];
|
||
for(let i in data){
|
||
if(data[i]['groups']['length'] == 0){
|
||
titledata= $.extend(true,[],data[0]['date_range']) ;
|
||
titledata.unshift('指标','阶段总和');
|
||
condata.push(data[i].values[0]);
|
||
condata[i].unshift(data[i]['event_name'],data[i]['sum']);
|
||
// console.log(condata);
|
||
}
|
||
}
|
||
var dataArr = {
|
||
titledata:titledata,
|
||
condata:condata
|
||
}
|
||
|
||
callback && callback(dataArr);
|
||
};
|
||
|
||
X.eventchart = function(data,callback){
|
||
var legenddata=[];
|
||
for(let i in data){
|
||
for(let z in data[i]['groups']){
|
||
var pj = data[i]['event_name']+data[i]['groups'][z];
|
||
legenddata.push(pj);
|
||
}
|
||
}
|
||
var seriesData=[];
|
||
var sum = 0;
|
||
var mean = 0;
|
||
var sameday = 0;
|
||
for(let i in data){
|
||
for(let z in data[i]['values']){
|
||
var arr = {
|
||
name: '',
|
||
type: 'line',
|
||
stack: '总量',
|
||
areaStyle: {},
|
||
emphasis: {
|
||
focus: 'series'
|
||
},
|
||
data: data[i]['values'][z]
|
||
}
|
||
seriesData.push(arr);
|
||
sameday = data[i]['values'][z][data[i]['values'][z].length - 1];
|
||
for(let j in data[i]['values'][z]){
|
||
mean = parseInt(mean) + parseInt(data[i]['values'][z][j]);
|
||
}
|
||
}
|
||
sum = sum + data[i]['sum'][0];
|
||
mean = mean / data[i]['values'].length;
|
||
}
|
||
if(legenddata.length > 0){
|
||
for(let i in seriesData){
|
||
seriesData[i]['name'] = legenddata[i];
|
||
}
|
||
}
|
||
|
||
|
||
for(let i in data){}
|
||
|
||
var dataArr = {
|
||
xAxisData:data[0]['date_range'],
|
||
legenddata:legenddata,
|
||
seriesData:seriesData,
|
||
sum:sum,
|
||
mean:mean,
|
||
sameday: sameday
|
||
}
|
||
|
||
callback && callback(dataArr);
|
||
};
|
||
|
||
X.eventsmall = function(data,callback){
|
||
var date,num,thedayprop,weekprop,thedaypropsize,weekpropsize; //时间,当天数量,与前天对比,与上个星期对比,与前天对比正负,与上个星期对比正负
|
||
console.log(data);
|
||
for(let i in data){
|
||
if(data[i]['groups']['length'] == 0){
|
||
|
||
|
||
}
|
||
}
|
||
var length = data[0]['date_range'].length - 1;
|
||
date = data[0]['date_range'][length];
|
||
num = data[0]['values'][0][length];
|
||
thedayprop = num / data[0]['values'][0][length - 1];
|
||
weekprop = num / data[0]['values'][0][length - 8];
|
||
var prop1,prop2;
|
||
if(thedayprop >= 1){
|
||
prop1 = parseFloat((thedayprop - 1)*100);
|
||
thedaypropsize = '+';
|
||
}else {
|
||
prop1 = parseFloat((1 - thedayprop)*100);
|
||
thedaypropsize = '-';
|
||
}
|
||
|
||
if(weekprop >= 1){
|
||
prop2 = parseFloat((weekprop - 1)*100);
|
||
weekpropsize = '+';
|
||
}else {
|
||
prop2 = parseFloat((1 - weekprop)*100);
|
||
weekpropsize = '-';
|
||
}
|
||
|
||
var dataArr = {
|
||
date: date,
|
||
num: num,
|
||
thedayprop: prop1.toFixed(2),
|
||
thedaypropsize:thedaypropsize,
|
||
weekprop: weekprop.toFixed(2),
|
||
weekpropsize:weekpropsize
|
||
}
|
||
callback && callback(dataArr);
|
||
}
|
||
|
||
// 分组项
|
||
// X.grouped=function(data,id){
|
||
// console.log(data)
|
||
// var html
|
||
// for(let i in data){
|
||
// html = html + `
|
||
// <div class="analysis-action-row">
|
||
// <div class="analysis-action-left">
|
||
// <div class="analysis-num bgcolor">` + i+1 + `</div>
|
||
// <div class="analysis-ant-dropdown-trigger">
|
||
// <img src="./static/img/shaix2.png"/>
|
||
// <span>` + data[i]['column_name'] + `</span>
|
||
// </div>
|
||
// </div>
|
||
|
||
// <div class="analysis-ta-property-range analysis-granularity"> <img src="./static/img/shezhi2.png"> </div>
|
||
|
||
// <div class="analysis-ta-property-range analysis-section"> <img src="./static/img/shezhi2.png"> </div>
|
||
// <div class="analysis-action-right"> <img src="./static/img/cha1.png"/> </div>
|
||
// </div>
|
||
// `
|
||
// }
|
||
// $(id).html(html);
|
||
// }
|
||
|
||
// function ScreenClick(id){
|
||
// $("#zhuanghu_xila").hide();
|
||
// $("#zhuanghu_xila").empty();
|
||
// var judge_boxtxt = $('#judge_box').val();
|
||
// var data ={};
|
||
// for(let i in ScreenArr){
|
||
// for(let j in ScreenArr[i]['Category']){
|
||
// if(ScreenArr[i]['Category'][j]['id'] == id){
|
||
// data = ScreenArr[i]['Category'][j];
|
||
// break;
|
||
// }
|
||
// }
|
||
// }
|
||
|
||
// if(data['type'] == 'time'){
|
||
// $(".judge_box").hide();
|
||
// $(".search_txt").hide();
|
||
// $(".time-box").show();
|
||
// }else {
|
||
// $(".judge_box").show();
|
||
// if(judge_boxtxt == 4 || judge_boxtxt == 5){
|
||
// $("#judge_input").val('');
|
||
// $("#judge_input").hide();
|
||
// }else {
|
||
// $(".search_txt").show();
|
||
// }
|
||
// $(".time-box").hide();
|
||
// }
|
||
// $("#zhanghu_box span").html(data['title']);
|
||
// $("#zhanghu_box").attr('title',data['title']);
|
||
// $(".Screen").hide();
|
||
// $(".Screen").empty();
|
||
// }
|
||
|
||
|
||
|
||
})();
|
||
|
||
// srczip/base/ajaxpage.js
|
||
(function(){
|
||
function getHashParms(){
|
||
//获取hash数据,处理为字典,方便拼接多个hash值
|
||
var hash = location.hash.replace('#','');
|
||
var res = {};
|
||
if(hash){
|
||
var hashArr = hash.split('&');
|
||
for(var i=0;i<hashArr.length;i++){
|
||
var kv = hashArr[i].split('=');
|
||
res[kv[0]] = kv[1];
|
||
}
|
||
}
|
||
return res;
|
||
}
|
||
|
||
function setHashParms(k,v,type){
|
||
//设置一个hash值
|
||
var hash = [];
|
||
var kv = getHashParms();
|
||
kv[k] = v;
|
||
for(var k in kv){
|
||
hash.push( k+'='+kv[k] );
|
||
}
|
||
location.hash = hash.join('&');
|
||
}
|
||
|
||
function setContentByUrl(url,id,fillTo){
|
||
//通过url设置内容页,本质上就是一个ajax请求+填充
|
||
if(!id){
|
||
if(!fillTo)fillTo=$('#main-content');
|
||
}else {
|
||
if(!fillTo)fillTo=$('#'+id);
|
||
}
|
||
$.get('pages/'+ url + '.html',function(content){
|
||
// fillTo.empty();
|
||
fillTo.html(content);
|
||
X.event.emit('pageOnLoad',url);
|
||
X.pageLogic[url] && X.pageLogic[url].init && X.pageLogic[url].init();
|
||
});
|
||
}
|
||
|
||
X.gourl = function(url,id){
|
||
if(url || id){
|
||
setHashParms('page',url);
|
||
setContentByUrl(url,id);
|
||
}
|
||
};
|
||
|
||
|
||
$(function(){
|
||
//拦截所有class里有ajax-content的链接,由直接跳转修改为ajax跳转
|
||
$('body').on("click",".ajax-content",function(){
|
||
var href = $(this).attr('href');
|
||
var id = $(this).attr('data-id');
|
||
X.gourl(href,id);
|
||
return false;
|
||
});
|
||
//设置主页,如果hash里有值的话,设置为hash的值,方便复制url传播
|
||
var hash = getHashParms();
|
||
setContentByUrl(hash.page || 'login');
|
||
});
|
||
|
||
$(document).keydown(function (event) {
|
||
if (event.keyCode == 116) {
|
||
event.preventDefault(); //阻止默认刷新
|
||
console.log('刷新');
|
||
return false;
|
||
}
|
||
});
|
||
|
||
})();
|
||
// srczip/base/visibleChange.js
|
||
(function(){
|
||
|
||
// $('.table').visibleChange(function(isShow){
|
||
// if(isShow==1){
|
||
// //被看见了
|
||
// }else{
|
||
// //看不见了
|
||
// }
|
||
// });
|
||
|
||
var observer = new IntersectionObserver(function(changes){
|
||
changes.forEach(function(item,index){
|
||
var callback = $(item.target).data('_visibleChangeCall');
|
||
if(item.intersectionRatio > 0){
|
||
//target:被观察的目标元素,是一个 DOM 节点对象
|
||
callback && callback.call( item.target,1);
|
||
}else{
|
||
callback && callback.call( item.target,0);
|
||
}
|
||
});
|
||
});
|
||
|
||
$.fn.visibleChange = function(callback) {
|
||
this.each(function(){
|
||
$(this).data('_visibleChangeCall',callback);
|
||
observer.observe( this );
|
||
});
|
||
return this;
|
||
};
|
||
})();
|
||
// srczip/logic/addexistuser.js
|
||
(function(){
|
||
X.pageLogic['addexistuser'] = {
|
||
init : function(){
|
||
|
||
var data = {
|
||
"authDataPowers":[
|
||
{
|
||
title: '全部事件'
|
||
,id: -1
|
||
}
|
||
],
|
||
"authRoles":[
|
||
{
|
||
title:"管理员",
|
||
id:0
|
||
},
|
||
{
|
||
title:"分析师",
|
||
id:1
|
||
},
|
||
{
|
||
title:"普通成员",
|
||
id:2
|
||
},
|
||
],
|
||
"userlist":[
|
||
{
|
||
loginName: "aaa",
|
||
status: 1,
|
||
userId: 2,
|
||
userName: "aaa",
|
||
projectroleid: 1,
|
||
projectroletit: "管理员",
|
||
datarightsid: -1,
|
||
datarightstit: "全部事件"
|
||
},
|
||
{
|
||
loginName: "bbb",
|
||
status: 1,
|
||
userId: 2,
|
||
userName: "bbb",
|
||
projectroleid: 1,
|
||
projectroletit: "管理员",
|
||
datarightsid: -1,
|
||
datarightstit: "全部事件"
|
||
},
|
||
{
|
||
loginName: "ccc",
|
||
status: 1,
|
||
userId: 2,
|
||
userName: "ccc",
|
||
projectroleid: 1,
|
||
projectroletit: "管理员",
|
||
datarightsid: -1,
|
||
datarightstit: "全部事件"
|
||
},{
|
||
loginName: "csv",
|
||
status: 1,
|
||
userId: 2,
|
||
userName: "c15",
|
||
projectroleid: 1,
|
||
projectroletit: "管理员",
|
||
datarightsid: -1,
|
||
datarightstit: "全部事件"
|
||
}
|
||
]
|
||
}
|
||
|
||
X.api("user/all_account","get",{},function(d){
|
||
console.log(d)
|
||
X.laytpldata("#addexistuser-con-user-box-dot",d,".addexistuser-con-user-box");
|
||
})
|
||
|
||
|
||
|
||
$('.addexistuser-con-ss-box input').bind('input propertychange', function() {
|
||
var txt = $(this).val();
|
||
var userdata = data["userlist"];
|
||
var arr = [];
|
||
for(let i in userdata){
|
||
if(userdata[i]["nickname"].indexOf(txt) >= 0 ){
|
||
arr.push(userdata[i]);
|
||
}else {
|
||
if(userdata[i]["name"].indexOf(txt) >= 0 ){
|
||
arr.push(userdata[i]);
|
||
}
|
||
}
|
||
}
|
||
if(txt != ""){
|
||
X.laytpldata("#addexistuser-con-user-box-dot",arr,".addexistuser-con-user-box");
|
||
$(".addexistuser-con-ss-cha").show();
|
||
}else {
|
||
X.laytpldata("#addexistuser-con-user-box-dot",data.userlist,".addexistuser-con-user-box");
|
||
$(".addexistuser-con-ss-cha").hide();
|
||
}
|
||
})
|
||
|
||
$(".addexistuser-con-ss-cha").click(function(){
|
||
$(".addexistuser-con-ss-box input").val("");
|
||
$(".addexistuser-con-ss-cha").hide();
|
||
X.laytpldata("#addexistuser-con-user-box-dot",data.userlist,".addexistuser-con-user-box");
|
||
})
|
||
|
||
var Addeddate = []; //以选中人员
|
||
$("body").on("click",".addexistuser-con-user-list-box img",function(){
|
||
var index = $(this).attr("data-index");
|
||
var arr = data.userlist[index];//获取选中用户数据
|
||
Addeddate.push(arr);
|
||
var txt = $(".addexistuser-con-ss-box input").val();
|
||
if(txt != ""){
|
||
var userdata = data["userlist"];
|
||
var arr = [];
|
||
for(let i in userdata){
|
||
if(userdata[i]["nickname"].indexOf(txt) >= 0 ){
|
||
arr.push(userdata[i]);
|
||
}else {
|
||
if(userdata[i]["name"].indexOf(txt) >= 0 ){
|
||
arr.push(userdata[i]);
|
||
}
|
||
}
|
||
}
|
||
arr.splice(index,1);
|
||
X.laytpldata("#addexistuser-con-user-box-dot",arr,".addexistuser-con-user-box");
|
||
}else {
|
||
data.userlist.splice(index,1);
|
||
X.laytpldata("#addexistuser-con-user-box-dot",data.userlist,".addexistuser-con-user-box");
|
||
}
|
||
|
||
for(let i in Addeddate){
|
||
if(Addeddate[i] == undefined){
|
||
Addeddate.splice(i,1);
|
||
}
|
||
}
|
||
|
||
X.laytpldata("#addexistuser-table-con-list-dot",Addeddate,".addexistuser-table-con-list");
|
||
|
||
addlaydropdown();
|
||
|
||
})
|
||
|
||
$("body").on("click",".addexistuser-table-tit-cz img",function(){
|
||
var index = $(this).attr("data-index");
|
||
data.userlist.push(Addeddate[index]);
|
||
Addeddate.splice(index,1);
|
||
var txt = $(".addexistuser-con-ss-box input").val();
|
||
if(txt != ""){
|
||
usertxtdate();
|
||
}else {
|
||
X.laytpldata("#addexistuser-con-user-box-dot",data.userlist,".addexistuser-con-user-box");
|
||
}
|
||
X.laytpldata("#addexistuser-table-con-list-dot",Addeddate,".addexistuser-table-con-list");
|
||
addlaydropdown();
|
||
})
|
||
|
||
var cprojectindex = '';//获取点击的项目角色的index
|
||
var cprojectdiv = '';//获取点击的项目角色的div
|
||
$("body").on("click",".addexistuser-role span",function(){
|
||
cprojectindex = $(this).attr("data-index");
|
||
cprojectdiv = $(this);
|
||
})
|
||
|
||
var cdatarightsindex = "";//获取点击的数据权限index
|
||
var cdatarightsdiv = "";//获取点击的数据权限div
|
||
$("body").on("click",".addexistuser-attr span",function(){
|
||
cdatarightsindex = $(this).attr("data-index");
|
||
cdatarightsdiv = $(this);
|
||
})
|
||
|
||
function usertxtdate(){
|
||
var userdata = data["userlist"];
|
||
var arr = [];
|
||
for(let i in userdata){
|
||
if(userdata[i]["nickname"].indexOf(txt) >= 0 ){
|
||
arr.push(userdata[i]);
|
||
}else {
|
||
if(userdata[i]["name"].indexOf(txt) >= 0 ){
|
||
arr.push(userdata[i]);
|
||
}
|
||
}
|
||
}
|
||
arr.splice(index,1);
|
||
X.laytpldata("#addexistuser-con-user-box-dot",arr,".addexistuser-con-user-box");
|
||
}
|
||
|
||
//给项目角色,数据权限添加下拉框
|
||
function addlaydropdown(){
|
||
X.laydropdown(".addexistuser-role",data["authRoles"],function(d){
|
||
cprojectdiv.html(d.title);
|
||
Addeddate[cprojectindex]['projectroleid'] = d.id;
|
||
Addeddate[cprojectindex]['projectroletit'] = d.title;
|
||
})
|
||
|
||
X.laydropdown(".addexistuser-attr",data["authDataPowers"],function(d){
|
||
cdatarightsdiv.html(d.title);
|
||
Addeddate[cdatarightsindex]['datarightsid'] = d.id;
|
||
Addeddate[cdatarightsindex]['datarightstit'] = d.title;
|
||
})
|
||
}
|
||
|
||
//叉图标
|
||
$(".addexistuser-top-box img").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
// 取消按钮
|
||
$(".addexistuser-btn-qx").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
//确定按钮
|
||
$(".addexistuser-btn-qd").click(function(){
|
||
console.log(Addeddate);
|
||
// layer.closeAll();
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/addrole.js
|
||
(function(){
|
||
X.pageLogic['addrole'] = {
|
||
init : function(){
|
||
var data;
|
||
X.api("authority/api_list/","get",{},function(d){
|
||
data = d;
|
||
X.laytpldata("#addrole-info-table-con-dot",d,".addrole-info-table-con");
|
||
layui.form.render();
|
||
})
|
||
|
||
$(".addrole-qd").click(function(){
|
||
var tit = $(".addrole-tit").val();
|
||
var addroledata = layui.form.val("addroleexample");
|
||
var dataArr =[];
|
||
for(let i in addroledata){
|
||
dataArr.push(i);
|
||
}
|
||
X.api("authority/add_role","post",{role_name:tit,role_api:dataArr},function(d){
|
||
layer.msg("创建成功");
|
||
$(".addrole-qx a").click();
|
||
})
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/adduser.js
|
||
(function(){
|
||
X.pageLogic['adduser'] = {
|
||
init : function(){
|
||
|
||
$(".adduser-top-box img").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
var projectrolearr;
|
||
X.api("authority/all_role","get",{},function(d){
|
||
projectrolearr = d.dom_role;
|
||
})
|
||
var datarightsarr;
|
||
X.api("data_auth/list","get",{},function(d){
|
||
datarightsarr = d;
|
||
console.log(datarightsarr)
|
||
})
|
||
|
||
var adduserData =[]; //以创建账号
|
||
$(".adduser-subject-add-box div").click(function(){
|
||
var txt = $(".adduser-subject-add-box input").val();
|
||
var titarr = txt.split(",");
|
||
for(let i in titarr){
|
||
var arr = {
|
||
"username": titarr[i],
|
||
"role_name": projectrolearr[0]["title"],
|
||
"data_authority":datarightsarr[0]["title"],
|
||
"data_auth_id":datarightsarr[0]["id"]
|
||
}
|
||
adduserData.push(arr);
|
||
}
|
||
console.log(adduserData);
|
||
update();
|
||
$(".adduser-subject-add-box input").val("");
|
||
})
|
||
|
||
$('body').on("click",".adduser-table-title-cz img",function(){
|
||
var index = $(this).attr("data-index");
|
||
adduserData.splice(index,1);
|
||
|
||
|
||
update();
|
||
})
|
||
|
||
var cprojectindex = '';//获取点击的项目角色的index
|
||
var cprojectdiv = '';//获取点击的项目角色的div
|
||
$("body").on("click",".adduser-role span",function(){
|
||
cprojectindex = $(this).attr("data-index");
|
||
cprojectdiv = $(this);
|
||
})
|
||
|
||
var cdatarightsindex = "";//获取点击的数据权限index
|
||
var cdatarightsdiv = "";//获取点击的数据权限div
|
||
$("body").on("click",".adduser-attr span",function(){
|
||
cdatarightsindex = $(this).attr("data-index");
|
||
cdatarightsdiv = $(this);
|
||
})
|
||
|
||
function update(){
|
||
X.laytpldata("#adduser-table-con-box-dot",adduserData,".adduser-table-con-box");
|
||
// 项目角色修改
|
||
console.log(projectrolearr);
|
||
X.laydropdown(".adduser-role",projectrolearr,function(d){
|
||
cprojectdiv.html(d.title);
|
||
|
||
adduserData[cprojectindex]['role_name'] = d.title;
|
||
})
|
||
// 数据权限修改
|
||
X.laydropdown(".adduser-attr",datarightsarr,function(d){
|
||
cdatarightsdiv.html(d.title);
|
||
console.log(d)
|
||
adduserData[cdatarightsindex]['data_authority'] = d.title;
|
||
adduserData[cdatarightsindex]['data_auth_id'] = d.id;
|
||
})
|
||
}
|
||
|
||
$("body").on("click",".adduser-but-box .adduser-btn",function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
|
||
$("body").on("click",".adduser-but-box .adduser-btn2",function(){
|
||
console.log(adduserData);
|
||
if(adduserData.length > 0){
|
||
X.api("authority/add_account","post",{accounts:adduserData,project_id: X.DATA.projectid},function(d){
|
||
layer.msg("创建成功");
|
||
X.pageLogic.useradmin.useradmin();
|
||
layer.closeAll();
|
||
})
|
||
}else {
|
||
layer.msg("请先添加账号");
|
||
}
|
||
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/addusergroup.js
|
||
(function(){
|
||
X.pageLogic['addusergroup'] = {
|
||
init : function(){
|
||
layui.form.render();
|
||
var data = [
|
||
{"value": "1", "title": "李白"}
|
||
,{"value": "2", "title": "杜甫"}
|
||
,{"value": "3", "title": "苏轼"}
|
||
,{"value": "4", "title": "李清照"}
|
||
,{"value": "5", "title": "鲁迅"}
|
||
,{"value": "6", "title": "巴金"}
|
||
,{"value": "7", "title": "冰心"}
|
||
,{"value": "8", "title": "矛盾"}
|
||
,{"value": "9", "title": "贤心"}
|
||
]
|
||
//渲染穿梭框
|
||
X.laytransfer("#addusergroup-user-box",data,['选择用户识别属性', '已添加属性'],"addusergroupuserinfo");
|
||
|
||
$(".addusergroup-qx").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".addusergroup-top-box img").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".addusergroup-qd").click(function(){
|
||
var getData = layui.transfer.getData('addusergroupuserinfo');
|
||
var txt = $(".addusergroup-txt").val();
|
||
console.log(getData);
|
||
layer.closeAll();
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/adminkanban.js
|
||
(function(){
|
||
X.pageLogic['adminkanban'] = {
|
||
init : function(){
|
||
var me = this;
|
||
// 弹窗占满整平
|
||
$(".adminmykanban-box").css('height',window.innerHeight+'px');
|
||
me.updata(X.DATA['projectid']);
|
||
|
||
$(".adminmykanban-top-fh").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".adminmykanban-sousuo-box .cha").click(function(){
|
||
$(".adminmykanban-sousuo-box .adminmykanban-txt").val("");
|
||
$(".adminmykanban-sousuo-box .cha").hide();
|
||
me.updata(X.DATA['projectid']);
|
||
})
|
||
|
||
// 全选按钮
|
||
$(document).on('click','#adminmykanban-quanxuan',function(){
|
||
var KanBanData = X.DATA['sxKanBanData'];
|
||
var ProjectData = X.DATA['sxProjectData'];
|
||
if($(this).prop('checked')){
|
||
for(let i in KanBanData){
|
||
KanBanData[i]['checked'] = true;
|
||
}
|
||
for(let i in ProjectData){
|
||
ProjectData[i]['checked'] = true;
|
||
}
|
||
}else {
|
||
for(let i in KanBanData){
|
||
KanBanData[i]['checked'] = false;
|
||
}
|
||
for(let i in ProjectData){
|
||
ProjectData[i]['checked'] = false;
|
||
}
|
||
}
|
||
X.treemenu("#adminmykanban-con-mykanban",KanBanData,'mykanban');
|
||
X.treemenu("#adminmykanban-con-kongjian",ProjectData,'kongjian');
|
||
});
|
||
// 搜索
|
||
$('.adminmykanban-sousuo-box .adminmykanban-txt').bind('input propertychange', function() {
|
||
var txt = $(this).val();
|
||
var KanBanData = X.DATA['sxKanBanData'];
|
||
var ProjectData = X.DATA['sxProjectData'];
|
||
if(txt != ""){
|
||
var ssKanBanData = [];
|
||
var ssProjectData = [];
|
||
for(let i in KanBanData){
|
||
if(KanBanData[i]['title'].indexOf(txt) != -1){
|
||
ssKanBanData.push(KanBanData[i]);
|
||
}else {
|
||
var arr = []
|
||
for(let j in KanBanData[i]['children']){
|
||
|
||
if(KanBanData[i]['children'][j]['title'].indexOf(txt) != -1 ){
|
||
// KanBanData[i]["children"].push(KanBanData[i]['children'][j]);
|
||
arr.push(KanBanData[i]['children'][j]);
|
||
}
|
||
}
|
||
if(arr.length != 0){
|
||
var data = KanBanData[i];
|
||
data['children'] = arr
|
||
ssKanBanData.push(data);
|
||
}
|
||
|
||
}
|
||
}
|
||
console.log(ProjectData)
|
||
for(let i in ProjectData){
|
||
if(ProjectData[i]['title'].indexOf(txt) != -1){
|
||
ssProjectData.push(ProjectData[i])
|
||
}else {
|
||
if(ProjectData[i]['children'] != undefined){
|
||
var twoarr = [];
|
||
var trenarr = [];
|
||
for(let j in ProjectData[i]['children']){
|
||
if(ProjectData[i]['children'][j]['title'].indexOf(txt) != -1){
|
||
twoarr.push(ProjectData[i]['children'][j]);
|
||
|
||
if(ssProjectData.length == 0){
|
||
var data = ProjectData[i];
|
||
data['children'] = twoarr;
|
||
ssProjectData.push(data);
|
||
}else {
|
||
var data = twoarr;
|
||
ssProjectData[i]['children'].push(data);
|
||
}
|
||
}else {
|
||
if(ProjectData[i]['children'][j]['children'] != undefined){
|
||
for(let z in ProjectData[i]['children'][j]['children']){
|
||
if(ProjectData[i]['children'][j]['children'][z]['title'].indexOf(txt) != -1){
|
||
trenarr.push(ProjectData[i]['children'][j]['children'][z]);
|
||
// var dataarr = ProjectData[i]['children'][j];
|
||
// if(ssProjectData.length == 0){
|
||
|
||
// var arr = JSON.parse(JSON.stringify(ProjectData[i]));
|
||
// var towarr = JSON.parse(JSON.stringify(ProjectData[i]['children'][j]));
|
||
// var dataarr = [];
|
||
// dataarr.push(towarr);
|
||
// arr['children'] = [];
|
||
// arr['children']=dataarr[0]
|
||
// towarr['children'] = trenarr;
|
||
// ssProjectData.push(arr);
|
||
// console.log(ssProjectData)
|
||
// }else {
|
||
// var towarr = arr['children'][j];
|
||
// towarr['children'].push(trenarr);
|
||
// ssProjectData[i]['children'].push(towarr);
|
||
// }
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
X.treemenu("#adminmykanban-con-mykanban",ssKanBanData,'mykanban');
|
||
X.treemenu("#adminmykanban-con-kongjian",ssProjectData,'kongjian');
|
||
$(".adminmykanban-sousuo-box .cha").show();
|
||
}else {
|
||
$(".adminmykanban-sousuo-box .cha").hide();
|
||
me.updata(X.DATA['projectid']);
|
||
}
|
||
})
|
||
|
||
function cloneObjectFn(obj){ // 对象复制
|
||
return JSON.parse(JSON.stringify(obj))
|
||
}
|
||
|
||
//移动至
|
||
$(".adminmykanban-operation-but-yidong").click(function(){
|
||
var mykanban = layui.tree.getChecked('mykanban');
|
||
var kongjian = layui.tree.getChecked('kongjian');
|
||
var data = {
|
||
'mykanban':selectkanbanidarr(mykanban),
|
||
'kongjian':selectkongjianidarr(kongjian)
|
||
}
|
||
X.parametersopen(data,'yidong-pop','auto',function(){
|
||
me.updata(X.DATA['projectid']);
|
||
})
|
||
})
|
||
//删除
|
||
$(document).on("click",".adminmykanban-operation-but-del",function(){
|
||
var mykanban = layui.tree.getChecked('mykanban');
|
||
var kongjian = layui.tree.getChecked('kongjian');
|
||
|
||
var kanbanid = selectkanbanidarr(mykanban);
|
||
var kongjianid = selectkongjianidarr(kongjian);
|
||
|
||
console.log(kanbanid);
|
||
console.log(kongjianid);
|
||
|
||
|
||
$(".layui-layer").css('background-color','#fff !important');
|
||
layer.confirm('确认删除选中的看板吗?该操作不可恢复', {
|
||
btn: ['取消','删除 '] //按钮
|
||
}, function(){
|
||
// 取消
|
||
layer.close(layer.index);
|
||
}, function(){
|
||
//删除
|
||
var data= {
|
||
'kanbanid':kanbanid,
|
||
'kongjianid':kongjianid
|
||
}
|
||
X.api("api/sidebardel",data,function(d){
|
||
layer.msg('删除成功');
|
||
layer.close(layer.index);
|
||
})
|
||
});
|
||
|
||
})
|
||
|
||
function selectkanbanidarr(mykanban){
|
||
var kanbanid =[];
|
||
for(let i in mykanban){
|
||
if(mykanban[i]['children'].length > 0){
|
||
for(let j in mykanban[i]['children']){
|
||
kanbanid.push(mykanban[i]['children'][j]['id']);
|
||
}
|
||
}else {
|
||
kanbanid.push(mykanban[i]['id']);
|
||
}
|
||
|
||
}
|
||
return kanbanid
|
||
}
|
||
|
||
function selectkongjianidarr(kongjian){
|
||
var kongjianid = [];
|
||
for(let i in kongjian){
|
||
if(kongjian[i]['children'].length > 0){
|
||
for(let j in kongjian[i]['children']){
|
||
|
||
if(kongjian[i]['children'][j]['children'].length > 0){
|
||
for(let z in kongjian[i]['children'][j]['children']){
|
||
kongjianid.push(kongjian[i]['children'][j]['children'][z]['id'])
|
||
}
|
||
}else {
|
||
kongjianid.push(kongjian[i]['children'][j]['id']);
|
||
}
|
||
}
|
||
}else {
|
||
kongjianid.push(kongjian[i]['id']);
|
||
}
|
||
}
|
||
return kongjianid
|
||
}
|
||
|
||
},
|
||
|
||
updata:function(id){
|
||
X.api("project/kanban","post",{"_id":id},function(d){
|
||
console.log(d);
|
||
var kanban = [];
|
||
for(let i in d.kanban){
|
||
var arr = {};
|
||
arr['title'] = d.kanban[i]['name'];
|
||
arr['id'] = d.kanban[i]['_id'];
|
||
if(d.kanban[i]['children'].length > 0){
|
||
var kanbanchidren = [];
|
||
for(let j in d.kanban[i]['children']){
|
||
var drr ={};
|
||
drr['title'] = d.kanban[i]['children'][j]['name'];
|
||
drr['id'] = d.kanban[i]['children'][j]['_id'];
|
||
kanbanchidren.push(drr);
|
||
}
|
||
arr['children'] = kanbanchidren;
|
||
}else {
|
||
arr['children'] = d.kanban[i]['children'];
|
||
}
|
||
kanban.push(arr);
|
||
}
|
||
var spaces = [];
|
||
for(let i in d.spaces){
|
||
var arr = {};
|
||
arr['title'] = d.spaces[i]['name'];
|
||
arr['id'] = d.spaces[i]['_id'];
|
||
if(d.spaces[i]['children'].length > 0){
|
||
var spaceschidren = [];
|
||
for(let j in d.spaces[i]['children']){
|
||
var drr ={};
|
||
drr['title'] = d.spaces[i]['children'][j]['name'];
|
||
drr['id'] = d.spaces[i]['children'][j]['_id'];
|
||
if(d.spaces[i]['children'][j]['isFolder']){
|
||
if(d.spaces[i]['children'][j]['children'].length > 0){
|
||
var spacestwochidren = [];
|
||
for(let z in d.spaces[i]['children'][j]['children']){
|
||
var crr ={};
|
||
crr['title'] = d.spaces[i]['children'][j]['children'][z]['name'];
|
||
crr['id'] = d.spaces[i]['children'][j]['children'][z]['_id'];
|
||
spacestwochidren.push(crr);
|
||
}
|
||
drr['children'] = spacestwochidren;
|
||
}else {
|
||
drr['children'] = d.spaces[i]['children'][j]['children'];
|
||
}
|
||
}
|
||
spaceschidren.push(drr);
|
||
}
|
||
arr['children'] = spaceschidren;
|
||
}else {
|
||
arr['children'] = d.spaces[i]['children'];
|
||
}
|
||
spaces.push(arr);
|
||
}
|
||
|
||
// 渲染数据
|
||
//树形看板
|
||
X.DATA['sxKanBanData'] = kanban;
|
||
X.DATA['sxProjectData'] = spaces;
|
||
|
||
X.treemenu("#adminmykanban-con-mykanban",kanban,'mykanban');
|
||
X.treemenu("#adminmykanban-con-kongjian",spaces,'kongjian');
|
||
});
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/analysis.js
|
||
(function(){
|
||
X.pageLogic['analysis'] = {
|
||
init : function(){
|
||
var me = this;
|
||
// 渲染form样式
|
||
layui.form.render();
|
||
|
||
var dataArr; //分析指标
|
||
var groupeddata;//分组项
|
||
var type2data =[],type3data = [];
|
||
var screentypearr=[]; //筛选项数据
|
||
var drr = [];
|
||
screentypearr.push(drr); //每一个筛选事件按添加次数依次写入
|
||
var filtersymbols=[];//筛选符号
|
||
filtersymbols.push(drr);
|
||
var groupitemeventsdata=[]//分组项里的事件
|
||
var defaultgroupdata //默认添加分组项里的事件
|
||
var data = {
|
||
"events":[],
|
||
"eventView":{
|
||
"cksql":"event",
|
||
"startTime":"",
|
||
"timeParticleSize":"P1D",
|
||
"endTime":"",
|
||
"graphShape":"L0",
|
||
"recentDay":"1-7",
|
||
"groupBy":[],
|
||
"uiCommonConfig":{
|
||
"tableSorts":[],
|
||
"chartSort":"num-desc"
|
||
},
|
||
"filts":[],//全局筛选
|
||
"relation":1,
|
||
"zone_time":'8'//时区
|
||
},
|
||
"cachedata":{
|
||
type2data:[],
|
||
type3data:[],
|
||
screentypearr:[],
|
||
filtersymbols:[],
|
||
groupitemeventsdata:[],
|
||
defaultgroupdata:[],
|
||
}
|
||
}
|
||
|
||
var retdata,props;
|
||
|
||
// 日期渲染
|
||
X.daterender("#analtsis-condition-date",function(start, end, label){
|
||
var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00";
|
||
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
|
||
data['eventView']['startTime'] = startTime;
|
||
data['eventView']['endTime'] = endTime;
|
||
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;
|
||
// console.log(parseInt((sameday - startmonth )/86400));
|
||
// console.log(parseInt((sameday - endmonth)/86400));
|
||
data['eventView']['recentDay'] = parseInt((sameday - endmonth)/86400) + "-"+ parseInt((sameday - startmonth)/86400);
|
||
calculationdata();
|
||
})
|
||
|
||
var time = $("#analtsis-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("toptab","analysis-zhanwei",X.DATA['projectarr'],function(){
|
||
X.api("data_auth/my_event","get",{},function(d){
|
||
|
||
dataArr = d;
|
||
X.api("data_auth/load_prop_quotas","post",{event_name:dataArr[0]['category'][0]['event_name']},function(d){
|
||
retdata = d.staid_quots.concat(d.props);
|
||
props = d.props;
|
||
var defaultindicator = {
|
||
"event_desc":dataArr[0]['category'][0]['event_desc'],
|
||
"event_name":dataArr[0]['category'][0]['event_name'],
|
||
"event_attr":"总次数",
|
||
"event_attr_id":"*",
|
||
"analysisname":'',
|
||
"analysis":'total_count',
|
||
"filts":[],//过滤项
|
||
"condrelation":'and',
|
||
"customEvent":' ',
|
||
"eventNameDisplay":' '//重命名指标
|
||
}
|
||
data.events.push(defaultindicator);
|
||
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
||
type2data[0]= retdata;
|
||
type3data[0]= [];
|
||
screentypearr[0]=d.props;
|
||
X.api("data_auth/load_filter_props","post",{event_name:dataArr[0]['category'][0]['event_name']},function(val){
|
||
defaultgroupdata = val;
|
||
groupitemeventsdata.push(val);
|
||
})
|
||
})
|
||
// groupeddata = d.group_by;
|
||
})
|
||
// });
|
||
|
||
|
||
// 渲染选择时间下拉框
|
||
layui.dropdown.render({
|
||
elem: ".analysis-navigation-bar-datetime"
|
||
,data: X.DATA.timezone
|
||
,click: function(obj){
|
||
$(".analysis-navigation-bar-datetime").html(obj.title);
|
||
data['eventView']['zone_time'] = obj.id;
|
||
}
|
||
});
|
||
|
||
// 伸缩左侧选项
|
||
$(".analysis-con-left-shrink").click(function(){
|
||
if($(".analysis-con-left").css('left') == "auto" || $(".analysis-con-left").css('left') == "0px"){
|
||
$(".analysis-con-left").css("position","absolute");
|
||
$(".analysis-con-left").css("left","-535px");
|
||
$(".analysis-con-left-shrink").css("transform","rotate(180deg)");
|
||
$(".analysis-con-right").css("width","calc(100% - 15px)");
|
||
$(".analysis-con-right").css("margin-left","16px");
|
||
}else {
|
||
$(".analysis-con-left").css("position","relative");
|
||
$(".analysis-con-left").css("left","auto");
|
||
$(".analysis-con-left-shrink").css("transform","rotate(3600deg)");
|
||
$(".analysis-con-right").css("width","calc(100% - 550px)");
|
||
$(".analysis-con-right").css("margin-left","0px");
|
||
}
|
||
});
|
||
|
||
//已存报表
|
||
var baobiaodata;
|
||
$(document).off('click','.analysis-navigation-bar-right .analysis-navigation-bar-right-img-baobiao').on('click','.analysis-navigation-bar-right .analysis-navigation-bar-right-img-baobiao',function(){
|
||
X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){
|
||
console.log(d);
|
||
if(d){
|
||
data = d.query;
|
||
type2data = data.cachedata.type2data;
|
||
type3data = data.cachedata.type3data;
|
||
screentypearr = data.cachedata.screentypearr;
|
||
filtersymbols = data.cachedata.filtersymbols;
|
||
|
||
baobiaodata = d;
|
||
|
||
if(d.query.eventView.filts.length > 0){
|
||
$(".analysis-overall").show();
|
||
}else {
|
||
$(".analysis-overall").hide();
|
||
}
|
||
|
||
X.laytpldata("#analysis-con-left-screen-list-dot",d.query.events,".analysis-con-left-screen-list-box");
|
||
X.laytpldata("#analysis-gpmain___3YGfw-dot",d.query.eventView.groupBy,".analysis-gpmain___3YGfw");
|
||
X.laytpldata("#analysis-overall-situation-list-box-dot",d.query['eventView']['filts'],".analysis-overall-situation-list-box");
|
||
analysisdown();
|
||
calculationdata();
|
||
|
||
}
|
||
})
|
||
})
|
||
|
||
// sql语句显示
|
||
$(document).off('click','.sqlquery').on('click','.sqlquery',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(data,'conditionquery',offset.left - 410,offset.top+obj.height(),function(){
|
||
|
||
})
|
||
})
|
||
|
||
// 切换为指标公式
|
||
$(document).on('click','.analysis-gongshi',function(){
|
||
var index = $(this).attr("data-index");
|
||
$("#analysis-con-left-screen-list-left-box-"+index).hide();
|
||
$("#analysis-custom-box-"+index).show();
|
||
$(this).hide();
|
||
$("#analysis-con-left-screen-list-right-"+index+" "+".analysis-zhibiao").show();
|
||
|
||
})
|
||
|
||
// 切换为指标选择
|
||
$(document).on('click','.analysis-zhibiao',function(){
|
||
var index = $(this).attr("data-index");
|
||
$("#analysis-con-left-screen-list-left-box-"+index).show();
|
||
$("#analysis-custom-box-"+index).hide();
|
||
$(this).hide();
|
||
$("#analysis-con-left-screen-list-right-"+index+" "+".analysis-gongshi").show();
|
||
})
|
||
|
||
//复制指标
|
||
$(document).on('click','.analysis-fuzhi',function(){
|
||
var index = $(this).attr("data-index");
|
||
var arr = data.events[index];
|
||
data.events.push(arr);
|
||
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
||
var num = data.events.length;
|
||
type2data[num] = type2data[index];
|
||
type3data[num] = type3data[index];
|
||
screentypearr[num] = screentypearr[index];
|
||
filtersymbols[num] = filtersymbols[index];
|
||
})
|
||
|
||
// $('.analysis-con-left-screen-list-left-zhibiaoname-txt').bind('input propertychange', function() {
|
||
|
||
// })
|
||
|
||
//重命名指标
|
||
$(document).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();
|
||
$("#analysis-con-left-screen-list-right-"+index+" "+".analysis-chongmingming-del").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();
|
||
$("#analysis-con-left-screen-list-right-"+index+" "+".analysis-chongmingming").show();
|
||
})
|
||
|
||
// 设置一级事件
|
||
$(document).off('click','.ant-dropdown-trigger').on('click','.ant-dropdown-trigger',function() {
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr('data-index')
|
||
X.querycriteriapop(dataArr,'setgrouping',offset.left,offset.top+obj.height(),function(val){
|
||
var htmlstring = val.id;
|
||
obj.html(htmlstring);
|
||
data['events'][index]['event_desc'] = val.id;
|
||
data['events'][index]['event_name'] = val.name;
|
||
X.api("data_auth/load_prop_quotas","post",{event_name:val.name},function(d){
|
||
var retdata = d.staid_quots.concat(d.props);
|
||
type2data[index]=retdata;
|
||
screentypearr[index] = d.props;
|
||
})
|
||
|
||
X.api("data_auth/load_filter_props","post",{event_name:val.name},function(d){
|
||
groupitemeventsdata[index] = d;
|
||
console.log(groupitemeventsdata);
|
||
})
|
||
|
||
|
||
})
|
||
})
|
||
//设置一级事件中第二个参数
|
||
$(document).off('click','.analysis-zhibiao-list-type2').on('click','.analysis-zhibiao-list-type2',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
if(type2data.length >0){
|
||
X.querycriteriapop(type2data[index],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
if(val != undefined){
|
||
$("#analysis-zhibiao-list-type2-"+index).html(val.title);
|
||
|
||
type3data[index]=val.category;
|
||
data['events'][index]['event_attr'] = val.title;
|
||
data['events'][index]['event_attr_id'] = val.id;
|
||
if(val.category && val.category.length > 0){
|
||
$("#analysis-zhibiao-list-type3-"+index).show();
|
||
$("#analysis-zhibiao-list-type3-"+index).html(val.category[0].title);
|
||
data['events'][index]['analysisname'] = val.category[0].title;
|
||
data['events'][index]['analysis'] = val.category[0].id;
|
||
}else {
|
||
$("#analysis-zhibiao-list-type3-"+index).hide();
|
||
data['events'][index]['analysis'] = val.analysis;
|
||
}
|
||
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
||
}
|
||
})
|
||
}
|
||
})
|
||
//设置一级事件中第三个参数
|
||
$(document).off('click','.analysis-zhibiao-condition').on('click','.analysis-zhibiao-condition',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
var indexs = obj.attr("data-indexs");
|
||
if(type3data.length>0){
|
||
if(type3data[index].length > 0){
|
||
X.querycriteriapop(type3data[index],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
$("#analysis-zhibiao-list-type3-"+index).html(val.title);
|
||
data['events'][index]['analysisname'] = val.title;
|
||
data['events'][index]['analysis'] = val.id;
|
||
})
|
||
}
|
||
}
|
||
})
|
||
|
||
$(document).off('click','.ta-property-select').on('click','.ta-property-select',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
var indexs = obj.attr("data-indexs");
|
||
X.querycriteriapop(screentypearr[index],'category',offset.left,offset.top+obj.height(),function(val){
|
||
console.log(val);
|
||
var htmlstring = val.title;
|
||
obj.html(htmlstring);
|
||
filtersymbols[index][indexs] = val.category;
|
||
data['events'][index]['filts'][indexs]['columnDesc'] = htmlstring;
|
||
data['events'][index]['filts'][indexs]['columnName'] = val.id;
|
||
data['events'][index]['filts'][indexs]['data_type'] = val.type;
|
||
data['events'][index]['filts'][indexs]['tableType'] = val.table_type;
|
||
})
|
||
|
||
})
|
||
|
||
$(document).off('click','.analysis-choicetypename').on('click','.analysis-choicetypename',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = $(this).attr("data-index");
|
||
var indexs = $(this).attr("data-indexs");
|
||
X.querycriteriapop(filtersymbols[index][indexs],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
if(val != undefined){
|
||
obj.html(val.title);
|
||
data['events'][index]['filts'][indexs]['comparator_name'] = val.title;
|
||
data['events'][index]['filts'][indexs]['comparator'] = val.id;
|
||
}
|
||
})
|
||
})
|
||
|
||
// 添加筛选项
|
||
$(document).off('click','.analysis-shaix').on('click','.analysis-shaix',function(){
|
||
var obj = $(this);
|
||
var index = obj.attr("data-index");
|
||
addscreen(index);
|
||
})
|
||
|
||
// 添加筛选项
|
||
function addscreen(index){
|
||
X.api('data_auth/load_filter_props',"post",{event_name:data['events'][index]["event_name"]},function(d){
|
||
console.log(d);
|
||
var arr = {
|
||
"columnDesc":d[0]['category'][0]['title'],//事件中文显示
|
||
"columnName":d[0]['category'][0]['id'],//事件id
|
||
"comparator_name":d[0]['category'][0]['category'][0]['title'],//选择符号中文显示
|
||
"comparator":d[0]['category'][0]['category'][0]['id'],//符号id
|
||
"data_type":d[0]['category'][0]['data_type'],
|
||
"ftv":'',//条件
|
||
"strftv":'',//字符串显示条件
|
||
"tableType": d[0]['id']
|
||
} //筛选数据
|
||
data['events'][index]['filts'].push(arr);
|
||
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
||
var drr=[];
|
||
filtersymbols.push(drr);
|
||
screentypearr[index] = d;
|
||
filtersymbols[index][filtersymbols[index].length ] = d[0]['category'][0]["category"];
|
||
})
|
||
}
|
||
|
||
//监听重命名指标
|
||
$(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname input',function(){
|
||
var index = $(this).attr("data-index");
|
||
var txt = $(this).val();
|
||
data['events'][index]['eventNameDisplay'] = txt;
|
||
})
|
||
|
||
// 监听文本框
|
||
$(document).off('click','.analysis-zhibiao-list-type4 input').on('blur','.analysis-zhibiao-list-type4 input',function(){
|
||
var index = $(this).attr("data-index");
|
||
var indexs = $(this).attr("data-indexs");
|
||
var val = $(this).val();
|
||
var valarr = val.split(",");
|
||
data['events'][index]['filts'][indexs]['ftv']=valarr;
|
||
data['events'][index]['filts'][indexs]['strftv']=val;
|
||
})
|
||
|
||
// 且和或切换
|
||
$(document).on("click",".analysis-con-left-screen-list-right-screen-qh-tit",function(){
|
||
var html = $(this).html(); //condrelation筛选条件的关系
|
||
var index = $(this).attr("data-index");
|
||
if(html == "且"){
|
||
$(this).html('或');
|
||
data['events'][index]['condrelation'] = 'or'
|
||
}else {
|
||
$(this).html('且');
|
||
data['events'][index]['condrelation'] = 'and'
|
||
}
|
||
})
|
||
|
||
// 添加条件按钮
|
||
$(document).on('click',".analysis-zhibiao-updata",function(){
|
||
// addindex();
|
||
})
|
||
|
||
// 删除二级筛选项
|
||
$(document).on('click','.analysis-zhibiao-list-del',function(){
|
||
// var id = "analysis-zhibiao-list-mar-"+$(this).attr("data-twonum");
|
||
// $("#"+id).remove();
|
||
var index = $(this).attr("data-index");
|
||
var indexs = $(this).attr("data-indexs");
|
||
filtersymbols[index].splice(indexs,1);
|
||
data.events[index]['filts'].splice(indexs,1);
|
||
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
||
})
|
||
|
||
// 添加指标
|
||
function addindex(){
|
||
var defaultindicator = {
|
||
"event_desc":dataArr[0]['category'][0]['event_desc'],
|
||
"event_name":dataArr[0]['category'][0]['event_name'],
|
||
"event_attr":"总次数",
|
||
"event_attr_id":"*",
|
||
"analysisname":'',
|
||
"analysis":'total_count',
|
||
"filts":[],//过滤项
|
||
"condrelation":'and',
|
||
"customEvent":' ',
|
||
"eventNameDisplay":' '//重命名指标
|
||
}
|
||
data['events'].push(defaultindicator);
|
||
|
||
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
||
console.log(data.events);
|
||
var index = data.events.length - 1;
|
||
type2data[index]= retdata;
|
||
type3data[index]= [];
|
||
$(".analysis-del").show() //显示删除按钮
|
||
var drr = [];
|
||
screentypearr.push(drr);
|
||
if(data.events.length > 1){
|
||
$(".analysis-overall").show();
|
||
}else {
|
||
$(".analysis-overall").hide();
|
||
}
|
||
screentypearr[index]=props;
|
||
groupitemeventsdata.push(defaultgroupdata);
|
||
}
|
||
|
||
//添加按钮
|
||
$(document).on('click','.analysis-jia1',function(){
|
||
|
||
addindex();
|
||
|
||
})
|
||
//添加指标按钮
|
||
$(document).on('click','.analysis-bottom-jia1',function(){
|
||
|
||
addindex();
|
||
|
||
})
|
||
|
||
//删除指标
|
||
$(document).on('click',".analysis-del",function(){
|
||
if(data['events'].length != 1){
|
||
var index = $(this).attr("data-index");
|
||
data['events'].splice(index,1);
|
||
if(data['events'].length == 1){
|
||
$(".analysis-del").hide(); //隐藏删除按钮
|
||
$(".analysis-overall").hide();
|
||
}
|
||
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box");
|
||
}
|
||
})
|
||
|
||
|
||
$(".analysis-custom-event-box .analysis-custom-event-txt").blur(function(){
|
||
$(this).css("border-bottom","0px");
|
||
|
||
})
|
||
|
||
$(document).off('click','.analysis-custom-event-box .analysis-custom-event-txt').on('blur','.analysis-custom-event-box .analysis-custom-event-txt',function(){
|
||
// $(this).css("border-bottom","1px solid #3d90ff");
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
data['events'][index]['customEvent'] = $(this).val();
|
||
// console.log(data);
|
||
})
|
||
|
||
$(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname2 input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname2 input',function(){
|
||
var index = $(this).attr('data-index');
|
||
data['events'][index]['eventNameDisplay'] = $(this).val();
|
||
// console.log(data);
|
||
})
|
||
|
||
//分组项
|
||
var cat = "event";
|
||
$(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function(){
|
||
var index = data['eventView']['groupBy'].length;
|
||
var screentypedata = filteringdata();
|
||
console.log(screentypedata);
|
||
var drr = {
|
||
"columnDesc":screentypedata[0]['category'][index]['title'],//事件中文显示
|
||
"columnName":screentypedata[0]['category'][index]['id'],//事件id
|
||
'data_type':screentypedata[0]['category'][index]['data_type'],//类型
|
||
'tableType': screentypedata[0]['id'],
|
||
"ftv":'',//条件
|
||
"section":''//区间
|
||
}
|
||
data.eventView.groupBy.push(drr);
|
||
X.laytpldata("#analysis-gpmain___3YGfw-dot",data.eventView.groupBy,".analysis-gpmain___3YGfw");
|
||
|
||
})
|
||
|
||
$(document).off('click','.analysis-ant-dropdown-trigger').on('click','.analysis-ant-dropdown-trigger',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){
|
||
var htmlstring = val.title;
|
||
obj.html(htmlstring);
|
||
data.eventView.groupBy[index]['columnDesc'] = val.title;
|
||
data.eventView.groupBy[index]['columnName'] = val.id;
|
||
data.eventView.groupBy[index]['data_type'] = val.type;
|
||
data.eventView.groupBy[index]['tableType'] = val.table_type;
|
||
X.laytpldata("#analysis-gpmain___3YGfw-dot",data.eventView.groupBy,".analysis-gpmain___3YGfw");
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-granularity').on("click",".analysis-granularity",function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var type = obj.attr("data_type");
|
||
var index = obj.attr("data-index");
|
||
var arr;
|
||
if(type == 'date'){
|
||
arr = {
|
||
data:[
|
||
{'name':"按天",'id':'day','checked':true},
|
||
{'name':"按分钟",'id':'min','checked':false},
|
||
{'name':"按小时",'id':'hour','checked':false},
|
||
{'name':"按周",'id':'week','checked':false},
|
||
{'name':"按月",'id':'month','checked':false}
|
||
],
|
||
default: data.eventView.groupBy[index]['ftv']
|
||
|
||
}
|
||
}else {
|
||
arr ={
|
||
data:[
|
||
{'name':"按元素",'id':'0','checked':true},
|
||
{'name':"按列表整体",'id':'1','checked':false},
|
||
{'name':"按元素集合",'id':'2','checked':false}
|
||
],
|
||
default: data.eventView.groupBy[index]['ftv']
|
||
}
|
||
}
|
||
|
||
X.querycriteriapop(arr,'groupitem',offset.left,offset.top+obj.height(),function(val){
|
||
data.eventView.groupBy[index]['ftv'] = val.id;
|
||
})
|
||
})
|
||
|
||
$(document).on("click",".analysis-section",function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var sectionid = obj.attr("data-sectionid");
|
||
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
skin: 'yourclass',
|
||
url: 'groupeditemspop',
|
||
extData : sectionid,
|
||
callback : function(val){
|
||
|
||
}
|
||
})
|
||
|
||
})
|
||
|
||
$(document).on('click','.analysis-action-right',function(){
|
||
var index = $(this).attr('data-index');
|
||
data.eventView.groupBy.splice(index,1);
|
||
X.laytpldata("#analysis-gpmain___3YGfw-dot",data.eventView.groupBy,".analysis-gpmain___3YGfw");
|
||
})
|
||
|
||
$(document).on('click','.analysis-event-splitting',function(){
|
||
|
||
})
|
||
|
||
// 过滤数据
|
||
function filteringdata(){
|
||
var screentypedata;
|
||
if(groupitemeventsdata.length>1){
|
||
for(var i =0; i < groupitemeventsdata.length - 1; i++){
|
||
if(i == 0){
|
||
X.groupintersection(groupitemeventsdata[i] , groupitemeventsdata[Number(i) + Number(1)],function(d){
|
||
screentypedata = d;
|
||
});
|
||
}else {
|
||
X.groupintersection(screentypedata , groupitemeventsdata[Number(i) + Number(1)],function(d){
|
||
screentypedata = d;
|
||
})
|
||
}
|
||
}
|
||
}else {
|
||
screentypedata = groupitemeventsdata[0];
|
||
}
|
||
return screentypedata;
|
||
}
|
||
|
||
// 全局筛选
|
||
var filtsftvdata=[];
|
||
$(document).on('click','.analysis-overall-situation-add',function(){
|
||
|
||
var screentypedata = filteringdata();
|
||
var drr={
|
||
"columnDesc":screentypedata[0]['category'][0]['title'],//事件中文显示 columnDesc
|
||
"columnName":screentypedata[0]['category'][0]['id'],//事件id
|
||
'data_type':screentypedata[0]['category'][0]['data_type'],//类型
|
||
'comparator_name':'等于',//默认等于
|
||
"comparator":'==',//符号id
|
||
"ftv":[],//条件
|
||
"strftv":'',//显示条件
|
||
"section":[-1,1],//区间
|
||
"tableType":screentypedata[0]['id']
|
||
};
|
||
console.log(drr);
|
||
data['eventView']['filts'].push(drr);//上传全局数据
|
||
filtsftvdata.push(screentypedata[0]['category'][0]['category'])
|
||
|
||
$(".analysis-overall-situation-left-box").show();
|
||
|
||
if(data['eventView']['filts'].length > 1){
|
||
$(".analysis-overall-situation-left-guanxi").show();
|
||
}else{
|
||
$(".analysis-overall-situation-left-guanxi").hide();
|
||
}
|
||
X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filts'],".analysis-overall-situation-list-box");
|
||
analysisdown();
|
||
})
|
||
|
||
//循环给条件框渲染下拉框
|
||
function analysisdown(){
|
||
for(let i in data['eventView']['filts']){
|
||
X.laydropdown("#analysis-overall-situation-fuhao-"+i,filtsftvdata[i],function(val){
|
||
$(this).html(val.title);
|
||
data['eventView']['filts'][i]['comparator_name'] = val.title;
|
||
data['eventView']['filts'][i]['comparator'] = val.id;
|
||
if(val.id == "range"){
|
||
data['eventView']['filts'][i]['ftv'] = [-1,1];
|
||
}
|
||
X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filts'],".analysis-overall-situation-list-box");
|
||
analysisdown();
|
||
})
|
||
}
|
||
}
|
||
|
||
$(document).on('click',".analysis-overall-situation-del",function(){
|
||
var index = $(this).attr("data-index");
|
||
data['eventView']['filts'].splice(index,1);
|
||
filtsftvdata.splice(index,1);
|
||
if(data['eventView']['filts'].length > 1){
|
||
$(".analysis-overall-situation-left-guanxi").show();
|
||
}else{
|
||
$(".analysis-overall-situation-left-guanxi").hide();
|
||
// $(".analysis-overall-situation-left-box").hide();
|
||
}
|
||
X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filts'],".analysis-overall-situation-list-box");
|
||
analysisdown();
|
||
})
|
||
|
||
// 全局属性选择
|
||
$(document).off('click','.analysis-overall-situation-attr').on('click',".analysis-overall-situation-attr",function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){
|
||
obj.html(val.title);
|
||
data['eventView']['filts'][index]['columnDesc'] = val.title;
|
||
data['eventView']['filts'][index]['columnName'] = val.id;
|
||
data['eventView']['filts'][index]['data_type'] = val.type;
|
||
data['eventView']['filts'][index]['comparator_name'] = '等于';
|
||
data['eventView']['filts'][index]['comparator'] = '==';
|
||
data['eventView']['filts'][index]['tableType'] = val.table_type;
|
||
filtsftvdata[index]=val.category;
|
||
X.laytpldata("#analysis-overall-situation-list-box-dot",data['eventView']['filts'],".analysis-overall-situation-list-box");
|
||
analysisdown();
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-input input').on('blur','.analysis-overall-situation-input input',function(){
|
||
var index = $(this).attr("data-index");
|
||
var val = $(this).val();
|
||
var valarr = val.split(",");
|
||
data['eventView']['filts'][index]['ftv']=valarr;
|
||
data['eventView']['filts'][index]['strftv']=val;
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-input2 input').on('blur','.analysis-overall-situation-input2 input',function(){
|
||
var name = $(this).attr('name');
|
||
var val = $(this).val();
|
||
var index = $(this).attr("data-index");
|
||
|
||
if(name == 'start'){
|
||
data['eventView']['filts'][index]['ftv'][0] = val;
|
||
data['eventView']['filts'][index]['section'][0] = val;
|
||
}else {
|
||
data['eventView']['filts'][index]['ftv'][1] = val;
|
||
data['eventView']['filts'][index]['section'][1] = val;
|
||
}
|
||
})
|
||
|
||
// 时间粒度
|
||
var timeParticleSizearr = [
|
||
{'title':'按天','id':'P1D'},
|
||
{'title':'按分钟','id':'PT1M'},
|
||
{'title':'每五分钟','id':'PT5M'},
|
||
{'title':'每十分钟','id':'PT10M'},
|
||
{'title':'每十五分钟','id':'PT15M'},
|
||
{'title':'按小时','id':'PT1H'},
|
||
{'title':'按周','id':'P1W'},
|
||
{'title':'按月','id':'P1M'},
|
||
// {'title':'合计','id':'total'},
|
||
]
|
||
|
||
X.laydropdown('.analtsis-timeParticleSize',timeParticleSizearr,function(d){
|
||
$(this).html(d.title);
|
||
data['eventView']['timeParticleSize'] = d.id;
|
||
calculationdata();
|
||
})
|
||
|
||
X.layuidate('#analysis-overall-situation-time1');
|
||
|
||
// 计算
|
||
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
||
console.log(data);
|
||
calculationdata();
|
||
|
||
})
|
||
|
||
var querydata;//查询数据
|
||
$(document).on('click','.analtsis-chart-switch-box .analtsis-chart-switch',function(){
|
||
console.log(querydata)
|
||
if(querydata){
|
||
$('.analtsis-chart-switch-box .analtsis-chart-switch').removeClass('select-chart');
|
||
$(this).addClass('select-chart');
|
||
if($(this).attr('title') == '趋势图'){trendchart(querydata)}
|
||
else if($(this).attr('title') == '堆积图'){stackingdiagram(querydata);}
|
||
else if($(this).attr('title') == '累计图'){}
|
||
else if($(this).attr('title') == '分布图'){distributionmap(querydata)}
|
||
else if($(this).attr('title') == '饼状分布'){}
|
||
}else{
|
||
// layer.msg('请先计算数据,在切换图表');
|
||
}
|
||
|
||
})
|
||
|
||
//堆积图
|
||
function stackingdiagram(d){
|
||
var xAxisData=[];
|
||
for(let i in d){
|
||
for(let z in d[i]['groups']){
|
||
var pj = d[i]['event_name']+d[i]['groups'][z];
|
||
xAxisData.push(pj);
|
||
}
|
||
}
|
||
var seriesData=[];
|
||
for(let i in d){
|
||
for(let z in d[i]['values']){
|
||
var arr = {
|
||
name: '',
|
||
type: 'line',
|
||
stack: '总量',
|
||
areaStyle: {},
|
||
emphasis: {
|
||
focus: 'series'
|
||
},
|
||
data: d[i]['values'][z]
|
||
}
|
||
seriesData.push(arr);
|
||
}
|
||
}
|
||
if(xAxisData.length > 0){
|
||
for(let i in seriesData){
|
||
seriesData[i]['name'] = xAxisData[i];
|
||
}
|
||
}
|
||
|
||
var myChart = echarts.init(document.getElementById('analysis-echarts'));
|
||
var option = {
|
||
title: {
|
||
text: ''
|
||
},
|
||
color: X.DATA.echartscolor,
|
||
tooltip: {
|
||
trigger: 'axis',
|
||
axisPointer: {
|
||
type: 'cross',
|
||
label: {
|
||
backgroundColor: '#6a7985'
|
||
}
|
||
}
|
||
},
|
||
legend: {
|
||
type:'scroll',
|
||
data: xAxisData
|
||
},
|
||
grid: {
|
||
left: '2%',
|
||
right: '2%',
|
||
bottom: '2%',
|
||
top: '10%',
|
||
containLabel: true
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: 'category',
|
||
boundaryGap: false,
|
||
data: d[0]['date_range']
|
||
}
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: 'value'
|
||
}
|
||
],
|
||
series: seriesData
|
||
};
|
||
myChart.setOption(option,true);
|
||
}
|
||
|
||
//趋势图
|
||
function trendchart(d){
|
||
var xAxisData=[];
|
||
for(let i in d){
|
||
for(let z in d[i]['groups']){
|
||
var pj = d[i]['event_name']+d[i]['groups'][z];
|
||
xAxisData.push(pj);
|
||
}
|
||
}
|
||
var seriesData=[];
|
||
for(let i in d){
|
||
for(let z in d[i]['values']){
|
||
var arr = {
|
||
name: '',
|
||
type: 'line',
|
||
data: d[i]['values'][z]
|
||
}
|
||
seriesData.push(arr);
|
||
}
|
||
}
|
||
if(xAxisData.length > 0){
|
||
for(let i in seriesData){
|
||
seriesData[i]['name'] = xAxisData[i];
|
||
}
|
||
}
|
||
console.log(d);
|
||
console.log(seriesData);
|
||
var myChart = echarts.init(document.getElementById('analysis-echarts'));
|
||
var option = {
|
||
title: {
|
||
text: ''
|
||
},
|
||
color: X.DATA.echartscolor,
|
||
tooltip: {
|
||
trigger: 'axis',
|
||
axisPointer: {
|
||
type: 'cross',
|
||
label: {
|
||
backgroundColor: '#6a7985'
|
||
}
|
||
}
|
||
},
|
||
legend: {
|
||
type:'scroll',
|
||
data: xAxisData
|
||
},
|
||
// toolbox: {
|
||
// feature: {
|
||
// saveAsImage: {}
|
||
// }
|
||
// },
|
||
grid: {
|
||
left: '2%',
|
||
right: '2%',
|
||
bottom: '2%',
|
||
top: '10%',
|
||
containLabel: true
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: 'category',
|
||
boundaryGap: false,
|
||
data: d[0]['date_range']
|
||
}
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: 'value'
|
||
}
|
||
],
|
||
series: seriesData
|
||
};
|
||
myChart.setOption(option,true);
|
||
}
|
||
|
||
//分布图
|
||
function distributionmap(d){
|
||
var legendData =[];
|
||
var xAxisData=[];
|
||
var seriesData=[];
|
||
if(jQuery.isEmptyObject(d[0]["groups"])){
|
||
for(let i in d){
|
||
xAxisData.push(d[i]['event_name']);
|
||
legendData.push(d[i]['event_name']);
|
||
var num =0;
|
||
for(let j in d[i]['values'][i]){
|
||
num = num + d[i]['values'][i][j]
|
||
}
|
||
var arr = {
|
||
name: d[i]['event_name'],
|
||
type: 'bar',
|
||
barWidth : 30,
|
||
data: [],
|
||
}
|
||
arr['data'].push(num);
|
||
seriesData.push(arr);
|
||
}
|
||
|
||
}else {
|
||
for(let i in d){
|
||
xAxisData.push(d[i]['event_name']);
|
||
for(let j in d[i]['groups']){
|
||
var num =0;
|
||
for(let z in d[i]['values'][j]){
|
||
num = num + d[i]['values'][j][z]
|
||
}
|
||
if(i > 0){
|
||
for(let q in seriesData){
|
||
if(d[i]['groups'][j] == seriesData[q]['name']){
|
||
seriesData[q]['data'].push(num);
|
||
}else {
|
||
var arr = {
|
||
name: d[i]['groups'][j],
|
||
type: 'bar',
|
||
barWidth : 30,
|
||
data: [],
|
||
}
|
||
arr['data'].push(num);
|
||
seriesData.push(arr);
|
||
}
|
||
}
|
||
}else {
|
||
var arr = {
|
||
name: d[i]['groups'][j],
|
||
type: 'bar',
|
||
barWidth : 30,
|
||
data: [],
|
||
}
|
||
arr['data'].push(num);
|
||
seriesData.push(arr);
|
||
}
|
||
|
||
|
||
}
|
||
}
|
||
console.log(seriesData);
|
||
console.log(xAxisData)
|
||
}
|
||
// for(let i in d){
|
||
// for(let z in d[i]['groups']){
|
||
// var pj = d[i]['event_name']+d[i]['groups'][z];
|
||
// xAxisData.push(pj);
|
||
// }
|
||
// }
|
||
// var seriesData=[];
|
||
// for(let i in d){
|
||
// for(let z in d[i]['values']){
|
||
// var arr = {
|
||
// name: '',
|
||
// type: 'bar',
|
||
// data: d[i]['values'][z]
|
||
// }
|
||
// seriesData.push(arr);
|
||
// }
|
||
// }
|
||
// if(xAxisData.length > 0){
|
||
// for(let i in seriesData){
|
||
// seriesData[i]['name'] = xAxisData[i];
|
||
// }
|
||
// }
|
||
// return;
|
||
var myChart = echarts.init(document.getElementById('analysis-echarts'));
|
||
var option = {
|
||
tooltip: {
|
||
trigger: 'axis',
|
||
axisPointer: {
|
||
type: 'shadow'
|
||
}
|
||
},
|
||
color: X.DATA.echartscolor,
|
||
legend: {
|
||
data: legendData
|
||
},
|
||
grid: {
|
||
left: '2%',
|
||
right: '2%',
|
||
bottom: '2%',
|
||
top: '10%',
|
||
containLabel: true
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: 'category',
|
||
axisTick: {show: false},
|
||
data: xAxisData
|
||
}
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: 'value'
|
||
}
|
||
],
|
||
series: seriesData
|
||
};
|
||
myChart.setOption(option,true);
|
||
}
|
||
|
||
//表格
|
||
function tabledata(d){
|
||
console.log(d);
|
||
var titledata,condata = [];
|
||
for(let i in d){
|
||
if(d[i]['groups']['length'] == 0){
|
||
titledata= $.extend(true,[],d[0]['date_range']) ;
|
||
titledata.unshift('指标','阶段总和');
|
||
condata.push(d[i].values[0]);
|
||
condata[i].unshift(d[i]['event_name'],d[i]['sum']);
|
||
// console.log(condata);
|
||
}else {
|
||
|
||
}
|
||
}
|
||
console.log(titledata);
|
||
console.log(condata);
|
||
|
||
X.laytpldata("#table-fenxi-th-dot",titledata,".table-fenxi-th");
|
||
X.laytpldata("#table-fenxi-td-dot",condata ,".table-fenxi-td");
|
||
}
|
||
|
||
function calculationdata(){
|
||
data['cachedata']['type2data'] = type2data;
|
||
data['cachedata']['type3data'] = type3data;
|
||
data['cachedata']['screentypearr'] = screentypearr;
|
||
data['cachedata']['filtersymbols'] = filtersymbols;
|
||
data['cachedata']['groupitemeventsdata'] = groupitemeventsdata;
|
||
data['cachedata']['defaultgroupdata'] = defaultgroupdata;
|
||
var dataArr = {
|
||
eventView: data.eventView,
|
||
events: data.events
|
||
}
|
||
X.api("ck/event_model","post",dataArr,function(d){
|
||
querydata = d;
|
||
if(d[0].values.length > 0 ){
|
||
updata();
|
||
tabledata(d);
|
||
// stackingdiagram(d);
|
||
// tabledata(d);
|
||
}else {
|
||
$("#analysis-echarts").empty();
|
||
layer.msg("无数据");
|
||
}
|
||
})
|
||
}
|
||
|
||
function updata(){
|
||
var tit = $(".select-chart").attr("title");
|
||
if(tit == '趋势图'){trendchart(querydata)}
|
||
else if(tit == '堆积图'){stackingdiagram(querydata);}
|
||
else if(tit == '累计图'){}
|
||
else if(tit == '分布图'){distributionmap(querydata)}
|
||
else if(tit == '饼状分布'){}
|
||
}
|
||
|
||
// 保存报表
|
||
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){
|
||
if(baobiaodata != '' && baobiaodata != undefined && baobiaodata != null){
|
||
console.log(baobiaodata);
|
||
X.parametersopen(baobiaodata,'savereport','auto');
|
||
}else{
|
||
X.parametersopen(data,'savereport','auto');
|
||
}
|
||
})
|
||
|
||
},
|
||
|
||
// 保存报表
|
||
// savereport:function(d){
|
||
|
||
// }
|
||
|
||
};
|
||
})();
|
||
|
||
|
||
|
||
// srczip/logic/attribute.js
|
||
(function(){
|
||
X.pageLogic['attribute'] = {
|
||
init : function(){
|
||
|
||
var data ={
|
||
"eventView":{
|
||
"cksql":'user_property',
|
||
"groupBy":[
|
||
|
||
],
|
||
"userCrowds":[
|
||
|
||
]
|
||
},
|
||
"events":{
|
||
"analysis":"",
|
||
"analysisName":"",
|
||
"eventNameDisplay":"",
|
||
"filts":[
|
||
|
||
],
|
||
"quota":"",
|
||
"quotaDesc":"",
|
||
"quotatype":"",
|
||
"relation":"and",
|
||
"tableType":"user"
|
||
}
|
||
}
|
||
|
||
// 分析属性控制重命名
|
||
$(document).off('click','.analysis-chongmingming').on('click','.analysis-chongmingming',function(){
|
||
$('.analysis-con-left-screen-list-left-zhibiaoname').show();
|
||
$(this).hide();
|
||
$('.analysis-chongmingming-del').show();
|
||
})
|
||
|
||
$(document).off('click','.analysis-chongmingming-del').on('click','.analysis-chongmingming-del',function(){
|
||
$('.analysis-con-left-screen-list-left-zhibiaoname').hide();
|
||
$(this).hide();
|
||
$('.analysis-chongmingming').show();
|
||
})
|
||
|
||
//用户属性数据请求
|
||
var user_attr = [];
|
||
var quotas_map = [];
|
||
var filter_map = [];
|
||
var user_data = []; //分组项,用户符合,人群对比数据格式
|
||
X.api("data_auth/user_property","get",{},function(val){
|
||
for(let i in val){
|
||
var arr = {
|
||
id : val[i]['name'],
|
||
data_type : val[i]['data_type'],
|
||
title : val[i]['name']
|
||
};
|
||
user_attr.push(arr);
|
||
}
|
||
data['events']['quota'] = user_attr[0]['id'];
|
||
data['events']['quotaDesc'] = user_attr[0]['title'];
|
||
data['events']['quotatype'] = user_attr[0]['data_type'];
|
||
$('.ant-dropdown-trigger').html(user_attr[0]['title']);
|
||
|
||
|
||
var arr = {
|
||
category: user_attr,
|
||
id:'',
|
||
title:'用户属性'
|
||
}
|
||
user_data.push(arr);
|
||
// console.log(user_data);
|
||
|
||
X.api("data_auth/quotas_map","get",{},function(val){
|
||
quotas_map = val;
|
||
if(user_attr[0]['data_type'] == ""){
|
||
$('.analysis-choicetypename').hide();
|
||
}else {
|
||
$('.analysis-choicetypename').html(quotas_map[user_attr[0]['data_type']][0]['title']);
|
||
data['events']['analysis'] = quotas_map[user_attr[0]['data_type']][0]['id'];
|
||
data['events']['analysisName'] = quotas_map[user_attr[0]['data_type']][0]['title'];
|
||
}
|
||
})
|
||
|
||
X.api("data_auth/filter_map","get",{},function(val){
|
||
filter_map = val;
|
||
})
|
||
|
||
})
|
||
|
||
// sql语句显示
|
||
$(document).off('click','.sqlquery').on('click','.sqlquery',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(data,'conditionquery',offset.left - 410,offset.top+obj.height(),function(){
|
||
|
||
})
|
||
})
|
||
|
||
// 分析属性
|
||
$(document).off('click','.ant-dropdown-trigger').on('click','.ant-dropdown-trigger',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(user_attr,'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
obj.html(val.title);
|
||
data['events']['quota'] = val.id;
|
||
data['events']['quotaDesc'] = val.title;
|
||
data['events']['quotatype'] = val.data_type;
|
||
if(val.data_type == ""){
|
||
$('.analysis-choicetypename').hide();
|
||
}else {
|
||
$('.analysis-choicetypename').show();
|
||
data['events']['analysis'] = quotas_map[val.data_type][0].id;
|
||
data['events']['analysisDesc'] = quotas_map[val.data_type][0].title;
|
||
$('.analysis-choicetypename').html(quotas_map[val.data_type][0]['title']);
|
||
}
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-choicetypename').on('click','.analysis-choicetypename',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(quotas_map[data['events']['quotatype']],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
obj.html(val.title);
|
||
data['events']['analysis'] = val.id;
|
||
data['events']['analysisDesc'] = val.title;
|
||
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname input',function(){
|
||
// console.log($(this).val());
|
||
data['events']['eventNameDisplay'] = $(this).val();
|
||
})
|
||
|
||
// 分组项
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
$(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function(){
|
||
var arr = {
|
||
"columnName": user_data[0]['category'][0]['title'],//事件中文显示
|
||
"column_id": user_data[0]['category'][0]['id'],//事件id
|
||
'data_type': user_data[0]['category'][0]['data_type'],//类型
|
||
'table_type': "",
|
||
"ftv":'',//条件
|
||
"intervalType":'def',
|
||
"quotaIntervalArr":[]
|
||
};
|
||
data['eventView']['groupBy'].push(arr);
|
||
if(data['eventView']['groupBy'].length >= 2){
|
||
$(this).hide();
|
||
}
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
})
|
||
|
||
$(document).off('click','.analysis-action-right').on('click','.analysis-action-right',function(){
|
||
var index = $(this).attr('data-index');
|
||
data['eventView']['groupBy'].splice(index,1);
|
||
if(data['eventView']['groupBy'].length < 2){
|
||
$(".analysis-footadd___2D4YB").show();
|
||
}
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
})
|
||
|
||
$(document).off('click','.analysis-ant-dropdown-trigger').on('click','.analysis-ant-dropdown-trigger',function(){
|
||
var obj = $(this);
|
||
var index = obj.attr('data-index');
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(user_data,'category',offset.left,offset.top+obj.height(),function(val){
|
||
// console.log(val);
|
||
obj.html(val.title);
|
||
data['eventView']['groupBy'][index]['column_id'] = val.id;
|
||
data['eventView']['groupBy'][index]['columnName'] = val.title;
|
||
data['eventView']['groupBy'][index]['data_type'] = val.type;
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-ta-property-range').on('click','.analysis-ta-property-range',function(){
|
||
var index = $(this).attr('data-index');
|
||
var sectionid = data['eventView']['groupBy'][index];
|
||
X.parametersopen(sectionid,'groupeditemspop',"auto",function(val){
|
||
data['eventView']['groupBy'][index]['intervalType'] = val.type;
|
||
if(val.type == "user_defined"){
|
||
data['eventView']['groupBy'][index]['quotaIntervalArr'] = val.quotaIntervalArr;
|
||
}
|
||
})
|
||
})
|
||
|
||
//且用户符合
|
||
$(document).off('click','.analysis-overall-situation-add').on('click','.analysis-overall-situation-add',function(){
|
||
var drr={
|
||
"columnName":user_data[0]['category'][0]['title'],//事件中文显示
|
||
"column_id":user_data[0]['category'][0]['id'],//事件id
|
||
'data_type':user_data[0]['category'][0]['data_type'],//类型
|
||
'comparator_name':'等于',//默认等于
|
||
"comparator":'==',//符号id
|
||
"ftv":[],//条件
|
||
"strftv":'',//显示条件
|
||
"section":[-1,1],//区间
|
||
"table_type":user_data[0]['id']
|
||
};
|
||
|
||
data['events']['filts'].push(drr);
|
||
|
||
if(data['events']['filts'].length > 1){
|
||
$(".analysis-overall-situation-left-guanxi").show();
|
||
}else{
|
||
$(".analysis-overall-situation-left-guanxi").hide();
|
||
}
|
||
X.template("globalfilter","xinwei-whole",data['events']['filts']);
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-left-guanxi').on('click',".analysis-overall-situation-left-guanxi",function(){
|
||
var tit = $(this).html();
|
||
if(tit == "且"){
|
||
$(this).html('或');
|
||
data['events']['relation'] = 'or';
|
||
}else {
|
||
$(this).html('且');
|
||
data['events']['relation'] = 'and';
|
||
}
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-attr').on('click','.analysis-overall-situation-attr',function(){
|
||
var obj = $(this);
|
||
var index = obj.attr('data-index');
|
||
var offset = obj.offset();
|
||
|
||
X.querycriteriapop(user_data,'category',offset.left,offset.top+obj.height(),function(val){
|
||
obj.html(val.title);
|
||
data['events']['filts'][index]['column_id'] = val.id;
|
||
data['events']['filts'][index]['columnName'] = val.title;
|
||
data['events']['filts'][index]['data_type'] = val.type;
|
||
X.template("globalfilter","xinwei-whole",data['events']['filts']);
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-fuhao').on('click','.analysis-overall-situation-fuhao',function(){
|
||
var obj = $(this);
|
||
var index = obj.attr('data-index');
|
||
var offset = obj.offset();
|
||
// console.log(filter_map);
|
||
var filter_type = data['events']['filts'][index]['data_type'];
|
||
X.querycriteriapop( filter_map[filter_type] ,'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
obj.html(val.title);
|
||
data['events']['filts'][index]['comparator'] = val.id;
|
||
data['events']['filts'][index]['comparator_name'] = val.title;
|
||
if(val.id == "range"){
|
||
data['events']['filts'][index]['ftv'] = [-1,1];
|
||
}
|
||
X.template("globalfilter","xinwei-whole",data['events']['filts']);
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-input input').on('blur','.analysis-overall-situation-input input',function(){
|
||
var val = $(this).val();
|
||
var titarr = val.split(",");
|
||
var index = $(this).attr("data-index");
|
||
data['events']['filts'][index]['strftv'] = val;
|
||
data['events']['filts'][index]['ftv'] = titarr;
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-input2 input').on('blur','.analysis-overall-situation-input2 input',function(){
|
||
var name = $(this).attr('name');
|
||
var val = $(this).val();
|
||
var index = $(this).attr("data-index");
|
||
|
||
if(name == 'start'){
|
||
data['events']['filts'][index][index]['ftv'][0] = val;
|
||
}else {
|
||
data['events']['filts'][index]['ftv'][1] = val;
|
||
}
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-del').on('click','.analysis-overall-situation-del',function(){
|
||
var index = $(this).attr('data-index');
|
||
data['events']['filts'].splice(index,1);
|
||
if(data['events']['filts'].length > 1){
|
||
$(".analysis-overall-situation-left-guanxi").show();
|
||
}else{
|
||
$(".analysis-overall-situation-left-guanxi").hide();
|
||
}
|
||
X.template("globalfilter","xinwei-whole",data['events']['filts']);
|
||
})
|
||
|
||
// 计算按钮
|
||
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
||
|
||
X.api("ck/user_property_model","post",data,function(val){
|
||
attributetable(val);
|
||
querydata = val;
|
||
updata(val)
|
||
})
|
||
|
||
})
|
||
|
||
function updata(d){
|
||
var title = $(".select-chart").attr("title");
|
||
if(title == '柱状分布图'){ attributebar(d);}
|
||
else if(title == '饼状图'){ attributepie(d); }
|
||
}
|
||
|
||
var querydata;
|
||
$(document).off('click','.analtsis-chart-switch').on('click','.analtsis-chart-switch',function(){
|
||
if(querydata){
|
||
$('.analtsis-chart-switch-box .analtsis-chart-switch').removeClass('select-chart');
|
||
$(this).addClass('select-chart');
|
||
if($(this).attr('title') == '柱状分布图'){ attributebar(querydata);}
|
||
else if($(this).attr('title') == '饼状图'){
|
||
attributepie(querydata);
|
||
}
|
||
}else{
|
||
layer.msg('请先计算数据,在切换图表');
|
||
}
|
||
})
|
||
|
||
function attributetable(val){
|
||
X.laytpldata("#table-attrbute-th-dot",val.title,".table-attrbute-th");
|
||
X.laytpldata("#table-attrbute-td-dot",val.value,".table-attrbute-td");
|
||
}
|
||
|
||
function attributebar(val){
|
||
|
||
var xAxisData = [];
|
||
var seriesdata =[];
|
||
for(let i in val.value){
|
||
xAxisData.push(i);
|
||
seriesdata.push(val.value[i]);
|
||
}
|
||
|
||
var myChart = echarts.init(document.getElementById('attribute-echarts'));
|
||
var option = {
|
||
tooltip: {
|
||
trigger: 'axis',
|
||
axisPointer: {
|
||
type: 'shadow'
|
||
}
|
||
},
|
||
color: X.DATA.echartscolor,
|
||
// legend: {
|
||
// data: legendData
|
||
// },
|
||
grid: {
|
||
left: '2%',
|
||
right: '2%',
|
||
bottom: '2%',
|
||
top: '10%',
|
||
containLabel: true
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: 'category',
|
||
axisTick: {show: false},
|
||
data: xAxisData
|
||
}
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: 'value'
|
||
}
|
||
],
|
||
series: [{
|
||
data: seriesdata,
|
||
type: 'bar',
|
||
|
||
}]
|
||
};
|
||
myChart.setOption(option,true);
|
||
}
|
||
|
||
function attributepie(val){
|
||
// console.log(val);
|
||
var seriesdata = [];
|
||
for(let i in val.value){
|
||
var arr = {
|
||
value: val['value'][i],
|
||
name: i
|
||
};
|
||
seriesdata.push(arr);
|
||
}
|
||
// console.log(seriesdata);
|
||
var myChart = echarts.init(document.getElementById('attribute-echarts'));
|
||
var option = {
|
||
// color: X.DATA.echartscolor,
|
||
tooltip: {
|
||
trigger: 'item'
|
||
},
|
||
legend: {
|
||
orient: 'vertical',
|
||
left: 'left',
|
||
},
|
||
series: [
|
||
{
|
||
name: '访问来源',
|
||
type: 'pie',
|
||
radius: ['40%', '70%'],
|
||
data: seriesdata,
|
||
emphasis: {
|
||
itemStyle: {
|
||
shadowBlur: 10,
|
||
shadowOffsetX: 0,
|
||
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
||
}
|
||
}
|
||
}
|
||
]
|
||
};
|
||
myChart.setOption(option,true);
|
||
}
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/category.js
|
||
(function(){
|
||
|
||
X.pageLogic['category'] = {
|
||
init : function( parms ){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback; //选择后执行的回调
|
||
var data = parms.extData;//获取到上层弹窗传的数据
|
||
console.log(data);
|
||
// 给条件框赋值
|
||
X.laytpldata("#zhuang-tab-dot",data,'.zhuang_tab ');
|
||
|
||
X.laytpldata("#zhuang-conetnt-dot",data,'.zhuang_conetnt ');
|
||
|
||
// 搜索框改变事件
|
||
$('.zhuanghu_ss #zhuanghu_txt').bind('input propertychange', function() {
|
||
var arrData = [];
|
||
var tit = $(this).val();
|
||
if(tit != ""){
|
||
$('.zhuanghu_ss .qingkomg').show();
|
||
for(let i in data){
|
||
var Categoryarr =[];
|
||
for(let j in data[i]['Category']){
|
||
if(data[i]['Category'][j]['title'].indexOf(tit) != -1){
|
||
Categoryarr.push(data[i]['Category'][j]);
|
||
}
|
||
}
|
||
if(Categoryarr.length > 0){
|
||
var arr = {
|
||
'title':data[i]['title'],
|
||
'id':data[i]['id'],
|
||
'Category':Categoryarr
|
||
}
|
||
arrData.push(arr);
|
||
}
|
||
}
|
||
// $("#zhuang-conetnt-dot").html("");
|
||
|
||
X.laytpldata("#zhuang-conetnt-dot",arrData,'.zhuang_conetnt ');
|
||
}else {
|
||
$('.zhuanghu_ss .qingkomg').hide();
|
||
X.laytpldata("#zhuang-conetnt-dot",data,'.zhuang_conetnt ');
|
||
}
|
||
});
|
||
|
||
//清空搜索框
|
||
$('.zhuanghu_ss .qingkomg').click(function(){
|
||
$('.zhuanghu_ss #zhuanghu_txt').val('');
|
||
X.laytpldata("#zhuang-conetnt-dot",data,'.zhuang_conetnt ');
|
||
})
|
||
var index = 0;
|
||
$(".zhuang_tab_box .zhuang_tab span").click(function(){
|
||
$(".zhuang_tab_box .zhuang_tab span div").removeClass('zhuanghu_xila_xian');
|
||
$(this).find('div').addClass('zhuanghu_xila_xian');
|
||
index = $(this).attr("data-index");
|
||
if(index != 0){
|
||
var dataArr = [];
|
||
dataArr.push(data[index])
|
||
X.laytpldata("#zhuang-conetnt-dot",dataArr,'.zhuang_conetnt ');
|
||
}else {
|
||
X.laytpldata("#zhuang-conetnt-dot",data,'.zhuang_conetnt ');
|
||
}
|
||
})
|
||
|
||
//单击属性
|
||
$(document).off('click','.zhuang_conetnt .ta-pso-line').on('click','.zhuang_conetnt .ta-pso-line',function(){
|
||
// var index = $(this).attr("data-index");
|
||
var indexs = $(this).attr("data-indexs");
|
||
var valdata = {
|
||
'title':$(this).attr('data-title'),
|
||
'id':$(this).attr('data-id'),
|
||
'type':$(this).attr('data-type'),
|
||
'category': data[index]['category'][indexs]['category'],
|
||
'table_type':data[index]['id']
|
||
}
|
||
me.callback && me.callback(valdata);
|
||
|
||
layer.close( me.parms.layIndex );//获取最新的弹窗关闭
|
||
})
|
||
}
|
||
};
|
||
|
||
})();
|
||
|
||
// srczip/logic/conditionquery.js
|
||
(function(){
|
||
X.pageLogic['conditionquery'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var data = parms.extData;
|
||
var dataArr = {
|
||
eventView:data.eventView,
|
||
events:data.events
|
||
}
|
||
X.api('ck/'+ dataArr['eventView']['cksql'] +'_model_sql','post',dataArr,function(d){
|
||
console.log(d);
|
||
$(".conditionquery-sqldata").html(d[0]['sql']);
|
||
$(".conditionquery-apidata").html(JSON.stringify(dataArr));
|
||
})
|
||
var tab = 0
|
||
layui.element.on('tab(conditionquery)', function(data){
|
||
tab = data['index']
|
||
});
|
||
|
||
$(document).on("click",'.conditionquery-copy',function(){
|
||
|
||
if(tab == 0){
|
||
selectText('conditionquery-sqldata');
|
||
}else {
|
||
selectText('conditionquery-apidata');
|
||
}
|
||
document.execCommand('copy');
|
||
layer.msg('复制成功');
|
||
|
||
})
|
||
|
||
function selectText(element) {
|
||
var text = document.getElementById(element);
|
||
//做下兼容
|
||
if (document.body.createTextRange) { //如果支持
|
||
var range = document.body.createTextRange(); //获取range
|
||
range.moveToElementText(text); //光标移上去
|
||
range.select(); //选择
|
||
} else if (window.getSelection) {
|
||
var selection = window.getSelection(); //获取selection
|
||
var range = document.createRange(); //创建range
|
||
range.selectNodeContents(text); //选择节点内容
|
||
selection.removeAllRanges(); //移除所有range
|
||
selection.addRange(range); //添加range
|
||
/*if(selection.setBaseAndExtent){
|
||
selection.setBaseAndExtent(text, 0, text, 1);
|
||
}*/
|
||
} else {
|
||
alert("复制失败");
|
||
}
|
||
}
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/dashboard.js
|
||
//cc
|
||
(function(){
|
||
X.pageLogic['dashboard'] = {
|
||
init :function(){
|
||
var me = this;
|
||
|
||
var popid='';
|
||
|
||
layui.element.init();
|
||
|
||
// 项目列表
|
||
// http://10.0.0.7:6789/
|
||
X.api("project/","get",{},function(d){
|
||
X.laytpldata('#layui-project-dot',d,'.layui-project-box');
|
||
X.DATA['projectarr'] = d;
|
||
X.DATA['projectid'] = d[0]["_id"];
|
||
X.DATA["game"] = d[0]["game"];
|
||
me.freshMenu(d[0]["_id"]);
|
||
// X.template("toptab","analysis-zhanwei",d);
|
||
});
|
||
|
||
|
||
|
||
// $(".username").html(X.DATA.userinfo.name);
|
||
|
||
// 选择项目
|
||
$(document).off('click','.selectproject').on('click','.selectproject',function(){
|
||
var id = $(this).attr("data-id");
|
||
var game = $(this).attr("data-game");
|
||
$(".projecttit").html($(this).html());
|
||
X.DATA['projectid'] = id;
|
||
X.DATA["game"] = game;
|
||
//侧边栏数据渲染
|
||
me.freshMenu(id);
|
||
// X.pageLogic.dashboard.freshMenu(id);
|
||
});
|
||
|
||
//a标签点击跳转事件
|
||
$(document).on('click','.layui-nav-child a',function(){
|
||
var url = $(this).attr("data-url");
|
||
X.gourl(url);
|
||
});
|
||
|
||
// 修改面板名
|
||
$(document).on('click','.layui-left-dd',function(){
|
||
$(".tab-tit-box .tab-tit").html($(this).find("span").html());
|
||
X.DATA['dashboard_id'] = $(this).attr('data-id'); //看板id
|
||
$("#chart-box").html("");
|
||
// 获取报表数据
|
||
me.gettabledata();
|
||
});
|
||
|
||
// 渲染添加按钮侧边栏下拉框
|
||
X.laydropdown("#chuangjian",X.DATA.createsidebar,function(d){
|
||
if(d.url){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
url: d.url
|
||
})
|
||
}
|
||
this.elem.val(d.title);
|
||
});
|
||
|
||
// 时间控件渲染
|
||
X.daterender(".tab-right-box .time");
|
||
|
||
// X.echartsdata("#charts");
|
||
|
||
//更新时间按钮
|
||
$(".updatetime").click(function(){
|
||
X.updatatime(".updatetime");
|
||
});
|
||
|
||
//管理我创建的看板
|
||
$(document).off('click','.sousuo-box .kbglkanbanbtn').on("click",".sousuo-box .kbglkanbanbtn",function(){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
offset: 'lt',
|
||
anim: 5,
|
||
skin: 'yourclass',
|
||
url: 'adminkanban'
|
||
})
|
||
});
|
||
|
||
//渲染时区下拉框
|
||
layui.dropdown.render({
|
||
elem: ".tab-tit-box .tab-shiqvshezhi"
|
||
,data: X.DATA.timezone
|
||
,click: function(obj){
|
||
console.log(obj)
|
||
$(".tab-tit-box .tab-shiqvshezhi").html(obj.title);
|
||
|
||
//数据更新
|
||
// this.elem.val(obj.title);
|
||
}
|
||
});
|
||
|
||
//筛选
|
||
$(document).off('click','.tab-right-box .tjsx').on("click",".tab-right-box .tjsx",function(){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shade:0,
|
||
shadeClose: false,
|
||
offset: [120,270],
|
||
url: "screen",
|
||
extData : {}
|
||
})
|
||
})
|
||
|
||
// 侧边栏搜索
|
||
$('.sousuo-txt').bind('input propertychange', function() {
|
||
var tit = $(this).val()
|
||
var KanBanData = X.DATA['KanBanData'];
|
||
var ProjectData = X.DATA['ProjectData'];
|
||
if(tit != ''){
|
||
var ssKanBanData = [],
|
||
ssProjectData = []
|
||
for(let i in KanBanData){
|
||
if(KanBanData[i]['title'].indexOf(tit) != -1){
|
||
ssKanBanData.push(KanBanData[i]);
|
||
}else {
|
||
for(let j in KanBanData[i]['children']){
|
||
if(KanBanData[i]['children'][j]['title'].indexOf(tit) != -1 ){
|
||
var arr = KanBanData[i];
|
||
arr['children'].push(KanBanData[i]['children'][j]);
|
||
ssKanBanData.push(arr);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
for(let i in ProjectData){
|
||
for(let i in ProjectData){
|
||
if(ProjectData[i]['children'].length > 0){
|
||
if(ProjectData[i]['title'].indexOf(tit) != -1){
|
||
ssProjectData.push(ProjectData[i]);
|
||
}else {
|
||
var towProjectData = ProjectData[i]['children'];
|
||
for(let j in towProjectData){
|
||
if(towProjectData[j]['children'].length > 0){
|
||
if(towProjectData[j]['children'].length > 0){
|
||
var threProjectData = ProjectData[i]['children'][j]['children'];
|
||
for(let z in threProjectData){
|
||
if(threProjectData[z]['title'].indexOf(tit) != -1){
|
||
var arr = ProjectData[i];
|
||
arr['children'] = towProjectData[j];
|
||
arr['children']['children'] = threProjectData[z];
|
||
// arr['children'].push( threProjectData[z] )
|
||
ssProjectData.push(arr);
|
||
}
|
||
}
|
||
}
|
||
}else {
|
||
if(towProjectData[j]['title'].indexOf(tit) != -1 ){
|
||
var arr = ProjectData[i];
|
||
arr['children'].push(towProjectData[j]);
|
||
ssProjectData.push(arr);
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
}else {
|
||
if(ProjectData[i]['title'].indexOf(tit) != -1){
|
||
ssProjectData.push(ProjectData[i]);
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
X.laytpldata('#mykanban-dot',ssKanBanData,'#mykanban');
|
||
X.laytpldata('#kongjian-dot',ssProjectData,'#kongjian');
|
||
|
||
}else {
|
||
me.freshMenu(X.DATA['projectid']);
|
||
}
|
||
|
||
});
|
||
|
||
// 用户搜索
|
||
$("#search").click(function(){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
skin: 'yourclass',
|
||
url: 'search'
|
||
})
|
||
});
|
||
|
||
$(document).off('click','.tab-right-box .shezhi').on("click",".tab-right-box .shezhi",function(){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
offset: 'rt',
|
||
anim: 5,
|
||
skin: 'yourclass',
|
||
url: 'kanbanshezhi'
|
||
})
|
||
});
|
||
// 保存报表列表
|
||
$(document).off('click','.baobiao').on('click','.baobiao',function(){
|
||
X.parametersopen({},'kanbanadmin','rt',function(){
|
||
me.gettabledata();
|
||
})
|
||
});
|
||
|
||
//侧边栏更多控制按钮
|
||
// taboperation = function(e,type,id,name){
|
||
// console.log(X.DATA.taboperationdata[type])
|
||
// X.laydropdown('.kanbanwenjianimg',X.DATA.taboperationdata[type]);
|
||
// }
|
||
|
||
|
||
|
||
|
||
},
|
||
|
||
// X.pageLogic.dashboard.freshMenu();
|
||
freshMenu : function(id){
|
||
//获取对应侧边栏
|
||
X.api('project/kanban',"post",{"_id":id},function (d){
|
||
X.DATA['KanBanData'] = d.kanban;
|
||
X.DATA['ProjectData'] = d.spaces;
|
||
X.laytpldata('#mykanban-dot',d.kanban,'#mykanban');
|
||
X.laytpldata('#kongjian-dot',d.spaces,'#kongjian');
|
||
});
|
||
},
|
||
|
||
// 获取表格数据
|
||
gettabledata:function(){
|
||
|
||
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){
|
||
var eventdata=[];
|
||
var index = d.length;
|
||
for(let i in d){
|
||
X.api("ck/"+d[i]['model']+"_model","post",{report_id:d[i]['report_id']},function(val){
|
||
// console.log(val);
|
||
if(d[i]['model'] == "event"){
|
||
// 事件分析
|
||
if(d[i]['graph_size'] == 'small'){
|
||
X.eventsmall(val,function(data){//表格数据处理
|
||
data['name'] = d[i]['name'];
|
||
data['modeltype'] = d[i]['graph_type'];
|
||
data['id'] = d[i]['report_id'];
|
||
data['modelsize'] = d[i]['graph_size'];
|
||
eventdata.push(data);
|
||
})
|
||
}else {
|
||
if(d[i]['graph_type'] == 'table'){
|
||
//表格样式
|
||
X.eventtable(val,function(data){//表格数据处理
|
||
data['name'] = d[i]['name'];
|
||
data['modeltype'] = d[i]['graph_type'];
|
||
data['id'] = d[i]['report_id'];
|
||
data['modelsize'] = d[i]['graph_size'];
|
||
eventdata.push(data);
|
||
})
|
||
}else if(d[i]['graph_type'] == 'echarts'){
|
||
//图形
|
||
X.eventchart(val,function(data){
|
||
data['name'] = d[i]['name'];
|
||
data['modeltype'] = d[i]['graph_type'];
|
||
data['id'] = d[i]['report_id'];
|
||
data['modelsize'] = d[i]['graph_size'];
|
||
eventdata.push(data);
|
||
})
|
||
}
|
||
}
|
||
|
||
}
|
||
index --;
|
||
console.log(eventdata);
|
||
if(index <= 0){
|
||
X.template("modeltable","chart-box",eventdata,function(){
|
||
for(let i in eventdata){
|
||
if(eventdata[i]['modeltype'] == 'echarts' && eventdata[i]['modelsize'] != 'small' ){
|
||
var myChart = echarts.init(document.getElementById(eventdata[i]['id']));
|
||
var option = {
|
||
title: {
|
||
text: ''
|
||
},
|
||
color: X.DATA.echartscolor,
|
||
tooltip: {
|
||
trigger: 'axis',
|
||
axisPointer: {
|
||
type: 'cross',
|
||
label: {
|
||
backgroundColor: '#6a7985'
|
||
}
|
||
}
|
||
},
|
||
legend: {
|
||
type:'scroll',
|
||
data: eventdata[i]['legenddata']
|
||
},
|
||
grid: {
|
||
left: '2%',
|
||
right: '2%',
|
||
bottom: '2%',
|
||
top: '10%',
|
||
containLabel: true
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: 'category',
|
||
boundaryGap: false,
|
||
data: eventdata[i]['xAxisData']
|
||
}
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: 'value'
|
||
}
|
||
],
|
||
series: eventdata[i]['seriesData']
|
||
};
|
||
myChart.setOption(option,true);
|
||
}
|
||
}
|
||
});
|
||
}
|
||
})
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
})
|
||
},
|
||
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/datarights.js
|
||
(function(){
|
||
X.pageLogic['datarights'] = {
|
||
init : function(){
|
||
var me = this;
|
||
|
||
$(".datarights-add-box").click(function(){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
skin: 'yourclass',
|
||
url: 'datarightsedit'
|
||
})
|
||
})
|
||
|
||
me.dataauthlist();
|
||
|
||
layui.table.on('tool(datarightstest)', function(obj){
|
||
var data = obj.data;
|
||
if(obj.event === "edit"){
|
||
// 编辑
|
||
X.parametersopen(data,'datarightsedit','auto',function(d){
|
||
// console.log("1111",d);
|
||
me.dataauthlist();
|
||
})
|
||
|
||
}
|
||
})
|
||
|
||
},
|
||
dataauthlist:function(){
|
||
X.tabledata('#datarightsdata','data_auth/list',[[
|
||
{field:'title', title: '数据权限名称', sort: true}
|
||
,{field:'data_range', title: '事件范围'}
|
||
,{field:'update_date', title: '最后调整时间', sort: true}
|
||
,{fixed: 'right', title:'操作', toolbar: '#datarights-barDemo', width:100}
|
||
]]);
|
||
}
|
||
};
|
||
})();
|
||
|
||
|
||
// srczip/logic/datarightsedit.js
|
||
(function(){
|
||
X.pageLogic['datarightsedit'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback; //选择后执行的回调
|
||
var data = parms.extData;//获取到上层弹窗传的数据
|
||
X.api("data_auth/all_event","get",{},function(d){
|
||
X.laytpldata("#datarightsedit-check-box-dot",d,".datarightsedit-check-box");
|
||
layui.form.render();
|
||
})
|
||
|
||
if(data){
|
||
var dataArr ={};
|
||
for(let i in data.data){
|
||
dataArr[data.data[i]] = true;
|
||
}
|
||
layui.form.val('datarightseditexample',dataArr);
|
||
$(".datarightsedit-txt-input").val(data.title);
|
||
}
|
||
|
||
|
||
$(".datarightsedit-qx").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".datarightsedit-top-box img").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".datarightsedit-qd").click(function(){
|
||
var tit = $(".datarightsedit-txt-box input").val();
|
||
var fromdata = layui.form.val('datarightseditexample');//选中的权限
|
||
var dataArr=[];
|
||
for(let i in fromdata){
|
||
dataArr.push(i);
|
||
}
|
||
if(data){
|
||
X.api("data_auth/edit_data_auth","post",{title:tit,data:dataArr,data_auth_id:data.id},function(d){
|
||
layer.msg("修改成功");
|
||
layer.closeAll();
|
||
X.pageLogic.datarights.dataauthlist();
|
||
})
|
||
}else {
|
||
X.api("data_auth/add_data_auth","post",{title:tit,data:dataArr},function(d){
|
||
layer.msg("创建成功");
|
||
layer.closeAll();
|
||
X.pageLogic.datarights.dataauthlist();
|
||
})
|
||
}
|
||
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/deluserinfo.js
|
||
(function(){
|
||
X.pageLogic['deluserinfo'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback; //选择后执行的回调
|
||
var data = parms.extData;//获取到上层弹窗传的数据
|
||
$(".deluserinfo-bottom-left").click(function(e){
|
||
X.api("project/del_member","post",{username:data.name,project_id:X.DATA.projectid,role:data.role},function(d){
|
||
layer.msg('删除成功');
|
||
me.callback && me.callback(data);
|
||
layer.closeAll();
|
||
})
|
||
})
|
||
|
||
$(".deluserinfo-qx").click(function(e){
|
||
layer.closeAll();
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/distribution.js
|
||
(function(){
|
||
X.pageLogic['distribution'] = {
|
||
init : function(){
|
||
|
||
var data ={
|
||
"eventView":{
|
||
"cksql":"scatter",
|
||
"endTime":"",
|
||
"groupBy":[],
|
||
"recentDay":"1-7",
|
||
"startTime":"",
|
||
"timeParticleSize":"P1D"
|
||
},
|
||
"events":[
|
||
|
||
],
|
||
"cachedata":{
|
||
eventdata : [],
|
||
type2data : [],
|
||
type3data : [],
|
||
groupitemeventsdata: [],
|
||
filtersymbols:[],//筛选符号
|
||
screentypearr:[], //筛选项数据
|
||
}
|
||
}
|
||
|
||
// sql语句显示
|
||
$(document).off('click','.sqlquery').on('click','.sqlquery',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(data,'conditionquery',offset.left - 410,offset.top+obj.height(),function(){
|
||
|
||
})
|
||
})
|
||
|
||
// 日期渲染
|
||
X.daterender("#retained-condition-date",function(start, end, label){
|
||
var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00";
|
||
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
|
||
data['eventView']['startTime'] = startTime;
|
||
data['eventView']['endTime'] = endTime;
|
||
distributiondata();
|
||
})
|
||
|
||
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";
|
||
|
||
$(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;
|
||
type2data = data.cachedata.type2data;
|
||
type3data = data.cachedata.type3data;
|
||
screentypearr = data.cachedata.screentypearr;
|
||
filtersymbols = data.cachedata.filtersymbols;
|
||
|
||
X.template("userpar","userpar-event",data['events']);
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
distributiondata();
|
||
|
||
}
|
||
|
||
})
|
||
})
|
||
|
||
X.template("grouped","shushi");
|
||
|
||
var eventdata = [];
|
||
var type2data = [];
|
||
var type3data = [];
|
||
var groupitemeventsdata = [];
|
||
var filtersymbols=[];//筛选符号
|
||
var screentypearr=[]; //筛选项数据
|
||
var drr = [];
|
||
screentypearr.push(drr); //每一个筛选事件按添加次数依次写入
|
||
|
||
X.api("data_auth/my_event","get",{},function(d){
|
||
eventdata = d;
|
||
var arr = [
|
||
{
|
||
"analysis":"times",
|
||
"analysisDesc":"次数",
|
||
"eventName":d[0]['category'][0]['event_name'],
|
||
"eventDesc":d[0]['category'][0]['event_desc'],
|
||
"filts":[],
|
||
"intervalType":"def",
|
||
"quota":"*",
|
||
"quotaname":"次数",
|
||
"relation":"and", //筛选关系
|
||
"type":"normal",
|
||
"renameindicator":'' //重命名指标
|
||
}
|
||
]
|
||
data['events'] = arr;
|
||
|
||
X.api("data_auth/load_prop_quotas","post",{event_name:d[0]['category'][0]['event_name'], 'model':'scatter' },function(d){
|
||
X.template("userpar","userpar-event",data['events']);
|
||
var retdata = d.staid_quots.concat(d.props);
|
||
type2data[0]=retdata;
|
||
screentypearr[0] = d.props;
|
||
})
|
||
X.api("data_auth/load_filter_props","post",{event_name:d[0]['category'][0]['event_name']},function(val){
|
||
groupitemeventsdata[0] = val;
|
||
})
|
||
})
|
||
|
||
|
||
$(document).off('click','.ant-dropdown-trigger').on('click','.ant-dropdown-trigger',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
var dataevent= data['events'][index];
|
||
|
||
X.querycriteriapop(eventdata,'setgrouping',offset.left,offset.top+obj.height(),function(val){
|
||
obj.html(val.id);
|
||
dataevent['eventName'] = val.name;
|
||
dataevent['eventDesc'] = val.id;
|
||
X.api("data_auth/load_filter_props","post",{event_name:val.name},function(val){
|
||
groupitemeventsdata[index] = 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.querycriteriapop(type2data[index],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
if(val != undefined){
|
||
$("#analysis-zhibiao-list-type2-"+index).html(val.title);
|
||
|
||
type3data[index]=val.category;
|
||
data['events'][index]['quotaname'] = val.title;
|
||
data['events'][index]['quota'] = val.id;
|
||
if(val.category && val.category.length > 0){
|
||
$("#analysis-zhibiao-list-type3-"+index).show();
|
||
$("#analysis-zhibiao-list-type3-"+index).html(val.category[0].title);
|
||
data['events'][index]['analysisDesc'] = val.category[0].title;
|
||
data['events'][index]['analysis'] = val.category[0].id;
|
||
}else {
|
||
$("#analysis-zhibiao-list-type3-"+index).hide();
|
||
data['events'][index]['analysis'] = val.analysis;
|
||
}
|
||
X.template("userpar","userpar-event",data['events']);
|
||
}
|
||
})
|
||
}
|
||
})
|
||
|
||
//设置一级事件中第三个参数
|
||
$(document).off('click','.analysis-zhibiao-condition').on('click','.analysis-zhibiao-condition',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
if(type3data.length>0){
|
||
if(type3data[index].length > 0){
|
||
X.querycriteriapop(type3data[index],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
$("#analysis-zhibiao-list-type3-"+index).html(val.title);
|
||
data['events'][index]['analysisDesc'] = val.title;
|
||
data['events'][index]['analysis'] = val.id;
|
||
})
|
||
}
|
||
}
|
||
})
|
||
|
||
$(document).off('click','.userevent-granularity').on('click','.userevent-granularity',function(){
|
||
var sectionid = data['events'][0];
|
||
X.parametersopen(sectionid,'groupeditemspop',"auto",function(val){
|
||
data['events'][0]['intervalType'] = val.type;
|
||
if(val.type == "user_defined"){
|
||
data['events'][0]['quotaIntervalArr'] = val.quotaIntervalArr;
|
||
}
|
||
})
|
||
})
|
||
|
||
//重命名指标
|
||
$(document).off('click','.analysis-chongmingming').on('click','.analysis-chongmingming',function() {
|
||
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").show();
|
||
$(this).hide();
|
||
$(".analysis-chongmingming-del").show();
|
||
})
|
||
|
||
//删除重命名
|
||
$(document).off('click','.analysis-chongmingming-del').on('click','.analysis-chongmingming-del',function() {
|
||
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").hide();
|
||
$(".analysis-con-left-screen-list-left-zhibiaoname-txt").val('');
|
||
$(this).hide();
|
||
$(".analysis-chongmingming ").show();
|
||
})
|
||
|
||
$(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input',function(){
|
||
var txt = $(this).val();
|
||
data['events'][0]['renameindicator'] = txt;
|
||
})
|
||
|
||
// 添加筛选项
|
||
$(document).off('click','.analysis-shaix').on('click','.analysis-shaix',function(){
|
||
var obj = $(this);
|
||
var index = obj.attr("data-index");
|
||
addscreen(index);
|
||
})
|
||
|
||
// 添加筛选项
|
||
function addscreen(index){
|
||
X.api('data_auth/load_filter_props',"post",{event_name:data['events'][index]["eventName"]},function(d){
|
||
var arr = {
|
||
"columnDesc":d[0]['category'][0]['title'],//事件中文显示
|
||
"columnName":d[0]['category'][0]['id'],//事件id
|
||
"comparator_name":d[0]['category'][0]['category'][0]['title'],//选择符号中文显示
|
||
"comparator":d[0]['category'][0]['category'][0]['id'],//符号id
|
||
"data_type":d[0]['category'][0]['data_type'],
|
||
"ftv":'',//条件
|
||
"strftv":'',//字符串显示条件
|
||
"tableType": d[0]['id']
|
||
} //筛选数据
|
||
data['events'][index]['filts'].push(arr);
|
||
X.template("userpar","userpar-event",data['events']); //更新事件
|
||
screentypearr[index] = d;
|
||
filtersymbols.push(d[0]['category'][0]["category"]);
|
||
})
|
||
}
|
||
|
||
$(document).off("click",".ta-property-select").on('click','.ta-property-select',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
var indexs = obj.attr("data-indexs");
|
||
X.querycriteriapop(screentypearr[index],'category',offset.left,offset.top+obj.height(),function(val){
|
||
console.log(val);
|
||
var htmlstring = val.title;
|
||
obj.html(htmlstring);
|
||
filtersymbols[indexs] = val.category;
|
||
data['events'][index]['filts'][indexs]['columnDesc'] = htmlstring;
|
||
data['events'][index]['filts'][indexs]['columnName'] = val.id;
|
||
data['events'][index]['filts'][indexs]['data_type'] = val.type;
|
||
data['events'][index]['filts'][indexs]['tableType'] = val.table_type;
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-choicetypename').on('click','.analysis-choicetypename',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = $(this).attr("data-index");
|
||
var indexs = $(this).attr("data-indexs");
|
||
X.querycriteriapop(filtersymbols[indexs],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
if(val != undefined){
|
||
obj.html(val.title);
|
||
data['events'][index]['filts'][indexs]['comparator_name'] = val.title;
|
||
data['events'][index]['filts'][indexs]['comparator'] = val.id;
|
||
X.template("userpar","userpar-event",data['events']);
|
||
}
|
||
})
|
||
})
|
||
|
||
$(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 tit = $(this).html();
|
||
if(tit == '且'){
|
||
$(this).html('或');
|
||
data['events'][0]['relation'] = 'or';
|
||
}else{
|
||
$(this).html('且');
|
||
data['events'][0]['relation'] = 'and';
|
||
}
|
||
})
|
||
|
||
$(document).off('click','.analysis-zhibiao-list-type4 input').on('blur','.analysis-zhibiao-list-type4 input',function(){
|
||
var index = $(this).attr("data-index");
|
||
var indexs = $(this).attr("data-indexs");
|
||
var val = $(this).val();
|
||
var valarr = val.split(",");
|
||
data['events'][index]['filts'][indexs]['ftv']=valarr;
|
||
data['events'][index]['filts'][indexs]['strftv']=val;
|
||
})
|
||
|
||
|
||
// 分组项
|
||
$(document).off('click','.analysis-action-right').on('click','.analysis-action-right',function() {
|
||
var index = $(this).attr("data-index");
|
||
data.eventView.groupBy.splice(index,1);
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
})
|
||
|
||
$(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function() {
|
||
|
||
var arr = {
|
||
"columnName": "#account_id",//事件中文显示
|
||
"column_id": "#account_id",//事件id
|
||
'data_type': "string",//类型
|
||
'table_type': "event",
|
||
"ftv":'',//条件
|
||
"section":''//区间
|
||
};
|
||
data['eventView']['groupBy'].push(arr);
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
})
|
||
|
||
$(document).off('click','.analysis-ant-dropdown-trigger').on('click','.analysis-ant-dropdown-trigger',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
X.querycriteriapop(groupitemeventsdata[0],'category',offset.left,offset.top+obj.height(),function(val){
|
||
var htmlstring = val.title;
|
||
obj.html(htmlstring);
|
||
data.eventView.groupBy[index]['columnName'] = val.title;
|
||
data.eventView.groupBy[index]['column_id'] = val.id;
|
||
data.eventView.groupBy[index]['data_type'] = val.type;
|
||
data.eventView.groupBy[index]['table_type'] = val.table_type;
|
||
})
|
||
|
||
})
|
||
|
||
// 时间粒度
|
||
var timeParticleSizearr = [
|
||
{'title':'当日','id':'1'},
|
||
{'title':'次日','id':'2'},
|
||
{'title':'7日','id':'7'},
|
||
{'title':'14日','id':'14'},
|
||
{'title':'30日','id':'30'},
|
||
]
|
||
X.laydropdown('.analtsis-timeParticleSize',timeParticleSizearr,function(d){
|
||
console.log(d);
|
||
$(".analtsis-timeParticleSize").html(d.title);
|
||
data['eventView']['unitNum'] = parseInt(d.id);
|
||
retaineddata();
|
||
})
|
||
|
||
// 计算
|
||
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
||
|
||
distributiondata()
|
||
|
||
})
|
||
|
||
var querydata;
|
||
function distributiondata(){
|
||
data['cachedata']['eventdata'] = eventdata;
|
||
data['cachedata']['type2data'] = type2data;
|
||
data['cachedata']['type3data'] = type3data;
|
||
data['cachedata']['groupitemeventsdata'] = groupitemeventsdata;
|
||
data['cachedata']['filtersymbols'] = filtersymbols;
|
||
data['cachedata']['screentypearr'] = screentypearr;
|
||
var dataArr = {
|
||
eventView: data.eventView,
|
||
events: data.events
|
||
}
|
||
X.api("ck/scatter_model","post",dataArr,function(d){
|
||
querydata = d;
|
||
d['tabletitle'] = $.extend(true,[],d['label']);
|
||
d['tabletitle'].unshift('事件发生时间','总人数');
|
||
updata(d)
|
||
})
|
||
}
|
||
|
||
function updata(d){
|
||
var title = $(".select-chart").attr("title");
|
||
if(title == '数据表'){ $(".table-div-box").show(); $(".analysis-echarts").hide(); retainedtable(d)}
|
||
else if(title == '数值分布'){ $(".table-div-box").hide(); $(".analysis-echarts").show(); retainednRetained(d) }
|
||
else if(title == '百分比分布'){ $(".table-div-box").hide(); $(".analysis-echarts").show(); retaineddayRetained(d) }
|
||
}
|
||
|
||
$(document).off('click','.analtsis-chart-switch').on('click','.analtsis-chart-switch',function(){
|
||
if(querydata){
|
||
$('.analtsis-chart-switch-box .analtsis-chart-switch').removeClass('select-chart');
|
||
$(this).addClass('select-chart');
|
||
if($(this).attr('title') == '数据表'){ $(".table-div-box").show(); $(".analysis-echarts").hide(); retainedtable(querydata)}
|
||
else if($(this).attr('title') == '数值分布'){ $(".table-div-box").hide(); $(".analysis-echarts").show(); retainednRetained(querydata) }
|
||
else if($(this).attr('title') == '百分比分布'){ $(".table-div-box").hide(); $(".analysis-echarts").show(); retaineddayRetained(querydata) }
|
||
}else{
|
||
layer.msg('请先计算数据,在切换图表');
|
||
}
|
||
})
|
||
|
||
function retainedtable(d){
|
||
var tabledata = [];
|
||
for(let i in d.list){
|
||
var arr = {
|
||
date: i,
|
||
total: d['list'][i]['总体']["total"],
|
||
data:[]
|
||
}
|
||
for(let j in d['list'][i]['总体']["n"]){
|
||
var nrr = {
|
||
n:0,
|
||
p:0
|
||
}
|
||
nrr["n"] = d['list'][i]['总体']["n"][j];
|
||
nrr["p"] = d['list'][i]['总体']["p"][j]
|
||
arr['data'].push(nrr);
|
||
}
|
||
tabledata.push(arr)
|
||
}
|
||
// console.log(tabledata);
|
||
X.laytpldata("#table-fenxi-th-dot",d.tabletitle,".table-fenxi-th");
|
||
X.laytpldata("#table-fenxi-td-dot",tabledata,".table-fenxi-td");
|
||
}
|
||
|
||
function retainednRetained(d){
|
||
var legendData = d.label;
|
||
var xAxisData = [];
|
||
var seriesData = [];
|
||
var arr =[];
|
||
for(let i in d['list']){
|
||
xAxisData.push(i);
|
||
for(let j in d['list'][i]){
|
||
if(arr[j]){
|
||
arr[j][i] = d['list'][i][j]['n'];
|
||
}else {
|
||
arr[j]=[];
|
||
arr[j][i] = d['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',
|
||
areaStyle: {},
|
||
emphasis: {
|
||
focus: 'series'
|
||
},
|
||
data: ydata[i]
|
||
}
|
||
seriesData.push(arr);
|
||
}
|
||
|
||
var myChart = echarts.init(document.getElementById('distribution-echarts'));
|
||
var option = {
|
||
color: X.DATA.echartscolor,
|
||
tooltip: {
|
||
trigger: 'axis',
|
||
axisPointer: {
|
||
type: 'cross',
|
||
label: {
|
||
backgroundColor: '#6a7985'
|
||
}
|
||
}
|
||
},
|
||
legend: {
|
||
type:'scroll',
|
||
data: legendData
|
||
},
|
||
grid: {
|
||
left: '2%',
|
||
right: '2%',
|
||
bottom: '2%',
|
||
top: '10%',
|
||
containLabel: true
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: 'category',
|
||
boundaryGap: false,
|
||
data: xAxisData
|
||
}
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: 'value'
|
||
}
|
||
],
|
||
series: seriesData
|
||
};
|
||
myChart.setOption(option,true);
|
||
}
|
||
|
||
function retaineddayRetained(d){
|
||
var legendData = d.label;
|
||
var xAxisData = [];
|
||
var seriesData = [];
|
||
var arr =[];
|
||
for(let i in d['list']){
|
||
xAxisData.push(i);
|
||
for(let j in d['list'][i]){
|
||
if(arr[j]){
|
||
arr[j][i] = d['list'][i][j]['p'];
|
||
}else {
|
||
arr[j]=[];
|
||
arr[j][i] = d['list'][i][j]['p'];
|
||
}
|
||
}
|
||
}
|
||
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',
|
||
areaStyle: {},
|
||
emphasis: {
|
||
focus: 'series'
|
||
},
|
||
data: ydata[i]
|
||
}
|
||
seriesData.push(arr);
|
||
}
|
||
|
||
var myChart = echarts.init(document.getElementById('distribution-echarts'));
|
||
var option = {
|
||
color: X.DATA.echartscolor,
|
||
tooltip: {
|
||
trigger: 'axis',
|
||
axisPointer: {
|
||
type: 'cross',
|
||
label: {
|
||
backgroundColor: '#6a7985'
|
||
}
|
||
}
|
||
},
|
||
legend: {
|
||
type:'scroll',
|
||
data: legendData
|
||
},
|
||
grid: {
|
||
left: '2%',
|
||
right: '2%',
|
||
bottom: '2%',
|
||
top: '10%',
|
||
containLabel: true
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: 'category',
|
||
boundaryGap: false,
|
||
data: xAxisData
|
||
}
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: 'value',
|
||
axisLabel: {
|
||
formatter:'{value}%'
|
||
}
|
||
}
|
||
],
|
||
series: seriesData
|
||
};
|
||
myChart.setOption(option,true);
|
||
}
|
||
|
||
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){
|
||
X.parametersopen(data,'savereport','auto')
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/dropdownlist.js
|
||
(function(){
|
||
X.pageLogic['dropdownlist'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var listdata = parms.extData;
|
||
// console.log('aaa',listdata);
|
||
|
||
X.laytpldata("#dropdownlist-con-box-dot",listdata,".dropdownlist-con-box");
|
||
|
||
$(document).off('click','.dropdownlist-list').on('click','.dropdownlist-list',function(){
|
||
var index = $(this).attr("data-index");
|
||
var dataArr = listdata[index];
|
||
me.callback && me.callback(dataArr);
|
||
layer.closeAll();
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/dropdownlist2.js
|
||
(function(){
|
||
X.pageLogic['dropdownlist2'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var listdata = parms.extData;
|
||
// console.log('aaa',listdata);
|
||
|
||
X.laytpldata("#dropdownlist-con-box-dot",listdata,".dropdownlist-con-box");
|
||
|
||
$(document).off('click','.dropdownlist-list').on('click','.dropdownlist-list',function(){
|
||
var index = $(this).attr("data-index");
|
||
var dataArr = listdata[index];
|
||
me.callback && me.callback(dataArr);
|
||
layer.closeAll(0);
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/event.js
|
||
(function(){
|
||
X.pageLogic['event'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
if(parms){
|
||
this.parms = parms;
|
||
var data = parms;
|
||
}else {
|
||
var data = []
|
||
}
|
||
console.log(data);
|
||
X.laytpldata("#analysis-overall-situation-list-box-dot",data,"#initial-event");
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/eventattradmin.js
|
||
(function(){
|
||
X.pageLogic['eventattradmin'] = {
|
||
init : function(){
|
||
var me = this;
|
||
me.eventattradminlist();
|
||
layui.table.on('tool(eventattradmintest)', function(obj){
|
||
var data = obj.data;
|
||
if(obj.event === 'edit'){
|
||
data['cat'] = 'event'
|
||
X.parametersopen(data,"eventattradminedit",'auto',function(){
|
||
me.eventattradminlist();
|
||
})
|
||
}
|
||
})
|
||
|
||
|
||
},
|
||
eventattradminlist : function(){
|
||
X.laytabledata("#eventattradmin-table","data_mana/attr_list",[[
|
||
{field:'name', title: '属性名', sort: true}
|
||
,{field:'show_name', title: '显示名'}
|
||
,{field:'data_type', title: '数据类型', sort: true,templet:function(d){
|
||
if(d.data_type == "string"){
|
||
return '文本'
|
||
}else if(d.data_type == "ip"){
|
||
return 'ip'
|
||
}else if(d.data_type == "int"){
|
||
return '数值'
|
||
}else if(d.data_type == "float"){
|
||
return '浮点型'
|
||
}else if(d.data_type == "datetime"){
|
||
return '时间'
|
||
}else if(d.data_type == "array"){
|
||
return '数组'
|
||
}
|
||
}}
|
||
,{field:'city', title: '单位'}
|
||
,{field:'is_show', title: '显示状态', minWidth: 100,templet:function(d){
|
||
if(d.is_show){
|
||
return '显示'
|
||
}else {
|
||
return '<span style="color: #acbad0">隐藏</span>'
|
||
}
|
||
}}
|
||
,{field:'attr_type', title: '属性类型', sort: true}
|
||
,{field:'score', title: '维度表', sort: true}
|
||
,{fixed: 'right', title:'操作', toolbar: '#eventattradminbarDemo', width:80}
|
||
]]
|
||
,"&cat=event");
|
||
}
|
||
|
||
|
||
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/eventattradminedit.js
|
||
(function(){
|
||
X.pageLogic['eventattradminedit'] = {
|
||
init : function(parms){
|
||
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback; //选择后执行的回调
|
||
var data = parms.extData;//获取到上层弹窗传的数据
|
||
layui.form.render();
|
||
if(data){
|
||
var eventstate
|
||
if(data.is_show){
|
||
eventstate = 1
|
||
}else {
|
||
eventstate = 0
|
||
}
|
||
layui.form.val('eventattradmineditexample', {
|
||
"eventname": data.show_name // "name": "value"
|
||
,"eventunit": data.unit
|
||
,"eventstate": eventstate
|
||
});
|
||
}
|
||
|
||
|
||
$(".eventattradminedit-but-box .eventattradminedit-qx").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".eventattradminedit-but-box .eventattradminedit-qd").click(function(){
|
||
var fromdata = layui.form.val("eventattradmineditexample");
|
||
var is_show;
|
||
if(fromdata.eventstate == "1"){
|
||
is_show = true;
|
||
}else {
|
||
is_show = false;
|
||
}
|
||
X.api('data_mana/attr_edit',"post",{name:data.name,show_name: fromdata['eventname'],is_show:is_show,cat:data.cat},function(d){
|
||
layer.msg('修改成功');
|
||
me.callback && me.callback(d);
|
||
layer.closeAll();
|
||
})
|
||
})
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/eventmanagement.js
|
||
(function(){
|
||
X.pageLogic['eventmanagement'] = {
|
||
init : function(){
|
||
var me = this;
|
||
me.eventmanagementlist();
|
||
layui.table.on('tool(eventmanagementtest)', function(obj){
|
||
var data = obj.data;
|
||
if(obj.event === 'edit'){
|
||
X.parametersopen(data,"personalsettingsedit",'auto',function(){
|
||
|
||
me.eventmanagementlist();
|
||
})
|
||
}
|
||
})
|
||
|
||
|
||
},
|
||
eventmanagementlist : function(){
|
||
X.laytabledata("#eventmanagement-table","data_mana/event_list",[[
|
||
{field:'name', title: '事件名', sort: true}
|
||
,{field:'show_name', title: '显示名'}
|
||
,{field:'desc', title: '备注'}
|
||
,{field:'is_show', title: '显示状态', minWidth: 100,templet:function(d){
|
||
if(d.is_show){
|
||
return '显示'
|
||
}else {
|
||
return '<span style="color: #acbad0">隐藏</span>'
|
||
}
|
||
}}
|
||
,{field:'event_count', title: '昨日事件量', sort: true}
|
||
,{fixed: 'right', title:'操作', toolbar: '#eventmanagementDemo', width:80}
|
||
]]);
|
||
}
|
||
|
||
|
||
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/funnel.js
|
||
(function(){
|
||
X.pageLogic['funnel'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
if(parms){
|
||
this.parms = parms;
|
||
var data = parms;
|
||
}else {
|
||
var data = []
|
||
}
|
||
console.log(data);
|
||
X.laytpldata("#analysis-con-left-screen-list-dot",data,"#funnel-event");
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/funnelanalysis.js
|
||
(function(){
|
||
X.pageLogic['funnelanalysis'] = {
|
||
init : function(parms){
|
||
// 分组项
|
||
X.template("grouped","shushi");
|
||
|
||
var data ={
|
||
"eventView":{
|
||
"cksql":"funnel",
|
||
"endTime":"",
|
||
"filts":[],
|
||
"groupBy":[],
|
||
"recentDay":"1-30",
|
||
"relation":"and",
|
||
"startTime":"",
|
||
"statType":"retention",
|
||
"timeParticleSize":"P1D",
|
||
"windows_gap":7
|
||
},
|
||
"events":[
|
||
|
||
],
|
||
"cachedata":{
|
||
eventdata : [],
|
||
groupitemeventsdata: [],
|
||
filtsftvdata:[],
|
||
filtersymbols:[],//筛选符号
|
||
}
|
||
};
|
||
|
||
// 日期渲染
|
||
X.daterender("#retained-condition-date",function(start, end, label){
|
||
var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00";
|
||
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
|
||
data['eventView']['startTime'] = startTime;
|
||
data['eventView']['endTime'] = endTime;
|
||
retaineddata();
|
||
})
|
||
|
||
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";
|
||
|
||
var eventdata;
|
||
var filtersymbols = [[],[]];//默认两个事件
|
||
var groupitemeventsdata=[[],[]]//分组项里的事件
|
||
// var screentypearr = [];
|
||
|
||
X.api("data_auth/my_event","get",{},function(d){
|
||
eventdata = d;
|
||
var arr = [{
|
||
"eventDesc":eventdata[0]['category'][0]['event_desc'],
|
||
"eventName":eventdata[0]['category'][0]['event_name'],
|
||
"filts":[],
|
||
"relation":"and",
|
||
"relationUser":"and",
|
||
"renameindicator":""
|
||
},{
|
||
"eventDesc":eventdata[0]['category'][0]['event_desc'],
|
||
"eventName":eventdata[0]['category'][0]['event_name'],
|
||
"filts":[],
|
||
"relation":"and",
|
||
"relationUser":"and",
|
||
"renameindicator":""
|
||
}
|
||
]
|
||
data['events'] = arr;
|
||
X.api("data_auth/load_filter_props","post",{event_name:d[0]['category'][0]['event_name']},function(val){
|
||
|
||
groupitemeventsdata[0] = val;
|
||
groupitemeventsdata[1] = val;
|
||
})
|
||
})
|
||
|
||
//初始事件
|
||
X.template("funnel","funnel-event",data['events']);
|
||
//开启重命名
|
||
$(document).off('click','.analysis-chongmingming-initial-event').on('click','.analysis-chongmingming-initial-event',function(){
|
||
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").show();
|
||
$(this).hide();
|
||
$(".analysis-chongmingming-del-initial-event").show();
|
||
})
|
||
|
||
//取消重命名
|
||
$(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 input").val('');
|
||
$(this).hide();
|
||
$(".analysis-chongmingming-initial-event").show();
|
||
})
|
||
|
||
// 添加指标
|
||
function addindex(){
|
||
var defaultindicator = {
|
||
"eventDesc":eventdata[0]['category'][0]['event_desc'],
|
||
"eventName":eventdata[0]['category'][0]['event_name'],
|
||
"filts":[],
|
||
"relation":"and",
|
||
"relationUser":"and",
|
||
"renameindicator":""
|
||
}
|
||
data['events'].push(defaultindicator);
|
||
X.template("funnel","funnel-event",data['events'],function(){
|
||
var drr = [];
|
||
filtersymbols.push(drr);
|
||
if(data['events'].length > 2){
|
||
$(".analysis-del").show();
|
||
}else {
|
||
$(".analysis-del").hide();
|
||
}
|
||
});
|
||
|
||
}
|
||
|
||
//添加按钮
|
||
$(document).off('click','.analysis-jia1').on('click','.analysis-jia1',function(){
|
||
addindex();
|
||
})
|
||
$(document).off('click','.funnel-updataevent').on('click','.funnel-updataevent',function(){
|
||
addindex();
|
||
})
|
||
|
||
// 添加筛选项
|
||
$(document).off('click','.analysis-shaix').on('click','.analysis-shaix',function(){
|
||
var obj = $(this);
|
||
var index = obj.attr("data-index");
|
||
addscreen(index);
|
||
})
|
||
|
||
// 添加筛选项
|
||
function addscreen(index){
|
||
console.log(data);
|
||
X.api('data_auth/load_filter_props',"post",{event_name:data['events'][index]["eventName"]},function(d){
|
||
console.log(d);
|
||
var arr = {
|
||
"columnDesc":groupitemeventsdata[0][0]['category'][0]['title'],
|
||
"columnName":groupitemeventsdata[0][0]['category'][0]['id'],
|
||
"comparator":"==",
|
||
"comparatorName":"等于",
|
||
"ftv":[],
|
||
"strftv":"",
|
||
"table_type":groupitemeventsdata[0][0]['category'][0]['data_type'],
|
||
"timeUnit":""
|
||
}
|
||
data['events'][index]['filts'].push(arr);
|
||
var drr=[];
|
||
filtersymbols.push(drr);
|
||
groupitemeventsdata[index] = d;
|
||
filtersymbols[index][filtersymbols[index].length ] = d[0]['category'][0]["category"];
|
||
|
||
X.template("funnel","funnel-event",data['events']);
|
||
})
|
||
}
|
||
|
||
$(document).off('click','.analysis-zhibiao-updata').on('click','.analysis-zhibiao-updata',function(){
|
||
var obj = $(this);
|
||
var index = obj.attr("data-index");
|
||
addscreen(index);
|
||
})
|
||
|
||
// 删除指定初始事件筛选
|
||
$(document).off('click','.analysis-del').on('click','.analysis-del',function(){
|
||
var index = $(this).attr("data-index");
|
||
data['events'].splice(index,1);
|
||
filtersymbols[index].splice(index,1);
|
||
// groupitemeventsdata[index].splice(index,1);
|
||
X.template("funnel","funnel-event",data['events']);
|
||
})
|
||
|
||
//删除指定筛选
|
||
$(document).off('click','.analysis-zhibiao-list-del').on('click','.analysis-zhibiao-list-del',function(){
|
||
var index = $(this).attr("data-index");
|
||
var indexs = $(this).attr("data-twonum");
|
||
data['events'][index]['filts'].splice(indexs,1);
|
||
filtersymbols[index].splice(indexs,1);
|
||
X.template("funnel","funnel-event",data['events']);
|
||
})
|
||
|
||
$(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input',function(){
|
||
var txt = $(this).val();
|
||
data['events'][0]['renameindicator'] = txt;
|
||
})
|
||
|
||
$(document).off('click','.ant-dropdown-trigger').on('click','.ant-dropdown-trigger',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
var dataevent= data['events'][index];
|
||
// console.log(dataevent);
|
||
X.querycriteriapop(eventdata,'setgrouping',offset.left,offset.top+obj.height(),function(val){
|
||
console.log(val);
|
||
obj.html(val.id);
|
||
dataevent['eventName'] = val.name;
|
||
dataevent['eventDesc'] = val.id;
|
||
|
||
X.api("data_auth/load_filter_props","post",{event_name:val.name},function(val){
|
||
groupitemeventsdata[index] = val;
|
||
})
|
||
// console.log(data['events']);
|
||
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.ta-property-select').on('click','.ta-property-select',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
var indexs = obj.attr("data-indexs");
|
||
console.log(groupitemeventsdata);
|
||
X.querycriteriapop(groupitemeventsdata[index],'category',offset.left,offset.top+obj.height(),function(val){
|
||
console.log(val);
|
||
var htmlstring = val.title;
|
||
obj.html(htmlstring);
|
||
filtersymbols[index][indexs] = val.category;
|
||
data['events'][index]['filts'][indexs]['columnDesc'] = htmlstring;
|
||
data['events'][index]['filts'][indexs]['columnName'] = val.id;
|
||
data['events'][index]['filts'][indexs]['data_type'] = val.type;
|
||
data['events'][index]['filts'][indexs]['table_type'] = val.table_type;
|
||
})
|
||
})
|
||
|
||
// 过滤数据
|
||
function filteringdata(){
|
||
var screentypedata;
|
||
if(groupitemeventsdata.length>1){
|
||
for(var i =0; i < groupitemeventsdata.length - 1; i++){
|
||
if(i == 0){
|
||
X.groupintersection(groupitemeventsdata[i] , groupitemeventsdata[Number(i) + Number(1)],function(d){
|
||
screentypedata = d;
|
||
});
|
||
}else {
|
||
X.groupintersection(screentypedata , groupitemeventsdata[Number(i) + Number(1)],function(d){
|
||
screentypedata = d;
|
||
})
|
||
}
|
||
}
|
||
}else {
|
||
screentypedata = groupitemeventsdata[0];
|
||
}
|
||
return screentypedata;
|
||
}
|
||
|
||
$(document).off('click','.analysis-choicetypename').on('click','.analysis-choicetypename',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = $(this).attr("data-index");
|
||
var indexs = $(this).attr("data-indexs");
|
||
console.log(filtersymbols);
|
||
X.querycriteriapop(filtersymbols[index][indexs],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
if(val != undefined){
|
||
obj.html(val.title);
|
||
data['events'][index]['filts'][indexs]['comparatorName'] = val.title;
|
||
data['events'][index]['filts'][indexs]['comparator'] = val.id;
|
||
}
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-zhibiao-list-type4 input').on('blur','.analysis-zhibiao-list-type4 input',function(){
|
||
var index = $(this).attr('data-index');
|
||
var indexs = $(this).attr('data-indexs');
|
||
var txt = $(this).val();
|
||
var txtarr = txt.split(",");
|
||
data['events'][index]['filts'][indexs]['strftv'] = txt;
|
||
data['events'][index]['filts'][indexs]['ftv'] = txtarr;
|
||
})
|
||
|
||
//全局筛选
|
||
var filtsftvdata=[];
|
||
$(document).off('click','.analysis-overall-situation-add').on('click','.analysis-overall-situation-add',function(){
|
||
var screentypedata = filteringdata();
|
||
var drr={
|
||
"columnName":screentypedata[0]['category'][0]['title'],//事件中文显示
|
||
"column_id":screentypedata[0]['category'][0]['id'],//事件id
|
||
'data_type':screentypedata[0]['category'][0]['data_type'],//类型
|
||
'comparator_name':'等于',//默认等于
|
||
"comparator_id":'==',//符号id
|
||
"ftv":[],//条件
|
||
"strftv":'',//显示条件
|
||
"section":[-1,1],//区间
|
||
"table_type":screentypedata[0]['id']
|
||
};
|
||
data['eventView']['filts'].push(drr);
|
||
filtsftvdata.push(screentypedata[0]['category'][0]['category']);
|
||
if(data['eventView']['filts'].length > 1){
|
||
$(".analysis-overall-situation-left-guanxi").show();
|
||
}else{
|
||
$(".analysis-overall-situation-left-guanxi").hide();
|
||
}
|
||
X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){
|
||
analysisdown();
|
||
});
|
||
})
|
||
|
||
//删除指定全局数据
|
||
$(document).off('click','.analysis-overall-situation-del').on('click','.analysis-overall-situation-del',function(){
|
||
var index = $(this).attr('data-index');
|
||
data['eventView']['filts'].splice(index,1);
|
||
filtsftvdata.splice(index,1);
|
||
if(data['eventView']['filts'].length > 1){
|
||
$(".analysis-overall-situation-left-guanxi").show();
|
||
}else{
|
||
$(".analysis-overall-situation-left-guanxi").hide();
|
||
}
|
||
X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){
|
||
analysisdown();
|
||
});
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-attr').on('click','.analysis-overall-situation-attr',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){
|
||
console.log(val);
|
||
obj.html(val.title);
|
||
data['eventView']['filts'][index]['columnName'] = val.title;
|
||
data['eventView']['filts'][index]['column_id'] = val.id;
|
||
data['eventView']['filts'][index]['data_type'] = val.type;
|
||
data['eventView']['filts'][index]['comparator_name'] = '等于';
|
||
data['eventView']['filts'][index]['comparator_id'] = '==';
|
||
data['eventView']['filts'][index]['table_type'] = val.table_type;
|
||
filtsftvdata[index]=val.category;
|
||
analysisdown();//渲染下拉框
|
||
})
|
||
})
|
||
|
||
//循环给条件框渲染下拉框
|
||
function analysisdown(){
|
||
for(let i in data['eventView']['filts']){
|
||
X.laydropdown("#analysis-overall-situation-fuhao-"+i,filtsftvdata[i],function(val){
|
||
$(this).html(val.title);
|
||
data['eventView']['filts'][i]['comparator_name'] = val.title;
|
||
data['eventView']['filts'][i]['comparator_id'] = val.id;
|
||
if(val.id == "range"){
|
||
data['eventView']['filts'][i]['ftv'] = [-1,1];
|
||
}
|
||
X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){
|
||
analysisdown();
|
||
});
|
||
})
|
||
}
|
||
}
|
||
// 分组项
|
||
$(document).off('click','.analysis-action-right').on('click','.analysis-action-right',function() {
|
||
var index = $(this).attr("data-index");
|
||
data.eventView.groupBy.splice(index,1);
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
$(".group-updata").show();
|
||
})
|
||
|
||
$(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function() {
|
||
var arr = {
|
||
"columnName": "#account_id",//事件中文显示
|
||
"column_id": "#account_id",//事件id
|
||
'data_type': "string",//类型
|
||
'table_type': "event",
|
||
"ftv":'',//条件
|
||
"section":''//区间
|
||
};
|
||
data['eventView']['groupBy'].push(arr);
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
$(this).hide();
|
||
})
|
||
|
||
$(document).off('click','.analysis-ant-dropdown-trigger').on('click','.analysis-ant-dropdown-trigger',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){
|
||
console.log(val);
|
||
var htmlstring = val.title;
|
||
obj.html(htmlstring);
|
||
data.eventView.groupBy[index]['columnName'] = val.title;
|
||
data.eventView.groupBy[index]['column_id'] = val.id;
|
||
data.eventView.groupBy[index]['data_type'] = val.type;
|
||
data.eventView.groupBy[index]['table_type'] = val.table_type;
|
||
})
|
||
})
|
||
|
||
// sql语句显示
|
||
$(document).off('click','.sqlquery').on('click','.sqlquery',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(data,'conditionquery',offset.left - 410,offset.top+obj.height(),function(){
|
||
|
||
})
|
||
})
|
||
|
||
// 时间粒度
|
||
var timeParticleSizearr = [
|
||
{'title':'1天','id':'1'},
|
||
{'title':'7日','id':'7'},
|
||
{'title':'14日','id':'14'},
|
||
{'title':'30日','id':'30'},
|
||
]
|
||
X.laydropdown('.analtsis-timeParticleSize',timeParticleSizearr,function(d){
|
||
$(".analtsis-timeParticleSize").html(d.title);
|
||
data['eventView']['windows_gap'] = parseInt(d.id);
|
||
retaineddata();
|
||
})
|
||
|
||
// 计算按钮
|
||
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
||
console.log(data);
|
||
|
||
retaineddata()
|
||
})
|
||
var querydata;
|
||
function retaineddata(){
|
||
data['cachedata']['eventdata'] = eventdata;
|
||
data['cachedata']['groupitemeventsdata'] = groupitemeventsdata;
|
||
data['cachedata']['filtersymbols'] = filtersymbols;
|
||
data['cachedata']['filtsftvdata'] = filtsftvdata;
|
||
var dataArr = {
|
||
eventView: data.eventView,
|
||
events: data.events
|
||
}
|
||
X.api("ck/funnel_model","post",dataArr,function(d){
|
||
d['etitle'] = $.extend(true,[],d['title']);
|
||
if(d['title'].length == 2){
|
||
d['etitle'].unshift('总体');
|
||
}
|
||
querydata = d;
|
||
updata(d)
|
||
})
|
||
}
|
||
|
||
function updata(d){
|
||
var title = $(".select-chart").attr("title");
|
||
if(title == '转化图'){ retainedtable(d); retaineddayRetained(d);}
|
||
else if(title == '趋势图'){ retainednRetained(d);retainednRetainedtable(d); }
|
||
}
|
||
|
||
function retainedtable(d){
|
||
var tabledata=[];
|
||
for(let i in d['list']){
|
||
var arr = {
|
||
title: d['list'][i]["title"],
|
||
data:[]
|
||
}
|
||
for(let j in d['list'][i]["n"]){
|
||
var nrr = {
|
||
n:0,
|
||
p:0
|
||
}
|
||
nrr["n"] = d['list'][i]["n"][j];
|
||
nrr["p"] = d['list'][i]["p1"][j]
|
||
arr['data'].push(nrr);
|
||
}
|
||
tabledata.push(arr)
|
||
}
|
||
|
||
X.laytpldata("#table-fenxi-th-dot",d.etitle,".table-fenxi-th");
|
||
X.laytpldata("#table-fenxi-td-dot",tabledata,".table-fenxi-td");
|
||
}
|
||
|
||
//转化图
|
||
function retaineddayRetained(d){
|
||
var arr = {};
|
||
var xAxisData= d['level'];
|
||
var seriesData=[];
|
||
|
||
for(let i in d['list']){
|
||
var arr = {
|
||
name: d['list'][i]['title'],
|
||
type: 'bar',
|
||
barMaxWidth : 30,
|
||
data: d['list'][i]['p1']
|
||
}
|
||
seriesData.push(arr);
|
||
}
|
||
|
||
var myChart = echarts.init(document.getElementById('funnel-echarts'));
|
||
var option = {
|
||
color: X.DATA.echartscolor,
|
||
tooltip: {
|
||
trigger: 'axis',
|
||
axisPointer: {
|
||
type: 'cross',
|
||
label: {
|
||
backgroundColor: '#6a7985'
|
||
}
|
||
}
|
||
},
|
||
grid: {
|
||
left: '2%',
|
||
right: '2%',
|
||
bottom: '5%',
|
||
top: '10%',
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: 'category',
|
||
data: xAxisData
|
||
}
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: 'value'
|
||
}
|
||
],
|
||
series: seriesData
|
||
};
|
||
myChart.setOption(option,true);
|
||
}
|
||
// 趋势图
|
||
function retainednRetained(d){
|
||
var arr = {};
|
||
var legenddata = [];
|
||
var seriesData = [];
|
||
var xAxisdata = [];
|
||
if(jQuery.isEmptyObject(d.date_data)){
|
||
var arr = []
|
||
for(let i in d['summary_values']){
|
||
var index = d['summary_values'][i]['p'].length - 1;
|
||
arr.push(d['summary_values'][i]['p'][index]);
|
||
}
|
||
|
||
seriesData = {
|
||
type: 'line',
|
||
data: arr
|
||
}
|
||
}else {
|
||
var arr =[];
|
||
for(let i in d['date_data']){
|
||
xAxisdata.push(i);
|
||
for(let j in d['date_data'][i]){
|
||
if(arr[j]){
|
||
arr[j][i] = d['date_data'][i][j]['p1'];
|
||
}else {
|
||
arr[j]=[];
|
||
arr[j][i] = d['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 myChart = echarts.init(document.getElementById('funnel-echarts'));
|
||
var option = {
|
||
title: {
|
||
text: ''
|
||
},
|
||
color: [ '#3ea7fd', '#cdddfd', '#5ad8a6', '#cdf3e4', '#5d7092', '#ced4de', '#f6bd16','#fcebb9','#e86452','#f8d0cb','#6dc8ec', '#d3eef9', '#9270ca', '#d3c6ea', '#ff9d4d', '#ffd8b8', '#269a99','#aad8d8','#ff99c3','#ffd6e7' ],
|
||
tooltip: {
|
||
trigger: 'axis',
|
||
axisPointer: {
|
||
type: 'cross',
|
||
label: {
|
||
backgroundColor: '#6a7985'
|
||
}
|
||
}
|
||
},
|
||
legend: {
|
||
type:'scroll',
|
||
data: legenddata
|
||
},
|
||
grid: {
|
||
left: '2%',
|
||
right: '2%',
|
||
bottom: '2%',
|
||
top: '10%',
|
||
containLabel: true
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: 'category',
|
||
boundaryGap: false,
|
||
data: xAxisdata
|
||
}
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: 'value'
|
||
}
|
||
],
|
||
series: seriesData
|
||
};
|
||
myChart.setOption(option,true);
|
||
|
||
}
|
||
//趋势图表格
|
||
function retainednRetainedtable(d){
|
||
var arr = {};
|
||
var seriesData = [];
|
||
var xAxisdata = [];
|
||
if(jQuery.isEmptyObject(d.date_data)){
|
||
var arr = []
|
||
for(let i in d['summary_values']){
|
||
var index = d['summary_values'][i]['p'].length - 1;
|
||
arr.push(d['summary_values'][i]['p'][index]);
|
||
}
|
||
|
||
seriesData = {
|
||
type: 'line',
|
||
data: arr
|
||
}
|
||
}else {
|
||
var arr =[];
|
||
for(let i in d['date_data']){
|
||
xAxisdata.push(i);
|
||
for(let j in d['date_data'][i]){
|
||
if(arr[j]){
|
||
arr[j][i] = d['date_data'][i][j]['p1'];
|
||
}else {
|
||
arr[j]=[];
|
||
arr[j][i] = d['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);
|
||
}
|
||
console.log(tabdata);
|
||
X.laytpldata("#table-fenxi-th-dot",xAxisdata,".table-fenxi-th");
|
||
X.laytpldata("#table-fenxi-td-dot",tabdata,".table-fenxi-td");
|
||
}
|
||
|
||
$(document).off('click','.analtsis-chart-switch').on('click','.analtsis-chart-switch',function(){
|
||
if(querydata){
|
||
$('.analtsis-chart-switch-box .analtsis-chart-switch').removeClass('select-chart');
|
||
$(this).addClass('select-chart');
|
||
if($(this).attr('title') == '转化图'){ retainedtable(querydata); retaineddayRetained(querydata)}
|
||
else if($(this).attr('title') == '趋势图'){
|
||
retainednRetained(querydata);
|
||
retainednRetainedtable(querydata);
|
||
}
|
||
}else{
|
||
layer.msg('请先计算数据,在切换图表');
|
||
}
|
||
})
|
||
|
||
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){
|
||
X.parametersopen(data,'savereport','auto')
|
||
})
|
||
|
||
$(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;
|
||
screentypearr = data.cachedata.screentypearr;
|
||
filtersymbols = data.cachedata.filtersymbols;
|
||
filtsftvdata = data.cachedata.filtsftvdata;
|
||
|
||
X.template("funnel","funnel-event",data['events']);
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){
|
||
analysisdown();
|
||
});
|
||
|
||
retaineddata();
|
||
}
|
||
|
||
})
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/globalfilter.js
|
||
(function(){
|
||
X.pageLogic['globalfilter'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
if(parms){
|
||
this.parms = parms;
|
||
var data = parms;
|
||
}else {
|
||
var data = []
|
||
}
|
||
|
||
// console.log(111,data);
|
||
X.laytpldata("#analysis-overall-situation-list-box-dot",data,"#xinwei-whole");
|
||
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/grouped.js
|
||
(function(){
|
||
X.pageLogic['grouped'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
if(parms){
|
||
this.parms = parms;
|
||
var data = parms;
|
||
}else {
|
||
var data = []
|
||
}
|
||
|
||
X.laytpldata("#analysis-con-left-screen-box-dot",data,"#shushi");
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/groupeditemspop.js
|
||
(function(){
|
||
X.pageLogic['groupeditemspop'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var data = parms.extData;
|
||
|
||
var arr = [
|
||
{title:'默认区间',id:'def',checked:true},
|
||
{title:'离散数字',id:'discrete',checked:false},
|
||
{title:'自定义区间',id:'user_defined',checked:false},
|
||
]
|
||
console.log(data);
|
||
if(data!= ''){
|
||
for(let i in arr){
|
||
if(arr[i]['id'] == data['intervalType']){
|
||
arr[i]['checked'] = true
|
||
}else {
|
||
arr[i]['checked'] = false
|
||
}
|
||
}
|
||
// 添加
|
||
var qvjian = [
|
||
{'rise':'-∞','tail':1},
|
||
{'rise':1,'tail':2},
|
||
{'rise':2,'tail':'+∞'},
|
||
];
|
||
if(data['intervalType'] == 'user_defined'){
|
||
$(".groupeditemspop-custom-box").show();
|
||
console.log(data['quotaIntervalArr']);
|
||
if(data['quotaIntervalArr'].length >= qvjian.length){
|
||
var num = data['quotaIntervalArr'].length - qvjian.length;
|
||
for(var i = 0; i < num; i ++){
|
||
var qrr = {'rise': qvjian[qvjian.length - 2]['tail'] ,'tail': qvjian[qvjian.length - 2]['tail'] + 1 };
|
||
qvjian.splice( qvjian.length - 1 , 0, qrr);
|
||
}
|
||
}
|
||
for(let i in data['quotaIntervalArr']){
|
||
if(i == 0){
|
||
qvjian[i]['tail'] = data['quotaIntervalArr'][i];
|
||
}else {
|
||
qvjian[i]['tail'] = data['quotaIntervalArr'][i];
|
||
qvjian[i]['rise'] = data['quotaIntervalArr'][i - 1];
|
||
}
|
||
|
||
}
|
||
var drr = {'rise': data['quotaIntervalArr'][data['quotaIntervalArr'].length - 1] ,'tail':'+∞'}
|
||
qvjian[qvjian.length - 1 ] = drr;
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
X.laytpldata("#groupeditemspop-list-box-dot",arr,".groupeditemspop-list-box");
|
||
layui.form.render();
|
||
|
||
layui.form.on('radio(groupeditemspopexample)',function(data){
|
||
if(data.value == "user_defined"){
|
||
$(".groupeditemspop-custom-box").show();
|
||
}else {
|
||
$(".groupeditemspop-custom-box").hide();
|
||
}
|
||
})
|
||
|
||
X.laytpldata("#qvjian-box-dot",qvjian,".qvjian-box");
|
||
$(document).off('click','.qvjian-but').on('click','.qvjian-but',function(){
|
||
var arr = {'rise': qvjian[qvjian.length - 2]['tail'] ,'tail': qvjian[qvjian.length - 2]['tail'] + 1 };
|
||
qvjian.splice( qvjian.length - 1 , 0, arr);
|
||
qvjian[qvjian.length - 1]['rise'] = Number(qvjian[qvjian.length - 2]['tail']) + 1;
|
||
X.laytpldata("#qvjian-box-dot",qvjian,".qvjian-box");
|
||
})
|
||
|
||
$(document).off('click','.qvjian input').on('blur','.qvjian input',function(){
|
||
var index = $(this).attr("data-index");
|
||
var tit = $(this).val();
|
||
for(let i in qvjian){
|
||
if(i > index){
|
||
qvjian[i]['tail'] = Number(tit) + 1;
|
||
qvjian[i]['rise'] = qvjian[ i - 1 ]['tail'];
|
||
}else if(i == index){
|
||
qvjian[i]['tail'] = Number(tit);
|
||
}
|
||
}
|
||
X.laytpldata("#qvjian-box-dot",qvjian,".qvjian-box");
|
||
})
|
||
|
||
$(document).off('click','.groupeditemspop-qd').on('click','.groupeditemspop-qd',function(){
|
||
var data = layui.form.val('groupeditemsexample');
|
||
if(data.type == "user_defined"){
|
||
var quotaIntervalArr=[];
|
||
for(let i in qvjian){
|
||
if(i < qvjian.length - 1){
|
||
quotaIntervalArr.push(qvjian[i]['tail']);
|
||
}
|
||
}
|
||
data['quotaIntervalArr'] = quotaIntervalArr;
|
||
}
|
||
layer.closeAll();
|
||
me.callback && me.callback(data);
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/groupitem.js
|
||
(function(){
|
||
X.pageLogic['groupitem'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var data = parms.extData;
|
||
console.log(data);
|
||
if(data.default !=''){
|
||
for(let i in data.data){
|
||
if(data.data[i]['id'] == data.default){
|
||
data.data[i]['checked'] = true
|
||
}else {
|
||
data.data[i]['checked'] = false
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
X.laytpldata("#groupitem-sele-box-dot",data.data,".groupitem-sele-box");
|
||
|
||
$(document).on('change','.groupitem-sele-box',function(){
|
||
console.log($(this).val());
|
||
var valdata = {
|
||
'id':$(this).val(),
|
||
}
|
||
me.callback && me.callback(valdata);
|
||
|
||
layer.close( me.parms.layIndex );//获取最新的弹窗关闭
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/importuser.js
|
||
(function(){
|
||
X.pageLogic['importuser'] = {
|
||
init : function(){
|
||
|
||
X.api("project/","get",{},function(d){
|
||
for(let i in d){
|
||
if(d[i]["_id" == X.DATA.projectid]){
|
||
d.splice(i,1);
|
||
}
|
||
}
|
||
X.laytpldata("#importuser-con-sele-dot",d,".importuser-con-sele");
|
||
layui.form.render();
|
||
})
|
||
|
||
$(".importuser-top-box img").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".importuser-qd").click(function(){
|
||
var xzprojectid = layui.form.val("example").interest;
|
||
|
||
// X.api("","post",{_id:xzprojectid},function(){
|
||
// layer.closeAll();
|
||
// })
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/jurisdiction.js
|
||
(function(){
|
||
X.pageLogic['jurisdiction'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback; //选择后执行的回调
|
||
var data = parms.extData;//获取到上层弹窗传的数据
|
||
|
||
if(data == 'r'){
|
||
$("#Sjurisdiction-chakan").prop("checked", true);
|
||
}else{
|
||
$("#Sjurisdiction-bianji").prop("checked", true);
|
||
}
|
||
|
||
$(".Sjurisdiction-box .Sjurisdiction-but").click(function(){
|
||
var txt = $(this).attr('data-value');
|
||
if(txt == "仅查看"){
|
||
$("#Sjurisdiction-bianji").prop("checked", false);
|
||
$("#Sjurisdiction-chakan").prop("checked", true);
|
||
}else{
|
||
$("#Sjurisdiction-chakan").prop("checked", false);
|
||
$("#Sjurisdiction-bianji").prop("checked", true);
|
||
}
|
||
me.callback && me.callback(txt);
|
||
layer.close( me.parms.layIndex );//获取最新的弹窗关闭
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/kanbanadmin.js
|
||
(function(){
|
||
X.pageLogic['kanbanadmin'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var data = parms.extData;
|
||
|
||
$('.kanbanadmin-box').css('height',window.innerHeight+'px');
|
||
|
||
var reportlistdata;
|
||
var toadddata = [];//已添加报表数据
|
||
var submitdata = [];//提交数据
|
||
|
||
// 更新看板
|
||
kanbanupdata();
|
||
function kanbanupdata(){
|
||
X.api("report/read_report","post",{project_id: X['DATA']['projectid'],dashboard_id:X.DATA['dashboard_id']},function(d){
|
||
reportlistdata = d;
|
||
X.laytpldata('#to-be-added-baobiao-dot',d,'.to-be-added-baobiao');
|
||
X.laytpldata('#to-added-baobiao-dot',d,'.to-added-baobiao');
|
||
var datalist = [
|
||
{title:'全部',id:'0'},
|
||
{title:'事件分析',id:'event'},
|
||
{title:'留存分析',id:'retention'},
|
||
{title:'漏斗分析',id:'funnel'},
|
||
{title:'属性分析',id:'0'},
|
||
{title:'分布分析',id:'scatter'},
|
||
{title:'SQL查询',id:'0'}
|
||
]
|
||
|
||
X.laydropdown('#kanbanadmin-ss-right',datalist,function(d){
|
||
$('#kanbanadmin-ss-right span').html(d.title);
|
||
updatalist(d.title);
|
||
})
|
||
toadddataprocessing();
|
||
})
|
||
}
|
||
|
||
|
||
function updatalist(title){
|
||
console.log(title);
|
||
var screendata=[];//筛选后的数据
|
||
for(let i in reportlistdata){
|
||
if(title == 0){
|
||
screendata = reportlistdata;
|
||
}else {
|
||
if(reportlistdata[i]['cat'] == title){
|
||
screendata.push(reportlistdata[i]);
|
||
}
|
||
}
|
||
}
|
||
|
||
X.laytpldata('#to-be-added-baobiao-dot',screendata,'.to-be-added-baobiao');
|
||
}
|
||
|
||
// 搜索
|
||
$(document).off('click','.kanbanadmin-ss input').on('blur','.kanbanadmin-ss input',function(){
|
||
var screendata=[];//筛选后的数据
|
||
for(let i in reportlistdata){
|
||
if($(this).val() != ""){
|
||
if(reportlistdata[i]['name'].indexOf($(this).val()) != -1){
|
||
screendata.push(reportlistdata[i]);
|
||
}
|
||
}else {
|
||
screendata = reportlistdata;
|
||
}
|
||
}
|
||
X.laytpldata("#to-be-added-baobiao-dot",screendata,".to-be-added-baobiao");
|
||
})
|
||
|
||
//添加报表
|
||
$(document).off('click','.kanbanadd').on('click','.kanbanadd',function(){
|
||
var index = $(this).attr('data-index');
|
||
reportlistdata[index]['added'] = true;
|
||
X.laytpldata('#to-be-added-baobiao-dot',reportlistdata,'.to-be-added-baobiao');
|
||
X.laytpldata('#to-added-baobiao-dot',reportlistdata,'.to-added-baobiao');
|
||
toadddataprocessing();
|
||
})
|
||
|
||
// 修改报表类型
|
||
$(document).off('click','.to-added-table').on('click','.to-added-table',function(){
|
||
var obj = $(this);
|
||
var id = obj.attr("data-id");
|
||
for(let i in submitdata){
|
||
if(submitdata[i]['report_id'] == id){
|
||
submitdata[i]['graph_type'] = 'table';
|
||
layer.msg('修改为表格展示',{time: 1000});
|
||
}
|
||
}
|
||
})
|
||
|
||
|
||
$(document).off('click','.to-added-chart').on('click','.to-added-chart',function(){
|
||
var obj = $(this);
|
||
var id = obj.attr("data-id");
|
||
console.log(id);
|
||
for(let i in submitdata){
|
||
if(submitdata[i]['report_id'] == id){
|
||
submitdata[i]['graph_type'] = 'echarts';
|
||
layer.msg('修改为图表展示',{time: 1000});
|
||
}
|
||
}
|
||
})
|
||
|
||
$(document).off('click','.kanbanadmin-menu').on('click','.kanbanadmin-menu',function(){
|
||
var obj = $(this);
|
||
var id = obj.attr("data-id");
|
||
var configdata = [];
|
||
for(let i in submitdata){
|
||
if(submitdata[i]['report_id'] == id){
|
||
configdata = submitdata[i];
|
||
}
|
||
}
|
||
X.parametersopen(configdata,'kanbantypeset','auto',function(d){
|
||
var graph_size = d['graph_size'];
|
||
var graph_type = d['graph_type'];
|
||
for(let i in submitdata){
|
||
if(submitdata[i]['report_id'] == id){
|
||
submitdata[i]['graph_type'] = graph_type;
|
||
submitdata[i]['graph_size'] = graph_size;
|
||
}
|
||
}
|
||
})
|
||
})
|
||
|
||
//渲染已添加报表下拉框
|
||
function toadddataprocessing(){
|
||
toadddata = [];
|
||
for(let i in reportlistdata){
|
||
if(reportlistdata[i]['added'] == true){
|
||
toadddata.push(reportlistdata[i]);
|
||
}
|
||
};
|
||
submitdata = [];
|
||
console.log(toadddata);
|
||
for(let i in toadddata){
|
||
var arr = {
|
||
report_id:toadddata[i]['_id'],
|
||
graph_type: toadddata[i]['show_config']['graph_type'] || 'table',
|
||
model:toadddata[i]['cat'],
|
||
name:toadddata[i]['name'],
|
||
graph_size:toadddata[i]['show_config']['graph_size'] || 'in'
|
||
};
|
||
submitdata.push(arr);
|
||
}
|
||
};
|
||
|
||
$(document).off('click','.to-added-del').on('click','.to-added-del',function(){
|
||
var id = $(this).attr('data-id');
|
||
X.api('dashboard/del_report','post',{_id:X['DATA']['dashboard_id'],report_id:id},function(){
|
||
kanbanupdata();
|
||
});
|
||
});
|
||
|
||
$(document).off('click','.kanbanadmin-but-qx').on('click','.kanbanadmin-but-qx',function(){
|
||
layer.closeAll();
|
||
});
|
||
|
||
$(document).off('click','.kanbanadmin-but-yy').on('click','.kanbanadmin-but-yy',function(){
|
||
X.api('dashboard/add_report','post',{_id:X['DATA']['dashboard_id'],report_ids:submitdata},function(d){
|
||
if(d == 'ok'){
|
||
layer.closeAll();
|
||
layer.msg('应用成功');
|
||
me.callback && me.callback();
|
||
}
|
||
});
|
||
});
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/kanbanshezhi.js
|
||
(function(){
|
||
X.pageLogic['kanbanshezhi'] = {
|
||
init : function(){
|
||
var me = this;
|
||
// 弹窗占满整平
|
||
$('.kanbanshezhi-box').css('height',window.innerHeight+'px');
|
||
|
||
// me.renderdata();
|
||
|
||
//关闭弹窗
|
||
$('.kanbanshezhi-top .kanbanshezhi-tuihui').click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
// 更新方式
|
||
$(".kanbanshezhi-list-box .gxfs").click(function(){
|
||
var datatype = $(this).attr('data-type');
|
||
$(".kanbanshezhi-list-box .gxfs").removeClass('kanbanshezhi-list-on');
|
||
$(this).addClass('kanbanshezhi-list-on');
|
||
if(datatype == "realtime"){
|
||
$(".gxfs .ssgx").prop("checked", true);
|
||
$(".gxfs .dsgx").prop("checked", false);
|
||
$(".ddgxsele").attr("disabled", true); //禁用下拉框
|
||
}else{
|
||
$(".gxfs .ssgx").prop("checked", false);
|
||
$(".gxfs .dsgx").prop("checked", true);
|
||
$(".ddgxsele").removeAttr("disabled");//启用下拉框
|
||
}
|
||
})
|
||
|
||
$(".kanbanshezhi-but-box .kanbanshezhi-qd").click(function(){
|
||
var calculation = $(".kanbanshezhi-list-left .jsjs").prop("checked"); //计算
|
||
var timezoneset = $(".kanbanshezhi-list-left .sqsz").prop("checked"); //时区
|
||
var updatemode = $(".kanbanshezhi-list-box .kanbanshezhi-list-on").attr("data-type");
|
||
var timezone = $(".sqsz-select").val(); //时区
|
||
var timingtime = $(".ddgxsele").val(); //定时更新事件
|
||
var data = {
|
||
'type':'modify',
|
||
'updatemode':updatemode,
|
||
'timezoneset':timezoneset,
|
||
'calculation':calculation,
|
||
'timingtime':timingtime,
|
||
'timezone':timezone,
|
||
}
|
||
X.api("api/kanbanset",data,function(d){
|
||
// 修改成功
|
||
me.renderdata();
|
||
})
|
||
|
||
})
|
||
|
||
},
|
||
renderdata : function(){
|
||
X.api("api/kanbanset",{},function(d){
|
||
// console.log(d);
|
||
if(d.updatemode == 'timing'){
|
||
$(".gxfs .ssgx").prop("checked", false);
|
||
$(".gxfs .dsgx").prop("checked", true);
|
||
$(".ddgxsele").removeAttr("disabled");//启用下拉框
|
||
$(".ddgxsele").val(d.timingtime);
|
||
$("#dsgx").addClass('kanbanshezhi-list-on');
|
||
}else {
|
||
$(".gxfs .ssgx").prop("checked", true);
|
||
$(".gxfs .dsgx").prop("checked", false);
|
||
$(".ddgxsele").removeAttr("disabled", true);//禁用下拉框
|
||
$("#ssgx").addClass('kanbanshezhi-list-on');
|
||
}
|
||
if(d.calculation){
|
||
$(".kanbanshezhi-list-left .jsjs").prop("checked",true);
|
||
}
|
||
if(d.timezoneset){
|
||
$(".kanbanshezhi-list-left .sqsz").prop("checked",true);
|
||
$(".sqsz-select").val(d.timezone)
|
||
}
|
||
layui.form.render();
|
||
})
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/kanbantypeset.js
|
||
(function(){
|
||
X.pageLogic['kanbantypeset'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var listdata = parms.extData;
|
||
layui.form.render();
|
||
if(listdata){
|
||
layui.form.val('kanbantypeexample',{
|
||
graph_type: listdata.graph_type || 'table',
|
||
graph_size: listdata.graph_size || 'in'
|
||
})
|
||
}
|
||
|
||
$(document).off('click','.adduser-top-box img').on('click','.adduser-top-box img',function(){
|
||
layer.close(parms.layIndex);
|
||
});
|
||
|
||
$(document).off('click','.kanbantypeset-but-box .adduser-btn').on('click','.kanbantypeset-but-box .adduser-btn',function(){
|
||
layer.close(parms.layIndex);
|
||
})
|
||
|
||
$(document).off('click','.kanbantypeset-but-box .adduser-btn2').on('click','.kanbantypeset-but-box .adduser-btn2',function(){
|
||
var data = layui.form.val('kanbantypeexample');
|
||
console.log(data);
|
||
me.callback && me.callback(data);
|
||
layer.close(parms.layIndex);
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/kongjianshezhi.js
|
||
(function(){
|
||
X.pageLogic['kongjianshezhi'] = {
|
||
init : function(){
|
||
var me = this;
|
||
|
||
$(".kongjian-mc-box .kongjian-tianjia").click(function(){
|
||
$(".kongjian-box .member-box").show();
|
||
});
|
||
|
||
$(".member-top-box .member-cha").click(function(){
|
||
$(".kongjian-box .member-box").hide();
|
||
});
|
||
var userarr,adduadaserarr;
|
||
|
||
var userinfo = X.DATA.userinfo;
|
||
$(".gly-firs").html(userinfo.name.substring(0,1));
|
||
$(".gly-name").html(userinfo.name);
|
||
X.api('user/all_account',"get",{},function(d){
|
||
for(let i in d){
|
||
d[i]["firs"] = d[i]['name'].substring(0,1);
|
||
d[i]["authority"] = "r";
|
||
}
|
||
userarr = d;
|
||
adduadaserarr = [];
|
||
X.DATA['adduadaserarr'] = [];
|
||
X.DATA['userarr'] = d;
|
||
me.updatauserarr();
|
||
});
|
||
|
||
//添加用户数据
|
||
|
||
//筛选用户
|
||
$(".member-top-box #membertxt").bind("input propertychange",function(){
|
||
// console.log($(this).val());
|
||
var txt = $(this).val();
|
||
var arr=[];
|
||
if(txt != ''){
|
||
for(let i in userarr){
|
||
if(userarr[i]['username'].indexOf(txt) != -1){
|
||
arr.push(userarr[i]);
|
||
}
|
||
}
|
||
}else {
|
||
arr = X.DATA['userarr'];
|
||
}
|
||
|
||
X.laytpldata("#member-user-con-box-dot",arr,".member-user-con-box");
|
||
|
||
});
|
||
|
||
//给用户修改权限
|
||
$(document).on("click",".kongjian-renyuan .kongjian-renyuan-jurisdiction",function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(obj.attr('data-type'),'jurisdiction',offset.left-160,offset.top+obj.height(),function(val){
|
||
console.log(val)
|
||
var index = obj.attr("data-index");
|
||
adduadaserarr[index]['authority'] = val;
|
||
if(val == "r"){
|
||
obj.html('仅查看');
|
||
obj.attr('data-type','r');
|
||
}else {
|
||
obj.html('可编辑');
|
||
obj.attr('data-type','rw');
|
||
}
|
||
X.DATA["adduadaserarr"] = adduadaserarr;
|
||
})
|
||
});
|
||
//添加用户
|
||
$(document).on("click",".member-user-con-right",function(){
|
||
var userid = $(this).attr('data-id');
|
||
for(let i in userarr){
|
||
if(userarr[i]["_id"] == userid){
|
||
// userarr[i]
|
||
adduadaserarr.push(userarr[i]);
|
||
userarr.splice(i,1);
|
||
}
|
||
}
|
||
X.DATA['adduadaserarr'] = adduadaserarr;
|
||
X.DATA['userarr'] = userarr;
|
||
me.updatauserarr();
|
||
});
|
||
|
||
//删除用户
|
||
$(document).on("click",".kongjian-renyuan-right .kongjian-renyuan-del",function(){
|
||
// $(".kongjian-renyuan-right .kongjian-renyuan-del").on('click',function(){
|
||
var userid = $(this).attr('data-id');
|
||
for(let i in adduadaserarr){
|
||
if(adduadaserarr[i]['_id'] == userid){
|
||
userarr.push(adduadaserarr[i]);
|
||
adduadaserarr.splice(i,1);
|
||
}
|
||
}
|
||
X.DATA['adduadaserarr'] = adduadaserarr;
|
||
X.DATA['userarr'] = userarr;
|
||
me.updatauserarr();
|
||
});
|
||
|
||
$(".kongjian-but .kongjian-qd").click(function(){
|
||
var tit = $(".kongjian-mc-box .kongjian-mc-box-txt").val();
|
||
var adduserarr = X.DATA['adduadaserarr'];
|
||
if(tit == ''){
|
||
alert('请输入空间名称');
|
||
return;
|
||
}
|
||
var data = {
|
||
'name': tit,
|
||
'members': adduserarr,
|
||
'project_id':X.DATA.projectid
|
||
}
|
||
for(let i in adduserarr){
|
||
if(adduserarr[i]['_id'] == "0"){
|
||
data["is_all_member"] = true,
|
||
data["authority"] = adduserarr[i]['authority']
|
||
}else {
|
||
data["is_all_member"] = false,
|
||
data["authority"] = "r"
|
||
}
|
||
}
|
||
|
||
|
||
|
||
X.api('space/create',"post",data,function(d){
|
||
// if(d.code == "ok"){
|
||
layer.msg(d, function(){
|
||
//do something
|
||
X.pageLogic.dashboard.freshMenu(X.DATA.projectid);//刷新侧边栏
|
||
//关闭对应弹窗
|
||
layer.closeAll();
|
||
});
|
||
// }
|
||
})
|
||
|
||
})
|
||
|
||
$(".kongjian-but .kongjian-qx").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
},
|
||
updatauserarr : function(){
|
||
var adduadaserarr = X.DATA['adduadaserarr'];
|
||
var userarr = X.DATA['userarr'];
|
||
console.log(adduadaserarr);
|
||
//以添加用户
|
||
X.laytpldata("#kongjian-renyuan-box-dot",adduadaserarr,".kongjian-renyuan-box2");
|
||
//未添加的用户
|
||
X.laytpldata("#member-user-con-box-dot",userarr,".member-user-con-box");
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/login.js
|
||
(function(){
|
||
X.pageLogic['login'] = {
|
||
init : function(){
|
||
$(".login-denglu").click(function(){
|
||
postlogin();
|
||
});
|
||
|
||
document.onkeydown=function(ev){
|
||
var event=ev ||event
|
||
if(event.keyCode==13){
|
||
|
||
postlogin();
|
||
|
||
}
|
||
};
|
||
|
||
function postlogin(){
|
||
var account = $(".login-txt-box .account").val();
|
||
var password = $(".login-txt-box .password").val();
|
||
// X.gourl("dashboard");
|
||
X.api('user/login',"post",{username:account,password:password},function (d){
|
||
// console.log(d);
|
||
X.DATA["userinfo"] = d;
|
||
X.loginCache(d);
|
||
X.gourl("dashboard");
|
||
});
|
||
};
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/modeltable.js
|
||
(function(){
|
||
X.pageLogic['modeltable'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var data = parms;
|
||
|
||
for(var i in data){
|
||
console.log(data[i]);
|
||
X.laytpldata("#kanban-model-table-dot",data[i],null,function(html){
|
||
$('#model-box').append(html);
|
||
});
|
||
}
|
||
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/newkanban.js
|
||
(function(){
|
||
X.pageLogic['newkanban'] = {
|
||
init :function(){
|
||
// console.log(X.DATA);
|
||
|
||
//给两个下拉框赋值
|
||
var comboTree1,comboTree2;
|
||
var KanBanData = [];
|
||
for(let i in X.DATA.KanBanData){
|
||
// X.DATA.KanBanData[i]['']
|
||
var arr = {
|
||
'name' : X.DATA.KanBanData[i]['name'],
|
||
'id' : X.DATA.KanBanData[i]['_id'],
|
||
}
|
||
KanBanData.push(arr);
|
||
// console.log(X.DATA.KanBanData[i]);
|
||
}
|
||
console.log(KanBanData);
|
||
comboTree1 = $('#newjustAnotherInputBox1').comboTree({
|
||
source : KanBanData,
|
||
isMultiple: false
|
||
});
|
||
comboTree2 = $('#newjustAnotherInputBox2').comboTree({
|
||
source : X.DATA.ProjectData,
|
||
isMultiple: false
|
||
});
|
||
// console.log('xxxx',$("#new-cha"));
|
||
|
||
//叉图标关闭弹窗
|
||
$(".new-top .new-cha").click(function(){
|
||
layer.closeAll();
|
||
});
|
||
//取消按钮
|
||
$(".new-but-box .new-qx").click(function(){
|
||
layer.closeAll();
|
||
});
|
||
//我的看板,空间切换实践
|
||
$(".new-tab-box .new-tab div").click(function(){
|
||
$(".new-tab-box .new-tab div").removeClass('tabdata');
|
||
$(this).addClass('tabdata');
|
||
if($(this).html() == "我的看板"){
|
||
$("#newjustAnotherInputBox1").show();
|
||
$("#newjustAnotherInputBox2").hide();
|
||
}else {
|
||
$("#newjustAnotherInputBox1").hide();
|
||
$("#newjustAnotherInputBox2").show();
|
||
}
|
||
$("#newjustAnotherInputBox1").val("");
|
||
$("#newjustAnotherInputBox2").val("");
|
||
})
|
||
|
||
//确定按钮事件
|
||
$(".new-but-box .new-qd").click(function(){
|
||
var txt = $("#newname-txt").val();//获取新建名
|
||
var type ='kanban'//方便根据中文名获取对应id
|
||
if($('#newjustAnotherInputBox1').val() != ""){
|
||
var Addlocation = $('#newjustAnotherInputBox1').val();
|
||
}else {
|
||
var Addlocation = $('#newjustAnotherInputBox2').val();
|
||
type = "kongjian"
|
||
}
|
||
if(Addlocation){
|
||
//根据中文获取到对应的id
|
||
var id = X.pageLogic.newkanban.matchingid(Addlocation,type);
|
||
}else {
|
||
// 为空时提示
|
||
alert('请选择添加的位置');
|
||
return;
|
||
}
|
||
|
||
var data = {
|
||
'name': txt,
|
||
'project_id': X.DATA.projectid,
|
||
'pid': id,
|
||
}
|
||
X.api('dashboard/create',"post",data,function(d){
|
||
// if(d.code == "ok"){
|
||
layer.msg(d,function(){
|
||
X.pageLogic.dashboard.freshMenu(X.DATA.projectid);//刷新侧边栏
|
||
//关闭对应弹窗
|
||
layer.closeAll();
|
||
});
|
||
// }
|
||
})
|
||
|
||
});
|
||
|
||
},
|
||
//根据中文名获取侧边栏id
|
||
matchingid : function(name,type){
|
||
var id, data;
|
||
if(type == 'kanban'){
|
||
data = X.DATA.KanBanData;
|
||
}else {
|
||
data = X.DATA.ProjectData;
|
||
}
|
||
console.log(data);
|
||
for(let i in data){
|
||
if(data[i]['name'] == name){
|
||
id = data[i]['_id']
|
||
}else {
|
||
if(data[i]['children'].length > 0){
|
||
for(let j in data[i]['children']){
|
||
if(data[i]['children'][j]['name'] == name){
|
||
id = data[i]['children'][j]['_id']
|
||
}
|
||
}
|
||
}else {
|
||
continue;
|
||
}
|
||
}
|
||
}
|
||
return id
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/newwenjian.js
|
||
(function(){
|
||
X.pageLogic['newwenjian'] = {
|
||
init : function(){
|
||
var comboTree1,comboTree2
|
||
comboTree1 = $('#newwenjianjustAnotherInputBox1').comboTree({
|
||
source : X.DATA.KanBanData,
|
||
isMultiple: false
|
||
});
|
||
// comboTree2 = $('#newwenjianjustAnotherInputBox2').comboTree({
|
||
// source : X.DATA.ProjectData,
|
||
// isMultiple: false
|
||
// });
|
||
|
||
var ProjectData = X.DATA.ProjectData;
|
||
console.log(ProjectData)
|
||
var data = [];
|
||
var spaceid = '';//获取项目空间id
|
||
for(let i in ProjectData){
|
||
var arr = {};
|
||
arr['title'] = ProjectData[i]['name'],
|
||
arr['id'] = ProjectData[i]['_id']
|
||
data.push(arr);
|
||
}
|
||
console.log(data);
|
||
X.laydropdown("#newwenjianjustAnotherInputBox2",data,function(d){
|
||
spaceid = d.id;
|
||
$("#newwenjianjustAnotherInputBox2").val(d.title);
|
||
// console.log(d);
|
||
})
|
||
|
||
|
||
// 取消
|
||
$(".newwenjian-but-box .newwenjian-qx").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
// 关闭图标
|
||
$(".newwenjian-top .newwenjian-cha").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".newwenjian-tab-box .newwenjian-tab div").click(function(){
|
||
$(".newwenjian-tab-box .newwenjian-tab div").removeClass('tabdata');
|
||
$(this).addClass('tabdata');
|
||
if($(this).html() == "我的看板"){
|
||
$("#newwenjianjustAnotherInputBox2").hide();
|
||
}else {
|
||
$("#newwenjianjustAnotherInputBox2").show();
|
||
}
|
||
$("#newwenjianjustAnotherInputBox2").val("");
|
||
})
|
||
|
||
// 确定
|
||
$(".newwenjian-but-box .newwenjian-qd").click(function(){
|
||
|
||
var txt = $(".newwenjianname-txt").val();
|
||
var type ='kanban';
|
||
var id = '';//没有默认传看板
|
||
if($('#newwenjianjustAnotherInputBox2').css("display") != 'none'){
|
||
if($('#newwenjianjustAnotherInputBox2').val() != ""){
|
||
var Addlocation = $('#newwenjianjustAnotherInputBox2').val();
|
||
}
|
||
type = "space";
|
||
}
|
||
|
||
if(type != "kanban"){
|
||
if(Addlocation){
|
||
id = X.pageLogic.newkanban.matchingid(Addlocation,type);
|
||
}else {
|
||
alert('请选择添加的位置');
|
||
return;
|
||
}
|
||
}else {
|
||
spaceid = X.DATA.projectid; //当选择看板时pid等于项目id
|
||
}
|
||
|
||
var data = {
|
||
'name': txt,
|
||
'project_id': X.DATA.projectid,
|
||
'cat': type,
|
||
'pid':spaceid
|
||
}
|
||
console.log(data);
|
||
// return;
|
||
X.api('folder/create',"post",data,function(d){
|
||
// if(d.msg == "ok"){
|
||
layer.msg(d,function(){
|
||
X.pageLogic.dashboard.freshMenu(X.DATA.projectid);//刷新侧边栏
|
||
layer.closeAll();
|
||
});
|
||
// }
|
||
})
|
||
|
||
});
|
||
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/participate.js
|
||
(function(){
|
||
X.pageLogic['participate'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var data = parms.extData;
|
||
|
||
console.log(data);
|
||
X.laytpldata("#judge-box-dot",data.list,".setgrouping-box2 .setgrouping-content-box2");
|
||
layui.form.render();
|
||
|
||
if( data.select && data.select.length > 0){
|
||
var select = data['select'];
|
||
var selectdata = {};
|
||
for(let i in select){
|
||
selectdata["like["+select[i]+"]"] = true;
|
||
}
|
||
console.log(selectdata);
|
||
layui.form.val('participateexample', selectdata);
|
||
}
|
||
|
||
// 搜索
|
||
$('.setgrouping-sousuo-txt-box input').bind('input propertychange', function() {
|
||
var value = $(this).val();
|
||
console.log(data);
|
||
if(value != ""){
|
||
$(".setgrouping-sousuo-txt-box img").show();
|
||
var filteringdata = [];
|
||
for(let i in data.list){
|
||
var detailsdata = [];
|
||
for(let j in data['list'][i]["category"]){
|
||
if(data['list'][i]["category"][j]['event_name'].indexOf(value) != -1){
|
||
detailsdata.push(data['list'][i]["category"][j]);
|
||
}
|
||
}
|
||
if(detailsdata.length >0){
|
||
var arr = {
|
||
"title": data['list'][i]['title'],
|
||
"id":data['list'][i]['id'],
|
||
"category": detailsdata
|
||
};
|
||
filteringdata.push(arr);
|
||
}
|
||
}
|
||
console.log(filteringdata);
|
||
X.laytpldata("#judge-box-dot",filteringdata,".setgrouping-box2 .setgrouping-content-box2");
|
||
}else {
|
||
$(".setgrouping-sousuo-txt-box img").hide();
|
||
X.laytpldata("#judge-box-dot",data.list,".setgrouping-box2 .setgrouping-content-box2");
|
||
}
|
||
})
|
||
|
||
//清空按钮
|
||
$(".setgrouping-sousuo-txt-box img").click(function(){
|
||
$(".setgrouping-sousuo-txt-box input").val("");
|
||
$(".setgrouping-sousuo-txt-box img").hide();
|
||
X.laytpldata("#judge-box-dot",data.list,".setgrouping-box2 .setgrouping-content-box2");
|
||
})
|
||
|
||
layui.form.on('checkbox(checkboxexample)', function(){
|
||
var data = layui.form.val('participateexample');
|
||
console.log(data);
|
||
if(Object.keys(data).length >= 30){
|
||
$(this).prop("checked", false);
|
||
}
|
||
});
|
||
|
||
$(document).off('click','.participate-but').on('click','.participate-but',function(){
|
||
var dataarr = layui.form.val('participateexample');
|
||
console.log(data);
|
||
var idarr = [];
|
||
for(let i in dataarr){
|
||
var arr = i.substring(5);
|
||
arr = arr.substring(0,arr.length - 1);
|
||
idarr.push(arr);
|
||
}
|
||
var callbackdata = [];
|
||
for(let i in data['list']){
|
||
for(let j in data['list'][i]['category']){
|
||
for(let z in idarr){
|
||
if(data['list'][i]['category'][j]['event_name'] == idarr[z]){
|
||
var arr = {
|
||
'event_desc': data['list'][i]['category'][j]['event_desc'],
|
||
'event_name': data['list'][i]['category'][j]['event_name']
|
||
}
|
||
callbackdata.push(arr);
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
// console.log(callbackdata);
|
||
me.callback && me.callback(callbackdata);
|
||
layer.close( me.parms.layIndex );//获取最新的弹窗关闭
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/personalsettings.js
|
||
(function(){
|
||
X.pageLogic['personalsettings'] = {
|
||
init : function(){
|
||
|
||
X.laytpldata("#personalsettings-bg-box-dot",X.DATA.userinfo,".personalsettings-bg-box");
|
||
|
||
|
||
$(document).off('click','.personalsettings-name').on('click','.personalsettings-name',function(){
|
||
$(".personalsettings-mr-name").hide();
|
||
$(".personalsettings-updata-name").show();
|
||
})
|
||
|
||
$(document).off('click','.personalsettings-name-qd').on('click','.personalsettings-name-qd',function(){
|
||
$(".personalsettings-mr-name").show();
|
||
$(".personalsettings-updata-name").hide();
|
||
})
|
||
|
||
$(document).off('click','.personalsettings-name-qx').on('click','.personalsettings-name-qx',function(){
|
||
var tit = $(".personalsettings-name-txt").val();
|
||
X.api("user/edit_profile","post",{nickname: tit},function(d){
|
||
console.log(d);
|
||
X.DATA.userinfo['nickname'] = d.nickname;
|
||
X.laytpldata("#personalsettings-bg-box-dot",X.DATA.userinfo,".personalsettings-bg-box");
|
||
})
|
||
$(".personalsettings-mr-name").show();
|
||
$(".personalsettings-updata-name").hide();
|
||
})
|
||
|
||
$(document).off('click','.personalsettings-tel').on('click','.personalsettings-tel',function(){
|
||
$(".personalsettings-mr-tel").hide();
|
||
$(".personalsettings-binding-tel").show();
|
||
})
|
||
|
||
$(document).off('click','.personalsettings-tel-qd').on('click','.personalsettings-tel-qd',function(){
|
||
$(".personalsettings-mr-tel").show();
|
||
$(".personalsettings-binding-tel").hide();
|
||
})
|
||
|
||
$(document).off('click','.personalsettings-tel-qx').on('click','.personalsettings-tel-qx',function(){
|
||
var tit = $(".personalsettings-tel-txt").val();
|
||
X.api("user/edit_profile","post",{tel: tit},function(d){
|
||
console.log(d);
|
||
X.DATA.userinfo['tel'] = d.tel;
|
||
X.laytpldata("#personalsettings-bg-box-dot",X.DATA.userinfo,".personalsettings-bg-box");
|
||
})
|
||
$(".personalsettings-mr-tel").show();
|
||
$(".personalsettings-binding-tel").hide();
|
||
})
|
||
|
||
$(document).off('click','.personalsettings-updata-password').on('click','.personalsettings-updata-password',function(){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
skin: 'yourclass',
|
||
url: 'updatapassword'
|
||
})
|
||
})
|
||
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/personalsettingsedit.js
|
||
(function(){
|
||
X.pageLogic['personalsettingsedit'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback; //选择后执行的回调
|
||
var data = parms.extData;//获取到上层弹窗传的数据
|
||
layui.form.render();
|
||
if(data){
|
||
layui.form.val('personalsettingseditexample', {
|
||
"show_name": data.show_name // "name": "value"
|
||
,"desc": data.desc
|
||
,"is_show":(data.is_show)? 1 : 0
|
||
});
|
||
}
|
||
$(document).off('click','.personalsettingsedit-qd').on('click','.personalsettingsedit-qd',function(){
|
||
var arr = layui.form.val('personalsettingseditexample');
|
||
arr['event_name'] = data.name;
|
||
X.api("data_mana/event_edit","post",arr,function(d){
|
||
layer.msg("修改成功");
|
||
me.callback && me.callback(d);
|
||
layer.closeAll();
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.personalsettingsedit-qx').on('click','.personalsettingsedit-qx',function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/projectadmin.js
|
||
(function(){
|
||
X.pageLogic['projectadmin'] = {
|
||
init : function(){
|
||
|
||
|
||
var data
|
||
X.api("authority/all_role","get",{},function(d){
|
||
// console.log(d);
|
||
data = d;
|
||
$(".projectadmin-list-name").html(d.sys_role[0]["title"]);
|
||
X.laytpldata("#projectadmin-con-hz-left-list-xtong-dot",d.sys_role,".projectadmin-con-hz-left-list-xtong");
|
||
X.laytpldata("#projectadmin-con-hz-left-list-tit-xiangmu-dot",d.dom_role,".projectadmin-con-hz-left-list-tit-xiangmu");
|
||
X.laytpldata("#projectadmin-info-box-dot",d.sys_role[0]['authority'],".projectadmin-info-box");
|
||
})
|
||
|
||
$(".menu_dapax .item_kuvn").click(function(){
|
||
$(".menu_dapax .item_kuvn").removeClass("selected___3ctlt");
|
||
$(this).addClass("selected___3ctlt");
|
||
var url = $(this).attr("data-url");
|
||
})
|
||
|
||
// $(document).on("click",".projectadmin-con-hz-left-list-con",function(){
|
||
// $(".projectadmin-con-hz-left-list-con").removeClass("selected___3ctlt");
|
||
// $(this).addClass("selected___3ctlt");
|
||
// $(".projectadmin-list-name").html($(this).html());
|
||
// })
|
||
|
||
$(document).on("click",".systemrole-tit",function(){
|
||
$(".projectadmin-con-hz-left-list-con").removeClass("selected___3ctlt");
|
||
$(this).addClass("selected___3ctlt");
|
||
$(".projectadmin-list-name").html($(this).html());
|
||
var index = $(this).attr("data-index");
|
||
X.laytpldata("#projectadmin-info-box-dot",data.sys_role[index]['authority'],".projectadmin-info-box");
|
||
})
|
||
|
||
$(document).on("click",".roleinproject-tit",function(){
|
||
$(".projectadmin-con-hz-left-list-con").removeClass("selected___3ctlt");
|
||
$(this).addClass("selected___3ctlt");
|
||
$(".projectadmin-list-name").html($(this).html());
|
||
var index = $(this).attr("data-index");
|
||
X.laytpldata("#projectadmin-info-box-dot",data.dom_role[index]['authority'],".projectadmin-info-box");
|
||
})
|
||
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/projectinfo.js
|
||
(function(){
|
||
X.pageLogic['projectinfo'] = {
|
||
init : function(){
|
||
layui.form.render();
|
||
|
||
|
||
var data;
|
||
X.api("project/detail","get",{},function(d){
|
||
data = d;
|
||
X.laytpldata("#projectinfo-info-box-dot",data,".projectinfo-info-box");
|
||
// X.laytpldata("#usersbtx-dot",data.vUserIdItems,"#usersbtx");
|
||
|
||
// var ipWhitelistarr = data['ipWhitelist'].split(',');
|
||
// X.laytpldata("#projectinfo-ip-tx-box-dot",ipWhitelistarr,".projectinfo-ip-tx-box");
|
||
$(".projectinfo-ip-input").html(data['name']);
|
||
})
|
||
|
||
// var data = {
|
||
// 'projectName':'内网测试1',
|
||
// 'appid':1234545,
|
||
// "projectid":1546464,
|
||
// 'totalEventNum': 19193,//已用数据总量
|
||
// 'yuaneventtype':"8/500",
|
||
// 'yuaneventattr':'64/1000',
|
||
// 'userattr':"30/500",
|
||
// 'syncInterval':30,//间隔时间
|
||
// 'sendoutnum':30,//发送数量
|
||
// 'vUserIdItems':[
|
||
// {'columnDesc':'账户ID','id':131},
|
||
// {'columnDesc':'app版本','id':131}
|
||
// ],//用户识别体系
|
||
// ipWhitelist:'10.0.0.5,10.0.0.7'
|
||
// }
|
||
|
||
$("body").on("click",".menu_dapax .item_kuvn .item_kuvn-pl",function(){
|
||
$(".menu_dapax .item_kuvn .item_kuvn-pl").removeClass("selected___3ctlt");
|
||
$(this).addClass("selected___3ctlt");
|
||
})
|
||
|
||
|
||
|
||
$('body').on("click",".projectinfo-info-title img",function(){
|
||
$(".projectinfo-info-title").hide();
|
||
$(".projectinfo-info-title-update-box").show();
|
||
})
|
||
|
||
$('body').on("click",".projectinfo-info-title-update-cha",function(){
|
||
$(".projectinfo-info-title").show();
|
||
$(".projectinfo-info-title-update-box").hide();
|
||
})
|
||
|
||
$('body').on("click",".projectinfo-info-title-update-gou",function(){
|
||
$(".projectinfo-info-title").show();
|
||
$(".projectinfo-info-title-update-box").hide();
|
||
var tit = $(".projectinfo-info-title-update-box input").val();
|
||
X.api("project/rename","post",{project_id: X.DATA.projectid,rename: tit},function(d){
|
||
$(".projectinfo-info-title span").html(tit)
|
||
})
|
||
|
||
})
|
||
|
||
$('body').on("click",".projectinfo-sdkpeizhi-edit",function(){
|
||
$(".projectinfo-sdkpeizhi").hide();
|
||
$(".projectinfo-sdkpeizhi-update-ope").show();
|
||
$(this).hide();
|
||
$(".projectinfo-sdkpeizhi-img").show();
|
||
})
|
||
|
||
$('body').on("click",".projectinfo-sdkpeizhi-img-del",function(){
|
||
$(".projectinfo-sdkpeizhi").show();
|
||
$(".projectinfo-sdkpeizhi-update-ope").hide();
|
||
$(this).hide();
|
||
$(".projectinfo-sdkpeizhi-img").hide();
|
||
$(".projectinfo-sdkpeizhi-edit").show();
|
||
})
|
||
|
||
$('body').on("click",".projectinfo-sdkpeizhi-img-update",function(){
|
||
$(".projectinfo-sdkpeizhi").show();
|
||
$(".projectinfo-sdkpeizhi-update-ope").hide();
|
||
$(this).hide();
|
||
$(".projectinfo-sdkpeizhi-img").hide();
|
||
$(".projectinfo-sdkpeizhi-edit").show();
|
||
var shijian = $(".projectinfo-sdkpeizhi-shijian").val();
|
||
var num = $(".projectinfo-sdkpeizhi-num").val();
|
||
})
|
||
|
||
$('body').on("click",".projectinfo-ip-edit",function(){
|
||
$(".projectinfo-ip-input").show();
|
||
$(".projectinfo-ip-tx-box").hide();
|
||
$(".projectinfo-ip-img").show();
|
||
$(this).hide();
|
||
})
|
||
|
||
$('body').on("click",".projectinfo-ip-img-del",function(){
|
||
$(".projectinfo-ip-input").hide();
|
||
$(".projectinfo-ip-tx-box").show();
|
||
$(".projectinfo-ip-img").hide();
|
||
$(".projectinfo-ip-edit").show();
|
||
})
|
||
|
||
$('body').on("click",".projectinfo-ip-img-update",function(){
|
||
$(".projectinfo-ip-input").hide();
|
||
$(".projectinfo-ip-tx-box").show();
|
||
$(".projectinfo-ip-img").hide();
|
||
$(".projectinfo-ip-edit").show();
|
||
var tit = $(".projectinfo-ip-input").html();
|
||
//ip白名单确定按钮
|
||
console.log(tit);
|
||
})
|
||
|
||
$('body').on("click",".usersattr",function(){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
skin: 'yourclass',
|
||
url: 'usersbtx'
|
||
})
|
||
})
|
||
|
||
$("body").on("click",".timeadmin",function(){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
skin: 'yourclass',
|
||
url: 'timeadmin'
|
||
})
|
||
})
|
||
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/retained.js
|
||
(function(){
|
||
X.pageLogic['retained'] = {
|
||
init : function(parms){
|
||
|
||
X.template("grouped","shushi");
|
||
// X.template("toptab","analysis-zhanwei",X.DATA['projectarr']);
|
||
var data ={
|
||
"eventView":{
|
||
"cksql":"retention",
|
||
"endTime":"2021-06-07 23:59:59",
|
||
"filts":[],
|
||
"groupBy":[],
|
||
"recentDay":"1-30",
|
||
"relation":"and",
|
||
"startTime":"2021-05-09 00:00:00",
|
||
"statType":"retention",
|
||
"timeParticleSize":"P1D",
|
||
"unitNum":7
|
||
},
|
||
"events":[
|
||
|
||
],
|
||
"cachedata":{
|
||
eventdata:[],
|
||
initialevent:[],
|
||
returnevent:[],
|
||
filtersymbols:[],
|
||
groupitemeventsdata:[],
|
||
}
|
||
};
|
||
|
||
// 日期渲染
|
||
X.daterender("#retained-condition-date",function(start, end, label){
|
||
var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00";
|
||
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
|
||
data['eventView']['startTime'] = startTime;
|
||
data['eventView']['endTime'] = endTime;
|
||
retaineddata();
|
||
})
|
||
|
||
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";
|
||
|
||
var eventdata;
|
||
var filtersymbols = [[],[]];//默认两个事件
|
||
var groupitemeventsdata=[[],[]]//分组项里的事件
|
||
|
||
X.api("data_auth/my_event","get",{},function(d){
|
||
eventdata = d;
|
||
var arr = [{
|
||
"eventDesc":eventdata[0]['category'][0]['event_desc'],
|
||
"eventName":eventdata[0]['category'][0]['event_name'],
|
||
"filts":[],
|
||
"relation":"and",
|
||
"relationUser":"and",
|
||
"renameindicator":""
|
||
},{
|
||
"eventDesc":eventdata[0]['category'][0]['event_desc'],
|
||
"eventName":eventdata[0]['category'][0]['event_name'],
|
||
"filts":[],
|
||
"relation":"and",
|
||
"relationUser":"and",
|
||
"renameindicator":""
|
||
}
|
||
]
|
||
data['events'] = arr;
|
||
X.api("data_auth/load_filter_props","post",{event_name:d[0]['category'][0]['event_name']},function(val){
|
||
groupitemeventsdata[0] = val;
|
||
groupitemeventsdata[1] = val;
|
||
})
|
||
})
|
||
|
||
//初始事件
|
||
X.template("event","initial-event",data['events'][0]);
|
||
X.template("returnvisitevent","returnvisit-event",data['events'][1]);
|
||
//开启重命名
|
||
$(document).off('click','.analysis-chongmingming-initial-event').on('click','.analysis-chongmingming-initial-event',function(){
|
||
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").show();
|
||
$(this).hide();
|
||
$(".analysis-chongmingming-del-initial-event").show();
|
||
})
|
||
|
||
$(document).off('click','.analysis-chongmingming-return-event').on('click','.analysis-chongmingming-return-event',function(){
|
||
$("#analysis-con-left-screen-list-left-zhibiaoname-return-event").show();
|
||
$(this).hide();
|
||
$(".analysis-chongmingming-del-return-event").show();
|
||
})
|
||
|
||
//取消重命名
|
||
$(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 input").val('');
|
||
$(this).hide();
|
||
$(".analysis-chongmingming-initial-event").show();
|
||
})
|
||
|
||
$(document).off('click','.analysis-chongmingming-del-return-event').on('click','.analysis-chongmingming-del-return-event',function(){
|
||
$("#analysis-con-left-screen-list-left-zhibiaoname-return-event").hide();
|
||
$("#analysis-con-left-screen-list-left-zhibiaoname-return-event input").val('');
|
||
$(this).hide();
|
||
$(".analysis-chongmingming-return-event").show();
|
||
})
|
||
|
||
// 添加初始事件筛选
|
||
// $(document).off('click','.analysis-zhibiao-updata-list-box .analysis-zhibiao-updata-initial-event').on('click','.analysis-zhibiao-updata-list-box .analysis-zhibiao-updata',function(){
|
||
// var arr = {
|
||
// "columnDesc":groupitemeventsdata[0][0]['category'][0]['title'],
|
||
// "columnName":groupitemeventsdata[0][0]['category'][0]['id'],
|
||
// "comparator":"==",
|
||
// "comparatorName":"等于",
|
||
// "ftv":[],
|
||
// "strftv":"",
|
||
// "table_type":groupitemeventsdata[0][0]['category'][0]['data_type'],
|
||
// "timeUnit":""
|
||
// }
|
||
// data['events'][0]['filts'].push(arr);
|
||
// filtersymbols[0].push(groupitemeventsdata[0][0]['category'][0]['category']);
|
||
// X.template("event","initial-event",data['events'][0]);
|
||
// })
|
||
|
||
// $(document).off('click','.analysis-zhibiao-updata-list-box .analysis-zhibiao-updata-return-event').on('click','.analysis-zhibiao-updata-list-box .analysis-zhibiao-updata',function(){
|
||
// var arr = {
|
||
// "columnDesc":groupitemeventsdata[1][0]['category'][0]['title'],
|
||
// "columnName":groupitemeventsdata[1][0]['category'][0]['id'],
|
||
// "comparator":"==",
|
||
// "comparatorName":"等于",
|
||
// "ftv":[],
|
||
// "strftv":"",
|
||
// "table_type":groupitemeventsdata[1][0]['category'][0]['data_type'],
|
||
// "timeUnit":""
|
||
// }
|
||
// data['events'][1]['filts'].push(arr);
|
||
// filtersymbols[1].push(groupitemeventsdata[1][0]['category'][0]['category']);
|
||
// X.template("returnvisitevent","returnvisit-event",data['events'][1]);
|
||
// })
|
||
|
||
// 添加初始事件筛选
|
||
var initialevent = []
|
||
$(document).off('click','.analysis-shaix-initial-event').on('click','.analysis-shaix-initial-event',function(){
|
||
var arr = {
|
||
"columnDesc":groupitemeventsdata[0][0]['category'][0]['title'],
|
||
"columnName":groupitemeventsdata[0][0]['category'][0]['id'],
|
||
"comparator":"==",
|
||
"comparatorName":"等于",
|
||
"ftv":[],
|
||
"strftv":"",
|
||
"table_type":groupitemeventsdata[0][0]['category'][0]['data_type'],
|
||
"timeUnit":""
|
||
}
|
||
initialevent.push(arr);
|
||
data['events'][1]['filts'] = initialevent;
|
||
filtersymbols[0].push(groupitemeventsdata[0][0]['category'][0]['category']);
|
||
X.template("event","initial-event",data['events'][0]);
|
||
})
|
||
var returnevent = []
|
||
$(document).off('click','.analysis-shaix-return-event').on('click','.analysis-shaix-return-event',function(){
|
||
var arr = {
|
||
"columnDesc":groupitemeventsdata[1][0]['category'][0]['title'],
|
||
"columnName":groupitemeventsdata[1][0]['category'][0]['id'],
|
||
"comparator":"==",
|
||
"comparatorName":"等于",
|
||
"ftv":[],
|
||
"strftv":"",
|
||
"table_type":groupitemeventsdata[1][0]['category'][0]['data_type'],
|
||
"timeUnit":""
|
||
}
|
||
// data['events'][1]['filts'].push(arr);
|
||
returnevent.push(arr);
|
||
data['events'][1]['filts'] = returnevent;
|
||
filtersymbols[1].push(groupitemeventsdata[1][0]['category'][0]['category']);
|
||
X.template("returnvisitevent","returnvisit-event",data['events'][1]);
|
||
})
|
||
|
||
// 删除指定初始事件筛选
|
||
$(document).off('click','.analysis-zhibiao-list-del-initial-event').on('click','.analysis-zhibiao-list-del-initial-event',function(){
|
||
var index = $(this).attr("data-twonum");
|
||
data['events'][0]['filts'].splice(index,1);
|
||
filtersymbols[0].splice(index,1);
|
||
X.template("event","initial-event",data['events'][0]);
|
||
})
|
||
|
||
$(document).off('click','.analysis-zhibiao-list-del-return-event').on('click','.analysis-zhibiao-list-del-return-event',function(){
|
||
var index = $(this).attr("data-twonum");
|
||
data['events'][0]['filts'].splice(index,1);
|
||
filtersymbols[1].splice(index,1);
|
||
X.template("returnvisitevent","return-event",data['events'][0]);
|
||
})
|
||
|
||
$(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input',function(){
|
||
var txt = $(this).val();
|
||
data['events'][0]['renameindicator'] = txt;
|
||
})
|
||
|
||
$(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname-return-event input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-return-event input',function(){
|
||
var txt = $(this).val();
|
||
data['events'][1]['renameindicator'] = txt;
|
||
})
|
||
|
||
$(document).off('click','.ant-dropdown-trigger').on('click','.ant-dropdown-trigger',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
var dataevent= data['events'][index];
|
||
// console.log(dataevent);
|
||
X.querycriteriapop(eventdata,'setgrouping',offset.left,offset.top+obj.height(),function(val){
|
||
console.log(val);
|
||
obj.html(val.id);
|
||
dataevent['eventName'] = val.name;
|
||
dataevent['eventDesc'] = val.id;
|
||
|
||
X.api("data_auth/load_filter_props","post",{event_name:val.name},function(val){
|
||
groupitemeventsdata[index] = val;
|
||
})
|
||
// console.log(data['events']);
|
||
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.ta-property-select').on('click','.ta-property-select',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
var indexs = obj.attr("data-indexs");
|
||
X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){
|
||
console.log(val);
|
||
var htmlstring = val.title;
|
||
obj.html(htmlstring);
|
||
filtersymbols[index][indexs] = val.category;
|
||
data['events'][index]['filts'][indexs]['columnDesc'] = htmlstring;
|
||
data['events'][index]['filts'][indexs]['columnName'] = val.id;
|
||
data['events'][index]['filts'][indexs]['data_type'] = val.type;
|
||
data['events'][index]['filts'][indexs]['table_type'] = val.table_type;
|
||
})
|
||
})
|
||
|
||
// 过滤数据
|
||
function filteringdata(){
|
||
var screentypedata;
|
||
if(groupitemeventsdata.length>1){
|
||
for(var i =0; i < groupitemeventsdata.length - 1; i++){
|
||
if(i == 0){
|
||
X.groupintersection(groupitemeventsdata[i] , groupitemeventsdata[Number(i) + Number(1)],function(d){
|
||
screentypedata = d;
|
||
});
|
||
}else {
|
||
X.groupintersection(screentypedata , groupitemeventsdata[Number(i) + Number(1)],function(d){
|
||
screentypedata = d;
|
||
})
|
||
}
|
||
}
|
||
}else {
|
||
screentypedata = groupitemeventsdata[0];
|
||
}
|
||
return screentypedata;
|
||
}
|
||
|
||
$(document).off('click','.analysis-choicetypename').on('click','.analysis-choicetypename',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = $(this).attr("data-index");
|
||
var indexs = $(this).attr("data-indexs");
|
||
X.querycriteriapop(filtersymbols[index][indexs],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
if(val != undefined){
|
||
obj.html(val.title);
|
||
data['events'][index]['filts'][indexs]['comparatorName'] = val.title;
|
||
data['events'][index]['filts'][indexs]['comparator'] = val.id;
|
||
}
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-zhibiao-list-type4 input').on('blur','.analysis-zhibiao-list-type4 input',function(){
|
||
var index = $(this).attr('data-index');
|
||
var indexs = $(this).attr('data-indexs');
|
||
var txt = $(this).val();
|
||
var txtarr = txt.split(",");
|
||
data['events'][index]['filts'][indexs]['strftv'] = txt;
|
||
data['events'][index]['filts'][indexs]['ftv'] = txtarr;
|
||
})
|
||
|
||
//全局筛选
|
||
var filtsftvdata=[];
|
||
$(document).off('click','.analysis-overall-situation-add').on('click','.analysis-overall-situation-add',function(){
|
||
var screentypedata = filteringdata();
|
||
var drr={
|
||
"columnName":screentypedata[0]['category'][0]['title'],//事件中文显示
|
||
"column_id":screentypedata[0]['category'][0]['id'],//事件id
|
||
'data_type':screentypedata[0]['category'][0]['data_type'],//类型
|
||
'comparator_name':'等于',//默认等于
|
||
"comparator_id":'==',//符号id
|
||
"ftv":[],//条件
|
||
"strftv":'',//显示条件
|
||
"section":[-1,1],//区间
|
||
"table_type":screentypedata[0]['id']
|
||
};
|
||
data['eventView']['filts'].push(drr);
|
||
filtsftvdata.push(screentypedata[0]['category'][0]['category']);
|
||
if(data['eventView']['filts'].length > 1){
|
||
$(".analysis-overall-situation-left-guanxi").show();
|
||
}else{
|
||
$(".analysis-overall-situation-left-guanxi").hide();
|
||
}
|
||
X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){
|
||
analysisdown();
|
||
});
|
||
})
|
||
|
||
//删除指定全局数据
|
||
$(document).off('click','.analysis-overall-situation-del').on('click','.analysis-overall-situation-del',function(){
|
||
var index = $(this).attr('data-index');
|
||
data['eventView']['filts'].splice(index,1);
|
||
filtsftvdata.splice(index,1);
|
||
if(data['eventView']['filts'].length > 1){
|
||
$(".analysis-overall-situation-left-guanxi").show();
|
||
}else{
|
||
$(".analysis-overall-situation-left-guanxi").hide();
|
||
}
|
||
X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){
|
||
analysisdown();
|
||
});
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-attr').on('click','.analysis-overall-situation-attr',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){
|
||
console.log(val);
|
||
obj.html(val.title);
|
||
data['eventView']['filts'][index]['columnName'] = val.title;
|
||
data['eventView']['filts'][index]['column_id'] = val.id;
|
||
data['eventView']['filts'][index]['data_type'] = val.type;
|
||
data['eventView']['filts'][index]['comparator_name'] = '等于';
|
||
data['eventView']['filts'][index]['comparator_id'] = '==';
|
||
data['eventView']['filts'][index]['table_type'] = val.table_type;
|
||
filtsftvdata[index]=val.category;
|
||
analysisdown();//渲染下拉框
|
||
})
|
||
})
|
||
|
||
//循环给条件框渲染下拉框
|
||
function analysisdown(){
|
||
for(let i in data['eventView']['filts']){
|
||
X.laydropdown("#analysis-overall-situation-fuhao-"+i,filtsftvdata[i],function(val){
|
||
$(this).html(val.title);
|
||
data['eventView']['filts'][i]['comparator_name'] = val.title;
|
||
data['eventView']['filts'][i]['comparator_id'] = val.id;
|
||
if(val.id == "range"){
|
||
data['eventView']['filts'][i]['ftv'] = [-1,1];
|
||
}
|
||
X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){
|
||
analysisdown();
|
||
});
|
||
})
|
||
}
|
||
}
|
||
|
||
// 分组项
|
||
$(document).off('click','.analysis-action-right').on('click','.analysis-action-right',function() {
|
||
var index = $(this).attr("data-index");
|
||
data.eventView.groupBy.splice(index,1);
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
})
|
||
|
||
$(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function() {
|
||
|
||
var arr = {
|
||
"columnName": "#account_id",//事件中文显示
|
||
"column_id": "#account_id",//事件id
|
||
'data_type': "string",//类型
|
||
'table_type': "event",
|
||
"ftv":'',//条件
|
||
"section":''//区间
|
||
};
|
||
data['eventView']['groupBy'].push(arr);
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
|
||
})
|
||
|
||
$(document).off('click','.analysis-ant-dropdown-trigger').on('click','.analysis-ant-dropdown-trigger',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr("data-index");
|
||
X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){
|
||
console.log(val);
|
||
var htmlstring = val.title;
|
||
obj.html(htmlstring);
|
||
data.eventView.groupBy[index]['columnName'] = val.title;
|
||
data.eventView.groupBy[index]['column_id'] = val.id;
|
||
data.eventView.groupBy[index]['data_type'] = val.type;
|
||
data.eventView.groupBy[index]['table_type'] = val.table_type;
|
||
|
||
|
||
})
|
||
|
||
})
|
||
|
||
// sql语句显示
|
||
$(document).off('click','.sqlquery').on('click','.sqlquery',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(data,'conditionquery',offset.left - 410,offset.top+obj.height(),function(){
|
||
|
||
})
|
||
})
|
||
|
||
// 时间粒度
|
||
var timeParticleSizearr = [
|
||
{'title':'当日','id':'1'},
|
||
{'title':'次日','id':'2'},
|
||
{'title':'7日','id':'7'},
|
||
{'title':'14日','id':'14'},
|
||
{'title':'30日','id':'30'},
|
||
]
|
||
X.laydropdown('.analtsis-timeParticleSize',timeParticleSizearr,function(d){
|
||
console.log(d);
|
||
$(".analtsis-timeParticleSize").html(d.title);
|
||
data['eventView']['unitNum'] = parseInt(d.id);
|
||
retaineddata();
|
||
})
|
||
|
||
// 计算按钮
|
||
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
||
retaineddata()
|
||
})
|
||
|
||
function retaineddata(){
|
||
data['cachedata']['eventdata'] = eventdata;
|
||
data['cachedata']['initialevent'] = initialevent;
|
||
data['cachedata']['returnevent'] = returnevent;
|
||
data['cachedata']['groupitemeventsdata'] = groupitemeventsdata;
|
||
data['cachedata']['filtersymbols'] = filtersymbols;
|
||
var dataArr = {
|
||
eventView: data.eventView,
|
||
events: data.events
|
||
}
|
||
X.api("ck/retention_model","post",dataArr,function(d){
|
||
console.log(data);
|
||
querydata = d;
|
||
updata(d)
|
||
})
|
||
}
|
||
|
||
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){
|
||
X.parametersopen(data,'savereport','auto')
|
||
})
|
||
|
||
$(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;
|
||
eventdata = data.cachedata.eventdata;
|
||
initialevent = data.cachedata.initialevent;
|
||
returnevent = data.cachedata.returnevent;
|
||
filtersymbols = data.cachedata.filtersymbols;
|
||
groupitemeventsdata = data.cachedata.groupitemeventsdata;
|
||
|
||
X.template("event","initial-event",data['events'][0]);
|
||
X.template("returnvisitevent","returnvisit-event",data['events'][1]);
|
||
X.template("globalfilter","xinwei-whole",data['eventView']['filts'],function(){
|
||
analysisdown();
|
||
});
|
||
X.template("grouped","shushi",data['eventView']['groupBy']);
|
||
|
||
retaineddata();
|
||
}
|
||
|
||
})
|
||
})
|
||
|
||
function updata(d){
|
||
var title = $(".select-chart").attr("title");
|
||
if(title == '数据报表'){ $(".table-div-box").show(); $(".analysis-echarts").hide(); retainedtable(d)}
|
||
else if(title == '第N日留存'){ $(".table-div-box").hide(); $(".analysis-echarts").show(); retainednRetained(d) }
|
||
else if(title == '每日留存'){ $(".table-div-box").hide(); $(".analysis-echarts").show(); retaineddayRetained(d) }
|
||
}
|
||
|
||
function retainedtable(d){
|
||
var tabledata=[];
|
||
for(let i in d['summary_values']){
|
||
var arr = {
|
||
date: i,
|
||
d0:d['summary_values'][i]['d0'],
|
||
data:[]
|
||
}
|
||
for(let j in d['summary_values'][i]["n"]){
|
||
var nrr = {
|
||
n:0,
|
||
p:0
|
||
}
|
||
nrr["n"] = d['summary_values'][i]["n"][j];
|
||
nrr["p"] = d['summary_values'][i]["p"][j]
|
||
arr['data'].push(nrr);
|
||
}
|
||
tabledata.push(arr)
|
||
}
|
||
|
||
var titdata = [];
|
||
for(let i in d['days']){
|
||
var tit = "第" + i + "日";
|
||
titdata.push(tit);
|
||
}
|
||
titdata.unshift("日期",d.title);
|
||
X.laytpldata("#table-fenxi-th-dot",titdata,".table-fenxi-th");
|
||
|
||
X.laytpldata("#table-fenxi-td-dot",tabledata,".table-fenxi-td");
|
||
}
|
||
|
||
// 每日留存
|
||
function retaineddayRetained(d){
|
||
var arr = {};
|
||
var xAxisData=[];
|
||
var seriesData=[];
|
||
var legenddata = [];
|
||
if(jQuery.isEmptyObject(d.values)){
|
||
legenddata = d.date_range;
|
||
for(let i in d['days']){
|
||
var tit = "第" + i + "日";
|
||
xAxisData.push(tit);
|
||
}
|
||
for(let i in d['summary_values']){
|
||
var arr = {
|
||
name: i,
|
||
type: 'line',
|
||
data: d['summary_values'][i]['p']
|
||
}
|
||
seriesData.push(arr);
|
||
}
|
||
}else {
|
||
var timearr = [];
|
||
for(let i in d.values){
|
||
timearr.push(i);
|
||
for(let j in d.values[i]){
|
||
if(arr[j]){
|
||
arr[j][i] = d.values[i][j]['p'];
|
||
}else {
|
||
arr[j]=[];
|
||
arr[j][i] = d.values[i][j]['p'];
|
||
}
|
||
}
|
||
}
|
||
|
||
var ydata = {};
|
||
for(let j in arr){
|
||
if(!ydata[j]){
|
||
ydata[j] = [];
|
||
}
|
||
for( let i in timearr ){
|
||
ydata[j].push("");
|
||
for(let z in arr[j]){
|
||
if(timearr[i] == z){
|
||
var index = arr[j][z].length - 1;
|
||
ydata[j][i] =arr[j][z][index];
|
||
}
|
||
}
|
||
}
|
||
}
|
||
console.log(ydata);
|
||
// for(let i in ydata){
|
||
// legenddata.push(i);
|
||
// var arr = {
|
||
// name: i,
|
||
// type: 'line',
|
||
// data: ydata[i]
|
||
// }
|
||
// seriesData.push(arr)
|
||
// }
|
||
}
|
||
return;
|
||
var myChart = echarts.init(document.getElementById('analysis-echarts'));
|
||
var option = {
|
||
title: {
|
||
text: ''
|
||
},
|
||
color: X.DATA.echartscolor,
|
||
tooltip: {
|
||
trigger: 'axis',
|
||
axisPointer: {
|
||
type: 'cross',
|
||
label: {
|
||
backgroundColor: '#6a7985'
|
||
}
|
||
}
|
||
},
|
||
legend: {
|
||
type:'scroll',
|
||
data: legenddata,
|
||
},
|
||
grid: {
|
||
left: '2%',
|
||
right: '2%',
|
||
bottom: '2%',
|
||
top: '10%',
|
||
containLabel: true
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: 'category',
|
||
boundaryGap: false,
|
||
data: xAxisData
|
||
}
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: 'value'
|
||
}
|
||
],
|
||
series: seriesData
|
||
};
|
||
myChart.setOption(option,true);
|
||
}
|
||
|
||
function retainednRetained(d){
|
||
var arr = {};
|
||
var legenddata = [];
|
||
var seriesData = [];
|
||
if(jQuery.isEmptyObject(d.values)){
|
||
var arr = []
|
||
for(let i in d['summary_values']){
|
||
var index = d['summary_values'][i]['p'].length - 1;
|
||
arr.push(d['summary_values'][i]['p'][index]);
|
||
}
|
||
|
||
seriesData = {
|
||
type: 'line',
|
||
data: arr
|
||
}
|
||
}else {
|
||
var timearr = [];
|
||
for(let i in d.values){
|
||
timearr.push(i);
|
||
for(let j in d.values[i]){
|
||
if(arr[j]){
|
||
arr[j][i] = d.values[i][j]['p'];
|
||
}else {
|
||
arr[j]=[];
|
||
arr[j][i] = d.values[i][j]['p'];
|
||
}
|
||
}
|
||
}
|
||
var ydata = {};
|
||
for(let j in arr){
|
||
if(!ydata[j]){
|
||
ydata[j] = [];
|
||
}
|
||
for( let i in timearr ){
|
||
ydata[j].push("");
|
||
for(let z in arr[j]){
|
||
if(timearr[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 myChart = echarts.init(document.getElementById('analysis-echarts'));
|
||
var option = {
|
||
title: {
|
||
text: ''
|
||
},
|
||
color: X.DATA.echartscolor,
|
||
tooltip: {
|
||
trigger: 'axis',
|
||
axisPointer: {
|
||
type: 'cross',
|
||
label: {
|
||
backgroundColor: '#6a7985'
|
||
}
|
||
}
|
||
},
|
||
legend: {
|
||
type:'scroll',
|
||
data: legenddata
|
||
},
|
||
grid: {
|
||
left: '2%',
|
||
right: '2%',
|
||
bottom: '2%',
|
||
top: '10%',
|
||
containLabel: true
|
||
},
|
||
xAxis: [
|
||
{
|
||
type: 'category',
|
||
boundaryGap: false,
|
||
data: d.date_range
|
||
}
|
||
],
|
||
yAxis: [
|
||
{
|
||
type: 'value'
|
||
}
|
||
],
|
||
series: seriesData
|
||
};
|
||
myChart.setOption(option,true);
|
||
|
||
}
|
||
|
||
var querydata;
|
||
$(document).off('click','.analtsis-chart-switch').on('click','.analtsis-chart-switch',function(){
|
||
if(querydata){
|
||
$('.analtsis-chart-switch-box .analtsis-chart-switch').removeClass('select-chart');
|
||
$(this).addClass('select-chart');
|
||
if($(this).attr('title') == '数据报表'){ $(".table-div-box").show(); $(".analysis-echarts").hide(); retainedtable(querydata)}
|
||
else if($(this).attr('title') == '第N日留存'){ $(".table-div-box").hide(); $(".analysis-echarts").show(); retainednRetained(querydata) }
|
||
else if($(this).attr('title') == '每日留存'){ $(".table-div-box").hide(); $(".analysis-echarts").show(); retaineddayRetained(querydata) }
|
||
}else{
|
||
layer.msg('请先计算数据,在切换图表');
|
||
}
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/returnvisitevent.js
|
||
(function(){
|
||
X.pageLogic['returnvisitevent'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
if(parms){
|
||
this.parms = parms;
|
||
var data = parms;
|
||
}else {
|
||
var data = []
|
||
}
|
||
console.log(data);
|
||
X.laytpldata("#analysis-overall-situation-list-box-return-dot",data,"#returnvisit-event");
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/route.js
|
||
(function(){
|
||
X.pageLogic['route'] = {
|
||
init : function(parms){
|
||
|
||
var me = this;
|
||
if(parms){
|
||
this.parms = parms;
|
||
var data = parms;
|
||
}else {
|
||
var data = []
|
||
}
|
||
console.log(data);
|
||
X.laytpldata("#route-overall-situation-list-box-dot",data,"#event-roue-event");
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/routeanalysis.js
|
||
(function(){
|
||
X.pageLogic['routeanalysis'] = {
|
||
init : function(){
|
||
var eventdata = {};
|
||
var filtsftvdata =[];
|
||
X.api("data_auth/my_event","get",{},function(d){
|
||
eventdata['list'] = d;
|
||
})
|
||
|
||
var data = {
|
||
"eventView":{
|
||
"cksql":'trace',
|
||
"col_limit":10,
|
||
"startTime":"",
|
||
"session_interval":30,
|
||
"session_type":"minute",
|
||
"endTime":""
|
||
},
|
||
"events":{
|
||
"by_fields":[
|
||
|
||
],
|
||
"event_names":[],
|
||
"source_event":{
|
||
"eventName":"",
|
||
"eventDesc":"",
|
||
"source_type":"initial_event",
|
||
"source_type_name":"初始事件",
|
||
"filts": [],
|
||
"relation":'and'
|
||
},
|
||
"user_filter":{
|
||
"filterType":"COMPOUND",
|
||
"filts":[]
|
||
}
|
||
},
|
||
"cachedata":{
|
||
"event_names":[],
|
||
"groupitemeventsdata":[],
|
||
"filtsftvdata":[]
|
||
}
|
||
}
|
||
|
||
|
||
X.template("route","event-roue-event",data['events']['source_event']);
|
||
|
||
// 日期渲染
|
||
X.daterender("#route-condition-date",function(start, end, label){
|
||
var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00";
|
||
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
|
||
data['eventView']['startTime'] = startTime;
|
||
data['eventView']['endTime'] = endTime;
|
||
X.api("ck/trace_model","post",data,function(d){
|
||
routeanalysisdata(d);
|
||
})
|
||
})
|
||
|
||
var time = $("#route-condition-date").val();
|
||
var timearr = time.split(" ");
|
||
data['eventView']['startTime'] = timearr[0] + " "+"00:00:00";
|
||
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
|
||
|
||
$(document).off('click','.eventsplit').on('click','.eventsplit',function(){
|
||
var routeevent = X['DATA']['routeevent'];
|
||
console.log(routeevent);
|
||
if( routeevent && routeevent.length > data['events']['by_fields'].length){
|
||
var arr = {
|
||
"eventName": routeevent[data['events']['by_fields'].length]['id'],
|
||
"eventDesc": routeevent[data['events']['by_fields'].length]['title'],
|
||
"field":"rmbmoney",
|
||
"fieDesc":"rmbmoney",
|
||
"range":"",
|
||
"range_type":"def",
|
||
"tableType":"event",
|
||
"intervalType":"",
|
||
"quotaIntervalArr":""
|
||
};
|
||
data['events']['by_fields'].push(arr);
|
||
X.laytpldata("#eventsplit-box-dot",data['events']['by_fields'],".eventsplit-box");
|
||
|
||
X.api("data_auth/load_filter_props","post",{event_name:routeevent[data['events']['by_fields'].length]['id']},function(val){
|
||
console.log(val);
|
||
// defaultgroupdata = val;
|
||
groupitemeventsdata.push(val);
|
||
})
|
||
|
||
}
|
||
})
|
||
|
||
$(document).off('click','.route-action-right').on('click','.route-action-right',function(){
|
||
var index = $(this).attr('data-index');
|
||
data['events']['by_fields'].splice(index,1);
|
||
X.laytpldata("#eventsplit-box-dot",data['events']['by_fields'],".eventsplit-box");
|
||
})
|
||
|
||
$(document).off('click','.participate-box').on('click','.participate-box',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(eventdata,'participate',offset.left,offset.top+obj.height(),function(val){
|
||
var selectdata = []; //选中事件的id数组
|
||
X.DATA['routeevent'] = [];
|
||
// var selectdescdata = []; //选中事件的别名数组
|
||
for(let i in val){
|
||
selectdata.push(val[i]['event_name']);
|
||
// selectdescdata.push(val[i]['event_desc']);
|
||
}
|
||
eventdata['select'] = selectdata;
|
||
data['events']['event_names'] = selectdata;
|
||
$('.participate-num').html(selectdata.length);
|
||
|
||
for(let i in val){
|
||
var arr = {
|
||
title: val[i]['event_desc']
|
||
,id: val[i]['event_name']
|
||
}
|
||
if(X.DATA['routeevent']){
|
||
X.DATA['routeevent'].push(arr);
|
||
}else {
|
||
X.DATA['routeevent'] = [];
|
||
X.DATA['routeevent'].push(arr);
|
||
}
|
||
}
|
||
data['events']['source_event']['eventName'] = X.DATA['routeevent'][0]['id'];
|
||
data['events']['source_event']['eventDesc'] = X.DATA['routeevent'][0]['title'];
|
||
X.template("route","event-roue-event",data['events']['source_event']);
|
||
|
||
X.api("data_auth/load_filter_props","post",{event_name:val[0]['event_name']},function(val){
|
||
// defaultgroupdata = val;
|
||
groupitemeventsdata.push(val);
|
||
})
|
||
})
|
||
})
|
||
|
||
var groupitemeventsdata = [];
|
||
$(document).off('click','.route-ant-select-selector1').on('click','.route-ant-select-selector1',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr('data-index');
|
||
X.querycriteriapop(X.DATA['routeevent'],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
obj.html(val.title);
|
||
data['events']['by_fields'][index]['eventDesc'] = val.title;
|
||
data['events']['by_fields'][index]['eventName'] = val.id;
|
||
X.api("data_auth/load_filter_props","post",{event_name:val.id},function(val){
|
||
console.log(val);
|
||
// defaultgroupdata = val;
|
||
groupitemeventsdata.push(val);
|
||
})
|
||
})
|
||
})
|
||
|
||
// 过滤数据
|
||
function filteringdata(){
|
||
var screentypedata;
|
||
if(groupitemeventsdata.length>1){
|
||
for(var i =0; i < groupitemeventsdata.length - 1; i++){
|
||
if(i == 0){
|
||
X.groupintersection(groupitemeventsdata[i] , groupitemeventsdata[Number(i) + Number(1)],function(d){
|
||
screentypedata = d;
|
||
});
|
||
}else {
|
||
X.groupintersection(screentypedata , groupitemeventsdata[Number(i) + Number(1)],function(d){
|
||
screentypedata = d;
|
||
})
|
||
}
|
||
}
|
||
}else {
|
||
screentypedata = groupitemeventsdata[0];
|
||
}
|
||
return screentypedata;
|
||
}
|
||
|
||
$(document).off('click','.route-ant-select-selector2').on('click','.route-ant-select-selector2',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = obj.attr('data-index');
|
||
X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){
|
||
console.log(val);
|
||
obj.html(val.title);
|
||
data['events']['by_fields'][index]['eventDesc'] = val.title;
|
||
data['events']['by_fields'][index]['eventName'] = val.id;
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.userevent-granularity').on('click','.userevent-granularity',function(){
|
||
var index = $(this).attr('data-index');
|
||
var sectionid = data['events']['by_fields'][index];
|
||
console.log(sectionid);
|
||
X.parametersopen(sectionid,'groupeditemspop',"auto",function(val){
|
||
data['events']['by_fields'][index]['intervalType'] = val.type;
|
||
if(val.type == "user_defined"){
|
||
data['events']['by_fields'][index]['quotaIntervalArr'] = val.quotaIntervalArr;
|
||
}
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-del').on('click','.analysis-overall-situation-del',function(){
|
||
var index = $(this).attr('data-index');
|
||
data['events']['user_filter']['filts'].splice(index,1);
|
||
filtsftvdata.splice(index,1);
|
||
if(data['events']['user_filter']['filts'].length > 1){
|
||
$(".analysis-overall-situation-left-guanxi").show();
|
||
}else{
|
||
$(".analysis-overall-situation-left-guanxi").hide();
|
||
}
|
||
})
|
||
|
||
$(document).off('click','.analysis-shaix-initial-event').on('click','.analysis-shaix-initial-event',function(){
|
||
addscreen(0)
|
||
})
|
||
|
||
$(document).off('click','.analysis-zhibiao-updata-initial-event').on('click','.analysis-zhibiao-updata-initial-event',function(){
|
||
addscreen(0)
|
||
})
|
||
|
||
// 添加筛选项
|
||
var filtersymbols = [];
|
||
function addscreen(index){
|
||
X.api('data_auth/load_filter_props',"post",{event_name:data['events']['source_event']["eventName"]},function(d){
|
||
var arr = {
|
||
"columnDesc":d[0]['category'][0]['title'],//事件中文显示
|
||
"columnName":d[0]['category'][0]['id'],//事件id
|
||
"comparator_name":d[0]['category'][0]['category'][0]['title'],//选择符号中文显示
|
||
"comparator":d[0]['category'][0]['category'][0]['id'],//符号id
|
||
"data_type":d[0]['category'][0]['data_type'],
|
||
"ftv":'',//条件
|
||
"strftv":'',//字符串显示条件
|
||
"tableType": d[0]['id']
|
||
} //筛选数据
|
||
data['events']['source_event']['filts'].push(arr);
|
||
X.template("route","event-roue-event",data['events']['source_event']); //更新事件
|
||
// screentypearr[index] = d;
|
||
filtersymbols.push(d[0]['category'][0]["category"]);
|
||
})
|
||
}
|
||
|
||
$(document).off('click','.analysis-con-left-screen-list-right-screen-qh-tit').on('click','.analysis-con-left-screen-list-right-screen-qh-tit',function(){
|
||
if($(this).html() == '或'){
|
||
$(this).html('且');
|
||
data['events']["source_event"]['relation'] = 'or';
|
||
}else{
|
||
$(this).html('或');
|
||
data['events']["source_event"]['relation'] = 'and';
|
||
}
|
||
})
|
||
|
||
$(document).off('click','.ant-dropdown-trigger').on('click','.ant-dropdown-trigger',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(X.DATA['routeevent'],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
obj.html(val.title);
|
||
data['events']['source_event']['eventDesc']= val.title;
|
||
data['events']['source_event']['eventName'] = val.id;
|
||
X.api("data_auth/load_filter_props","post",{event_name:val.id},function(val){
|
||
console.log(val);
|
||
// defaultgroupdata = val;
|
||
groupitemeventsdata.push(val);
|
||
})
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-zhibiao-list-type2').on('click','.analysis-zhibiao-list-type2',function(){
|
||
var eventdata = [
|
||
{'title':'初始事件','id':'initial_event'},
|
||
{'title':'结束事件','id':'termination_event'}
|
||
]
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(eventdata,'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
obj.html(val.title);
|
||
// data['events']['source_event']['source_type_name']= val.title;
|
||
data['events']['source_event']['source_type'] = val.id;
|
||
|
||
})
|
||
})
|
||
|
||
$(document).off("click",".ta-property-select").on('click','.ta-property-select',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var indexs = obj.attr("data-indexs");
|
||
X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){
|
||
obj.html(val.title);
|
||
filtersymbols[indexs] = val.category;
|
||
data['events']['source_event']['filts'][indexs]['columnDesc'] = val.title;
|
||
data['events']['source_event']['filts'][indexs]['columnName'] = val.id;
|
||
data['events']['source_event']['filts'][indexs]['data_type'] = val.type;
|
||
data['events']['source_event']['filts'][indexs]['tableType'] = val.table_type;
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-choicetypename').on('click','.analysis-choicetypename',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var indexs = $(this).attr("data-indexs");
|
||
X.querycriteriapop(filtersymbols[indexs],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
if(val != undefined){
|
||
obj.html(val.title);
|
||
data['events']['source_event']['filts'][indexs]['comparator_name'] = val.title;
|
||
data['events']['source_event']['filts'][indexs]['comparator'] = val.id;
|
||
X.template("userpar","userpar-event",data['events']);
|
||
}
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-zhibiao-list-type4 input').on('blur','.analysis-zhibiao-list-type4 input',function(){
|
||
var indexs = $(this).attr("data-indexs");
|
||
var val = $(this).val();
|
||
var valarr = val.split(",");
|
||
data['events']['source_event']['filts'][indexs]['ftv']=valarr;
|
||
data['events']['source_event']['filts'][indexs]['strftv']=val;
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-add').on('click','.analysis-overall-situation-add',function(){
|
||
var screentypedata = filteringdata();
|
||
if(!screentypedata) {alert('请先选择参与分析事件'); return;}
|
||
var drr={
|
||
"columnName":screentypedata[0]['category'][0]['title'],//事件中文显示
|
||
"column_id":screentypedata[0]['category'][0]['id'],//事件id
|
||
'data_type':screentypedata[0]['category'][0]['data_type'],//类型
|
||
'comparator_name':'等于',//默认等于
|
||
"comparator_id":'==',//符号id
|
||
"ftv":[],//条件
|
||
"strftv":'',//显示条件
|
||
"section":[-1,1],//区间
|
||
"table_type":screentypedata[0]['id']
|
||
};
|
||
data['events']['user_filter']['filts'].push(drr);
|
||
filtsftvdata.push(screentypedata[0]['category'][0]['category']);
|
||
if(data['events']['user_filter']['filts'].length > 1){
|
||
$(".analysis-overall-situation-left-guanxi").show();
|
||
}else{
|
||
$(".analysis-overall-situation-left-guanxi").hide();
|
||
}
|
||
X.template("globalfilter","xinwei-whole",data['events']['user_filter']['filts']);
|
||
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-attr').on('click','.analysis-overall-situation-attr',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = $(this).attr("data-index");
|
||
X.querycriteriapop(filteringdata(),'category',offset.left,offset.top+obj.height(),function(val){
|
||
obj.html(val.title);
|
||
data['events']['user_filter']['filts'][index]['columnName'] = val.title;
|
||
data['events']['user_filter']['filts'][index]['column_id'] = val.id;
|
||
data['events']['user_filter']['filts'][index]['data_type'] = val.type;
|
||
data['events']['user_filter']['filts'][index]['tableType'] = val.table_type;
|
||
filtsftvdata[index] = val.category;
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-fuhao').on('click','.analysis-overall-situation-fuhao',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
var index = $(this).attr("data-index");
|
||
X.querycriteriapop(filtsftvdata[index],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||
if(val != undefined){
|
||
obj.html(val.title);
|
||
data['events']['user_filter']['filts'][index]['comparator_name'] = val.title;
|
||
data['events']['user_filter']['filts'][index]['comparator_id'] = val.id;
|
||
if(val.id == "range"){
|
||
data['events']['user_filter']['filts'][index]['ftv'] = [-1,1];
|
||
}
|
||
X.template("globalfilter","xinwei-whole",data['events']['user_filter']['filts']);
|
||
}
|
||
})
|
||
})
|
||
$(document).off('click','.analysis-overall-situation-input input').on('blur','.analysis-overall-situation-input input',function(){
|
||
var val = $(this).val();
|
||
var index = $(this).attr("data-index");
|
||
data['events']['user_filter']['filts'][index]['strftv'] = val;
|
||
})
|
||
|
||
$(document).off('click','.analysis-overall-situation-input2 input').on('blur','.analysis-overall-situation-input2 input',function(){
|
||
var name = $(this).attr('name');
|
||
var val = $(this).val();
|
||
var index = $(this).attr("data-index");
|
||
|
||
if(name == 'start'){
|
||
data['events']['user_filter']['filts'][index]['ftv'][0] = val;
|
||
data['events']['user_filter']['filts'][index]['section'][0] = val;
|
||
}else {
|
||
data['events']['user_filter']['filts'][index]['ftv'][1] = val;
|
||
data['events']['user_filter']['filts'][index]['section'][1] = val;
|
||
}
|
||
})
|
||
|
||
// 时间粒度
|
||
var timeParticleSizearr = [
|
||
{'title':'秒','id':'second'},
|
||
{'title':'分钟','id':'minute'},
|
||
{'title':'小时','id':'hour'},
|
||
]
|
||
X.laydropdown('.route-condition',timeParticleSizearr,function(d){
|
||
console.log(d);
|
||
$(".route-condition").html(d.title);
|
||
data['eventView']['session_type'] = parseInt(d.id);
|
||
})
|
||
|
||
$(document).off('click','.analysis-con-left-screen-box2 input').on('blur','.analysis-con-left-screen-box2',function(){
|
||
data['eventView']['session_interval'] =parseInt($('.analysis-con-left-screen-box2 input').val());
|
||
})
|
||
|
||
//计算按钮
|
||
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
||
calculationdata();
|
||
});
|
||
|
||
|
||
function calculationdata(){
|
||
data['cachedata']['event_names'] = X['DATA']['routeevent'];
|
||
data['cachedata']['groupitemeventsdata'] = groupitemeventsdata;
|
||
data['cachedata']['filtsftvdata'] = filtsftvdata;
|
||
var dataArr = {
|
||
eventView: data.eventView,
|
||
events: data.events
|
||
}
|
||
X.api("ck/trace_model","post",dataArr,function(d){
|
||
routeanalysisdata(d);
|
||
})
|
||
}
|
||
|
||
// sql语句显示
|
||
$(document).off('click','.sqlquery').on('click','.sqlquery',function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
X.querycriteriapop(data,'conditionquery',offset.left - 410,offset.top+obj.height(),function(){
|
||
|
||
})
|
||
})
|
||
|
||
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){
|
||
X.parametersopen(data,'savereport','auto')
|
||
})
|
||
|
||
$(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;
|
||
filtsftvdata = data.cachedata.filtsftvdata;
|
||
groupitemeventsdata = data.cachedata.groupitemeventsdata;
|
||
$('.route-time-input').val(data['eventView']['session_interval']);
|
||
if(data['eventView']['session_type'] == "second"){
|
||
$(".route-condition").html("秒");
|
||
}else if(data['eventView']['session_type'] == "minute"){
|
||
$(".route-condition").html("分钟");
|
||
}else {
|
||
$(".route-condition").html("小时");
|
||
}
|
||
X.DATA['routeevent'] = data.cachedata.event_names;
|
||
$('.participate-num').html(data.cachedata.event_names.length);
|
||
|
||
X.template("route","event-roue-event",data['events']['source_event']);
|
||
X.template("globalfilter","xinwei-whole",data['events']['user_filter']['filts']);
|
||
X.laytpldata("#eventsplit-box-dot",data['events']['by_fields'],".eventsplit-box");
|
||
// X.template("userpar","userpar-event",data['events']);
|
||
|
||
calculationdata();
|
||
}
|
||
|
||
})
|
||
})
|
||
|
||
function routeanalysisdata(d){
|
||
var myChart = echarts.init(document.getElementById('routeanalysis-echarts'));
|
||
|
||
var colordata = X.DATA['echartscolor'];
|
||
var levelsdata = [];
|
||
for(let i in colordata){
|
||
var arr = {
|
||
depth: i,
|
||
itemStyle: {
|
||
color: colordata[i]
|
||
},
|
||
label: {
|
||
show:true,
|
||
position: 'center'
|
||
},
|
||
lineStyle: {
|
||
color: 'source',
|
||
opacity: 0.6
|
||
}
|
||
};
|
||
levelsdata.push(arr);
|
||
}
|
||
|
||
myChart.setOption(option = {
|
||
title: {
|
||
text: '用户行为路径'
|
||
},
|
||
grid: {
|
||
left: '2%',
|
||
right: '2%',
|
||
bottom: '2%',
|
||
top: '10%',
|
||
containLabel: true
|
||
},
|
||
tooltip: {
|
||
trigger: 'item',
|
||
triggerOn: 'mousemove'
|
||
},
|
||
series: [
|
||
{
|
||
type: 'sankey',
|
||
data: d.nodes,
|
||
links: d.links,
|
||
emphasis: {
|
||
focus: 'adjacency'
|
||
},
|
||
levels: levelsdata,
|
||
lineStyle: {
|
||
curveness: 0.5
|
||
}
|
||
}
|
||
]
|
||
});
|
||
}
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/savedbaobiao.js
|
||
(function(){
|
||
X.pageLogic['savedbaobiao'] = {
|
||
init : function(parms){
|
||
// 弹窗占满整平
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var type = parms.extData;
|
||
layui.form.render();
|
||
$(".saved-bg").css('height',window.innerHeight+'px');
|
||
|
||
var data = []
|
||
reportdata();
|
||
|
||
function reportdata(){
|
||
X.api("report/read_report",'post',{project_id:X.DATA.projectid},function(d){
|
||
data = d;
|
||
updatalist(type);
|
||
$(".saved-select-type").val(type);
|
||
})
|
||
}
|
||
|
||
//关闭页面
|
||
$(".saved-top img").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
// 搜索报表选中事件
|
||
$(".saved-sousuo-box .saved-txt").focus(function(){
|
||
$(this).css("border","1px solid #3d90ff");
|
||
$(this).css("box-shadow","0 0px 4px rgba(61, 144, 255, 0.45)");
|
||
})
|
||
// 失去光标事件
|
||
$(".saved-sousuo-box .saved-txt").blur(function(){
|
||
$(this).css("border","1px solid #eee");
|
||
$(this).css("box-shadow","none");
|
||
})
|
||
|
||
// 下拉框
|
||
$(".saved-select-type").change(function(){
|
||
updatalist($(this).val())
|
||
})
|
||
|
||
function updatalist(title){
|
||
console.log(title);
|
||
var screendata=[];//筛选后的数据
|
||
for(let i in data){
|
||
if(title == 0){
|
||
screendata = data;
|
||
}else {
|
||
if(data[i]['cat'] == title){
|
||
screendata.push(data[i]);
|
||
}
|
||
}
|
||
}
|
||
|
||
X.laytpldata("#saved-list-box-dot",screendata,".saved-list-box");
|
||
}
|
||
|
||
// 点击报表数据
|
||
$(document).off('click','.saved-list').on('click','.saved-list',function(){
|
||
var index = $(this).attr("data-index");
|
||
if(type == data[index]['cat']){
|
||
me.callback && me.callback(data[index]);
|
||
layer.closeAll();
|
||
}else {
|
||
layer.msg('选择报表不是当前分析报表');
|
||
}
|
||
})
|
||
|
||
// 搜索
|
||
$('.saved-sousuo-box .saved-txt').bind('input propertychange', function() {
|
||
// console.log($(this).val());
|
||
var screendata=[];//筛选后的数据
|
||
for(let i in data){
|
||
if($(this).val() != ""){
|
||
if(data[i]['name'].indexOf($(this).val()) != -1){
|
||
screendata.push(data[i]);
|
||
}
|
||
}else {
|
||
screendata = data;
|
||
}
|
||
}
|
||
X.laytpldata("#saved-list-box-dot",screendata,".saved-list-box");
|
||
})
|
||
|
||
// 删除报表
|
||
$(document).off('click','.saved-list-del').on("click",".saved-list-del",function(e){
|
||
var id = $(this).attr("data-id");
|
||
e.stopPropagation();
|
||
X.api("report/delete","post",{"_id": id},function(d){
|
||
layer.msg('删除成功!!!');
|
||
reportdata();
|
||
})
|
||
})
|
||
|
||
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/savereport.js
|
||
(function(){
|
||
X.pageLogic['savereport'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var data = parms.extData;
|
||
if(data._id){
|
||
layui.form.val('savereportexample', {
|
||
"title": data['name']
|
||
,"desc": data['desc']
|
||
});
|
||
}
|
||
$(document).off('click',".savereport-but-qd").on('click','.savereport-but-qd',function(){
|
||
var tabval = layui.form.val('savereportexample');
|
||
if(tabval['title'] == ""){
|
||
layer.msg("请填写报表名称");
|
||
return false;
|
||
}
|
||
if(tabval['desc'] == ""){
|
||
layer.msg("请填写报表备注");
|
||
return false;
|
||
}
|
||
|
||
if(data._id){
|
||
var arr = {
|
||
name: tabval['title'],
|
||
desc:tabval['desc'],
|
||
query:data['query'],
|
||
report_id:data['_id']
|
||
// project_id:X.DATA.projectid,
|
||
// cat: data['query']['eventView']['cksql']
|
||
}
|
||
X.api('report/edit','post',arr,function(d){
|
||
layer.msg(d);
|
||
layer.closeAll();
|
||
})
|
||
}else {
|
||
var arr = {
|
||
name: tabval['title'],
|
||
desc:tabval['desc'],
|
||
query:data,
|
||
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();
|
||
})
|
||
}
|
||
|
||
|
||
})
|
||
|
||
$(document).off('click',".savereport-but-qx").on('click','.savereport-but-qx',function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/screen.js
|
||
(function(){
|
||
X.pageLogic['screen'] = {
|
||
init : function(){
|
||
var width = window.innerWidth - 270;
|
||
$(".screen-box").css("width",width+"px");
|
||
|
||
// 显示隐藏添加条件按钮
|
||
$(".screen-right-box .img").click(function(){
|
||
if($(".screen-buttom-box").css('display') == 'block'){
|
||
$(".screen-buttom-box").hide();
|
||
$(".screen-left-qei").css('bottom','0px');
|
||
$(".screen-right-box .img").css('transform','rotate(180deg)');
|
||
}else {
|
||
$(".screen-buttom-box").show();
|
||
$(".screen-left-qei").css('bottom','24px');
|
||
$(".screen-right-box .img").css('transform','rotate(360deg)');
|
||
}
|
||
});
|
||
|
||
//清空按钮
|
||
$(".screen-right-box .qingkong").click(function(){
|
||
layer.closeAll();
|
||
});
|
||
|
||
$(".screen-left-box .screen-left-qei").click(function(){
|
||
if($(this).html() == "且"){
|
||
$(this).html("或");
|
||
}else {
|
||
$(this).html("且");
|
||
}
|
||
})
|
||
|
||
var dataid = 1;//给添加的数据一个id,方便后面好对应数据
|
||
//默认开始时有一个数据
|
||
var data = [];
|
||
|
||
// {
|
||
// 'dataid': 0,
|
||
// 'conditionone': '来源渠道' ,
|
||
// 'conditiononeid': '1' ,
|
||
// 'conditiontwo':'等于' ,
|
||
// 'conditiontwotime': true ,
|
||
// 'conditiontwotimestart':'0000000000',
|
||
// 'conditionthree':'' }
|
||
//初始一个数据
|
||
// X.laytpldata ("#screen-con-box-dot" ,data,".screen-con-box");
|
||
// X.laydropdown(rightboxid,arr,function(d){
|
||
// console.log(d);
|
||
// });
|
||
updatascreencon();
|
||
function updatascreencon(){
|
||
var index = dataid;
|
||
var Divcon = `<div class="screen-con-bg" id="screen-con-bg`+index+`">
|
||
<div class="left-type" id="left-type`+index+`" data-id="left-type`+index+`">
|
||
<img src="./static/img/zhanghu.png">
|
||
<span>来源渠道</span>
|
||
</div>
|
||
|
||
<div class="content-type">
|
||
<select class="screen-content-sel" data-id="screen-content-sel`+index+`" id="screen-content-sel`+index+`" name="interest" lay-filter="aihao">
|
||
<option>等于</option>
|
||
<option>不等于</option>
|
||
</select>
|
||
|
||
<div class="screen-content-time-box" id="screen-content-time-box`+index+`">
|
||
<img src="./static/img/rqi.png">
|
||
<input class="timechoice" id="time-box-timechoice`+index+`" data-id="time-box-timechoice`+index+`" value="2021-03-11 ~ 2021-04-09" readonly="readonly">
|
||
</div>
|
||
</div>
|
||
<div class="right-box" id="right-box`+index+`">
|
||
<input type="type" class="screen-right-txt" data-id="`+index+`" placeholder="输入条件">
|
||
</div>
|
||
<div class="screen-del" data-id="screen-del`+index+`"></div>
|
||
</div>`
|
||
$(".screen-con-box").append(Divcon);
|
||
var rightboxid = "#right-box"+index+" .screen-right-txt";
|
||
X.laydropdown(rightboxid,X.DATA.search.condition,function(d){
|
||
$(rightboxid).val(d.title);
|
||
});
|
||
// 添加数据
|
||
var arr = {
|
||
'dataid':dataid++,
|
||
'conditionone': '来源渠道' ,
|
||
'conditiononeid': '1' ,
|
||
'conditiontwo':'等于' ,
|
||
'conditiontwotime': true ,
|
||
'conditiontwotimestart':'0000000000',
|
||
'conditionthree':''
|
||
};
|
||
data.push(arr);
|
||
X.daterender("#time-box-timechoice"+index);
|
||
if(data.length > 1){
|
||
$(".screen-left-qei").show();
|
||
}
|
||
}
|
||
|
||
//条件添加按钮
|
||
$(".screen-buttom-box .screen-buttom").click(function(){
|
||
updatascreencon();
|
||
});
|
||
|
||
X.daterender("#time-box-timechoice1");
|
||
|
||
$(document).on("click",".screen-con-bg .left-type",function(){
|
||
var obj = $(this);
|
||
var offset = obj.offset();
|
||
//点击按钮,数据,向左偏移,向右偏移
|
||
X.querycriteriapop(X.DATA.search,'category',offset.left,offset.top+obj.height(),function(val){
|
||
var id = obj.attr("data-id");
|
||
$("#"+id+" "+"span").html(val.title); //修改筛选项一
|
||
var idarr = id.split('type');
|
||
var index = idarr[1]; //获取到点击的第几个
|
||
data[index]['conditionone'] = val.title; //修改数组里面title的值
|
||
data[index]['conditiononeid'] = val.id;
|
||
if(val.type == "time"){
|
||
$("#screen-content-time-box"+index).show();//显示时间选择
|
||
$("#screen-content-sel"+index).hide();//隐藏下拉框
|
||
$("#right-box"+index).hide();//隐藏文本框
|
||
data[index]['conditiontwotimestart'] = $("#time-box-timechoice"+index).val();
|
||
}else {
|
||
$("#screen-content-time-box"+index).hide();//隐藏时间选择
|
||
$("#screen-content-sel"+index).show();//显示下拉框
|
||
var txtval = $("#screen-content-sel"+index).val();
|
||
if(txtval == 4 || txtval == 5 ){
|
||
$("#right-box"+index).hide();//隐藏文本框
|
||
}else {
|
||
$("#right-box"+index).show();//隐藏文本框
|
||
}
|
||
}
|
||
// console.log(data);
|
||
});
|
||
});
|
||
|
||
//下拉选项触发事件
|
||
$(".screen-content-sel").change(function(){
|
||
var val = $(this).val();
|
||
var dataid = $(this).attr("data-id");
|
||
var arr = dataid.split('sel');
|
||
var index = arr[1];
|
||
data[index]['conditiontwo'] = val;
|
||
// console.log(data);
|
||
});
|
||
|
||
//时间选择框数字发生改变
|
||
$('.screen-content-time-box .timechoice').bind('input propertychange', function() {
|
||
var txt = $(this).val()
|
||
var dataid = $(this).attr("data-id");
|
||
var arr = dataid.split('timechoice');
|
||
var index = arr[1];
|
||
data[index]['conditiontwotimestart'] = txt;
|
||
// console.log(data);
|
||
})
|
||
|
||
//文本框条件输入触发事件
|
||
$('.screen-right-txt').bind('input propertychange', function() {
|
||
var txt = $(this).val();
|
||
var index = $(this).attr("data-id");
|
||
data[index]['conditionthree'] = txt;
|
||
console.log(data);
|
||
})
|
||
|
||
//删除按钮
|
||
$(document).on("click",".screen-con-bg .screen-del",function(){
|
||
if(data.length > 1){
|
||
var dataid = $(this).attr('data-id');
|
||
var arr = dataid.split('del');
|
||
var index = arr[1];
|
||
for(let i in data){
|
||
if(index == data[i]['dataid']){
|
||
data.splice(i, 1);
|
||
$("#screen-con-bg"+index).remove();
|
||
}
|
||
}
|
||
if(data.length == 1){
|
||
$(".screen-left-box .screen-left-qei").hide();
|
||
}
|
||
}else {
|
||
layer.closeAll();
|
||
}
|
||
|
||
})
|
||
|
||
// 计算按钮
|
||
$(".screen-right-box .jisuan").click(function(){
|
||
console.log(data);
|
||
// 刷新看板里的数据暂时没有
|
||
|
||
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/search.js
|
||
//cc
|
||
(function(){
|
||
X.pageLogic['search'] = {
|
||
init : function(){
|
||
$(".search_pop .zhanghu_box").click(function(){
|
||
var obj = $(".search_pop .zhanghu_box");
|
||
var offset = obj.offset();
|
||
|
||
//点击按钮,数据,向左偏移,向右偏移
|
||
X.querycriteriapop(X.DATA.search,'category',offset.left,offset.top+obj.height(),function(val){
|
||
|
||
$(".search_top .zhanghu_box span").html(val.title);
|
||
$(".search_top .zhanghu_box span").attr('data-id',val.id);
|
||
$(".search_top .zhanghu_box span").attr('data-type',val.type);
|
||
var judgeid = $(".search_left .judge_box").val();
|
||
if(val.type == 'time'){
|
||
//type为time是隐藏文本框,显示时间选择框
|
||
$(".search_left .judge_box").hide();
|
||
$(".search_left .search_txt").hide();
|
||
$(".search_left .time-box").show();
|
||
}else {
|
||
$(".search_left .judge_box").show();
|
||
if(judgeid == 4 || judgeid == 5 ){ //当judfeid 等于4和5时隐藏文本框,只显示下拉框
|
||
$(".search_left .search_txt").hide();
|
||
}else{
|
||
$(".search_left .search_txt").show();
|
||
}
|
||
$(".search_left .time-box").hide();
|
||
}
|
||
|
||
});
|
||
});
|
||
// 渲染条件框数据
|
||
X.laytpldata("#judge-box-dot",X.DATA.search['condition'],'.judge_box');
|
||
//渲染日期选择器
|
||
X.daterender(".timechoice");
|
||
|
||
// 下拉选项改变事件
|
||
$(".search_left .judge_box").change(function(){
|
||
var judgeid = $(this).val();
|
||
if(judgeid == 4 || judgeid == 5){
|
||
$('.search_left .search_txt').hide();
|
||
}else {
|
||
$('.search_left .search_txt').show();
|
||
}
|
||
});
|
||
|
||
// 搜索按钮单击事件
|
||
$(".search_top .searcg_but").click(function(){
|
||
var typeid = $(".search_top .zhanghu_box span").attr('data-id');//属性id
|
||
var type = $(".search_top .zhanghu_box span").attr('data-type');//属性id
|
||
var condition = $(".search_left .judge_box").val(); //条件
|
||
var details = $(".search_left .search_txt").val();//详情
|
||
var time = $(".search_left .time-box .timechoice").val();//时间
|
||
var timearr = time.split('-');
|
||
var startdate = timearr[0]+ "-" + timearr[1] +"-"+ timearr[2];
|
||
var enddate= timearr[3]+ "-" + timearr[4] +"-"+ timearr[5];
|
||
|
||
var start = new Date(startdate);
|
||
var starttime = Date.parse(start)/1000;
|
||
|
||
var end = new Date(enddate);
|
||
var endtime = Date.parse(end)/1000;
|
||
var data;
|
||
//当type为time时不用传condition,details,当condition为5或4时不用传details
|
||
if( type != "time" ){
|
||
if(condition == 4 || condition == 5){
|
||
data = {
|
||
typeid: typeid,
|
||
condition:condition
|
||
}
|
||
}else {
|
||
data = {
|
||
typeid: typeid,
|
||
condition:condition,
|
||
details:details
|
||
}
|
||
}
|
||
}else {
|
||
data = {
|
||
typeid: typeid,
|
||
starttime: starttime,
|
||
endtime:endtime
|
||
}
|
||
}
|
||
X.api('api/userquery',data,function (d){
|
||
X.laytpldata("#search-data-dot",d.datalist,".search_pop .search_data");
|
||
$(".more_data span").html(d.totalNum);
|
||
$(".search_pop .more_data-box").show();
|
||
});
|
||
})
|
||
},
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/setgrouping.js
|
||
(function(){
|
||
X.pageLogic['setgrouping'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var data = parms.extData;
|
||
|
||
X.laytpldata("#judge-box-dot",data,".setgrouping-box .setgrouping-content-box");
|
||
|
||
// 搜索
|
||
$('.setgrouping-sousuo-txt-box input').bind('input propertychange', function() {
|
||
var value = $(this).val();
|
||
console.log(data);
|
||
if(value != ""){
|
||
$(".setgrouping-sousuo-txt-box img").show();
|
||
var filteringdata = [];
|
||
for(let i in data){
|
||
var detailsdata = [];
|
||
for(let j in data[i]["category"]){
|
||
if(data[i]["category"][j]['event_name'].indexOf(value) != -1){
|
||
detailsdata.push(data[i]["category"][j]);
|
||
}
|
||
}
|
||
if(detailsdata.length >0){
|
||
var arr = {
|
||
"title": data[i]['title'],
|
||
"id":data[i]['id'],
|
||
"category": detailsdata
|
||
};
|
||
filteringdata.push(arr);
|
||
}
|
||
}
|
||
console.log(filteringdata);
|
||
X.laytpldata("#judge-box-dot",filteringdata,".setgrouping-box .setgrouping-content-box");
|
||
}else {
|
||
$(".setgrouping-sousuo-txt-box img").hide();
|
||
X.laytpldata("#judge-box-dot",data,".setgrouping-box .setgrouping-content-box");
|
||
}
|
||
})
|
||
|
||
//清空按钮
|
||
$(".setgrouping-sousuo-txt-box img").click(function(){
|
||
$(".setgrouping-sousuo-txt-box input").val("");
|
||
$(".setgrouping-sousuo-txt-box img").hide();
|
||
X.laytpldata("#judge-box-dot",data,".setgrouping-box .setgrouping-content-box");
|
||
})
|
||
|
||
$(document).off('click','.setgrouping-content-list').on('click','.setgrouping-content-list',function(){
|
||
var index = $(this).attr('data-index');
|
||
var indexs = $(this).attr('data-indexs');
|
||
var valdata = {
|
||
'name':$(this).attr('data-name'),
|
||
'id':$(this).attr('data-id'),
|
||
'event_attr':data[index]['category'][indexs].event_attr,
|
||
'event_filter':data[index]['category'][indexs].event_filter
|
||
}
|
||
me.callback && me.callback(valdata);
|
||
|
||
layer.close( me.parms.layIndex );//获取最新的弹窗关闭
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/sqlquery.js
|
||
(function(){
|
||
X.pageLogic['sqlquery'] = {
|
||
init : function(){
|
||
$(document).off('click','.sqlquery-but').on('click','.sqlquery-but',function(){
|
||
var txt = $('.sql-textarea').val();
|
||
|
||
// console.log(EncodeURIFilter(txt));
|
||
|
||
X.api("ck/sql","post",{"sql": txt},function(d){
|
||
console.log(JSON.stringify(d));
|
||
$('.table-sql-box-con').html(JSON.stringify(d));
|
||
})
|
||
|
||
})
|
||
|
||
// function EncodeURIFilter(str) {
|
||
// if(str != null && str != "") {
|
||
// str = str.replace(/\+/g, "%2B");
|
||
// str = str.replace(/\&/g, "%26");
|
||
// }
|
||
// return str;
|
||
// }
|
||
|
||
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/timeadmin.js
|
||
(function(){
|
||
X.pageLogic['timeadmin'] = {
|
||
init : function(){
|
||
var tagData = [{"id":12,"name":"12"},{"id":13,"name":"13"},{"id":14,"name":"14"},
|
||
{"id":15,"name":"15"},{"id":16,"name":"16"},{"id":17,"name":"17"},{"id":18,"name":"18"},
|
||
{"id":12,"name":"12"},{"id":13,"name":"13"},{"id":14,"name":"14"},{"id":15,"name":"15"},
|
||
{"id":16,"name":"16"},{"id":17,"name":"17"},{"id":18,"name":"18"}];
|
||
|
||
var timedata = layui.selectM({
|
||
//元素容器【必填】
|
||
elem: "#timeadmin-shiqu"
|
||
//候选数据【必填】
|
||
,data: tagData
|
||
,width: 42
|
||
,max: 100
|
||
//添加验证
|
||
,verify:'required'
|
||
});
|
||
timedata.set([12,13]); //给以选中时区赋值
|
||
$(document).on("click",".timeadmin-but-box .timeadmin-qd",function(){
|
||
console.log(timedata.values);
|
||
|
||
})
|
||
|
||
$(document).on("click",".timeadmin-but-box .timeadmin-qx",function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/toptab.js
|
||
(function(){
|
||
X.pageLogic['toptab'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
var data;
|
||
if(parms){
|
||
this.parms = parms;
|
||
data = parms;
|
||
}else {
|
||
X.api("project/","get",{},function(d){
|
||
data = d;
|
||
X.DATA['projectarr'] = d;
|
||
X.DATA['projectid'] = d[0]["_id"];
|
||
X.DATA["game"] = d[0]["game"];
|
||
});
|
||
}
|
||
console.log(data);
|
||
// 选择项目
|
||
|
||
X.laytpldata("#toptab-dot",data,"#analysis-zhanwei");
|
||
|
||
$(document).off('click','.selectproject').on('click','.selectproject',function(){
|
||
var id = $(this).attr("data-id");
|
||
var game = $(this).attr("data-game");
|
||
$(".projecttit").html($(this).html());
|
||
X.DATA['projectid'] = id;
|
||
X.DATA["game"] = game;
|
||
//侧边栏数据渲染
|
||
X.pageLogic.dashboard.freshMenu(id);
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/updatapassword.js
|
||
(function(){
|
||
X.pageLogic['updatapassword'] = {
|
||
init : function(){
|
||
|
||
$(document).on("click",'.updatapassword-top-box',function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(document).on("click",".updatapassword-qx",function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(document).on("click",".updatapassword-qd",function(){
|
||
var data = layui.form.val('updatapasswordexample');
|
||
if(data.newpassword != data.reppassword){
|
||
layer.msg('两次密码不一致');
|
||
return;
|
||
}
|
||
X.api('user/reset_my_password',"post",{password:data.newpassword},function(d){
|
||
layer.closeAll();
|
||
layer.msg('修改成功');
|
||
})
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/updatepas.js
|
||
(function(){
|
||
X.pageLogic['updatepas'] = {
|
||
init : function(parms){
|
||
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback; //选择后执行的回调
|
||
var data = parms.extData;//获取到上层弹窗传的数据
|
||
|
||
$(".updatepas-but-box .updatepas-qx").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".updatepas-top-box img").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".updatepas-but-box .updatepas-qd").click(function(){
|
||
var fromdata = layui.form.val("updatepasexample");
|
||
var password = fromdata['password'];
|
||
var password2 = fromdata['password2'];
|
||
if(password != password2){
|
||
layer.msg("密码不一致!!!");
|
||
return;
|
||
}
|
||
X.api('user/reset_password',"post",{username: data.name,password:password2},function(d){
|
||
layer.msg('修改成功');
|
||
me.callback && me.callback(d);
|
||
layer.closeAll();
|
||
})
|
||
})
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/useradmin.js
|
||
(function(){
|
||
X.pageLogic['useradmin'] = {
|
||
init : function(){
|
||
var me = this;
|
||
$(document).on("click",".useradmin-top-box .useradmin-tab-box .useradmin-tab",function(){
|
||
$(".useradmin-top-box .useradmin-tab-box .useradmin-tab").removeClass('useradmin-tab-click');
|
||
$(this).addClass("useradmin-tab-click");
|
||
var htmlval = $(this).html();
|
||
if(htmlval.length == 17){
|
||
$(".useradmin-btn").show();
|
||
$(".useradmin-info").show();
|
||
$(".useradmin-group").hide();
|
||
|
||
}else {
|
||
$(".useradmin-btn").hide();
|
||
$(".useradmin-info").hide();
|
||
$(".useradmin-group").show();
|
||
|
||
}
|
||
})
|
||
|
||
$(".useradmin-ss-box input").focus(function(){
|
||
$(".useradmin-ss-box").css("border",'1px solid #4fa1ff');
|
||
$(".useradmin-ss-box").css("box-shadow",'0 0 4px rgba(61,144,255,0.45)');
|
||
});
|
||
|
||
$(".useradmin-ss-box input").blur(function(){
|
||
$(".useradmin-ss-box").css("border",'1px solid #f0f0f0');
|
||
$(".useradmin-ss-box").css("box-shadow",'none');
|
||
});
|
||
|
||
me.useradmin();
|
||
|
||
$(".useradmin-info").click(function(){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
skin: 'yourclass',
|
||
url: 'adduser'
|
||
})
|
||
})
|
||
|
||
$(".addexistuser").click(function(){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
skin: 'yourclass',
|
||
url: 'addexistuser'
|
||
})
|
||
})
|
||
|
||
$(".importuser").click(function(){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
skin: 'yourclass',
|
||
url: 'importuser'
|
||
})
|
||
})
|
||
|
||
$(".useradmin-group").click(function(){
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
skin: 'yourclass',
|
||
url: 'addusergroup'
|
||
})
|
||
})
|
||
|
||
layui.table.on('tool(test)', function(obj){
|
||
var data = obj.data;
|
||
console.log(obj);
|
||
if(obj.event === "edit"){
|
||
// 编辑
|
||
X.open({
|
||
type: 1,
|
||
title: false,
|
||
closeBtn: 0,
|
||
shadeClose: true,
|
||
skin: 'yourclass',
|
||
url: 'useradminedit'
|
||
})
|
||
}else if(obj.event == "password"){
|
||
//重置密码
|
||
X.parametersopen(data,"updatepas",'auto',function(){
|
||
me.useradmin()
|
||
})
|
||
}else if(obj.event == "del"){
|
||
// 删除
|
||
X.parametersopen(data,"deluserinfo",'auto',function(){
|
||
me.useradmin()
|
||
})
|
||
}
|
||
})
|
||
|
||
},
|
||
useradmin : function(id){
|
||
|
||
X.tabledata('#userdata','project/members',[[
|
||
{field:'name', width:180, title: '成员账号', sort: true}
|
||
,{field:'nickname', width:180, title: '成员显示名'}
|
||
,{field:'role', width:180, title: '项目角色', sort: true}
|
||
,{field:'data_auth', width:180, title: '数据权限'}
|
||
,{field:'sign', title: '所属成员组', width: 180}
|
||
,{field:'last_login_ts', title: '最后访问时间', sort: true}
|
||
,{fixed: 'right', title:'操作', toolbar: '#barDemo', width:200}
|
||
]]);
|
||
|
||
}
|
||
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/useradminedit.js
|
||
(function(){
|
||
X.pageLogic['useradminedit'] = {
|
||
init : function(){
|
||
var data = {
|
||
"authDataPowers":[
|
||
{
|
||
title: '全部事件'
|
||
,id: -1
|
||
}
|
||
],
|
||
"authRoles":[
|
||
{
|
||
title:"管理员",
|
||
id:0
|
||
},
|
||
{
|
||
title:"分析师",
|
||
id:1
|
||
},
|
||
{
|
||
title:"普通成员",
|
||
id:2
|
||
},
|
||
]
|
||
}
|
||
X.laytpldata("#useradminedit-js-dot",data["authRoles"],".useradminedit-js");
|
||
X.laytpldata("#useradminedit-sjqx-dot",data["authDataPowers"],".useradminedit-sjqx");
|
||
layui.form.render();
|
||
|
||
$(".useradminedit-top-box img").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".useradminedit-qx").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".useradminedit-qd").click(function(){
|
||
var data = layui.form.val('example');
|
||
|
||
layer.closeAll();
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/userattradmin.js
|
||
(function(){
|
||
X.pageLogic['userattradmin'] = {
|
||
init : function(){
|
||
var me = this;
|
||
me.userattradminlist();
|
||
layui.table.on('tool(userattradmintest)', function(obj){
|
||
var data = obj.data;
|
||
if(obj.event === 'edit'){
|
||
data['cat'] = 'user'
|
||
X.parametersopen(data,"eventattradminedit",'auto',function(){
|
||
me.userattradminlist();
|
||
})
|
||
}
|
||
})
|
||
|
||
|
||
},
|
||
userattradminlist : function(){
|
||
X.laytabledata("#userattradmin-table","data_mana/attr_list",[[
|
||
{field:'name', title: '属性名', sort: true}
|
||
,{field:'show_name', title: '显示名'}
|
||
,{field:'data_type', title: '数据类型', sort: true,templet:function(d){
|
||
if(d.data_type == "string"){
|
||
return '文本'
|
||
}else if(d.data_type == "ip"){
|
||
return 'ip'
|
||
}else if(d.data_type == "int"){
|
||
return '数值'
|
||
}else if(d.data_type == "float"){
|
||
return '浮点型'
|
||
}else if(d.data_type == "datetime"){
|
||
return '时间'
|
||
}else if(d.data_type == "array"){
|
||
return '数组'
|
||
}
|
||
}}
|
||
,{field:'city', title: '单位'}
|
||
,{field:'is_show', title: '显示状态', minWidth: 100,templet:function(d){
|
||
if(d.is_show){
|
||
return '显示'
|
||
}else {
|
||
return '<span style="color: #acbad0">隐藏</span>'
|
||
}
|
||
}}
|
||
,{field:'attr_type', title: '属性类型', sort: true}
|
||
,{field:'score', title: '维度表', sort: true}
|
||
,{fixed: 'right', title:'操作', toolbar: '#userattradminbarDemo', width:80}
|
||
]]
|
||
,"&cat=user");
|
||
}
|
||
|
||
|
||
|
||
};
|
||
})();
|
||
|
||
// srczip/logic/userpar.js
|
||
(function(){
|
||
X.pageLogic['userpar'] = {
|
||
init : function(parms){
|
||
|
||
var me = this;
|
||
if(parms){
|
||
this.parms = parms;
|
||
var data = parms;
|
||
}else {
|
||
var data = []
|
||
}
|
||
console.log(data);
|
||
X.laytpldata("#userpar-overall-situation-list-box-dot",data[0],"#userpar-event");
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/usersbtx.js
|
||
(function(){
|
||
X.pageLogic['usersbtx'] = {
|
||
init : function(){
|
||
|
||
var data1 = [
|
||
{"value": "1", "title": "李白"}
|
||
,{"value": "2", "title": "杜甫"}
|
||
,{"value": "3", "title": "苏轼"}
|
||
,{"value": "4", "title": "李清照"}
|
||
,{"value": "5", "title": "鲁迅"}
|
||
,{"value": "6", "title": "巴金"}
|
||
,{"value": "7", "title": "冰心"}
|
||
,{"value": "8", "title": "矛盾"}
|
||
,{"value": "9", "title": "贤心"}
|
||
]
|
||
|
||
//渲染穿梭框
|
||
X.laytransfer("#lay-usersbtx",data1,['选择用户识别属性', '已添加属性'],"usersbtxinfo");
|
||
|
||
$(".usersbtx-qx").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".usersbtx-top-box").click(function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(".usersbtx-qd").click(function(){
|
||
var getData = layui.transfer.getData('usersbtxinfo');
|
||
layer.closeAll();
|
||
console.log(getData);
|
||
})
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/yidong-pop.js
|
||
(function(){
|
||
X.pageLogic['yidong-pop'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback; //选择后执行的回调
|
||
var data = parms.extData;//获取到上层弹窗传的数据
|
||
var comboTree1,comboTree2
|
||
comboTree1 = $('.yidong-txt-box .justAnotherInputBox1').comboTree({
|
||
source : X.DATA.KanBanData,
|
||
isMultiple: false
|
||
});
|
||
comboTree2 = $('.yidong-txt-box .justAnotherInputBox2').comboTree({
|
||
source : X.DATA.ProjectData,
|
||
isMultiple: false
|
||
});
|
||
|
||
//叉图标关闭弹窗
|
||
$(".yidong-top .yidong-cha").click(function(){
|
||
console.log(layer.index)
|
||
parent.layer.closeAll(layer.index);
|
||
});
|
||
//取消按钮
|
||
$(".yidong-but-box .yidong-qx").click(function(){
|
||
layer.closeAll(layer.index);
|
||
});
|
||
//我的看板,空间切换实践
|
||
$(".yidong-tab-box .yidong-tab div").click(function(){
|
||
$(".yidong-tab-box .yidong-tab div").removeClass('tabdata');
|
||
$(this).addClass('tabdata');
|
||
if($(this).html() == "我的看板"){
|
||
$(".yidong-txt-box .justAnotherInputBox1").show();
|
||
$(".yidong-txt-box .justAnotherInputBox2").hide();
|
||
}else {
|
||
$(".yidong-txt-box .justAnotherInputBox1").hide();
|
||
$(".yidong-txt-box .justAnotherInputBox2").show();
|
||
}
|
||
$(".yidong-txt-box .justAnotherInputBox1").val("");
|
||
$(".yidong-txt-box .justAnotherInputBox2").val("");
|
||
})
|
||
|
||
//确定按钮
|
||
$(".yidong-but-box .yidong-qd").click(function(){
|
||
var type ='kanban';
|
||
var id = '';//没有默认传看板
|
||
if($('#yidongjustAnotherInputBox2').val() != ""){
|
||
var Addlocation = $('#yidongjustAnotherInputBox2').val();
|
||
type = "kongjian"
|
||
}else {
|
||
var Addlocation = $('#yidongjustAnotherInputBox1').val();
|
||
}
|
||
// console.log(Addlocation);
|
||
if(Addlocation){
|
||
id = X.pageLogic.newkanban.matchingid(Addlocation,type);
|
||
}else {
|
||
alert('请选择添加的位置');
|
||
return;
|
||
}
|
||
|
||
var dataArr = {
|
||
'movepositionid': id,
|
||
'kanbandata':data.mykanban,
|
||
'kongjiandata':data.kongjian
|
||
}
|
||
|
||
X.api('api/yidong',dataArr,function(d){
|
||
if(d.code == "ok"){
|
||
X.pageLogic.dashboard.freshMenu();//刷新侧边栏
|
||
X.pageLogic.adminkanban.updata();//刷新数据
|
||
console.log(me.parms.layIndex);
|
||
layer.closeAll(me.parms.layIndex);
|
||
}
|
||
})
|
||
});
|
||
|
||
|
||
}
|
||
};
|
||
})();
|
||
// srczip/logic/zidingyizhibiao.js
|
||
(function(){
|
||
X.pageLogic['zidingyizhibiao'] = {
|
||
init : function(parms){
|
||
var me = this;
|
||
this.parms = parms;
|
||
this.callback = parms.callback;
|
||
var datalist = [
|
||
{
|
||
title:'基础指标',
|
||
id:'basicindex',
|
||
checked: true,
|
||
list:[
|
||
{ title:'累计充值', checked:true,id:'cumulativerecharge'},
|
||
{ title:'活跃数', checked:true,id:'active'},
|
||
{ title:'付费数', checked:true,id:'paunum'},
|
||
{ title:'付费率', checked:true,id:'paurate'},
|
||
{ title:'付费arpu', checked:true,id:'pauarpu'},
|
||
{ title:'活跃arpu', checked:true,id:'activearpu'},
|
||
]
|
||
},{
|
||
title:'注册新增指标',
|
||
id:'registernew',
|
||
checked: false,
|
||
list:[
|
||
{ title:'新增', checked:true,id:'newadd'},
|
||
{ title:'新增付费金额', checked:true,id:'newaddmoney'},
|
||
{ title:'新增付费数', checked:true,id:'newaddnum'},
|
||
{ title:'新增付费率', checked:true,id:'newaddrate'},
|
||
{ title:'新增付费arpu', checked:true,id:'newaddpayarpu'},
|
||
{ title:'新增arpu', checked:false,id:'newaddaru'},
|
||
]
|
||
},{
|
||
title:'留存指标',
|
||
id:'retained',
|
||
checked: false,
|
||
list:[
|
||
{ title:'1日留存', checked:false,id:'retained1'},
|
||
{ title:'2日留存', checked:false,id:'retained2'},
|
||
{ title:'3日留存', checked:false,id:'retained3'},
|
||
{ title:'7日留存', checked:false,id:'retained7'},
|
||
{ title:'14日留存', checked:false,id:'retained14'},
|
||
{ title:'30日留存', checked:false,id:'retained30'},
|
||
]
|
||
},{
|
||
title:'Ltv指标',
|
||
id:'ltv',
|
||
checked: false,
|
||
list:[
|
||
{ title:'Ltv1', checked:false,id:'ltv1'},
|
||
{ title:'Ltv2', checked:false,id:'ltv2'},
|
||
{ title:'Ltv3', checked:false,id:'ltv3'},
|
||
{ title:'Ltv7', checked:false,id:'ltv7'},
|
||
{ title:'Ltv14', checked:false,id:'ltv14'},
|
||
{ title:'Ltv30', checked:false,id:'ltv30'},
|
||
]
|
||
}
|
||
];
|
||
|
||
X.laytpldata("#zhibiao-list-dot",datalist,".zidingyizhibiao-list-box");
|
||
|
||
layui.form.render();
|
||
|
||
layui.form.on('checkbox(checkboxexample)', function(d){
|
||
var data = layui.form.val('zidingyiexample');
|
||
if(data[d.value]){
|
||
for(let i in datalist){
|
||
if(datalist[i]['id'] == d.value){
|
||
datalist[i]['checked'] = true;
|
||
for(let z in datalist[i]['list']){
|
||
datalist[i]['list'][z]['checked'] = true;
|
||
}
|
||
}
|
||
}
|
||
}else{
|
||
for(let i in datalist){
|
||
if(datalist[i]['id'] == d.value){
|
||
datalist[i]['checked'] = false;
|
||
for(let z in datalist[i]['list']){
|
||
datalist[i]['list'][z]['checked'] = false;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
X.laytpldata("#zhibiao-list-dot",datalist,".zidingyizhibiao-list-box");
|
||
layui.form.render();
|
||
});
|
||
|
||
$(document).off('click','.adduser-btn').on('click','.adduser-btn',function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(document).off('click','.adduser-top-box img').on('click','.adduser-top-box img',function(){
|
||
layer.closeAll();
|
||
})
|
||
|
||
$(document).off('click','.adduser-btn2').on('click','.adduser-btn2',function(){
|
||
var data = layui.form.val('zidingyiexample');
|
||
me.callback && me.callback(data);
|
||
layer.closeAll();
|
||
})
|
||
|
||
|
||
|
||
}
|
||
};
|
||
})(); |