提交
This commit is contained in:
parent
0a296e9c17
commit
7714a384ce
@ -225,13 +225,20 @@
|
||||
<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}}">
|
||||
|
||||
{{# 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}}">
|
||||
<input type="text" placeholder="请输入指标名" class="analysis-con-left-screen-list-left-zhibiaoname-txt" data-index="{{index}}"/>
|
||||
</div>
|
||||
{{# } }}
|
||||
<div class="analysis-con-left-screen-list-left">
|
||||
<div class="analysis-num">{{index}}</div>
|
||||
<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>
|
||||
<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 != "*"){ }}
|
||||
@ -277,11 +284,11 @@
|
||||
<div class="analysis-custom-box" id="analysis-custom-box-{{index}}">
|
||||
<div class="analysis-custom-top">
|
||||
<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 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 class="analysis-custom-event-dis-box" id="analysis-custom-event-dis-box-{{index}}">
|
||||
<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-del" 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-jia1" data-index="{{index}}" title="添加指标"></div>
|
||||
<div class="analysis-fuzhi" title="复制指标" data-index="{{index}}"></div>
|
||||
|
@ -169,7 +169,7 @@
|
||||
</div>
|
||||
<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')" -->
|
||||
@ -589,132 +589,4 @@
|
||||
{{# } }}
|
||||
{{# }); }}
|
||||
|
||||
</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>
|
||||
|
||||
</script>
|
@ -65,7 +65,10 @@
|
||||
{{# if(item.added === true){ }}
|
||||
<div class="kanbanadmin-list-box">
|
||||
<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"></i></span></span>
|
||||
<span class="kanbanadmin-list-add-box">
|
||||
<span class="kanbanadmin-list-add to-added-more{{index - 1}}"><i class="layui-icon"></i></span>
|
||||
<span class="kanbanadmin-list-add to-added-del" data-id="{{item._id}}"> <i class="layui-icon">ဆ</i> </span>
|
||||
</span>
|
||||
</div>
|
||||
{{# } }}
|
||||
{{# }); }}
|
||||
|
@ -1,53 +1,57 @@
|
||||
<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">
|
||||
<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="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 class="row-tit">
|
||||
<p><a href="#">{{d.name}}</a></p>
|
||||
</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 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">
|
||||
{{# layui.each(d.titledata, function(index, item) { }}
|
||||
<th>{{item}}</th>
|
||||
{{# }); }}
|
||||
</tr>
|
||||
<tr class="table-fenxi-th">
|
||||
{{# layui.each(d.titledata, function(indexs, items) { }}
|
||||
<th>{{items}}</th>
|
||||
{{# }); }}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="table-fenxi-td">
|
||||
{{# layui.each(d.condata, function(index, item) { }}
|
||||
{{# layui.each(d.condata, function(indexs, items) { }}
|
||||
<tr >
|
||||
{{# layui.each(item, function(indexs, items) { }}
|
||||
<td>{{items}}</td>
|
||||
{{# layui.each(items, function(indexss, itemss) { }}
|
||||
<td>{{itemss}}</td>
|
||||
{{# }); }}
|
||||
</tr>
|
||||
{{# }); }}
|
||||
@ -56,5 +60,67 @@
|
||||
</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>
|
324
web/src/x.min.js
vendored
324
web/src/x.min.js
vendored
@ -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();
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
@ -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);
|
||||
};
|
||||
|
||||
|
@ -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');
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
};
|
||||
})();
|
||||
|
@ -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){
|
||||
|
@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
|
@ -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();
|
||||
})
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
@ -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; }
|
||||
|
@ -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; ;}
|
||||
|
Loading…
Reference in New Issue
Block a user