//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"); // X.echartsdata("#charts"); //更新时间按钮 $(".updatetime").click(function(){ X.updatatime(".updatetime"); }); //管理我创建的看板 $(document).off('click','.sousuo-box .kbglkanbanbtn').on("click",".sousuo-box .kbglkanbanbtn",function(){ X.open({ type: 1, title: false, closeBtn: 0, shadeClose: true, offset: 'lt', anim: 5, skin: 'yourclass', url: 'adminkanban' }) }); //渲染时区下拉框 layui.dropdown.render({ elem: ".tab-tit-box .tab-shiqvshezhi" ,data: X.DATA.timezone ,click: function(obj){ $(".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'); X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){ 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=''; //
事件分析
//
留存分析
//
LTV模型
//
漏斗分析
//
分布分析
//
路径分析
//
SQL查询
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','.chart').on('click','.chart',function(){ // var id = $(this).attr('data-id'); // var modelid = 'model'+id; // var modelsize = $(this).attr('data-modelsize'); // var modeltype = $(this).attr('data-modeltype'); // var cat = $(this).attr('data-cat'); // var name = $(this).attr('data-name'); // var configdata = { // graph_size:modelsize, // graph_type:modeltype, // model:cat, // name:name, // report_id:id // } // var obj = $(this); // var offset = obj.offset(); // var dropdownlist = [ // {title:'表格',id:'table'}, // {title:'图形',id:'echarts'} // ] // X.querycriteriapop(dropdownlist,'dropdownlist',offset.left,offset.top+obj.height(),function(val){ // console.log(val); // X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){ // me.fillmodeldata(d[0],modelid); // }) // }) // }); //侧边栏更多控制按钮 // taboperation = function(e,type,id,name){ // console.log(X.DATA.taboperationdata[type]) // X.laydropdown('.kanbanwenjianimg',X.DATA.taboperationdata[type]); // } // 渲染下拉框 $(document).off('click','.nav-action-bar').on('click','.nav-action-bar',function(e){ e.stopPropagation(); console.log('更多操作按钮'); }); }, // 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.ltvchart(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){ X.template("modeltable",id,eventdata[z],function(){ X.pageLogic['dashboard'].morefeatures(eventdata[z]); }); }else { X.laytpldata("#kanban-model-table-dot",eventdata[z],null,function(html){ $('#model-box').append(html); 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){ for(let z in d){ X.pageLogic['dashboard'].fillmodeldata(d[z]); } }) }, }; })();