This commit is contained in:
罗松柏 2021-07-23 23:20:45 +08:00
parent 0a296e9c17
commit 7714a384ce
13 changed files with 606 additions and 342 deletions

View File

@ -225,13 +225,20 @@
<div class="analysis-con-left-screen-list"> <div class="analysis-con-left-screen-list">
<!-- 指标选择 --> <!-- 指标选择 -->
<div class="analysis-con-left-screen-list-left-box" id="analysis-con-left-screen-list-left-box-{{index}}"> <div class="analysis-con-left-screen-list-left-box" id="analysis-con-left-screen-list-left-box-{{index}}">
{{# if(item.eventNameDisplay != " " && item.eventNameDisplay != undefined){ }}
<div class="analysis-con-left-screen-list-left-zhibiaoname" id="analysis-con-left-screen-list-left-zhibiaoname-{{index}}" style="display: block;">
<input type="text" placeholder="请输入指标名" value="{{item.eventNameDisplay}}" class="analysis-con-left-screen-list-left-zhibiaoname-txt" data-index="{{index}}"/>
</div>
{{# } else { }}
<div class="analysis-con-left-screen-list-left-zhibiaoname" id="analysis-con-left-screen-list-left-zhibiaoname-{{index}}"> <div class="analysis-con-left-screen-list-left-zhibiaoname" id="analysis-con-left-screen-list-left-zhibiaoname-{{index}}">
<input type="text" placeholder="请输入指标名" class="analysis-con-left-screen-list-left-zhibiaoname-txt" data-index="{{index}}"/> <input type="text" placeholder="请输入指标名" class="analysis-con-left-screen-list-left-zhibiaoname-txt" data-index="{{index}}"/>
</div> </div>
{{# } }}
<div class="analysis-con-left-screen-list-left"> <div class="analysis-con-left-screen-list-left">
<div class="analysis-num">{{index}}</div> <div class="analysis-num">{{index}}</div>
<div class="analysis-zhibiao-list"> <div class="analysis-zhibiao-list">
<div class="ant-dropdown-trigger analysis-zhibiao-list-type1 analysis-background" data-index="{{index}}"> {{item.event_desc}}</div> <div class="ant-dropdown-trigger analysis-zhibiao-list-type1 analysis-background" data-index="{{index}}"> {{item.event_desc}} </div>
<span style="margin-left: 6px;"></span> <span style="margin-left: 6px;"></span>
<div id="analysis-zhibiao-list-type2-{{index}}" class="analysis-zhibiao-list-type2 analysis-background" data-index="{{index}}">{{item.event_attr}}</div> <div id="analysis-zhibiao-list-type2-{{index}}" class="analysis-zhibiao-list-type2 analysis-background" data-index="{{index}}">{{item.event_attr}}</div>
{{# if(item.event_attr_id != "*"){ }} {{# if(item.event_attr_id != "*"){ }}
@ -277,11 +284,11 @@
<div class="analysis-custom-box" id="analysis-custom-box-{{index}}"> <div class="analysis-custom-box" id="analysis-custom-box-{{index}}">
<div class="analysis-custom-top"> <div class="analysis-custom-top">
<div class="analysis-num">{{index}}</div> <div class="analysis-num">{{index}}</div>
<div class="analysis-con-left-screen-list-left-zhibiaoname2"> <input type="text" value="自定义指标" placeholder="请出入指标名"/></div> <div class="analysis-con-left-screen-list-left-zhibiaoname2"> <input data-index="{{index}}" type="text" value="{{item.eventNameDisplay}}" placeholder="请出入指标名"/></div>
</div> </div>
<div class="analysis-custom-event-box"> <div class="analysis-custom-event-box">
<input class="analysis-custom-event-txt" data-index="{{index}}" type="text" placeholder="直接输入运算符或点击选择事件"/> <input class="analysis-custom-event-txt" data-index="{{index}}" type="text" value="{{item.customEvent}}" placeholder="直接输入运算符或点击选择事件"/>
</div> </div>
<div class="analysis-custom-event-dis-box" id="analysis-custom-event-dis-box-{{index}}"> <div class="analysis-custom-event-dis-box" id="analysis-custom-event-dis-box-{{index}}">
<div class="analysis-custom-event-box analysis-custom-event-box-display"> <div class="analysis-custom-event-box analysis-custom-event-box-display">
@ -300,7 +307,7 @@
<div class="analysis-chongmingming" data-index="{{index}}" title="重命名指标"></div> <div class="analysis-chongmingming" data-index="{{index}}" title="重命名指标"></div>
<div class="analysis-chongmingming-del" data-index="{{index}}" title="取消重命名"></div> <div class="analysis-chongmingming-del" data-index="{{index}}" title="取消重命名"></div>
<div class="analysis-shaix" data-index="{{index}}" title="指标筛选"></div> <div class="analysis-shaix" data-index="{{index}}" title="指标筛选"></div>
<!-- <div class="analysis-gongshi" data-index="{{index}}" title="切换为指标公式"></div> --> <div class="analysis-gongshi" data-index="{{index}}" title="切换为指标公式"></div>
<div class="analysis-zhibiao" data-index="{{index}}" title="切换为指标选择"></div> <div class="analysis-zhibiao" data-index="{{index}}" title="切换为指标选择"></div>
<div class="analysis-jia1" data-index="{{index}}" title="添加指标"></div> <div class="analysis-jia1" data-index="{{index}}" title="添加指标"></div>
<div class="analysis-fuzhi" title="复制指标" data-index="{{index}}"></div> <div class="analysis-fuzhi" title="复制指标" data-index="{{index}}"></div>

View File

@ -169,7 +169,7 @@
</div> </div>
<div style="padding: 15px; height: calc(100% - 90px); overflow-y:auto; "> <div style="padding: 15px; height: calc(100% - 90px); overflow-y:auto; ">
<div class="layui-row layui-col-space15" id="chart-box"> <div id="chart-box">
<!-- 图表数据显示区域 --> <!-- 图表数据显示区域 -->
<!-- onmousemove="moveaction('data1')" onmouseout="outaction('data1')" --> <!-- onmousemove="moveaction('data1')" onmouseout="outaction('data1')" -->
@ -590,131 +590,3 @@
{{# }); }} {{# }); }}
</script> </script>
<!-- 看板模型 -->
<script id="kanban-model-dot" type="text/html">
<div class="layui-col-md6" >
<div class="layui-card">
<div class="row-top">
<div class="row-tit">
<p><a href="#">日活跃用户数</a></p>
<div class="tishi" title="活跃用户可以通过“登录.触发用户数”来进行计算,即有登录行为的用户的去重数.">
<img src="./static/img/tishi.png" />
</div>
</div>
<div class="control">
<div class="action-box" >
<div class="tishi" title="更新">
<img src="./static/img/gengxin.png" />
</div>
<div class="tishi" title="探索">
<img src="./static/img/fangda.png" />
</div>
<div class="tishi" title="更多">
<img src="./static/img/gengduo.png" />
</div>
</div>
</div>
</div>
<div class="condition-box">
<div class="time-cond">
<span>过去30天</span>
<div class="xian"></div>
<span>按天</span>
</div>
<div class="chart control">
<img src="./static/img/qvshitu.png" /> <span>趋势图</span>
</div>
</div>
<p class="dqtime">2021-03-23(二)</p>
<div class="data-box">
<div style="display: flex; align-items: center;">
<div class="data-num">351<span></span></div>
<div class="proportion">
<div class="proportion-data">较环比 <div class="sanjiao"></div><span>5.4%</span></div>
<div class="proportion-data">较同比 <div class="sanjiao"></div><span>5.4%</span></div>
</div>
</div>
<div class="thesum">
<div class="thesum-box">
<div class="thesum-data">总和 <span>12074</span></div>
<div class="thesum-data">均值 <span>402.47</span></div>
</div>
</div>
</div>
<div class="echarts-box">
<div id="charts" class="echarts"></div>
</div>
</div>
</div>
<div class="layui-col-md6" id="data2">
<div class="layui-card">
<div class="row-top">
<div class="row-tit">
<p><a href="#">日活跃用户数</a></p>
<div class="tishi" title="活跃用户数可以通过“登录.触发用户数”来进行计算,即有登录行为的用户的去重数。">
<img src="./static/img/tishi.png" />
</div>
</div>
<div class="control">
<div class="action-box" >
<div class="tishi" title="更新">
<img src="./static/img/gengxin.png" />
</div>
<div class="tishi" title="探索">
<img src="./static/img/fangda.png" />
</div>
<div class="tishi" title="更多">
<img src="./static/img/gengduo.png" />
</div>
</div>
</div>
</div>
<div class="condition-box">
<div class="time-cond">
<span>过去30天</span>
<div class="xian"></div>
<span>按天</span>
</div>
<div class="chart control">
<img src="./static/img/qvshitu.png" /> <span>趋势图</span>
</div>
</div>
<div class="table-box">
<table class="table-fenxi-box">
<thead>
<tr class="table-fenxi-th">
<th>当日</th>
<th>当日</th>
<th>当日</th>
<th>当日</th>
<th>当日</th>
<th>当日</th>
</tr>
</thead>
<tbody class="table-fenxi-td">
<tr >
<td>111</td>
<td>111</td>
<td>111</td>
<td>111</td>
<td>111</td>
<td>111</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</script>

View File

@ -65,7 +65,10 @@
{{# if(item.added === true){ }} {{# if(item.added === true){ }}
<div class="kanbanadmin-list-box"> <div class="kanbanadmin-list-box">
<span class="kanbanadmin-list-tit">{{item.name}}</span> <span class="kanbanadmin-list-tit">{{item.name}}</span>
<span class="kanbanadmin-list-add-box"><span class="kanbanadmin-list-add to-added-more{{index}}"><i class="layui-icon">&#xe65f;</i></span></span> <span class="kanbanadmin-list-add-box">
<span class="kanbanadmin-list-add to-added-more{{index - 1}}"><i class="layui-icon">&#xe65f;</i></span>
<span class="kanbanadmin-list-add to-added-del" data-id="{{item._id}}"> <i class="layui-icon">&#x1006;</i> </span>
</span>
</div> </div>
{{# } }} {{# } }}
{{# }); }} {{# }); }}

View File

@ -1,12 +1,16 @@
<div class="layui-row layui-col-space15" id="model-box" style="width: 100%; height: 765px; display: flex; flex-wrap: wrap;">
</div>
<script id="kanban-model-table-dot" type="text/html"> <script id="kanban-model-table-dot" type="text/html">
<div class="layui-col-md6" id="data2">
{{# if(d.modeltype === "table"){ }}
<div class="layui-col-md6" style="float: none;">
<div class="layui-card"> <div class="layui-card">
<div class="row-top"> <div class="row-top">
<div class="row-tit"> <div class="row-tit">
<p><a href="#">日活跃用户数</a></p> <p><a href="#">{{d.name}}</a></p>
<div class="tishi" title="活跃用户数可以通过“登录.触发用户数”来进行计算,即有登录行为的用户的去重数。">
<img src="./static/img/tishi.png" />
</div>
</div> </div>
<div class="control"> <div class="control">
<div class="action-box" > <div class="action-box" >
@ -38,16 +42,16 @@
<table class="table-fenxi-box"> <table class="table-fenxi-box">
<thead> <thead>
<tr class="table-fenxi-th"> <tr class="table-fenxi-th">
{{# layui.each(d.titledata, function(index, item) { }} {{# layui.each(d.titledata, function(indexs, items) { }}
<th>{{item}}</th> <th>{{items}}</th>
{{# }); }} {{# }); }}
</tr> </tr>
</thead> </thead>
<tbody class="table-fenxi-td"> <tbody class="table-fenxi-td">
{{# layui.each(d.condata, function(index, item) { }} {{# layui.each(d.condata, function(indexs, items) { }}
<tr > <tr >
{{# layui.each(item, function(indexs, items) { }} {{# layui.each(items, function(indexss, itemss) { }}
<td>{{items}}</td> <td>{{itemss}}</td>
{{# }); }} {{# }); }}
</tr> </tr>
{{# }); }} {{# }); }}
@ -57,4 +61,66 @@
</div> </div>
</div> </div>
{{# } else { }}
<div class="layui-col-md6" style="float: none;">
<div class="layui-card">
<div class="row-top">
<div class="row-tit">
<p><a href="#">{{d.name}}</a></p>
<div class="tishi" title="活跃用户可以通过“登录.触发用户数”来进行计算,即有登录行为的用户的去重数.">
<img src="./static/img/tishi.png" />
</div>
</div>
<div class="control">
<div class="action-box" >
<div class="tishi" title="更新">
<img src="./static/img/gengxin.png" />
</div>
<div class="tishi" title="探索">
<img src="./static/img/fangda.png" />
</div>
<div class="tishi" title="更多">
<img src="./static/img/gengduo.png" />
</div>
</div>
</div>
</div>
<div class="condition-box">
<div class="time-cond">
<span>过去30天</span>
<div class="xian"></div>
<span>按天</span>
</div>
<div class="chart control">
<img src="./static/img/qvshitu.png" /> <span>趋势图</span>
</div>
</div>
<p class="dqtime">2021-03-23(二)</p>
<div class="data-box">
<div style="display: flex; align-items: center;">
<div class="data-num">{{d.sameday}}<span></span></div>
<div class="proportion">
<!-- <div class="proportion-data">较环比 <div class="sanjiao"></div><span>5.4%</span></div>
<div class="proportion-data">较同比 <div class="sanjiao"></div><span>5.4%</span></div> -->
</div>
</div>
<div class="thesum">
<div class="thesum-box">
<div class="thesum-data">总和 <span>{{d.sum}}</span></div>
<div class="thesum-data">均值 <span>{{d.mean}}</span></div>
</div>
</div>
</div>
<div class="echarts-box">
<div id="{{d.id}}" class="echarts"></div>
</div>
</div>
</div>
{{# } }}
</script> </script>

296
web/src/x.min.js vendored
View File

@ -241,9 +241,9 @@ var X = window.X || {
X.laytpldata = function (mbid ,data,wzid,callback){ X.laytpldata = function (mbid ,data,wzid,callback){
var getTpl = $(mbid).html() var getTpl = $(mbid).html()
layui.laytpl(getTpl).render(data, function(html){ layui.laytpl(getTpl).render(data, function(html){
$(wzid).html(html); wzid && $(wzid).html(html);
layui.element.init(); //重新渲染 layui.element.init(); //重新渲染
callback && callback(); callback && callback(html);
}); });
}; };
@ -436,6 +436,61 @@ var X = window.X || {
titledata:titledata, titledata:titledata,
condata:condata 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); callback && callback(dataArr);
}; };
@ -1296,7 +1351,7 @@ var X = window.X || {
"timeParticleSize":"P1D", "timeParticleSize":"P1D",
"endTime":"", "endTime":"",
"graphShape":"L0", "graphShape":"L0",
"recentDay":"1-30", "recentDay":"1-7",
"groupBy":[], "groupBy":[],
"uiCommonConfig":{ "uiCommonConfig":{
"tableSorts":[], "tableSorts":[],
@ -1324,6 +1379,16 @@ var X = window.X || {
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59"; var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
data['eventView']['startTime'] = startTime; data['eventView']['startTime'] = startTime;
data['eventView']['endTime'] = endTime; 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(); calculationdata();
}) })
@ -1346,9 +1411,10 @@ var X = window.X || {
"event_attr_id":"*", "event_attr_id":"*",
"analysisname":'', "analysisname":'',
"analysis":'total_count', "analysis":'total_count',
"renameindicator":"", //重命名指标
"filts":[],//过滤项 "filts":[],//过滤项
"condrelation":'and', "condrelation":'and',
"customEvent":'',
"eventNameDisplay":' '//重命名指标
} }
data.events.push(defaultindicator); data.events.push(defaultindicator);
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); 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(){ $(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){ X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){
console.log(d); console.log(d);
@ -1403,6 +1470,8 @@ var X = window.X || {
screentypearr = data.cachedata.screentypearr; screentypearr = data.cachedata.screentypearr;
filtersymbols = data.cachedata.filtersymbols; filtersymbols = data.cachedata.filtersymbols;
baobiaodata = d;
if(d.query.eventView.filts.length > 0){ if(d.query.eventView.filts.length > 0){
$(".analysis-overall").show(); $(".analysis-overall").show();
}else { }else {
@ -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(){ $(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 index = $(this).attr("data-index");
var txt = $(this).val(); 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 index = $(this).attr("data-index");
var indexs = $(this).attr("data-indexs"); var indexs = $(this).attr("data-indexs");
var val = $(this).val(); var val = $(this).val();
@ -1666,13 +1735,15 @@ var X = window.X || {
"event_attr_id":"*", "event_attr_id":"*",
"analysisname":'', "analysisname":'',
"analysis":'total_count', "analysis":'total_count',
"renameindicator":"", //重命名指标
"filts":[],//过滤项 "filts":[],//过滤项
"condrelation":'and', "condrelation":'and',
"customEvent":'',
"eventNameDisplay":' '//重命名指标
} }
data['events'].push(defaultindicator); data['events'].push(defaultindicator);
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); 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; var index = data.events.length - 1;
type2data[index]= retdata; type2data[index]= retdata;
type3data[index]= []; 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(){ $(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"); // $(this).css("border-bottom","1px solid #3d90ff");
var obj = $(this); var obj = $(this);
var offset = obj.offset(); var offset = obj.offset();
var index = obj.attr("data-index"); var index = obj.attr("data-index");
X.querycriteriapop(dataArr,'setgrouping',offset.left,offset.top+obj.height(),function(val){ data['events'][index]['customEvent'] = $(this).val();
$("#analysis-custom-event-dis-box-"+index).show(); // console.log(data);
obj.hide();
}) })
$(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"; var cat = "event";
$(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function(){ $(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function(){
var index = data['eventView']['groupBy'].length; var index = data['eventView']['groupBy'].length;
var screentypedata = filteringdata(); 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 index = $(this).attr("data-index");
var val = $(this).val(); var val = $(this).val();
var valarr = val.split(","); var valarr = val.split(",");
@ -1940,7 +2013,7 @@ var X = window.X || {
data['eventView']['filts'][index]['strftv']=val; 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 name = $(this).attr('name');
var val = $(this).val(); var val = $(this).val();
var index = $(this).attr("data-index"); var index = $(this).attr("data-index");
@ -2328,7 +2401,12 @@ var X = window.X || {
// 保存报表 // 保存报表
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){ $(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()); $(".tab-tit-box .tab-tit").html($(this).find("span").html());
X.DATA['dashboard_id'] = $(this).attr('data-id'); //看板id 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){ X.laydropdown("#chuangjian",X.DATA.createsidebar,function(d){
if(d.url){ if(d.url){
@ -3133,8 +3188,7 @@ var X = window.X || {
// 保存报表列表 // 保存报表列表
$(document).off('click','.baobiao').on('click','.baobiao',function(){ $(document).off('click','.baobiao').on('click','.baobiao',function(){
X.parametersopen({},'kanbanadmin','rt',function(){ X.parametersopen({},'kanbanadmin','rt',function(){
console.log(111); me.gettabledata();
gettabledata();
}) })
}); });
@ -3153,13 +3207,98 @@ var X = window.X || {
freshMenu : function(id){ freshMenu : function(id){
//获取对应侧边栏 //获取对应侧边栏
X.api('project/kanban',"post",{"_id":id},function (d){ X.api('project/kanban',"post",{"_id":id},function (d){
console.log(d);
X.DATA['KanBanData'] = d.kanban; X.DATA['KanBanData'] = d.kanban;
X.DATA['ProjectData'] = d.spaces; X.DATA['ProjectData'] = d.spaces;
X.laytpldata('#mykanban-dot',d.kanban,'#mykanban'); X.laytpldata('#mykanban-dot',d.kanban,'#mykanban');
X.laytpldata('#kongjian-dot',d.spaces,'#kongjian'); 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(){ function toadddataprocessing(){
toadddata = [];
for(let i in reportlistdata){ for(let i in reportlistdata){
if(reportlistdata[i]['added'] == true){ if(reportlistdata[i]['added'] == true){
toadddata.push(reportlistdata[i]); toadddata.push(reportlistdata[i]);
@ -5123,40 +5263,31 @@ var X = window.X || {
} }
var downmenu = [ var downmenu = [
{title:'表格',id:'table'}, {title:'表格',id:'table'},
{title:'图形',id:'echarts'}, {title:'图形',id:'echarts'}
{title:'删除',id:'del'},
] ]
submitdata = [];
for(let i in toadddata){ for(let i in toadddata){
var arr = { var arr = {
report_id:toadddata[i]['_id'], report_id:toadddata[i]['_id'],
graph_type:'table', graph_type:'table',
model:toadddata[i]['cat'] model:toadddata[i]['cat'],
name:toadddata[i]['name'],
} }
submitdata.push(arr); submitdata.push(arr);
X.laydropdown('.to-added-more'+i,downmenu,function(d){ X.laydropdown('.to-added-more'+i,downmenu,function(d){
if(d.id != 'del'){
// 删除报表
submitdata[i]['graph_type'] = d.id; 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']); $(document).off('click','.to-added-del').on('click','.to-added-del',function(){
X.api('dashboard/del_report','post',{_id:X['DATA']['dashboard_id'],report_id:submitdata[i]['report_id']},function(){ var id = $(this).attr('data-id');
X.api('dashboard/del_report','post',{_id:X['DATA']['dashboard_id'],report_id:id},function(){
kanbanupdata(); 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();
}
}
}
}) })
}
}
$(document).off('click','.kanbanadmin-but-yy').on('click','.kanbanadmin-but-yy',function(){ $(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){ 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; this.callback = parms.callback;
var data = parms; var data = parms;
console.log(data); for(var i in data){
X.laytpldata("#kanban-model-table-dot",data,"#chart-box"); 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.parms = parms;
this.callback = parms.callback; this.callback = parms.callback;
var data = parms.extData; 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(){ $(document).off('click',".savereport-but-qd").on('click','.savereport-but-qd',function(){
var tabval = layui.form.val('savereportexample'); var tabval = layui.form.val('savereportexample');
if(tabval['title'] == ""){ if(tabval['title'] == ""){
@ -7448,19 +7590,35 @@ var X = window.X || {
layer.msg("请填写报表备注"); layer.msg("请填写报表备注");
return false; 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 = { var arr = {
name: tabval['title'], name: tabval['title'],
desc:tabval['desc'], desc:tabval['desc'],
query:data, query:data,
project_id:X.DATA.projectid, project_id:X.DATA.projectid,
cat: data['eventView']['cksql'] cat: data['eventView']['cksql']
// reporttype : data['eventView']['cksql']
} }
console.log(arr); // console.log(arr);
X.api('report/create','post',arr,function(d){ X.api('report/create','post',arr,function(d){
layer.msg(d); layer.msg(d);
layer.closeAll(); layer.closeAll();
}) })
}
}) })

View File

@ -240,9 +240,9 @@ var X = window.X || {
X.laytpldata = function (mbid ,data,wzid,callback){ X.laytpldata = function (mbid ,data,wzid,callback){
var getTpl = $(mbid).html() var getTpl = $(mbid).html()
layui.laytpl(getTpl).render(data, function(html){ layui.laytpl(getTpl).render(data, function(html){
$(wzid).html(html); wzid && $(wzid).html(html);
layui.element.init(); //重新渲染 layui.element.init(); //重新渲染
callback && callback(); callback && callback(html);
}); });
}; };
@ -435,6 +435,61 @@ var X = window.X || {
titledata:titledata, titledata:titledata,
condata:condata 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); callback && callback(dataArr);
}; };

View File

@ -23,7 +23,7 @@
"timeParticleSize":"P1D", "timeParticleSize":"P1D",
"endTime":"", "endTime":"",
"graphShape":"L0", "graphShape":"L0",
"recentDay":"1-30", "recentDay":"1-7",
"groupBy":[], "groupBy":[],
"uiCommonConfig":{ "uiCommonConfig":{
"tableSorts":[], "tableSorts":[],
@ -51,6 +51,16 @@
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59"; var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
data['eventView']['startTime'] = startTime; data['eventView']['startTime'] = startTime;
data['eventView']['endTime'] = endTime; 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(); calculationdata();
}) })
@ -73,9 +83,10 @@
"event_attr_id":"*", "event_attr_id":"*",
"analysisname":'', "analysisname":'',
"analysis":'total_count', "analysis":'total_count',
"renameindicator":"", //重命名指标
"filts":[],//过滤项 "filts":[],//过滤项
"condrelation":'and', "condrelation":'and',
"customEvent":'',
"eventNameDisplay":' '//重命名指标
} }
data.events.push(defaultindicator); data.events.push(defaultindicator);
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); 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(){ $(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){ X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){
console.log(d); console.log(d);
@ -130,6 +142,8 @@
screentypearr = data.cachedata.screentypearr; screentypearr = data.cachedata.screentypearr;
filtersymbols = data.cachedata.filtersymbols; filtersymbols = data.cachedata.filtersymbols;
baobiaodata = d;
if(d.query.eventView.filts.length > 0){ if(d.query.eventView.filts.length > 0){
$(".analysis-overall").show(); $(".analysis-overall").show();
}else { }else {
@ -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(){ $(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 index = $(this).attr("data-index");
var txt = $(this).val(); 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 index = $(this).attr("data-index");
var indexs = $(this).attr("data-indexs"); var indexs = $(this).attr("data-indexs");
var val = $(this).val(); var val = $(this).val();
@ -393,13 +407,15 @@
"event_attr_id":"*", "event_attr_id":"*",
"analysisname":'', "analysisname":'',
"analysis":'total_count', "analysis":'total_count',
"renameindicator":"", //重命名指标
"filts":[],//过滤项 "filts":[],//过滤项
"condrelation":'and', "condrelation":'and',
"customEvent":'',
"eventNameDisplay":' '//重命名指标
} }
data['events'].push(defaultindicator); data['events'].push(defaultindicator);
X.laytpldata("#analysis-con-left-screen-list-dot",data.events,".analysis-con-left-screen-list-box"); 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; var index = data.events.length - 1;
type2data[index]= retdata; type2data[index]= retdata;
type3data[index]= []; 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(){ $(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"); // $(this).css("border-bottom","1px solid #3d90ff");
var obj = $(this); var obj = $(this);
var offset = obj.offset(); var offset = obj.offset();
var index = obj.attr("data-index"); var index = obj.attr("data-index");
X.querycriteriapop(dataArr,'setgrouping',offset.left,offset.top+obj.height(),function(val){ data['events'][index]['customEvent'] = $(this).val();
$("#analysis-custom-event-dis-box-"+index).show(); // console.log(data);
obj.hide();
}) })
$(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"; var cat = "event";
$(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function(){ $(document).off('click','.analysis-footadd___2D4YB').on('click','.analysis-footadd___2D4YB',function(){
var index = data['eventView']['groupBy'].length; var index = data['eventView']['groupBy'].length;
var screentypedata = filteringdata(); 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 index = $(this).attr("data-index");
var val = $(this).val(); var val = $(this).val();
var valarr = val.split(","); var valarr = val.split(",");
@ -667,7 +685,7 @@
data['eventView']['filts'][index]['strftv']=val; 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 name = $(this).attr('name');
var val = $(this).val(); var val = $(this).val();
var index = $(this).attr("data-index"); var index = $(this).attr("data-index");
@ -1055,7 +1073,12 @@
// 保存报表 // 保存报表
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){ $(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');
}
}) })
}, },

View File

@ -46,32 +46,9 @@
$(".tab-tit-box .tab-tit").html($(this).find("span").html()); $(".tab-tit-box .tab-tit").html($(this).find("span").html());
X.DATA['dashboard_id'] = $(this).attr('data-id'); //看板id 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){ X.laydropdown("#chuangjian",X.DATA.createsidebar,function(d){
if(d.url){ if(d.url){
@ -233,8 +210,7 @@
// 保存报表列表 // 保存报表列表
$(document).off('click','.baobiao').on('click','.baobiao',function(){ $(document).off('click','.baobiao').on('click','.baobiao',function(){
X.parametersopen({},'kanbanadmin','rt',function(){ X.parametersopen({},'kanbanadmin','rt',function(){
console.log(111); me.gettabledata();
gettabledata();
}) })
}); });
@ -253,12 +229,97 @@
freshMenu : function(id){ freshMenu : function(id){
//获取对应侧边栏 //获取对应侧边栏
X.api('project/kanban',"post",{"_id":id},function (d){ X.api('project/kanban',"post",{"_id":id},function (d){
console.log(d);
X.DATA['KanBanData'] = d.kanban; X.DATA['KanBanData'] = d.kanban;
X.DATA['ProjectData'] = d.spaces; X.DATA['ProjectData'] = d.spaces;
X.laytpldata('#mykanban-dot',d.kanban,'#mykanban'); X.laytpldata('#mykanban-dot',d.kanban,'#mykanban');
X.laytpldata('#kongjian-dot',d.spaces,'#kongjian'); 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);
}
}
});
})
},
}; };
})(); })();

View File

@ -81,6 +81,7 @@
//渲染已添加报表下拉框 //渲染已添加报表下拉框
function toadddataprocessing(){ function toadddataprocessing(){
toadddata = [];
for(let i in reportlistdata){ for(let i in reportlistdata){
if(reportlistdata[i]['added'] == true){ if(reportlistdata[i]['added'] == true){
toadddata.push(reportlistdata[i]); toadddata.push(reportlistdata[i]);
@ -88,40 +89,31 @@
} }
var downmenu = [ var downmenu = [
{title:'表格',id:'table'}, {title:'表格',id:'table'},
{title:'图形',id:'echarts'}, {title:'图形',id:'echarts'}
{title:'删除',id:'del'},
] ]
submitdata = [];
for(let i in toadddata){ for(let i in toadddata){
var arr = { var arr = {
report_id:toadddata[i]['_id'], report_id:toadddata[i]['_id'],
graph_type:'table', graph_type:'table',
model:toadddata[i]['cat'] model:toadddata[i]['cat'],
name:toadddata[i]['name'],
} }
submitdata.push(arr); submitdata.push(arr);
X.laydropdown('.to-added-more'+i,downmenu,function(d){ X.laydropdown('.to-added-more'+i,downmenu,function(d){
if(d.id != 'del'){
// 删除报表
submitdata[i]['graph_type'] = d.id; 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']); $(document).off('click','.to-added-del').on('click','.to-added-del',function(){
X.api('dashboard/del_report','post',{_id:X['DATA']['dashboard_id'],report_id:submitdata[i]['report_id']},function(){ var id = $(this).attr('data-id');
X.api('dashboard/del_report','post',{_id:X['DATA']['dashboard_id'],report_id:id},function(){
kanbanupdata(); 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();
}
}
}
}) })
}
}
$(document).off('click','.kanbanadmin-but-yy').on('click','.kanbanadmin-but-yy',function(){ $(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){ X.api('dashboard/add_report','post',{_id:X['DATA']['dashboard_id'],report_ids:submitdata},function(d){

View File

@ -6,8 +6,13 @@
this.callback = parms.callback; this.callback = parms.callback;
var data = parms; var data = parms;
console.log(data); for(var i in data){
X.laytpldata("#kanban-model-table-dot",data,"#chart-box"); console.log(data[i]);
X.laytpldata("#kanban-model-table-dot",data[i],null,function(html){
$('#model-box').append(html);
});
}
} }
}; };

View File

@ -5,6 +5,12 @@
this.parms = parms; this.parms = parms;
this.callback = parms.callback; this.callback = parms.callback;
var data = parms.extData; 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(){ $(document).off('click',".savereport-but-qd").on('click','.savereport-but-qd',function(){
var tabval = layui.form.val('savereportexample'); var tabval = layui.form.val('savereportexample');
if(tabval['title'] == ""){ if(tabval['title'] == ""){
@ -15,19 +21,35 @@
layer.msg("请填写报表备注"); layer.msg("请填写报表备注");
return false; 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 = { var arr = {
name: tabval['title'], name: tabval['title'],
desc:tabval['desc'], desc:tabval['desc'],
query:data, query:data,
project_id:X.DATA.projectid, project_id:X.DATA.projectid,
cat: data['eventView']['cksql'] cat: data['eventView']['cksql']
// reporttype : data['eventView']['cksql']
} }
console.log(arr); // console.log(arr);
X.api('report/create','post',arr,function(d){ X.api('report/create','post',arr,function(d){
layer.msg(d); layer.msg(d);
layer.closeAll(); layer.closeAll();
}) })
}
}) })

View File

@ -93,7 +93,7 @@
.analysis-del { background: url("../img/del.png") no-repeat;} .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 { 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-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-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; } .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-box { width: 100%; display: none; }
.analysis-custom-event-box { padding-left: 33px; padding-right: 8px; } .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 { display: flex; align-items: center; }
.analysis-custom-event-box-display div{ margin-right: 6px; } .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; } .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; } .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 { 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{ 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-tit { font-size: 13px; color: #42546d; margin-left: 16px; }
.kanbanadmin-list-add-box { display: none; } .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; } .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; }

View File

@ -20,7 +20,7 @@
.layui-table-body { height: 100% !important; } .layui-table-body { height: 100% !important; }
.layui-form-item .layui-form-checkbox[lay-skin=primary] { text-indent: 0px !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-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; } .username { color: #67729d; margin-right: 16px; }
.layui-project { position:absolute; top: 0; left: 80px; ;} .layui-project { position:absolute; top: 0; left: 80px; ;}