// 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':'yidong-pop'}, // {'title':'复制看板','img':'fuzhi.png','click':'copykanban'}, {'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,height){ 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; } if(!height){ var height = 'full-20' } layui.table.render({ headers: { Authorization: token } ,elem: id ,url: url ,cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增 ,cols: data ,height: height }); }; //渲染模板,模板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, 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]['values'].length > 0 ){ 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); } }else { layer.msg('查询数据为空'); } } 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; var date; var length = data[0]['date_range'].length - 1; date = data[0]['date_range'][length]; 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]; } } var dataArr = { xAxisData:data[0]['date_range'], legenddata:legenddata, seriesData:seriesData, date:date, 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.retentiontable=function(data,callback){ var tabledata=[]; for(let i in data['summary_values']){ var arr = { date: i, d0:data['summary_values'][i]['d0'], data:[] } for(let j in data['summary_values'][i]["n"]){ var nrr = { n:0, p:0 } nrr["n"] = data['summary_values'][i]["n"][j]; nrr["p"] = data['summary_values'][i]["p"][j] arr['data'].push(nrr); } tabledata.push(arr); } var titdata = []; for(let i in data['days']){ var tit = "第" + i + "日"; titdata.push(tit); } titdata.unshift("日期",data.title); var dataArr = { titledata:titdata, condata:tabledata } callback && callback(dataArr); }; X.retentionchart = function(d,callback){ var arr = {}; var legenddata = []; var seriesData = []; var xAxisData = []; var date=0,sum=0,mean=0,sameday=0; 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]); xAxisData.push(i); } seriesData = { type: 'line', data: arr } for(let i in arr){ sum = sum + arr[i]; sameday = arr[i]; } date = '近'+xAxisData.length+'天时间'; mean = (sum / arr.length).toFixed(2); }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 dataArr = { xAxisData:xAxisData, legenddata:legenddata, seriesData:seriesData, date:date, sum:sum.toFixed(2), mean:mean, sameday: sameday } // console.log(dataArr); callback && callback(dataArr); }; X.ltvtable=function(data,callback){ var dataArr = { titledata:data.title, condata:data.rows } callback && callback(dataArr); }; // 分组项 // X.grouped=function(data,id){ // console.log(data) // var html // for(let i in data){ // html = html + ` //
//
//
` + i+1 + `
//
// // ` + data[i]['column_name'] + ` //
//
//
//
//
//
// ` // } // $(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 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":[ ], "authRoles":[ ], "userlist":[ ] } X.api("user/all_account","get",{},function(d){ data['userlist'] = d X.laytpldata("#addexistuser-con-user-box-dot",d,".addexistuser-con-user-box"); }); X.api("project/members","get",{},function(d){ console.log(d) // X.laytpldata("#addexistuser-con-user-box-dot",d,".addexistuser-con-user-box"); }); X.api("authz/roles","get",{},function(d){ var projectrolearrlist = []; for(let i in d){ var arr={ id:d[i]['_id'], title:d[i]['name'], game:d[i]['game'] } projectrolearrlist.push(arr); }; data['authRoles'] = projectrolearrlist; }) $('.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); } } console.log(Addeddate) 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]['role_id'] = d.id; Addeddate[cprojectindex]['role_tit'] = 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); var ylist = []; for(let i in Addeddate){ var arr = { username:Addeddate[i]['name'], role_id:Addeddate[i]['role_id'], game:X.DATA.game } ylist.push(arr) } console.log(ylist); X.api("authz/add_role_domain","post",{data:ylist},function(d){ console.log(d) layer.closeAll(); }); }); } }; })(); // srczip/logic/addrole.js (function(){ X.pageLogic['addrole'] = { init : function(parms){ var me = this; var data; X.api("authz/api_list","get",{},function(d){ data = d; X.laytpldata("#addrole-info-table-con-dot",d,".addrole-info-table-con"); layui.form.render(); }); if(parms){ this.parms = parms; var passdata = parms; console.log(passdata); X.api("authz/get_permissions_for_user_in_domain","post",{role_id:passdata.id,game:X['DATA']['game']},function(d){ console.log(d); $('.addrole-tit').val(passdata.title); var selinput = {} for(let i in d){ selinput[d[i]['_id']] = true } console.log(selinput); layui.form.val('addroleexample', selinput) }); } $(".addrole-qd").click(function(){ var tit = $(".addrole-tit").val(); var addroledata = layui.form.val("addroleexample"); console.log(addroledata); var dataArr =[]; for(let i in addroledata){ dataArr.push(i); } if(passdata){ // X.api("authz/add_roles","post",{name:tit,game:X['DATA']['game'],desc:'111'},function(d){ // X.api("authz/add_policy","post",{role_id:d,game:X['DATA']['game'],act:"*",path_list:dataArr},function(d){ // layer.msg("创建成功"); // $(".addrole-qx a").click(); // }) // }) }else{ X.api("authz/add_roles","post",{name:tit,game:X['DATA']['game'],desc:'111'},function(d){ X.api("authz/add_policy","post",{role_id:d,game:X['DATA']['game'],act:"*",path_list: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,projectrolearrlist=[]; X.api("authz/roles","get",{},function(d){ projectrolearr = d; for(let i in projectrolearr){ var arr={ id:projectrolearr[i]['_id'], title:projectrolearr[i]['name'], game:projectrolearr[i]['game'] } projectrolearrlist.push(arr); } }) var datarightsarr; X.api("data_auth/list","get",{},function(d){ datarightsarr = d; }) 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]["name"], "data_authority":datarightsarr[0]["title"], "data_auth_id":datarightsarr[0]["id"] } adduserData.push(arr); } 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(projectrolearrlist); // X.laydropdown(".adduser-role",projectrolearrlist,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); var namearr = []; for(let i in adduserData){ namearr.push(adduserData[i]['username']); } if(namearr.length > 0){ X.api("user/add_account","post",{account_list:namearr},function(d){ X.pageLogic.useradmin.useradmin(); layer.closeAll(); layer.msg("创建成功"); }) }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(); }); $(document).off('click','.adminmykanban-sousuo-box .cha').on('click','.adminmykanban-sousuo-box .cha',function(){ $(".adminmykanban-sousuo-box .adminmykanban-txt").val(""); $(".adminmykanban-sousuo-box .cha").hide(); me.updata(X.DATA['projectid']); }); // 全选按钮 $(document).off('click','#adminmykanban-quanxuan').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); } } } 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)) }; //移动至 $(document).off('click','.adminmykanban-operation-but-yidong').on('click','.adminmykanban-operation-but-yidong',function(){ var mykanban = layui.tree.getChecked('mykanban'); var kongjian = layui.tree.getChecked('kongjian'); console.log(kongjian); if(mykanban.length < 1 && kongjian.length < 1){ alert('请先选择需要移动的看板!!!'); return; } var data = { 'mykanban':selectkanbanidarr(mykanban), 'kongjian':selectkongjianidarr(kongjian) } var source_id = data['mykanban'].concat(data['kongjian']); X.parametersopen(source_id,'yidong-pop','auto',function(){ me.updata(X.DATA['projectid']); }) }); //删除 $(document).off('click','.adminmykanban-operation-but-del').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); var data= kanbanid.concat(kongjianid); if(data.length == 0 ){ alert('请先选择要删除的看板!!!'); return; } $(".layui-layer").css('background-color','#fff !important'); layer.confirm('确认删除选中的看板吗?该操作不可恢复', { btn: ['取消','删除 '] //按钮 }, function(){ //取消 layer.close(layer.index); }, function(){ //删除 X.api("dashboard/delete",'post',{ids:data},function(d){ layer.msg('删除成功'); layer.close(layer.index); X.pageLogic.dashboard.freshMenu(X.DATA.projectid);//刷新侧边栏 me.updata(X.DATA.projectid);//刷新数据 }) }); }); // 复制 $(document).off('click','.adminmykanban-operation-but-copy').on('click','.adminmykanban-operation-but-copy',function(){ var mykanban = layui.tree.getChecked('mykanban'); var kongjian = layui.tree.getChecked('kongjian'); var kanbanid = selectkanbanidarr(mykanban); var kongjianid = selectkongjianidarr(kongjian); var data= kanbanid.concat(kongjianid); if(data.length < 1){ alert('请先选择需要复制的看板!!!'); return; } X.parametersopen(data,'copykanban','auto',function(){ // me.updata(X.DATA['projectid']); }) }) 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; 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":'',//重命名指标 "format":'float', "formatname":'两位小数' } 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); //从数据看板点击进来触发事件 if(X.DATA.eventid && X.DATA.eventid != ''){ var report_idarr = []; report_idarr.push(X.DATA.eventid); X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){ backfilldata(d[0]); }) } }) }) // 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-img-baobiao').on('click','.analysis-navigation-bar-right-img-baobiao',function(){ X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){ if(d){ backfilldata(d) } }) }); // 反向填充数据 function backfilldata(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]; }); //重命名指标 $(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; }) }) }); //设置一级事件中第二个参数 $(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){ 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){ 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":'',//重命名指标 "format":'float', "formatname":'两位小数' } data['events'].push(defaultindicator); X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); 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(); }); $(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(); }); $(document).off('click','.ant-select-selector').on('click','.ant-select-selector',function(){ var obj = $(this); var offset = obj.offset(); var index = $(this).attr("data-index"); var downlist = [ {title:'两位小数',id:'float'}, {title:'百分比',id:'percent'}, {title:'取整',id:'integer'}, ]; X.querycriteriapop(downlist,'dropdownlist',offset.left,offset.top+obj.height(),function(val){ if(val != undefined){ obj.html(val.title); data['events'][index]['format'] = val.id; data['events'][index]['formatname'] = val.title; } }) }); //分组项 var cat = "event"; $(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function(){ var index = data['eventView']['groupBy'].length; var screentypedata = filteringdata(); 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'] }; 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(){ calculationdata(); }); var querydata;//查询数据 $(document).on('click','.analtsis-chart-switch-box .analtsis-chart-switch',function(){ 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]; } } 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); } } } } // 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){ 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']); }else { } } 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){ X.parametersopen(baobiaodata,'savereport','auto'); }else{ X.parametersopen(data,'savereport','auto'); } }); }, // 保存报表 // savereport:function(d){ // } }; })(); // srczip/logic/apiadmin.js (function(){ X.pageLogic['apiadmin'] = { init : function(parms){ var me = this; me.updataapilist(); $(document).off('click','.eventattradmin-actions___141YT').on('click','.eventattradmin-actions___141YT',function(){ X.parametersopen('','apiadmin_add','auto',function(){ me.updataapilist(); }) }); layui.table.on('tool(apiadminntest)', function(obj){ var data = obj.data; if(obj.event === 'edit'){ X.parametersopen(data,"apiadmin_add",'auto',function(){ me.updataapilist(); }) }else if(obj.event === 'del'){ layer.confirm('确认删除当前api吗?该操作不可恢复', { btn: ['取消','删除 '] //按钮 }, function(){ //取消 layer.close(layer.index); }, function(){ //删除 var arr = []; arr.push(data._id); X.api("authz/del_api",'post',{ids:arr},function(d){ layer.msg('删除成功'); layer.close(layer.index); me.updataapilist(); }) }); } }) }, updataapilist:function(){ X.laytabledata("#apiadmin-table","authz/api_list",[[ {field:'name', title: '标题', width: '10%', sort: true} ,{field:'path', title: '路径'} ,{field:'desc', title: '简介',width: '60%'} ,{fixed: 'right', title:'操作', toolbar: '#apiadminbarDemo', width:117} ]],null,'685'); } }; })(); // srczip/logic/apiadmin_add.js (function(){ X.pageLogic['apiadmin_add'] = { init : function(parms){ var me = this; this.parms = parms; this.callback = parms.callback; //选择后执行的回调 var data = parms.extData;//获取到上层弹窗传的数据 console.log(data); if(data){ $("#path").val(data.path); $("#name").val(data.name); $("#desc").val(data.desc); } $(document).off('click','.newwenjian-qd').on('click','.newwenjian-qd',function(){ if($("#path").val() == "" && $("#name").val() == ""){ layer.msg('标题,路径为必填项'); return; } var arr = { "path": $("#path").val(), "name": $("#name").val(), "desc": $("#desc").val() } if(!data){ X.api('authz/add_api','post',arr,function(d){ layer.closeAll(); X.pageLogic.apiadmin.updataapilist(); }); }else { arr['id'] = data['_id']; X.api('authz/edit_api','post',arr,function(d){ layer.closeAll(); X.pageLogic.apiadmin.updataapilist(); }); } }); $(document).off('click','.newwenjian-qx').on('click','.newwenjian-qx',function(){ layer.closeAll(); }); $(document).off('click','.newwenjian-cha').on('click','.newwenjian-cha',function(){ layer.closeAll(); }); } }; })(); // 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/copykanban.js (function(){ X.pageLogic['copykanban'] = { init : function(parms){ var me = this; this.parms = parms; this.callback = parms.callback; //选择后执行的回调 var data = parms.extData;//获取到上层弹窗传的数据 var comboTree1,comboTree2; // X.api("project/","get",{},function(d){ X.laytpldata("#project-list-box-dot",X.DATA.projectarr,".project-list-box"); // }); // 项目监听下拉框 // layui.form.on('select(projectlist)', function(data){ // if(data){ // X.api('project/kanban','post',{_id:data.value},function(d){ // comboTree1 = $('.copy-txt-box .justAnotherInputBox1').comboTree({ // source : d.kanban, // isMultiple: false // }); // comboTree2 = $('.copy-txt-box .justAnotherInputBox2').comboTree({ // source : d.spaces, // isMultiple: false // }); // }) // } // }); layui.form.render(); //叉图标关闭弹窗 $(".copy-top .copy-cha").click(function(){ console.log(layer.index) parent.layer.closeAll(layer.index); }); //取消按钮 $(".copy-but-box .copy-qx").click(function(){ layer.closeAll(layer.index); }); //我的看板,空间切换实践copy-tab $(".copy-tab-box .copy-tab div").click(function(){ $(".copy-tab-box .copy-tab div").removeClass('tabdata'); $(this).addClass('tabdata'); if($(this).html() == "我的看板"){ $(".copy-txt-box .justAnotherInputBox1").show(); $(".copy-txt-box .justAnotherInputBox2").hide(); }else { $(".copy-txt-box .justAnotherInputBox1").hide(); $(".copy-txt-box .justAnotherInputBox2").show(); } $(".copy-txt-box .justAnotherInputBox1").val(""); $(".copy-txt-box .justAnotherInputBox2").val(""); }) //确定按钮 $(".copy-but-box .copy-qd").click(function(){ var seldata = layui.form.val('projectlistexample'); var dataArr = { 'source_ids':data, //复制的看板id 'dest_project_id':seldata['project'] //复制到的项目id }; X.api('dashboard/copy','post',dataArr,function(d){ layer.msg('复制成功'); layer.closeAll(0); }) }); } }; })(); // 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'] = X.DATA['projectid'] || d[0]["_id"]; X.DATA["game"] = X.DATA["game"] || d[0]["game"]; for(let i in d){ if(d[i]['game'] == X.DATA["game"]){ $(".projecttit").html(d[i]['name']); } } me.freshMenu(X.DATA['projectid']); // 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).off('click','.layui-nav-child a').on('click','.layui-nav-child a',function(){ var url = $(this).attr("data-url"); X.gourl(url); }); // 修改面板名 $(document).off('click','.layui-left-dd').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 $("#model-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",function(start, end, label) { var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00"; var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59"; // console.log(startTime); // console.log(endTime); }); // X.echartsdata("#charts"); //更新时间按钮 $(".updatetime").click(function(){ X.updatatime(".updatetime"); me.gettabledata(); }); //管理我创建的看板 $(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){ $(".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(){ layer.msg('该功能暂未开放'); return; 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(){ layer.msg('该功能暂未开放'); return; 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(){ layer.msg('该功能暂未开放'); return; 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(); }) }); //更新报表 $(document).off('click','.model-gengx').on('click','.model-gengx',function(){ var id = $(this).attr('data-id'); console.log(id); X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){ return; X.pageLogic['dashboard'].fillmodeldata(d[id]); }) }); //报表跳转到详情s $(document).off('click','.gobaobiaoinfo').on('click','.gobaobiaoinfo',function(){ var cat = $(this).attr('data-cat'); var id = $(this).attr('data-id'); var gourl=''; if(cat == 'event'){ gourl = 'analysis'; }else if(cat == 'retention'){ gourl = 'retained'; // layer.msg('暂未处理当前逻辑'); // return; }else if(cat == 'ltv'){ gourl = 'ltvmodel'; // layer.msg('暂未处理当前逻辑'); // return; } X.gourl(gourl,'conetnt');//跳到对应的分析页面 X.DATA[cat+'id'] = id; }); // 渲染下拉框 $(document).off('click','.nav-action-bar').on('click','.nav-action-bar',function(e){ e.stopPropagation(); // console.log('更多操作按钮'); var obj = $(this); var offset = obj.offset(); var offsets = [ offset.top + 10,offset.left]; var id = $(this).attr('data-id'); X.parametersopen(X.DATA.taboperationdata['kanban'],"dropdownlist",offsets,function(d){ var arr = []; arr.push(id); if(d.click != 'del'){ X.parametersopen(arr,d.click,'auto',function(){ // me.updata(X.DATA['projectid']); me.freshMenu(); }) }else { layer.confirm('确认删除选中的看板吗?该操作不可恢复', { btn: ['取消','删除 '] //按钮 }, function(){ //取消 layer.close(layer.index); }, function(){ //删除 X.api("dashboard/delete",'post',{ids:arr},function(d){ layer.msg('删除成功'); layer.close(layer.index); X.pageLogic.dashboard.freshMenu(X.DATA.projectid);//刷新侧边栏 me.updata(X.DATA.projectid);//刷新数据 }) }); } }); }); }, // 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'); }); }, //填充看板数据 fillmodeldata:function(d,id){ // console.log(d); X.api("ck/"+d['model']+"_model","post",{report_id:d['report_id']},function(val){ var eventdata=[]; if(d['model'] == "event"){ // 事件分析 if(d['graph_size'] == 'small'){ X.eventsmall(val,function(data){//表格数据处理 data['name'] = d['name']; data['modeltype'] = d['graph_type']; data['id'] = d['report_id']; data['modelsize'] = d['graph_size']; data['cat'] = d['model']; eventdata.push(data); }) }else { if(d['graph_type'] == 'table'){ //表格样式 X.eventtable(val,function(data){//表格数据处理 data['name'] = d['name']; data['modeltype'] = d['graph_type']; data['id'] = d['report_id']; data['modelsize'] = d['graph_size']; data['cat'] = d['model']; eventdata.push(data); }) }else if(d['graph_type'] == 'echarts'){ //图形 X.eventchart(val,function(data){ data['name'] = d['name']; data['modeltype'] = d['graph_type']; data['id'] = d['report_id']; data['modelsize'] = d['graph_size']; data['cat'] = d['model']; eventdata.push(data); }) } } } else if(d['model'] == "retention"){ //留存分析 if(d['graph_size'] == 'small'){ }else { if(d['graph_type'] == 'table'){ X.retentiontable(val,function(data){ data['name'] = d['name']; data['modeltype'] = d['graph_type']; data['id'] = d['report_id']; data['modelsize'] = d['graph_size']; data['cat'] = d['model']; eventdata.push(data); }) }else { X.retentionchart(val,function(data){ data['name'] = d['name']; data['modeltype'] = d['graph_type']; data['id'] = d['report_id']; data['modelsize'] = d['graph_size']; data['cat'] = d['model']; eventdata.push(data); }) } } }else if(d['model'] == 'ltv'){ //ltv模型 if(d['graph_type'] == 'table'){ X.ltvtable(val,function(data){ data['name'] = d['name']; data['modeltype'] = d['graph_type']; data['id'] = d['report_id']; data['modelsize'] = d['graph_size']; data['cat'] = d['model']; eventdata.push(data); }) }else { X.ltvtable(val,function(data){ data['name'] = d['name']; data['modeltype'] = d['graph_type']; data['id'] = d['report_id']; data['modelsize'] = d['graph_size']; data['cat'] = d['model']; eventdata.push(data); }) } } if(eventdata.length > 0){ for(var z in eventdata){ if(id){ //当有id时更新对应id看板内的内容 X.template("modeltable",id,eventdata[z],function(){ X.pageLogic['dashboard'].morefeatures(eventdata[z]); }); }else { //渲染模板和数据 X.template("modeltable",'model'+eventdata[z]['id'],eventdata[z],function(){ X.pageLogic['dashboard'].morefeatures(eventdata[z]); }); } } } }) }, //画统计图和添加移入移出事件 morefeatures:function(eventdata){ $(".layui-card").mouseenter(function () { var classname = $(this).attr('class'); if(classname.indexOf("tool-show") == -1){ $(this).addClass('tool-show'); } }); $(".layui-card").mouseleave(function () { var classname = $(this).attr('class'); if(classname.indexOf("tool-show") != -1){ $(this).removeClass('tool-show'); } }); var dropdownlist = [ {title:'表格',id:'table'}, {title:'图形',id:'echarts'} ]; X.laydropdown("#chart"+eventdata.id,dropdownlist,function(d){ var id = $("#chart"+eventdata.id).attr('data-id'); var modelid = 'model'+id; var modelsize = $("#chart"+eventdata.id).attr('data-modelsize'); var modeltype = $("#chart"+eventdata.id).attr('data-modeltype'); var cat = $("#chart"+eventdata.id).attr('data-cat'); var name = $("#chart"+eventdata.id).attr('data-name'); var data = { report_id:id, graph_size:modelsize, graph_type:d.id, model:cat, name:name } X.api('dashboard/edit_show_report','post',{dashboard_id:X.DATA.dashboard_id,config:data},function(d){ // console.log(d); X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(val){ for(let i in val){ if(val[i]['report_id'] == id){ X.pageLogic['dashboard'].fillmodeldata(val[i],modelid); } } }) }) }); if(eventdata['modeltype'] == 'echarts' && eventdata['modelsize'] != 'small' ){ var myChart = echarts.init(document.getElementById(eventdata['id'])); var option = { title: { text: '' }, color: X.DATA.echartscolor, tooltip: { trigger: 'axis', axisPointer: { type: 'cross', label: { backgroundColor: '#6a7985' } } }, legend: { type:'scroll', data: eventdata['legenddata'] }, grid: { left: '2%', right: '2%', bottom: '2%', top: '10%', containLabel: true }, xAxis: [ { type: 'category', boundaryGap: false, data: eventdata['xAxisData'] } ], yAxis: [ { type: 'value' } ], series: eventdata['seriesData'] }; myChart.setOption(option,true); } }, // 获取表格数据 gettabledata:function(){ $("#model-box").html("");//清空表格数据 X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){ var modellist=[]; for(let i in d){ modellist.push(d[i]['sort']); } modellist.sort(); //排序 for(let i in modellist){ for(let z in d){ if(modellist[i] == d[z]['sort']){ //渲染模板和数据 // console.log(d[z]); X.laytpldata("#kanban-model-box-dot",d[z],null,function(html){ $('#model-box').append(html); X.pageLogic['dashboard'].fillmodeldata(d[z]); }); } } } // $(".layui-col").Tdrag({ // scope:".layui-row", // pos:true, // dragChange: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]; layer.closeAll(); me.callback && me.callback(dataArr); }) } }; })(); // 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 '隐藏' } }} ,{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 '隐藏' } }} ,{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:'ltv',id:'ltv'}, {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.id); }) 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){ for(let i in submitdata){ if(submitdata[i]['report_id'] == id){ submitdata[i]['graph_type'] = d['graph_type']; submitdata[i]['graph_size'] = d['graph_size']; submitdata[i]['sort'] = d['sort']; } } }) }); //渲染已添加报表 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', sort: toadddata[i]['show_config']['sort'] }; 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; console.log(listdata); layui.form.render(); if(listdata){ layui.form.val('kanbantypeexample',{ graph_type: listdata.graph_type || 'table', graph_size: listdata.graph_size || 'in', sort: listdata.sort }); } $(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); }); layui.form.on('radio(graph_type)', function (data) { if(listdata.model == 'ltv'){ if(data.value == "echarts"){ layui.form.val('kanbantypeexample',{ graph_type: listdata.graph_type || 'table' }); layer.msg('ltv没有图像,请选择其他方式展示'); } } }); layui.form.on('radio(graph_size)', function (data) { if(listdata.model == 'ltv'){ if(data.value == "small"){ layui.form.val('kanbantypeexample',{ graph_size: listdata.graph_size || 'table' }); layer.msg('ltv没有小图,请选择其他方式展示'); } } }); $(document).off('click','.kanbantypeset-but-box .adduser-btn2').on('click','.kanbantypeset-but-box .adduser-btn2',function(){ var data = layui.form.val('kanbantypeexample'); 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/ltvmodel.js (function(){ X.pageLogic['ltvmodel'] = { init : function(){ X.template("grouped","xinwei-whole"); var data ={ "eventView":{ "cksql":"ltv", "endTime":"2021-06-07 23:59:59", "filts":[], "groupBy":[], "recentDay":"1-7", "relation":"and", "startTime":"2021-05-09 00:00:00", "statType":"retention", "timeParticleSize":"P1D", "unitNum":7, "quota":'#account_id' }, "events":[ ], "cachedata":{ eventdata:[], 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; var sameday = Date.parse(new Date()) / 1000; //当天时间戳 var enddate = new Date(end.format('YYYY-MM-DD')); var endmonth = Date.parse(enddate)/1000; var startdate = new Date(start.format('YYYY-MM-DD')); var startmonth = Date.parse(startdate)/1000; data['eventView']['recentDay'] = parseInt((sameday - endmonth)/86400) + "-"+ parseInt((sameday - startmonth)/86400); 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 groupitemeventsdata=[[],[]];//分组项里的事件 X.api("data_auth/my_event","get",{},function(d){ eventdata = d; X.api("data_auth/load_filter_props","post",{event_name:'pay'},function(val){ groupitemeventsdata = val; //从数据看板点击进来触发事件 if(X.DATA.ltvid && X.DATA.ltvid != ''){ var report_idarr = []; report_idarr.push(X.DATA.ltvid); X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){ backfilldata(d[0]); }) } }) }); //全局筛选 var filtsftvdata=[]; $(document).off('click','.analysis-overall-situation-add').on('click','.analysis-overall-situation-add',function(){ var screentypedata = groupitemeventsdata; 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 "ftv":[],//条件 "strftv":'',//显示条件 "section":[-1,1],//区间 "table_type":screentypedata[0]['id'], }; if(data['eventView']['filts'].length == 1){ layer.msg('此项只能添加一个'); return; } 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(); } console.log(data); X.template("globalfilter","xinwei-whole",data['eventView']['filts']); }); var listarr =[ {title:'角色',id:'#account_id'}, {title:'设备',id:'#distinct_id'}, // {title:'账号',id:'binduid'}, ] X.laydropdown('.eventsplit',listarr,function(d){ $('.eventsplit').html(d.title); data['eventView']['quota'] = d.id; console.log(d); }); //删除指定全局数据 $(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']); }); $(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(groupitemeventsdata,'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'] = '=='; data['eventView']['filts'][index]['table_type'] = val.table_type; filtsftvdata[index]=val.category; X.template("globalfilter","xinwei-whole",data['eventView']['filts']); }) }); $(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['eventView']['filts'][index]['comparator_name'] = val.title; data['eventView']['filts'][index]['comparator'] = val.id; if(val.id == "range"){ data['eventView']['filts'][index]['ftv'] = [-1,1]; } X.template("globalfilter","xinwei-whole",data['eventView']['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['eventView']['filts'][index]['ftv'] = []; data['eventView']['filts'][index]['strftv'] = val; data['eventView']['filts'][index]['ftv'].push(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; data['eventView']['filts'][index]['ftv'].push(val); }else { data['eventView']['filts'][index]['ftv'][1] = val; data['eventView']['filts'][index]['section'][1] = val; data['eventView']['filts'][index]['ftv'].push(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(){ }) }); // 时间粒度 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']['groupitemeventsdata'] = groupitemeventsdata; var dataArr = { eventView: data.eventView, events: data.events } X.api("ck/ltv_model","post",dataArr,function(d){ X.laytpldata("#table-fenxi-th-dot",d.title,".table-fenxi-th"); X.laytpldata("#table-fenxi-td-dot",d.rows,".table-fenxi-td"); }) }; $(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){ backfilldata(d); } }) }); function backfilldata(d){ data = d.query; eventdata = data.cachedata.eventdata; groupitemeventsdata = data.cachedata.groupitemeventsdata; X.template("globalfilter","xinwei-whole",data['eventView']['filts']); retaineddata(); }; } }; })(); // srczip/logic/modeltable.js (function(){ X.pageLogic['modeltable'] = { init : function(parms){ var me = this; this.parms = parms; this.callback = parms.callback; var data = parms; X.laytpldata("#kanban-model-modify-table-dot",data,"model"+data.id,function(html){ $("#model"+data.id).html(html); }) // for(var i in data){ // X.laytpldata("#kanban-model-table-dot",data[i],null,function(html){ // // console.log($("#model-box").html()); // console.log(html); // $('#model-box').append(html); // }); // } } }; })(); // srczip/logic/modifyname.js (function(){ X.pageLogic['modifyname'] = { init : function(parms){ var me = this; this.parms = parms; this.callback = parms.callback; //选择后执行的回调 var data = parms.extData; console.log(11111,data); $(document).off('click','.modifyname-qd').on('click','.modifyname-qd',function(){ var txt = $(".modifyname-txt").val(); X.api("dashboard/edit","post",{dashboard_id:data[0],new_name:txt},function(d){ console.log(d); layer.closeAll(0); }) }); $(document).off('click','.modifyname-qx').on('click','.modifyname-qx',function(){ layer.closeAll(); }); $(document).off('click','.modifyname-cha').on('click','.modifyname-cha',function(){ layer.closeAll(); }); } }; })(); // 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(parms){ var role_id,datalist; updataroles(); function updataroles(){ X.api("authz/roles","get",{},function(d){ datalist = d; if(d[0]){ role_id = d[0]['_id']; $(".projectadmin-list-name").html(d[0]["name"]); X.laytpldata("#projectadmin-con-hz-left-list-tit-xiangmu-dot",d,".projectadmin-con-hz-left-list-tit-xiangmu"); updataapiinfo(d[0]['_id']); }else { layer.msg('暂无数据'); } // 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",".roleinproject-tit",function(){ var index = $(this).attr("data-index"); $(".projectadmin-con-hz-left-list-con").removeClass("selected___3ctlt"); $(this).addClass("selected___3ctlt"); $(".projectadmin-list-name").html(datalist[index]['name']); var id = $(this).attr("data-id"); updataapiinfo(id); // X.laytpldata("#projectadmin-info-box-dot",data.dom_role[index]['authority'],".projectadmin-info-box"); }); function updataapiinfo(id){ role_id = id; X.api("authz/get_permissions_for_user_in_domain","post",{role_id:id,game:X['DATA']['game']},function(d){ X.laytpldata("#projectadmin-info-box-dot",d,".projectadmin-info-box"); }); }; $(document).off('click','.projectadmin-del').on('click','.projectadmin-del',function(){ var index = $(this).attr('data-index'); var id = $(this).attr('data-id'); layer.confirm('确认删除当前api吗?', { btn: ['取消','删除 '] //按钮 }, function(){ //取消 layer.close(layer.index); }, function(){ //删除 X.api("authz/del_policy",'post',{role_id:role_id,game:X['DATA']['game'],path:id,act:"*"},function(d){ layer.msg('删除成功'); layer.close(layer.index); updataapiinfo(role_id); }) }); }); $(document).off('click','.projectadmin-edit').on('click','.projectadmin-edit',function(params){ var id = $(this).attr('data-id'); var arr = []; arr.push(id); X.api("authz/add_policy",'post',{role_id:role_id,game:X['DATA']['game'],path_list:arr,act:"*"},function(d){ layer.msg('添加成功'); layer.close(layer.index); updataapiinfo(role_id); }) }); $(document).off('click','.projectadmin-gongduo').on('click','.projectadmin-gongduo',function(e){ e.stopPropagation(); var obj = $(this); var offset = obj.offset(); var id = obj.attr('data-id'); var name = obj.attr("data-name"); var arr = [ { title:'重命名', id:'edit' }, { title:'删除', id:'del' } ] X.querycriteriapop(arr,'dropdownlist',offset.left,offset.top+obj.height(),function(val){ if(val.id == 'del'){ layer.confirm('确认删除当前角色吗?', { btn: ['取消','删除 '] //按钮 }, function(){ //取消 layer.close(layer.index); }, function(){ //删除 X.api("authz/del_role_user_domain",'post',{role_id:id,game:X['DATA']['game'],username:name},function(d){ layer.close(layer.index); layer.msg('删除成功'); updataroles(); }) }); }else { var arr = { id:id, title:$(".projectadmin-list-name").html() } X.parametersopen(arr,"roleeditname",'auto',function(d){ updataroles(); }) } }) }); } }; })(); // 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-7", "relation":"and", "startTime":"2021-05-09 00:00:00", "statType":"retention", "timeParticleSize":"P1D", "unitNum":7 }, "events":[ ], "cachedata":{ eventdata:[], initialevent:[], returnevent:[], filtersymbols:[], groupitemeventsdata:[], type2data:[] } }; // 日期渲染 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; var sameday = Date.parse(new Date()) / 1000; //当天时间戳 var enddate = new Date(end.format('YYYY-MM-DD')); var endmonth = Date.parse(enddate)/1000; var startdate = new Date(start.format('YYYY-MM-DD')); var startmonth = Date.parse(startdate)/1000; data['eventView']['recentDay'] = parseInt((sameday - endmonth)/86400) + "-"+ parseInt((sameday - startmonth)/86400); 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 type2data = [[],[]]; X.api("data_auth/my_event","get",{},function(d){ eventdata = d; X.api("data_auth/load_prop_quotas","post",{event_name:eventdata[0]['category'][0]['event_name']},function(val){ type2data[0] = val.props; type2data[1] = val.props; var arr = [{ "eventDesc":eventdata[0]['category'][0]['event_desc'], "eventName":eventdata[0]['category'][0]['event_name'], "filts":[], "relation":"and", "relationUser":"and", "renameindicator":"", "event_attr": type2data[0][0]['title'], "event_attr_id": type2data[0][0]['id'], },{ "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; //初始事件 // console.log(data['events'][0]); X.template("event","initial-event",data['events'][0]); X.template("returnvisitevent","returnvisit-event",data['events'][1]); //从数据看板点击进来触发事件 if(X.DATA.retentionid && X.DATA.retentionid != ''){ var report_idarr = []; report_idarr.push(X.DATA.retentionid); X.api('report/read_report','post',{project_id:X.DATA.projectid,report_id:report_idarr},function(d){ backfilldata(d[0]); }) } }) }) }); $(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){ console.log(val); $("#analysis-zhibiao-list-type2-"+index).html(val.title); data['events'][index]['event_attr'] = val.title; data['events'][index]['event_attr_id'] = val.id; // } }) } }); //开启重命名 $(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'][0]['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'][1]['filts'].splice(index,1); filtersymbols[1].splice(index,1); X.template("returnvisitevent","return-event",data['events'][1]); }); $(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_prop_quotas","post",{event_name:val.name},function(val){ type2data[index] = val.props; }) 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(groupitemeventsdata[0],'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; console.log(groupitemeventsdata); 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 = groupitemeventsdata[0]; 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(groupitemeventsdata[0],'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(groupitemeventsdata[0],'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(){ // console.log(data); 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){ backfilldata(d); } }) }); function backfilldata(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) } } 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: 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/roleeditname.js (function(){ X.pageLogic['roleeditname'] = { init : function(parms){ var me = this; this.parms = parms; this.callback = parms.callback; var data = parms.extData; $(document).off('click','.modifyname-qd').on('click','.modifyname-qd',function(){ console.log(111); var txt = $(".modifyname-txt").val(); X.api("authz/edit_role","post",{role_id:data['id'],name:txt,desc:""},function(d){ console.log(d); layer.closeAll(0); me.callback && me.callback(); }) }); $(document).off('click','.modifyname-qx').on('click','.modifyname-qx',function(){ layer.closeAll(); }); $(document).off('click','.modifyname-cha').on('click','.modifyname-cha',function(){ layer.closeAll(); }); } }; })(); // 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){ 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 id = $(this).attr("data-id"); var cat = $(this).attr("data-cat"); if(type == cat){ for(let i in data){ if(id == data[i]['_id']){ me.callback && me.callback(data[i]); 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 = `
来源渠道
` $(".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(); 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_desc'].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); } } 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 '隐藏' } }} ,{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 = "space" }else { var Addlocation = $('#yidongjustAnotherInputBox1').val(); } // console.log(Addlocation); if(Addlocation){ id = X.pageLogic.newkanban.matchingid(Addlocation,type); }else { alert('请选择添加的位置'); return; } // var source_id = data['mykanban'].concat(data['kongjian']); var dataArr = { 'source_ids':data, 'dest_pid': id, 'cat':type }; console.log(dataArr); X.api('dashboard/move','post',dataArr,function(d){ // if(d.code == "ok"){ X.pageLogic.dashboard.freshMenu(X.DATA.projectid);//刷新侧边栏 X.pageLogic.adminkanban.updata(X.DATA.projectid);//刷新数据 console.log(me.parms.layIndex); layer.closeAll(0); // } }) }); } }; })(); // 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(); }) } }; })();