From 7714a384ce971fa9ef183ebbfe9a23318f435050 Mon Sep 17 00:00:00 2001 From: luosongbai <15272473386@163.com> Date: Fri, 23 Jul 2021 23:20:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/pages/analysis.html | 15 +- web/pages/dashboard.html | 132 +------------ web/pages/kanbanadmin.html | 5 +- web/pages/modeltable.html | 140 ++++++++++---- web/src/x.min.js | 324 ++++++++++++++++++++++++-------- web/srczip/common.js | 59 +++++- web/srczip/logic/analysis.js | 53 ++++-- web/srczip/logic/dashboard.js | 117 +++++++++--- web/srczip/logic/kanbanadmin.js | 40 ++-- web/srczip/logic/modeltable.js | 9 +- web/srczip/logic/savereport.js | 46 +++-- web/static/css/analysis.css | 6 +- web/static/css/style.css | 2 +- 13 files changed, 606 insertions(+), 342 deletions(-) diff --git a/web/pages/analysis.html b/web/pages/analysis.html index 3054508..af22fe8 100644 --- a/web/pages/analysis.html +++ b/web/pages/analysis.html @@ -225,13 +225,20 @@
+ + {{# if(item.eventNameDisplay != " " && item.eventNameDisplay != undefined){ }} +
+ +
+ {{# } else { }}
+ {{# } }}
{{index}}
-
{{item.event_desc}}
+
{{item.event_desc}}
{{item.event_attr}}
{{# if(item.event_attr_id != "*"){ }} @@ -277,11 +284,11 @@
{{index}}
-
+
- +
@@ -300,7 +307,7 @@
- +
diff --git a/web/pages/dashboard.html b/web/pages/dashboard.html index 32a6658..f13fe7b 100644 --- a/web/pages/dashboard.html +++ b/web/pages/dashboard.html @@ -169,7 +169,7 @@
-
+
@@ -589,132 +589,4 @@ {{# } }} {{# }); }} - - - - - + \ No newline at end of file diff --git a/web/pages/kanbanadmin.html b/web/pages/kanbanadmin.html index b27710f..01a96c3 100644 --- a/web/pages/kanbanadmin.html +++ b/web/pages/kanbanadmin.html @@ -65,7 +65,10 @@ {{# if(item.added === true){ }}
{{item.name}} - + + + +
{{# } }} {{# }); }} diff --git a/web/pages/modeltable.html b/web/pages/modeltable.html index c8830fc..27b935b 100644 --- a/web/pages/modeltable.html +++ b/web/pages/modeltable.html @@ -1,53 +1,57 @@ +
+ +
+ + \ No newline at end of file diff --git a/web/src/x.min.js b/web/src/x.min.js index 96e5788..2baedde 100644 --- a/web/src/x.min.js +++ b/web/src/x.min.js @@ -241,9 +241,9 @@ var X = window.X || { X.laytpldata = function (mbid ,data,wzid,callback){ var getTpl = $(mbid).html() layui.laytpl(getTpl).render(data, function(html){ - $(wzid).html(html); + wzid && $(wzid).html(html); layui.element.init(); //重新渲染 - callback && callback(); + callback && callback(html); }); }; @@ -436,6 +436,61 @@ var X = window.X || { titledata:titledata, condata:condata } + + callback && callback(dataArr); + }; + + X.eventchart = function(data,callback){ + var legenddata=[]; + for(let i in data){ + for(let z in data[i]['groups']){ + var pj = data[i]['event_name']+data[i]['groups'][z]; + legenddata.push(pj); + } + } + var seriesData=[]; + var sum = 0; + var mean = 0; + var sameday = 0; + for(let i in data){ + for(let z in data[i]['values']){ + var arr = { + name: '', + type: 'line', + stack: '总量', + areaStyle: {}, + emphasis: { + focus: 'series' + }, + data: data[i]['values'][z] + } + seriesData.push(arr); + sameday = data[i]['values'][z][data[i]['values'][z].length - 1]; + for(let j in data[i]['values'][z]){ + mean = parseInt(mean) + parseInt(data[i]['values'][z][j]); + } + } + sum = sum + data[i]['sum'][0]; + mean = mean / data[i]['values'].length; + } + if(legenddata.length > 0){ + for(let i in seriesData){ + seriesData[i]['name'] = legenddata[i]; + } + } + + + for(let i in data){} + + var dataArr = { + xAxisData:data[0]['date_range'], + legenddata:legenddata, + seriesData:seriesData, + sum:sum, + mean:mean, + sameday: sameday + } + callback && callback(dataArr); }; @@ -1296,7 +1351,7 @@ var X = window.X || { "timeParticleSize":"P1D", "endTime":"", "graphShape":"L0", - "recentDay":"1-30", + "recentDay":"1-7", "groupBy":[], "uiCommonConfig":{ "tableSorts":[], @@ -1324,6 +1379,16 @@ var X = window.X || { var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59"; data['eventView']['startTime'] = startTime; data['eventView']['endTime'] = endTime; + var sameday = Date.parse(new Date()) / 1000; //当天时间戳 + + var enddate = new Date(end.format('YYYY-MM-DD')); + var endmonth = Date.parse(enddate)/1000; + + var startdate = new Date(start.format('YYYY-MM-DD')); + var startmonth = Date.parse(startdate)/1000; + // console.log(parseInt((sameday - startmonth )/86400)); + // console.log(parseInt((sameday - endmonth)/86400)); + data['eventView']['recentDay'] = parseInt((sameday - endmonth)/86400) + "-"+ parseInt((sameday - startmonth)/86400); calculationdata(); }) @@ -1346,9 +1411,10 @@ var X = window.X || { "event_attr_id":"*", "analysisname":'', "analysis":'total_count', - "renameindicator":"", //重命名指标 "filts":[],//过滤项 "condrelation":'and', + "customEvent":'', + "eventNameDisplay":' '//重命名指标 } data.events.push(defaultindicator); X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); @@ -1393,6 +1459,7 @@ var X = window.X || { }); //已存报表 + var baobiaodata; $(document).off('click','.analysis-navigation-bar-right .analysis-navigation-bar-right-img-baobiao').on('click','.analysis-navigation-bar-right .analysis-navigation-bar-right-img-baobiao',function(){ X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){ console.log(d); @@ -1402,6 +1469,8 @@ var X = window.X || { type3data = data.cachedata.type3data; screentypearr = data.cachedata.screentypearr; filtersymbols = data.cachedata.filtersymbols; + + baobiaodata = d; if(d.query.eventView.filts.length > 0){ $(".analysis-overall").show(); @@ -1615,11 +1684,11 @@ var X = window.X || { $(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]['renameindicator'] = txt; + data['events'][index]['eventNameDisplay'] = txt; }) // 监听文本框 - $(document).on('blur','.analysis-zhibiao-list-type4 input',function(){ + $(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(); @@ -1666,13 +1735,15 @@ var X = window.X || { "event_attr_id":"*", "analysisname":'', "analysis":'total_count', - "renameindicator":"", //重命名指标 "filts":[],//过滤项 "condrelation":'and', + "customEvent":'', + "eventNameDisplay":' '//重命名指标 } data['events'].push(defaultindicator); X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); + console.log(data.events); var index = data.events.length - 1; type2data[index]= retdata; type3data[index]= []; @@ -1720,21 +1791,23 @@ var X = window.X || { }) - $(document).off('click','.analysis-custom-event-box .analysis-custom-event-txt').on('click','.analysis-custom-event-box .analysis-custom-event-txt',function(){ - $(this).css("border-bottom","1px solid #3d90ff"); + $(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"); - X.querycriteriapop(dataArr,'setgrouping',offset.left,offset.top+obj.height(),function(val){ - $("#analysis-custom-event-dis-box-"+index).show(); - obj.hide(); + data['events'][index]['customEvent'] = $(this).val(); + // console.log(data); + }) - }) + $(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname2 input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname2 input',function(){ + var index = $(this).attr('data-index'); + data['events'][index]['eventNameDisplay'] = $(this).val(); + // console.log(data); }) //分组项 var cat = "event"; - $(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function(){ var index = data['eventView']['groupBy'].length; var screentypedata = filteringdata(); @@ -1932,7 +2005,7 @@ var X = window.X || { }) }) - $(document).on('blur','.analysis-overall-situation-input input',function(){ + $(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(","); @@ -1940,7 +2013,7 @@ var X = window.X || { data['eventView']['filts'][index]['strftv']=val; }) - $(document).on('blur','.analysis-overall-situation-input2 input',function(){ + $(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"); @@ -2328,7 +2401,12 @@ var X = window.X || { // 保存报表 $(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){ - X.parametersopen(data,'savereport','auto') + if(baobiaodata != '' && baobiaodata != undefined && baobiaodata != null){ + console.log(baobiaodata); + X.parametersopen(baobiaodata,'savereport','auto'); + }else{ + X.parametersopen(data,'savereport','auto'); + } }) }, @@ -2946,32 +3024,9 @@ var X = window.X || { $(".tab-tit-box .tab-tit").html($(this).find("span").html()); X.DATA['dashboard_id'] = $(this).attr('data-id'); //看板id // 获取报表数据 - gettabledata(); + me.gettabledata(); }); - // 获取表格数据 - function gettabledata(){ - X.api('dashboard','post',{id:X.DATA['dashboard_id']},function(d){ - // console.log(d); - for(let i in d){ - X.api("ck/"+d[i]['model']+"_model","post",{report_id:d[i]['report_id']},function(val){ - // console.log(val); - if(d[i]['model'] == "event"){ - if(d[i]['graph_type'] == 'table'){ - X.eventtable(val,function(data){ - console.log(data); - X.template("modeltable","chart-box",data); - }) - }else if(d[i]['graph_type'] == 'echarts'){ - - } - } - - }) - } - }) - }; - // 渲染添加按钮侧边栏下拉框 X.laydropdown("#chuangjian",X.DATA.createsidebar,function(d){ if(d.url){ @@ -3133,8 +3188,7 @@ var X = window.X || { // 保存报表列表 $(document).off('click','.baobiao').on('click','.baobiao',function(){ X.parametersopen({},'kanbanadmin','rt',function(){ - console.log(111); - gettabledata(); + me.gettabledata(); }) }); @@ -3153,13 +3207,98 @@ var X = window.X || { freshMenu : function(id){ //获取对应侧边栏 X.api('project/kanban',"post",{"_id":id},function (d){ - console.log(d); X.DATA['KanBanData'] = d.kanban; X.DATA['ProjectData'] = d.spaces; X.laytpldata('#mykanban-dot',d.kanban,'#mykanban'); X.laytpldata('#kongjian-dot',d.spaces,'#kongjian'); }); - } + }, + + // 获取表格数据 + gettabledata:function(){ + + X.api('dashboard','post',{id:X.DATA['dashboard_id']},function(d){ + var eventdata=[]; + for(let i in d){ + X.api("ck/"+d[i]['model']+"_model","post",{report_id:d[i]['report_id']},function(val){ + // console.log(val); + if(d[i]['model'] == "event"){ + // 事件分析 + if(d[i]['graph_type'] == 'table'){ + //表格样式 + X.eventtable(val,function(data){//表格数据处理 + data['name'] = d[i]['name']; + data['modeltype'] = d[i]['graph_type']; + data['id'] = d[i]['report_id']; + eventdata.push(data); + }) + }else if(d[i]['graph_type'] == 'echarts'){ + //图形 + X.eventchart(val,function(data){ + data['name'] = d[i]['name']; + data['modeltype'] = d[i]['graph_type']; + data['id'] = d[i]['report_id']; + eventdata.push(data); + }) + } + } + + }) + } + console.log(eventdata); + X.template("modeltable","chart-box",eventdata,function(){ + for(let i in eventdata){ + if(eventdata[i]['modeltype'] == 'echarts'){ + var myChart = echarts.init(document.getElementById(eventdata[i]['id'])); + var option = { + title: { + text: '' + }, + color: X.DATA.echartscolor, + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'cross', + label: { + backgroundColor: '#6a7985' + } + } + }, + legend: { + type:'scroll', + data: eventdata[i]['legenddata'] + }, + grid: { + left: '2%', + right: '2%', + bottom: '2%', + top: '10%', + containLabel: true + }, + xAxis: [ + { + type: 'category', + boundaryGap: false, + data: eventdata[i]['xAxisData'] + } + ], + yAxis: [ + { + type: 'value' + } + ], + series: eventdata[i]['seriesData'] + }; + myChart.setOption(option,true); + } + } + }); + + + + }) + }, + }; })(); @@ -5116,6 +5255,7 @@ var X = window.X || { //渲染已添加报表下拉框 function toadddataprocessing(){ + toadddata = []; for(let i in reportlistdata){ if(reportlistdata[i]['added'] == true){ toadddata.push(reportlistdata[i]); @@ -5123,40 +5263,31 @@ var X = window.X || { } var downmenu = [ {title:'表格',id:'table'}, - {title:'图形',id:'echarts'}, - {title:'删除',id:'del'}, + {title:'图形',id:'echarts'} ] - + submitdata = []; for(let i in toadddata){ var arr = { report_id:toadddata[i]['_id'], graph_type:'table', - model:toadddata[i]['cat'] + model:toadddata[i]['cat'], + name:toadddata[i]['name'], } submitdata.push(arr); X.laydropdown('.to-added-more'+i,downmenu,function(d){ - if(d.id != 'del'){ - // 删除报表 - submitdata[i]['graph_type'] = d.id; - - }else { - // reportlistdata[i]['added'] = true; - for(let j in reportlistdata){ - if(reportlistdata[j]['_id'] == submitdata[i]['report_id']){ - console.log(submitdata[i]['report_id']); - X.api('dashboard/del_report','post',{_id:X['DATA']['dashboard_id'],report_id:submitdata[i]['report_id']},function(){ - kanbanupdata(); - }) - // reportlistdata[j]['added'] = false; - // X.laytpldata('#to-be-added-baobiao-dot',reportlistdata,'.to-be-added-baobiao'); - // X.laytpldata('#to-added-baobiao-dot',reportlistdata,'.to-added-baobiao'); - // toadddataprocessing(); - } - } - } + + submitdata[i]['graph_type'] = d.id; + }) } - } + }; + + $(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-yy').on('click','.kanbanadmin-but-yy',function(){ X.api('dashboard/add_report','post',{_id:X['DATA']['dashboard_id'],report_ids:submitdata},function(d){ @@ -5432,8 +5563,13 @@ var X = window.X || { this.callback = parms.callback; var data = parms; - console.log(data); - X.laytpldata("#kanban-model-table-dot",data,"#chart-box"); + for(var i in data){ + console.log(data[i]); + X.laytpldata("#kanban-model-table-dot",data[i],null,function(html){ + $('#model-box').append(html); + }); + } + } }; @@ -7438,6 +7574,12 @@ var X = window.X || { 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'] == ""){ @@ -7448,19 +7590,35 @@ var X = window.X || { layer.msg("请填写报表备注"); return false; } - var arr = { - name: tabval['title'], - desc:tabval['desc'], - query:data, - project_id:X.DATA.projectid, - cat: data['eventView']['cksql'] - // reporttype : data['eventView']['cksql'] + + 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(); + }) } - console.log(arr); - X.api('report/create','post',arr,function(d){ - layer.msg(d); - layer.closeAll(); - }) + }) diff --git a/web/srczip/common.js b/web/srczip/common.js index 52d5700..1a32df8 100644 --- a/web/srczip/common.js +++ b/web/srczip/common.js @@ -240,9 +240,9 @@ var X = window.X || { X.laytpldata = function (mbid ,data,wzid,callback){ var getTpl = $(mbid).html() layui.laytpl(getTpl).render(data, function(html){ - $(wzid).html(html); + wzid && $(wzid).html(html); layui.element.init(); //重新渲染 - callback && callback(); + callback && callback(html); }); }; @@ -435,6 +435,61 @@ var X = window.X || { titledata:titledata, condata:condata } + + callback && callback(dataArr); + }; + + X.eventchart = function(data,callback){ + var legenddata=[]; + for(let i in data){ + for(let z in data[i]['groups']){ + var pj = data[i]['event_name']+data[i]['groups'][z]; + legenddata.push(pj); + } + } + var seriesData=[]; + var sum = 0; + var mean = 0; + var sameday = 0; + for(let i in data){ + for(let z in data[i]['values']){ + var arr = { + name: '', + type: 'line', + stack: '总量', + areaStyle: {}, + emphasis: { + focus: 'series' + }, + data: data[i]['values'][z] + } + seriesData.push(arr); + sameday = data[i]['values'][z][data[i]['values'][z].length - 1]; + for(let j in data[i]['values'][z]){ + mean = parseInt(mean) + parseInt(data[i]['values'][z][j]); + } + } + sum = sum + data[i]['sum'][0]; + mean = mean / data[i]['values'].length; + } + if(legenddata.length > 0){ + for(let i in seriesData){ + seriesData[i]['name'] = legenddata[i]; + } + } + + + for(let i in data){} + + var dataArr = { + xAxisData:data[0]['date_range'], + legenddata:legenddata, + seriesData:seriesData, + sum:sum, + mean:mean, + sameday: sameday + } + callback && callback(dataArr); }; diff --git a/web/srczip/logic/analysis.js b/web/srczip/logic/analysis.js index 5496493..60823f3 100644 --- a/web/srczip/logic/analysis.js +++ b/web/srczip/logic/analysis.js @@ -23,7 +23,7 @@ "timeParticleSize":"P1D", "endTime":"", "graphShape":"L0", - "recentDay":"1-30", + "recentDay":"1-7", "groupBy":[], "uiCommonConfig":{ "tableSorts":[], @@ -51,6 +51,16 @@ var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59"; data['eventView']['startTime'] = startTime; data['eventView']['endTime'] = endTime; + var sameday = Date.parse(new Date()) / 1000; //当天时间戳 + + var enddate = new Date(end.format('YYYY-MM-DD')); + var endmonth = Date.parse(enddate)/1000; + + var startdate = new Date(start.format('YYYY-MM-DD')); + var startmonth = Date.parse(startdate)/1000; + // console.log(parseInt((sameday - startmonth )/86400)); + // console.log(parseInt((sameday - endmonth)/86400)); + data['eventView']['recentDay'] = parseInt((sameday - endmonth)/86400) + "-"+ parseInt((sameday - startmonth)/86400); calculationdata(); }) @@ -73,9 +83,10 @@ "event_attr_id":"*", "analysisname":'', "analysis":'total_count', - "renameindicator":"", //重命名指标 "filts":[],//过滤项 "condrelation":'and', + "customEvent":'', + "eventNameDisplay":' '//重命名指标 } data.events.push(defaultindicator); X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); @@ -120,6 +131,7 @@ }); //已存报表 + var baobiaodata; $(document).off('click','.analysis-navigation-bar-right .analysis-navigation-bar-right-img-baobiao').on('click','.analysis-navigation-bar-right .analysis-navigation-bar-right-img-baobiao',function(){ X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){ console.log(d); @@ -129,6 +141,8 @@ type3data = data.cachedata.type3data; screentypearr = data.cachedata.screentypearr; filtersymbols = data.cachedata.filtersymbols; + + baobiaodata = d; if(d.query.eventView.filts.length > 0){ $(".analysis-overall").show(); @@ -342,11 +356,11 @@ $(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]['renameindicator'] = txt; + data['events'][index]['eventNameDisplay'] = txt; }) // 监听文本框 - $(document).on('blur','.analysis-zhibiao-list-type4 input',function(){ + $(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(); @@ -393,13 +407,15 @@ "event_attr_id":"*", "analysisname":'', "analysis":'total_count', - "renameindicator":"", //重命名指标 "filts":[],//过滤项 "condrelation":'and', + "customEvent":'', + "eventNameDisplay":' '//重命名指标 } data['events'].push(defaultindicator); X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); + console.log(data.events); var index = data.events.length - 1; type2data[index]= retdata; type3data[index]= []; @@ -447,21 +463,23 @@ }) - $(document).off('click','.analysis-custom-event-box .analysis-custom-event-txt').on('click','.analysis-custom-event-box .analysis-custom-event-txt',function(){ - $(this).css("border-bottom","1px solid #3d90ff"); + $(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"); - X.querycriteriapop(dataArr,'setgrouping',offset.left,offset.top+obj.height(),function(val){ - $("#analysis-custom-event-dis-box-"+index).show(); - obj.hide(); + data['events'][index]['customEvent'] = $(this).val(); + // console.log(data); + }) - }) + $(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname2 input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname2 input',function(){ + var index = $(this).attr('data-index'); + data['events'][index]['eventNameDisplay'] = $(this).val(); + // console.log(data); }) //分组项 var cat = "event"; - $(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function(){ var index = data['eventView']['groupBy'].length; var screentypedata = filteringdata(); @@ -659,7 +677,7 @@ }) }) - $(document).on('blur','.analysis-overall-situation-input input',function(){ + $(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(","); @@ -667,7 +685,7 @@ data['eventView']['filts'][index]['strftv']=val; }) - $(document).on('blur','.analysis-overall-situation-input2 input',function(){ + $(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"); @@ -1055,7 +1073,12 @@ // 保存报表 $(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){ - X.parametersopen(data,'savereport','auto') + if(baobiaodata != '' && baobiaodata != undefined && baobiaodata != null){ + console.log(baobiaodata); + X.parametersopen(baobiaodata,'savereport','auto'); + }else{ + X.parametersopen(data,'savereport','auto'); + } }) }, diff --git a/web/srczip/logic/dashboard.js b/web/srczip/logic/dashboard.js index 0619cb9..0866ea5 100644 --- a/web/srczip/logic/dashboard.js +++ b/web/srczip/logic/dashboard.js @@ -46,32 +46,9 @@ $(".tab-tit-box .tab-tit").html($(this).find("span").html()); X.DATA['dashboard_id'] = $(this).attr('data-id'); //看板id // 获取报表数据 - gettabledata(); + me.gettabledata(); }); - // 获取表格数据 - function gettabledata(){ - X.api('dashboard','post',{id:X.DATA['dashboard_id']},function(d){ - // console.log(d); - for(let i in d){ - X.api("ck/"+d[i]['model']+"_model","post",{report_id:d[i]['report_id']},function(val){ - // console.log(val); - if(d[i]['model'] == "event"){ - if(d[i]['graph_type'] == 'table'){ - X.eventtable(val,function(data){ - console.log(data); - X.template("modeltable","chart-box",data); - }) - }else if(d[i]['graph_type'] == 'echarts'){ - - } - } - - }) - } - }) - }; - // 渲染添加按钮侧边栏下拉框 X.laydropdown("#chuangjian",X.DATA.createsidebar,function(d){ if(d.url){ @@ -233,8 +210,7 @@ // 保存报表列表 $(document).off('click','.baobiao').on('click','.baobiao',function(){ X.parametersopen({},'kanbanadmin','rt',function(){ - console.log(111); - gettabledata(); + me.gettabledata(); }) }); @@ -253,12 +229,97 @@ freshMenu : function(id){ //获取对应侧边栏 X.api('project/kanban',"post",{"_id":id},function (d){ - console.log(d); X.DATA['KanBanData'] = d.kanban; X.DATA['ProjectData'] = d.spaces; X.laytpldata('#mykanban-dot',d.kanban,'#mykanban'); X.laytpldata('#kongjian-dot',d.spaces,'#kongjian'); }); - } + }, + + // 获取表格数据 + gettabledata:function(){ + + X.api('dashboard','post',{id:X.DATA['dashboard_id']},function(d){ + var eventdata=[]; + for(let i in d){ + X.api("ck/"+d[i]['model']+"_model","post",{report_id:d[i]['report_id']},function(val){ + // console.log(val); + if(d[i]['model'] == "event"){ + // 事件分析 + if(d[i]['graph_type'] == 'table'){ + //表格样式 + X.eventtable(val,function(data){//表格数据处理 + data['name'] = d[i]['name']; + data['modeltype'] = d[i]['graph_type']; + data['id'] = d[i]['report_id']; + eventdata.push(data); + }) + }else if(d[i]['graph_type'] == 'echarts'){ + //图形 + X.eventchart(val,function(data){ + data['name'] = d[i]['name']; + data['modeltype'] = d[i]['graph_type']; + data['id'] = d[i]['report_id']; + eventdata.push(data); + }) + } + } + + }) + } + console.log(eventdata); + X.template("modeltable","chart-box",eventdata,function(){ + for(let i in eventdata){ + if(eventdata[i]['modeltype'] == 'echarts'){ + var myChart = echarts.init(document.getElementById(eventdata[i]['id'])); + var option = { + title: { + text: '' + }, + color: X.DATA.echartscolor, + tooltip: { + trigger: 'axis', + axisPointer: { + type: 'cross', + label: { + backgroundColor: '#6a7985' + } + } + }, + legend: { + type:'scroll', + data: eventdata[i]['legenddata'] + }, + grid: { + left: '2%', + right: '2%', + bottom: '2%', + top: '10%', + containLabel: true + }, + xAxis: [ + { + type: 'category', + boundaryGap: false, + data: eventdata[i]['xAxisData'] + } + ], + yAxis: [ + { + type: 'value' + } + ], + series: eventdata[i]['seriesData'] + }; + myChart.setOption(option,true); + } + } + }); + + + + }) + }, + }; })(); diff --git a/web/srczip/logic/kanbanadmin.js b/web/srczip/logic/kanbanadmin.js index ee62749..a176cfd 100644 --- a/web/srczip/logic/kanbanadmin.js +++ b/web/srczip/logic/kanbanadmin.js @@ -81,6 +81,7 @@ //渲染已添加报表下拉框 function toadddataprocessing(){ + toadddata = []; for(let i in reportlistdata){ if(reportlistdata[i]['added'] == true){ toadddata.push(reportlistdata[i]); @@ -88,40 +89,31 @@ } var downmenu = [ {title:'表格',id:'table'}, - {title:'图形',id:'echarts'}, - {title:'删除',id:'del'}, + {title:'图形',id:'echarts'} ] - + submitdata = []; for(let i in toadddata){ var arr = { report_id:toadddata[i]['_id'], graph_type:'table', - model:toadddata[i]['cat'] + model:toadddata[i]['cat'], + name:toadddata[i]['name'], } submitdata.push(arr); X.laydropdown('.to-added-more'+i,downmenu,function(d){ - if(d.id != 'del'){ - // 删除报表 - submitdata[i]['graph_type'] = d.id; - - }else { - // reportlistdata[i]['added'] = true; - for(let j in reportlistdata){ - if(reportlistdata[j]['_id'] == submitdata[i]['report_id']){ - console.log(submitdata[i]['report_id']); - X.api('dashboard/del_report','post',{_id:X['DATA']['dashboard_id'],report_id:submitdata[i]['report_id']},function(){ - kanbanupdata(); - }) - // reportlistdata[j]['added'] = false; - // X.laytpldata('#to-be-added-baobiao-dot',reportlistdata,'.to-be-added-baobiao'); - // X.laytpldata('#to-added-baobiao-dot',reportlistdata,'.to-added-baobiao'); - // toadddataprocessing(); - } - } - } + + submitdata[i]['graph_type'] = d.id; + }) } - } + }; + + $(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-yy').on('click','.kanbanadmin-but-yy',function(){ X.api('dashboard/add_report','post',{_id:X['DATA']['dashboard_id'],report_ids:submitdata},function(d){ diff --git a/web/srczip/logic/modeltable.js b/web/srczip/logic/modeltable.js index 5b224f0..719a16d 100644 --- a/web/srczip/logic/modeltable.js +++ b/web/srczip/logic/modeltable.js @@ -6,8 +6,13 @@ this.callback = parms.callback; var data = parms; - console.log(data); - X.laytpldata("#kanban-model-table-dot",data,"#chart-box"); + for(var i in data){ + console.log(data[i]); + X.laytpldata("#kanban-model-table-dot",data[i],null,function(html){ + $('#model-box').append(html); + }); + } + } }; diff --git a/web/srczip/logic/savereport.js b/web/srczip/logic/savereport.js index e195896..792afdb 100644 --- a/web/srczip/logic/savereport.js +++ b/web/srczip/logic/savereport.js @@ -5,6 +5,12 @@ 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'] == ""){ @@ -15,19 +21,35 @@ layer.msg("请填写报表备注"); return false; } - var arr = { - name: tabval['title'], - desc:tabval['desc'], - query:data, - project_id:X.DATA.projectid, - cat: data['eventView']['cksql'] - // reporttype : data['eventView']['cksql'] + + 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(); + }) } - console.log(arr); - X.api('report/create','post',arr,function(d){ - layer.msg(d); - layer.closeAll(); - }) + }) diff --git a/web/static/css/analysis.css b/web/static/css/analysis.css index 9c42079..bf22bdf 100644 --- a/web/static/css/analysis.css +++ b/web/static/css/analysis.css @@ -93,7 +93,7 @@ .analysis-del { background: url("../img/del.png") no-repeat;} .analysis-con-left-screen-list-left-zhibiaoname { display: none; color: #42546d; height: 24px; margin-left: 32px; padding-bottom: 8px; font-weight: 500; font-size: 13px; line-height: 24px; border: 0px ; } .analysis-con-left-screen-list-left-zhibiaoname input { color: #42546d; border: 0; background-color: rgba(0, 0, 0, 0); } -.analysis-con-left-screen-list-left-zhibiaoname2 { display: block; color: #42546d; height: 24px; margin-left: 7px; padding-bottom: 8px; font-weight: 500; font-size: 13px; line-height: 24px; border: 0px ; } +.analysis-con-left-screen-list-left-zhibiaoname2 { border-bottom: 1px solid #f0f0f0; display: block; color: #42546d; height: 24px; margin-left: 7px; padding-bottom: 8px; font-weight: 500; font-size: 13px; line-height: 24px; border: 0px ; } .analysis-con-left-screen-list-left-zhibiaoname2 input { color: #42546d; border: 0; background-color: rgba(0, 0, 0, 0); } .analysis-con-left-screen-list-right-screen-box { padding-left: 32px; display: flex; align-items: center; } @@ -116,7 +116,7 @@ .analysis-custom-box { width: 100%; display: none; } .analysis-custom-event-box { padding-left: 33px; padding-right: 8px; } -.analysis-custom-event-box input{ width: 100%; border: 0px; height: 37px; line-height: 37px; background-color: rgba(0, 0, 0, 0); } +.analysis-custom-event-box input{ width: 100%; border: 0px; height: 37px; line-height: 37px; background-color: rgba(0, 0, 0, 0); border-bottom: 1px solid #f0f0f0; } .analysis-custom-event-box-display { display: flex; align-items: center; } .analysis-custom-event-box-display div{ margin-right: 6px; } .analysis-custom-event-type { color: #42546d; padding: 0 6px; height: 28px; line-height: 28px; font-size: 13px; background-color: #fff; border: 1px solid #f0f2f5; cursor: pointer; border-radius: 2px; } @@ -312,7 +312,7 @@ .to-be-added-baobiao { height: calc(100% - 115px); padding: 4px; overflow-x: hidden; overflow-y: auto; } .kanbanadmin-list-box { display: flex; align-items: center; justify-content: space-between; height: 40px; padding: 0 8px 0 0; line-height: 40px; cursor: grab; } .kanbanadmin-list-box:hover{ background-color: #f6f8fa; } -.kanbanadmin-list-box:hover > .kanbanadmin-list-add-box{ display: block; } +.kanbanadmin-list-box:hover > .kanbanadmin-list-add-box{ display: flex; } .kanbanadmin-list-tit { font-size: 13px; color: #42546d; margin-left: 16px; } .kanbanadmin-list-add-box { display: none; } .kanbanadmin-list-add { display: inline-block; min-width: 24px; height: 24px; padding: 0 4px; line-height: 22px; text-align: center; border-right: 2px; cursor: pointer; font-size: 20px; } diff --git a/web/static/css/style.css b/web/static/css/style.css index 89669aa..90fab35 100644 --- a/web/static/css/style.css +++ b/web/static/css/style.css @@ -20,7 +20,7 @@ .layui-table-body { height: 100% !important; } .layui-form-item .layui-form-checkbox[lay-skin=primary] { text-indent: 0px !important; } .layui-anim-downbit { max-height: 350px; overflow-y: auto; overflow-x: hidden; } -.layui-nav .layui-nav-child dd.layui-this a, .layui-nav-child dd.layui-this { background-color: #f6f8fa !important; } +/* .layui-nav .layui-nav-child dd.layui-this a, .layui-nav-child dd.layui-this { background-color: #f6f8fa !important; } */ .username { color: #67729d; margin-right: 16px; } .layui-project { position:absolute; top: 0; left: 80px; ;}