提交
This commit is contained in:
parent
d4f7854aa6
commit
ed48c929e3
@ -29,6 +29,7 @@
|
|||||||
<dl class="layui-nav-child">
|
<dl class="layui-nav-child">
|
||||||
<dd><a class="ajax-content" href="analysis" data-id="conetnt">事件分析</a></dd>
|
<dd><a class="ajax-content" href="analysis" data-id="conetnt">事件分析</a></dd>
|
||||||
<dd><a class="ajax-content" href="retained" data-id="conetnt">留存分析</a></dd>
|
<dd><a class="ajax-content" href="retained" data-id="conetnt">留存分析</a></dd>
|
||||||
|
<dd><a class="ajax-content" href="ltvmodel" data-id="conetnt">LTV模型</a></dd>
|
||||||
<dd><a class="ajax-content" href="funnelanalysis" data-id="conetnt">漏斗分析</a></dd>
|
<dd><a class="ajax-content" href="funnelanalysis" data-id="conetnt">漏斗分析</a></dd>
|
||||||
<dd><a class="ajax-content" href="distribution" data-id="conetnt">分布分析</a></dd>
|
<dd><a class="ajax-content" href="distribution" data-id="conetnt">分布分析</a></dd>
|
||||||
<dd><a class="ajax-content" href="routeanalysis" data-id="conetnt">路径分析</a></dd>
|
<dd><a class="ajax-content" href="routeanalysis" data-id="conetnt">路径分析</a></dd>
|
||||||
@ -169,7 +170,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="padding: 15px; height: calc(100% - 17px); overflow-y:auto; ">
|
<div style="padding: 15px; height: calc(100% - 17px); overflow-y:auto; ">
|
||||||
|
|
||||||
<div id="chart-box">
|
<div class="layui-row layui-col-space15" id="model-box" style="width: 100%; height: 780px;">
|
||||||
|
|
||||||
|
<!-- <div class="layui-row layui-col-space15" id="model-box" style="width: 100%; height: 780px;">
|
||||||
|
|
||||||
|
</div> -->
|
||||||
<!-- 图表数据显示区域 -->
|
<!-- 图表数据显示区域 -->
|
||||||
|
|
||||||
<!-- onmousemove="moveaction('data1')" onmouseout="outaction('data1')" -->
|
<!-- onmousemove="moveaction('data1')" onmouseout="outaction('data1')" -->
|
||||||
@ -580,7 +585,7 @@
|
|||||||
</li>
|
</li>
|
||||||
{{# } else { }}
|
{{# } else { }}
|
||||||
<dd class="layui-left-dd" data-id="{{items._id}}"><a href="javascript:;" class="fontcolor second category"> <span>{{items.name}} </span>
|
<dd class="layui-left-dd" data-id="{{items._id}}"><a href="javascript:;" class="fontcolor second category"> <span>{{items.name}} </span>
|
||||||
<img src="./static/img/gengduo.png" alt=""></a>
|
<img src="./static/img/gengduo.png" alt="" class="nav-action-bar"></a>
|
||||||
</dd>
|
</dd>
|
||||||
{{# } }}
|
{{# } }}
|
||||||
{{# }); }}
|
{{# }); }}
|
||||||
@ -590,3 +595,221 @@
|
|||||||
{{# }); }}
|
{{# }); }}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<!-- 看板模板 -->
|
||||||
|
<script id="kanban-model-table-dot" type="text/html">
|
||||||
|
|
||||||
|
{{# if(d.modelsize === "small"){ }}
|
||||||
|
|
||||||
|
<div class="layui-col-md3">
|
||||||
|
<div class="layui-card">
|
||||||
|
<div class="row-top">
|
||||||
|
<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>{{d.date}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="small-data-box">{{d.num}}</div>
|
||||||
|
|
||||||
|
<div class="small-proportion">
|
||||||
|
{{# if(d.thedaypropsize === "+"){ }}
|
||||||
|
<div class="proportion-data">较环比 <div class="sanjiao"></div><span>{{d.thedayprop}}%</span></div>
|
||||||
|
{{# } else { }}
|
||||||
|
<div class="proportion-data">较环比 <div class="sanjiao fu"></div><span class="funum">{{d.thedayprop}}%</span></div>
|
||||||
|
{{# } }}
|
||||||
|
{{# if(d.weekpropsize === "+"){ }}
|
||||||
|
<div class="proportion-data">较同比 <div class="sanjiao"></div><span>{{d.weekprop}}%</span></div>
|
||||||
|
{{# } else { }}
|
||||||
|
<div class="proportion-data">较同比 <div class="sanjiao fu"></div><span class="funum">{{d.weekprop}}%</span></div>
|
||||||
|
{{# } }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{# } else { }}
|
||||||
|
|
||||||
|
{{# if(d.modeltype === "table"){ }}
|
||||||
|
{{# if(d.modelsize === "large"){ }}
|
||||||
|
<div class="layui-col-md12">
|
||||||
|
{{# } else { }}
|
||||||
|
<div class="layui-col-md6">
|
||||||
|
{{# } }}
|
||||||
|
<!-- <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>
|
||||||
|
<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>
|
||||||
|
过去7天
|
||||||
|
</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(indexs, items) { }}
|
||||||
|
<th>{{items}}</th>
|
||||||
|
{{# }); }}
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
{{# if(d.cat === "event"){ }}
|
||||||
|
<tbody class="table-fenxi-td">
|
||||||
|
{{# layui.each(d.condata, function(indexs, items) { }}
|
||||||
|
<tr >
|
||||||
|
{{# layui.each(items, function(indexss, itemss) { }}
|
||||||
|
<td>{{itemss}}</td>
|
||||||
|
{{# }); }}
|
||||||
|
</tr>
|
||||||
|
{{# }); }}
|
||||||
|
</tbody>
|
||||||
|
{{# } else if(d.cat === "retained"){ }}
|
||||||
|
<tbody class="table-fenxi-td">
|
||||||
|
{{# layui.each(d.condata, function(indexs, items) { }}
|
||||||
|
<tr >
|
||||||
|
<td>{{items.date}}</td>
|
||||||
|
<td>{{items.d0}}</td>
|
||||||
|
{{# layui.each(items.data, function(indexss, itemss){ }}
|
||||||
|
<td>
|
||||||
|
<p>{{itemss.n}}</p>
|
||||||
|
<p>{{itemss.p}}%</p>
|
||||||
|
</td>
|
||||||
|
{{# }); }}
|
||||||
|
</tr>
|
||||||
|
{{# }); }}
|
||||||
|
</tbody>
|
||||||
|
{{# } else if(d.cat === "ltv"){ }}
|
||||||
|
<tbody class="table-fenxi-td">
|
||||||
|
{{# layui.each(d.condata, function(indexs, items) { }}
|
||||||
|
<tr >
|
||||||
|
{{# layui.each(items, function(indexss, itemss){ }}
|
||||||
|
<td>{{indexss}}</td>
|
||||||
|
{{# }); }}
|
||||||
|
</tr>
|
||||||
|
{{# }); }}
|
||||||
|
</tbody>
|
||||||
|
{{# } }}
|
||||||
|
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{# } else { }}
|
||||||
|
{{# if(d.modelsize === "large"){ }}
|
||||||
|
<div class="layui-col-md12">
|
||||||
|
{{# } else { }}
|
||||||
|
<div class="layui-col-md6">
|
||||||
|
{{# } }}
|
||||||
|
<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>过去7天</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">{{d.date}}</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>
|
||||||
|
@ -10,18 +10,18 @@
|
|||||||
<form class="layui-form" action="" lay-filter="kanbantypeexample">
|
<form class="layui-form" action="" lay-filter="kanbantypeexample">
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">模板类型</label>
|
<label class="layui-form-label">模板类型</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block kanbantypeset-box-type">
|
||||||
<input type="radio" name="graph_type" value="table" title="表格展示" checked="">
|
<input type="radio" name="graph_type" value="table" title="表格展示" checked="" lay-filter="graph_type">
|
||||||
<input type="radio" name="graph_type" value="echarts" title="图形展示">
|
<input type="radio" name="graph_type" value="echarts" title="图形展示" lay-filter="graph_type">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">显示大小</label>
|
<label class="layui-form-label">显示大小</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input type="radio" name="graph_size" value="large" title="大图" checked="">
|
<input type="radio" name="graph_size" value="large" title="大图" checked="" lay-filter="graph_size">
|
||||||
<input type="radio" name="graph_size" value="in" title="中图">
|
<input type="radio" name="graph_size" value="in" title="中图" lay-filter="graph_size">
|
||||||
<input type="radio" name="graph_size" value="small" title="小图">
|
<input type="radio" name="graph_size" value="small" title="小图" lay-filter="graph_size">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
@ -37,3 +37,4 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
140
web/pages/ltvmodel.html
Normal file
140
web/pages/ltvmodel.html
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
<!-- LTV模型 -->
|
||||||
|
<div class="analysis-zhanwei">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="analysis-navigation-bar-box">
|
||||||
|
<div class="analysis-navigation-bar">
|
||||||
|
<div class="analysis-navigation-bar-left">
|
||||||
|
<span>LTV模型</span><img src="./static/img/capytishi.png" title=""/>
|
||||||
|
</div>
|
||||||
|
<div class="analysis-navigation-bar-right">
|
||||||
|
<div class="analysis-navigation-bar-right-jisuan">
|
||||||
|
<span>TA用户ID</span>
|
||||||
|
</div>
|
||||||
|
<div class="analysis-navigation-bar-right-img" title="最后更新时间:2021-04-29 14:44:39">
|
||||||
|
<img src="./static/img/gengxin.png">
|
||||||
|
</div>
|
||||||
|
<div class="analysis-navigation-bar-right-img sqlquery" title="查看条件代码">
|
||||||
|
<i class="iconfont" style="font-size: 18px; color: #67729d;"></i>
|
||||||
|
</div>
|
||||||
|
<div class="analysis-navigation-bar-right-img" title="以页面格式下载全量数据">
|
||||||
|
<img src="./static/img/xiazai.png">
|
||||||
|
</div>
|
||||||
|
<div class="analysis-navigation-bar-right-img analysis-navigation-bar-right-img-baobiao" title="报表">
|
||||||
|
<img src="./static/img/baobiao2.png">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="analysis-bg">
|
||||||
|
<!-- 左侧条件筛选区域 -->
|
||||||
|
<div class="analysis-con-left">
|
||||||
|
<!-- 伸缩按钮 -->
|
||||||
|
<div class="analysis-con-left-shrink"></div>
|
||||||
|
|
||||||
|
<div class="root___2a4tb">
|
||||||
|
|
||||||
|
<div class="block___2n0We analysis-overall" style="display: block;">
|
||||||
|
<div class="analysis-con-left-title">全局筛选</div>
|
||||||
|
|
||||||
|
<div class="analysis-con-left-screen-box">
|
||||||
|
|
||||||
|
<div class="analysis-overall-situation-box">
|
||||||
|
|
||||||
|
<div class="analysis-overall-situation-left-box">
|
||||||
|
<div class="analysis-overall-situation-left-xian"></div>
|
||||||
|
<div class="analysis-overall-situation-left-guanxi">且</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="analysis-overall-situation-list-box" id="xinwei-whole">
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="analysis-foot___P797w">
|
||||||
|
<span class="analysis-overall-situation-add">
|
||||||
|
<img src="./static/img/fenzu.png">
|
||||||
|
添加条件
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="analysis-but-box">
|
||||||
|
<div class="analysis-savereport">保存报表</div>
|
||||||
|
<div class="analysis-calculation">计 算</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- 右边图表显示区域 -->
|
||||||
|
<div class="analysis-con-right">
|
||||||
|
<div class="analtsis-con-box">
|
||||||
|
<div class="analtsis-con-right-box">
|
||||||
|
<div class="analtsis-con-right-top-title">
|
||||||
|
玩法参与情况
|
||||||
|
</div>
|
||||||
|
<div class="analtsis-condition-box">
|
||||||
|
<div class="analtsis-time-box">
|
||||||
|
<div class="analtsis-condition" > <input id="retained-condition-date" readonly="readonly"></input> </div>
|
||||||
|
<div class="analtsis-condition analtsis-timeParticleSize">7天</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="analtsis-condition-right-box">
|
||||||
|
<!-- <div class="analtsis-condition">指标</div>
|
||||||
|
<div class="analtsis-condition">分组</div> -->
|
||||||
|
<!-- <div class="analtsis-chart-switch-box">
|
||||||
|
<div class="analtsis-chart-switch select-chart" title="数据报表"> <i class="iconfont" style="font-size: 18px; "></i> </div>
|
||||||
|
<div class="analtsis-chart-switch " title="第N日留存"> <i class="iconfont" style="font-size: 18px; "></i> </div>
|
||||||
|
<div class="analtsis-chart-switch" title="每日留存"> <i class="iconfont" style="font-size: 18px; "></i> </div>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<!-- 统计图 -->
|
||||||
|
<div class="analysis-echarts" id="analysis-echarts" style="display: none;"></div>
|
||||||
|
|
||||||
|
<div class="table-div-box">
|
||||||
|
<table class="table-fenxi-box">
|
||||||
|
<thead>
|
||||||
|
<tr class="table-fenxi-th">
|
||||||
|
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-fenxi-td">
|
||||||
|
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script id="table-fenxi-th-dot" type="text/html">
|
||||||
|
{{# layui.each(d, function(index, item){ }}
|
||||||
|
<th>{{item}}</th>
|
||||||
|
{{# }); }}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script id="table-fenxi-td-dot" type="text/html">
|
||||||
|
{{# layui.each(d, function(index, item){ }}
|
||||||
|
<tr >
|
||||||
|
{{# layui.each(item, function(indexs, items){ }}
|
||||||
|
<td>{{items}}</td>
|
||||||
|
{{# }); }}
|
||||||
|
</tr>
|
||||||
|
{{# }); }}
|
||||||
|
</script>
|
@ -1,8 +1,6 @@
|
|||||||
<div class="layui-row layui-col-space15" id="model-box" style="width: 100%; height: 780px;">
|
<div class="layui-row layui-col-space15" id="model-box" style="width: 100%; height: 780px;">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<script id="kanban-model-table-dot" type="text/html">
|
<script id="kanban-model-table-dot" type="text/html">
|
||||||
|
|
||||||
{{# if(d.modelsize === "small"){ }}
|
{{# if(d.modelsize === "small"){ }}
|
||||||
@ -102,6 +100,8 @@
|
|||||||
{{# }); }}
|
{{# }); }}
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
|
{{# if(d.cat === "event"){ }}
|
||||||
<tbody class="table-fenxi-td">
|
<tbody class="table-fenxi-td">
|
||||||
{{# layui.each(d.condata, function(indexs, items) { }}
|
{{# layui.each(d.condata, function(indexs, items) { }}
|
||||||
<tr >
|
<tr >
|
||||||
@ -111,6 +111,24 @@
|
|||||||
</tr>
|
</tr>
|
||||||
{{# }); }}
|
{{# }); }}
|
||||||
</tbody>
|
</tbody>
|
||||||
|
{{# } else { }}
|
||||||
|
<tbody class="table-fenxi-td">
|
||||||
|
{{# layui.each(d.condata, function(indexs, items) { }}
|
||||||
|
<tr >
|
||||||
|
<td>{{items.date}}</td>
|
||||||
|
<td>{{items.d0}}</td>
|
||||||
|
{{# layui.each(items.data, function(indexss, itemss){ }}
|
||||||
|
<td>
|
||||||
|
<p>{{itemss.n}}</p>
|
||||||
|
<p>{{itemss.p}}%</p>
|
||||||
|
</td>
|
||||||
|
{{# }); }}
|
||||||
|
</tr>
|
||||||
|
{{# }); }}
|
||||||
|
</tbody>
|
||||||
|
{{# } }}
|
||||||
|
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
<option value="4">属性分析</option>
|
<option value="4">属性分析</option>
|
||||||
<option value="trace">路径分析</option>
|
<option value="trace">路径分析</option>
|
||||||
<option value="scatter">分布分析</option>
|
<option value="scatter">分布分析</option>
|
||||||
|
<option value="ltv">LTV模型</option>
|
||||||
<option value="7">SQL查询</option>
|
<option value="7">SQL查询</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
507
web/src/x.min.js
vendored
507
web/src/x.min.js
vendored
@ -497,13 +497,13 @@ var X = window.X || {
|
|||||||
|
|
||||||
X.eventsmall = function(data,callback){
|
X.eventsmall = function(data,callback){
|
||||||
var date,num,thedayprop,weekprop,thedaypropsize,weekpropsize; //时间,当天数量,与前天对比,与上个星期对比,与前天对比正负,与上个星期对比正负
|
var date,num,thedayprop,weekprop,thedaypropsize,weekpropsize; //时间,当天数量,与前天对比,与上个星期对比,与前天对比正负,与上个星期对比正负
|
||||||
console.log(data);
|
// console.log(data);
|
||||||
for(let i in data){
|
// for(let i in data){
|
||||||
if(data[i]['groups']['length'] == 0){
|
// if(data[i]['groups']['length'] == 0){
|
||||||
|
|
||||||
|
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
var length = data[0]['date_range'].length - 1;
|
var length = data[0]['date_range'].length - 1;
|
||||||
date = data[0]['date_range'][length];
|
date = data[0]['date_range'][length];
|
||||||
num = data[0]['values'][0][length];
|
num = data[0]['values'][0][length];
|
||||||
@ -535,7 +535,129 @@ var X = window.X || {
|
|||||||
weekpropsize:weekpropsize
|
weekpropsize:weekpropsize
|
||||||
}
|
}
|
||||||
callback && callback(dataArr);
|
callback && callback(dataArr);
|
||||||
|
};
|
||||||
|
|
||||||
|
X.retentiontable=function(data,callback){
|
||||||
|
var tabledata=[];
|
||||||
|
for(let i in data['summary_values']){
|
||||||
|
var arr = {
|
||||||
|
date: i,
|
||||||
|
d0:data['summary_values'][i]['d0'],
|
||||||
|
data:[]
|
||||||
}
|
}
|
||||||
|
for(let j in data['summary_values'][i]["n"]){
|
||||||
|
var nrr = {
|
||||||
|
n:0,
|
||||||
|
p:0
|
||||||
|
}
|
||||||
|
nrr["n"] = data['summary_values'][i]["n"][j];
|
||||||
|
nrr["p"] = data['summary_values'][i]["p"][j]
|
||||||
|
arr['data'].push(nrr);
|
||||||
|
}
|
||||||
|
tabledata.push(arr);
|
||||||
|
}
|
||||||
|
|
||||||
|
var titdata = [];
|
||||||
|
for(let i in data['days']){
|
||||||
|
var tit = "第" + i + "日";
|
||||||
|
titdata.push(tit);
|
||||||
|
}
|
||||||
|
titdata.unshift("日期",data.title);
|
||||||
|
var dataArr = {
|
||||||
|
titledata:titdata,
|
||||||
|
condata:tabledata
|
||||||
|
}
|
||||||
|
callback && callback(dataArr);
|
||||||
|
};
|
||||||
|
|
||||||
|
X.retentionchart = function(d,callback){
|
||||||
|
var arr = {};
|
||||||
|
var legenddata = [];
|
||||||
|
var seriesData = [];
|
||||||
|
var xAxisData = [];
|
||||||
|
var date=0,sum=0,mean=0,sameday=0;
|
||||||
|
if(jQuery.isEmptyObject(d.values)){
|
||||||
|
var arr = []
|
||||||
|
for(let i in d['summary_values']){
|
||||||
|
var index = d['summary_values'][i]['p'].length - 1;
|
||||||
|
arr.push(d['summary_values'][i]['p'][index]);
|
||||||
|
xAxisData.push(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
seriesData = {
|
||||||
|
type: 'line',
|
||||||
|
data: arr
|
||||||
|
}
|
||||||
|
console.log(arr);
|
||||||
|
for(let i in arr){
|
||||||
|
sum = sum + arr[i];
|
||||||
|
sameday = arr[i];
|
||||||
|
}
|
||||||
|
console.log(mean);
|
||||||
|
date = '近'+xAxisData.length+'天时间';
|
||||||
|
mean = (sum / arr.length).toFixed(2);
|
||||||
|
|
||||||
|
}else {
|
||||||
|
var timearr = [];
|
||||||
|
for(let i in d.values){
|
||||||
|
timearr.push(i);
|
||||||
|
for(let j in d.values[i]){
|
||||||
|
if(arr[j]){
|
||||||
|
arr[j][i] = d.values[i][j]['p'];
|
||||||
|
}else {
|
||||||
|
arr[j]=[];
|
||||||
|
arr[j][i] = d.values[i][j]['p'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ydata = {};
|
||||||
|
for(let j in arr){
|
||||||
|
if(!ydata[j]){
|
||||||
|
ydata[j] = [];
|
||||||
|
}
|
||||||
|
for( let i in timearr ){
|
||||||
|
ydata[j].push("");
|
||||||
|
for(let z in arr[j]){
|
||||||
|
if(timearr[i] == z){
|
||||||
|
var index = arr[j][z].length - 1;
|
||||||
|
ydata[j][i] =arr[j][z][index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(let i in ydata){
|
||||||
|
legenddata.push(i);
|
||||||
|
var arr = {
|
||||||
|
name: i,
|
||||||
|
type: 'line',
|
||||||
|
data: ydata[i]
|
||||||
|
}
|
||||||
|
seriesData.push(arr)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var dataArr = {
|
||||||
|
xAxisData:xAxisData,
|
||||||
|
legenddata:legenddata,
|
||||||
|
seriesData:seriesData,
|
||||||
|
date:date,
|
||||||
|
sum:sum,
|
||||||
|
mean:mean,
|
||||||
|
sameday: sameday
|
||||||
|
}
|
||||||
|
// console.log(dataArr);
|
||||||
|
callback && callback(dataArr);
|
||||||
|
};
|
||||||
|
|
||||||
|
X.ltvtable=function(data,callback){
|
||||||
|
var dataArr = {
|
||||||
|
titledata:data.title,
|
||||||
|
condata:data.rows
|
||||||
|
}
|
||||||
|
callback && callback(dataArr);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// 分组项
|
// 分组项
|
||||||
// X.grouped=function(data,id){
|
// X.grouped=function(data,id){
|
||||||
@ -1503,7 +1625,7 @@ var X = window.X || {
|
|||||||
|
|
||||||
//已存报表
|
//已存报表
|
||||||
var baobiaodata;
|
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-img-baobiao').on('click','.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);
|
||||||
if(d){
|
if(d){
|
||||||
@ -3057,16 +3179,16 @@ var X = window.X || {
|
|||||||
});
|
});
|
||||||
|
|
||||||
//a标签点击跳转事件
|
//a标签点击跳转事件
|
||||||
$(document).on('click','.layui-nav-child a',function(){
|
$(document).off('click','.layui-nav-child a').on('click','.layui-nav-child a',function(){
|
||||||
var url = $(this).attr("data-url");
|
var url = $(this).attr("data-url");
|
||||||
X.gourl(url);
|
X.gourl(url);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 修改面板名
|
// 修改面板名
|
||||||
$(document).on('click','.layui-left-dd',function(){
|
$(document).off('click','.layui-left-dd').on('click','.layui-left-dd',function(){
|
||||||
$(".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
|
||||||
$("#chart-box").html("");
|
$("#model-box").html("");
|
||||||
// 获取报表数据
|
// 获取报表数据
|
||||||
me.gettabledata();
|
me.gettabledata();
|
||||||
});
|
});
|
||||||
@ -3241,6 +3363,11 @@ var X = window.X || {
|
|||||||
// X.laydropdown('.kanbanwenjianimg',X.DATA.taboperationdata[type]);
|
// X.laydropdown('.kanbanwenjianimg',X.DATA.taboperationdata[type]);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
$(document).off('click','.nav-action-bar').on('click','.nav-action-bar',function(e){
|
||||||
|
e.stopPropagation();
|
||||||
|
// console.log(111);
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -3260,15 +3387,17 @@ var X = window.X || {
|
|||||||
// 获取表格数据
|
// 获取表格数据
|
||||||
gettabledata:function(){
|
gettabledata:function(){
|
||||||
|
|
||||||
|
$("#model-box").html("");//清空表格数据
|
||||||
|
|
||||||
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){
|
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){
|
||||||
var eventdata=[];
|
|
||||||
var index = d.length;
|
var index = d.length;
|
||||||
for(let z in d){
|
for(let z in d){
|
||||||
|
|
||||||
(function (i, model) { // 注意这里是形参
|
(function (i, model) { // 注意这里是形参
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
|
|
||||||
X.api("ck/"+model+"_model","post",{report_id:d[i]['report_id']},function(val){
|
X.api("ck/"+model+"_model","post",{report_id:d[i]['report_id']},function(val){
|
||||||
|
var eventdata=[];
|
||||||
if(model == "event"){
|
if(model == "event"){
|
||||||
// 事件分析
|
// 事件分析
|
||||||
if(d[i]['graph_size'] == 'small'){
|
if(d[i]['graph_size'] == 'small'){
|
||||||
@ -3287,6 +3416,7 @@ var X = window.X || {
|
|||||||
data['modeltype'] = d[i]['graph_type'];
|
data['modeltype'] = d[i]['graph_type'];
|
||||||
data['id'] = d[i]['report_id'];
|
data['id'] = d[i]['report_id'];
|
||||||
data['modelsize'] = d[i]['graph_size'];
|
data['modelsize'] = d[i]['graph_size'];
|
||||||
|
data['cat'] = model;
|
||||||
eventdata.push(data);
|
eventdata.push(data);
|
||||||
})
|
})
|
||||||
}else if(d[i]['graph_type'] == 'echarts'){
|
}else if(d[i]['graph_type'] == 'echarts'){
|
||||||
@ -3301,13 +3431,61 @@ var X = window.X || {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else if(model == "retention"){
|
||||||
|
if(d[i]['graph_size'] == 'small'){
|
||||||
|
|
||||||
|
}else {
|
||||||
|
if(d[i]['graph_type'] == 'table'){
|
||||||
|
X.retentiontable(val,function(data){
|
||||||
|
data['name'] = d[i]['name'];
|
||||||
|
data['modeltype'] = d[i]['graph_type'];
|
||||||
|
data['id'] = d[i]['report_id'];
|
||||||
|
data['modelsize'] = d[i]['graph_size'];
|
||||||
|
data['cat'] = model;
|
||||||
|
eventdata.push(data);
|
||||||
|
})
|
||||||
|
|
||||||
|
}else {
|
||||||
|
X.retentionchart(val,function(data){
|
||||||
|
data['name'] = d[i]['name'];
|
||||||
|
data['modeltype'] = d[i]['graph_type'];
|
||||||
|
data['id'] = d[i]['report_id'];
|
||||||
|
data['modelsize'] = d[i]['graph_size'];
|
||||||
|
eventdata.push(data);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(model == 'ltv'){
|
||||||
|
if(d[i]['graph_type'] == 'table'){
|
||||||
|
X.ltvtable(val,function(data){
|
||||||
|
data['name'] = d[i]['name'];
|
||||||
|
data['modeltype'] = d[i]['graph_type'];
|
||||||
|
data['id'] = d[i]['report_id'];
|
||||||
|
data['modelsize'] = d[i]['graph_size'];
|
||||||
|
data['cat'] = model;
|
||||||
|
eventdata.push(data);
|
||||||
|
})
|
||||||
|
}else {
|
||||||
|
X.ltvchart(val,function(data){
|
||||||
|
data['name'] = d[i]['name'];
|
||||||
|
data['modeltype'] = d[i]['graph_type'];
|
||||||
|
data['id'] = d[i]['report_id'];
|
||||||
|
data['modelsize'] = d[i]['graph_size'];
|
||||||
|
eventdata.push(data);
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
index --;
|
index --;
|
||||||
if(index <= 0){
|
if(eventdata.length > 0){
|
||||||
X.template("modeltable","chart-box",eventdata,function(){
|
|
||||||
for(let i in eventdata){
|
for(var z in eventdata){
|
||||||
if(eventdata[i]['modeltype'] == 'echarts' && eventdata[i]['modelsize'] != 'small' ){
|
|
||||||
var myChart = echarts.init(document.getElementById(eventdata[i]['id']));
|
X.laytpldata("#kanban-model-table-dot",eventdata[z],null,function(html){
|
||||||
|
$('#model-box').append(html);
|
||||||
|
});
|
||||||
|
|
||||||
|
if(eventdata[z]['modeltype'] == 'echarts' && eventdata[z]['modelsize'] != 'small' ){
|
||||||
|
var myChart = echarts.init(document.getElementById(eventdata[z]['id']));
|
||||||
var option = {
|
var option = {
|
||||||
title: {
|
title: {
|
||||||
text: ''
|
text: ''
|
||||||
@ -3324,7 +3502,7 @@ var X = window.X || {
|
|||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
type:'scroll',
|
type:'scroll',
|
||||||
data: eventdata[i]['legenddata']
|
data: eventdata[z]['legenddata']
|
||||||
},
|
},
|
||||||
grid: {
|
grid: {
|
||||||
left: '2%',
|
left: '2%',
|
||||||
@ -3337,7 +3515,7 @@ var X = window.X || {
|
|||||||
{
|
{
|
||||||
type: 'category',
|
type: 'category',
|
||||||
boundaryGap: false,
|
boundaryGap: false,
|
||||||
data: eventdata[i]['xAxisData']
|
data: eventdata[z]['xAxisData']
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
yAxis: [
|
yAxis: [
|
||||||
@ -3345,21 +3523,17 @@ var X = window.X || {
|
|||||||
type: 'value'
|
type: 'value'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
series: eventdata[i]['seriesData']
|
series: eventdata[z]['seriesData']
|
||||||
};
|
};
|
||||||
myChart.setOption(option,true);
|
myChart.setOption(option,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
}, 500 * i); // 还是每秒执行一次,不是累加的
|
}, 0 * i); // 还是每秒执行一次,不是累加的
|
||||||
})(z, d[z]['model']) // 注意这里是实参,这里把要用的参数传进去
|
})(z, d[z]['model']) // 注意这里是实参,这里把要用的参数传进去
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -5285,17 +5459,17 @@ var X = window.X || {
|
|||||||
X.laytpldata('#to-added-baobiao-dot',d,'.to-added-baobiao');
|
X.laytpldata('#to-added-baobiao-dot',d,'.to-added-baobiao');
|
||||||
var datalist = [
|
var datalist = [
|
||||||
{title:'全部',id:'0'},
|
{title:'全部',id:'0'},
|
||||||
{title:'事件分析',id:'event'},
|
{title:'事件',id:'event'},
|
||||||
{title:'留存分析',id:'retention'},
|
{title:'留存',id:'retention'},
|
||||||
{title:'漏斗分析',id:'funnel'},
|
{title:'漏斗',id:'funnel'},
|
||||||
{title:'属性分析',id:'0'},
|
{title:'属性',id:'0'},
|
||||||
{title:'分布分析',id:'scatter'},
|
{title:'分布',id:'scatter'},
|
||||||
{title:'SQL查询',id:'0'}
|
{title:'SQL',id:'0'}
|
||||||
]
|
]
|
||||||
|
|
||||||
X.laydropdown('#kanbanadmin-ss-right',datalist,function(d){
|
X.laydropdown('#kanbanadmin-ss-right',datalist,function(d){
|
||||||
$('#kanbanadmin-ss-right span').html(d.title);
|
$('#kanbanadmin-ss-right span').html(d.title);
|
||||||
updatalist(d.title);
|
updatalist(d.id);
|
||||||
})
|
})
|
||||||
toadddataprocessing();
|
toadddataprocessing();
|
||||||
})
|
})
|
||||||
@ -5523,12 +5697,14 @@ var X = window.X || {
|
|||||||
this.parms = parms;
|
this.parms = parms;
|
||||||
this.callback = parms.callback;
|
this.callback = parms.callback;
|
||||||
var listdata = parms.extData;
|
var listdata = parms.extData;
|
||||||
|
|
||||||
layui.form.render();
|
layui.form.render();
|
||||||
|
|
||||||
if(listdata){
|
if(listdata){
|
||||||
layui.form.val('kanbantypeexample',{
|
layui.form.val('kanbantypeexample',{
|
||||||
graph_type: listdata.graph_type || 'table',
|
graph_type: listdata.graph_type || 'table',
|
||||||
graph_size: listdata.graph_size || 'in'
|
graph_size: listdata.graph_size || 'in'
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).off('click','.adduser-top-box img').on('click','.adduser-top-box img',function(){
|
$(document).off('click','.adduser-top-box img').on('click','.adduser-top-box img',function(){
|
||||||
@ -5537,14 +5713,35 @@ var X = window.X || {
|
|||||||
|
|
||||||
$(document).off('click','.kanbantypeset-but-box .adduser-btn').on('click','.kanbantypeset-but-box .adduser-btn',function(){
|
$(document).off('click','.kanbantypeset-but-box .adduser-btn').on('click','.kanbantypeset-but-box .adduser-btn',function(){
|
||||||
layer.close(parms.layIndex);
|
layer.close(parms.layIndex);
|
||||||
})
|
});
|
||||||
|
|
||||||
|
layui.form.on('radio(graph_type)', function (data) {
|
||||||
|
if(listdata.model == 'ltv'){
|
||||||
|
if(data.value == "echarts"){
|
||||||
|
layui.form.val('kanbantypeexample',{
|
||||||
|
graph_type: listdata.graph_type || 'table'
|
||||||
|
});
|
||||||
|
layer.msg('ltv没有图像,请选择其他方式展示');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
layui.form.on('radio(graph_size)', function (data) {
|
||||||
|
if(listdata.model == 'ltv'){
|
||||||
|
if(data.value == "small"){
|
||||||
|
layui.form.val('kanbantypeexample',{
|
||||||
|
graph_size: listdata.graph_size || 'table'
|
||||||
|
});
|
||||||
|
layer.msg('ltv没有小图,请选择其他方式展示');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$(document).off('click','.kanbantypeset-but-box .adduser-btn2').on('click','.kanbantypeset-but-box .adduser-btn2',function(){
|
$(document).off('click','.kanbantypeset-but-box .adduser-btn2').on('click','.kanbantypeset-but-box .adduser-btn2',function(){
|
||||||
var data = layui.form.val('kanbantypeexample');
|
var data = layui.form.val('kanbantypeexample');
|
||||||
console.log(data);
|
|
||||||
me.callback && me.callback(data);
|
me.callback && me.callback(data);
|
||||||
layer.close(parms.layIndex);
|
layer.close(parms.layIndex);
|
||||||
})
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -5734,6 +5931,226 @@ var X = window.X || {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
|
// srczip/logic/ltvmodel.js
|
||||||
|
(function(){
|
||||||
|
X.pageLogic['ltvmodel'] = {
|
||||||
|
init : function(){
|
||||||
|
|
||||||
|
X.template("grouped","xinwei-whole");
|
||||||
|
var data ={
|
||||||
|
"eventView":{
|
||||||
|
"cksql":"ltv",
|
||||||
|
"endTime":"2021-06-07 23:59:59",
|
||||||
|
"filts":[],
|
||||||
|
"groupBy":[],
|
||||||
|
"recentDay":"1-30",
|
||||||
|
"relation":"and",
|
||||||
|
"startTime":"2021-05-09 00:00:00",
|
||||||
|
"statType":"retention",
|
||||||
|
"timeParticleSize":"P1D",
|
||||||
|
"unitNum":7
|
||||||
|
},
|
||||||
|
"events":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"cachedata":{
|
||||||
|
eventdata:[],
|
||||||
|
groupitemeventsdata:[],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// 日期渲染
|
||||||
|
X.daterender("#retained-condition-date",function(start, end, label){
|
||||||
|
var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00";
|
||||||
|
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
|
||||||
|
data['eventView']['startTime'] = startTime;
|
||||||
|
data['eventView']['endTime'] = endTime;
|
||||||
|
retaineddata();
|
||||||
|
});
|
||||||
|
|
||||||
|
var time = $("#retained-condition-date").val();
|
||||||
|
var timearr = time.split(" ");
|
||||||
|
data['eventView']['startTime'] = timearr[0] + " "+"00:00:00";
|
||||||
|
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
|
||||||
|
|
||||||
|
var eventdata;
|
||||||
|
var groupitemeventsdata=[[],[]];//分组项里的事件
|
||||||
|
|
||||||
|
X.api("data_auth/my_event","get",{},function(d){
|
||||||
|
eventdata = d;
|
||||||
|
X.api("data_auth/load_filter_props","post",{event_name:d[0]['category'][0]['event_name']},function(val){
|
||||||
|
groupitemeventsdata = val;
|
||||||
|
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//全局筛选
|
||||||
|
var filtsftvdata=[];
|
||||||
|
$(document).off('click','.analysis-overall-situation-add').on('click','.analysis-overall-situation-add',function(){
|
||||||
|
var screentypedata = groupitemeventsdata;
|
||||||
|
var drr={
|
||||||
|
"columnName":screentypedata[0]['category'][0]['title'],//事件中文显示
|
||||||
|
"column_id":screentypedata[0]['category'][0]['id'],//事件id
|
||||||
|
'data_type':screentypedata[0]['category'][0]['data_type'],//类型
|
||||||
|
'comparator_name':'等于',//默认等于
|
||||||
|
"comparator":'==',//符号id
|
||||||
|
"ftv":[],//条件
|
||||||
|
"strftv":'',//显示条件
|
||||||
|
"section":[-1,1],//区间
|
||||||
|
"table_type":screentypedata[0]['id']
|
||||||
|
};
|
||||||
|
data['eventView']['filts'].push(drr);
|
||||||
|
filtsftvdata.push(screentypedata[0]['category'][0]['category']);
|
||||||
|
if(data['eventView']['filts'].length > 1){
|
||||||
|
$(".analysis-overall-situation-left-guanxi").show();
|
||||||
|
}else{
|
||||||
|
$(".analysis-overall-situation-left-guanxi").hide();
|
||||||
|
}
|
||||||
|
console.log(data);
|
||||||
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
||||||
|
});
|
||||||
|
|
||||||
|
//删除指定全局数据
|
||||||
|
$(document).off('click','.analysis-overall-situation-del').on('click','.analysis-overall-situation-del',function(){
|
||||||
|
var index = $(this).attr('data-index');
|
||||||
|
data['eventView']['filts'].splice(index,1);
|
||||||
|
filtsftvdata.splice(index,1);
|
||||||
|
if(data['eventView']['filts'].length > 1){
|
||||||
|
$(".analysis-overall-situation-left-guanxi").show();
|
||||||
|
}else{
|
||||||
|
$(".analysis-overall-situation-left-guanxi").hide();
|
||||||
|
}
|
||||||
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).off('click','.analysis-overall-situation-attr').on('click','.analysis-overall-situation-attr',function(){
|
||||||
|
var obj = $(this);
|
||||||
|
var offset = obj.offset();
|
||||||
|
var index = obj.attr("data-index");
|
||||||
|
X.querycriteriapop(groupitemeventsdata,'category',offset.left,offset.top+obj.height(),function(val){
|
||||||
|
console.log(val);
|
||||||
|
obj.html(val.title);
|
||||||
|
data['eventView']['filts'][index]['columnName'] = val.title;
|
||||||
|
data['eventView']['filts'][index]['column_id'] = val.id;
|
||||||
|
data['eventView']['filts'][index]['data_type'] = val.type;
|
||||||
|
data['eventView']['filts'][index]['comparator_name'] = '等于';
|
||||||
|
data['eventView']['filts'][index]['comparator'] = '==';
|
||||||
|
data['eventView']['filts'][index]['table_type'] = val.table_type;
|
||||||
|
filtsftvdata[index]=val.category;
|
||||||
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$(document).off('click','.analysis-overall-situation-fuhao').on('click','.analysis-overall-situation-fuhao',function(){
|
||||||
|
var obj = $(this);
|
||||||
|
var offset = obj.offset();
|
||||||
|
var index = $(this).attr("data-index");
|
||||||
|
X.querycriteriapop(filtsftvdata[index],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||||||
|
if(val != undefined){
|
||||||
|
obj.html(val.title);
|
||||||
|
data['eventView']['filts'][index]['comparator_name'] = val.title;
|
||||||
|
data['eventView']['filts'][index]['comparator'] = val.id;
|
||||||
|
if(val.id == "range"){
|
||||||
|
data['eventView']['filts'][index]['ftv'] = [-1,1];
|
||||||
|
}
|
||||||
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
$(document).off('click','.analysis-overall-situation-input input').on('blur','.analysis-overall-situation-input input',function(){
|
||||||
|
var val = $(this).val();
|
||||||
|
var index = $(this).attr("data-index");
|
||||||
|
data['eventView']['filts'][index]['strftv'] = val;
|
||||||
|
data['eventView']['filts'][index]['ftv'].push(val);
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).off('click','.analysis-overall-situation-input2 input').on('blur','.analysis-overall-situation-input2 input',function(){
|
||||||
|
var name = $(this).attr('name');
|
||||||
|
var val = $(this).val();
|
||||||
|
var index = $(this).attr("data-index");
|
||||||
|
|
||||||
|
if(name == 'start'){
|
||||||
|
data['eventView']['filts'][index]['ftv'][0] = val;
|
||||||
|
data['eventView']['filts'][index]['section'][0] = val;
|
||||||
|
data['eventView']['filts'][index]['ftv'].push(val);
|
||||||
|
}else {
|
||||||
|
data['eventView']['filts'][index]['ftv'][1] = val;
|
||||||
|
data['eventView']['filts'][index]['section'][1] = val;
|
||||||
|
data['eventView']['filts'][index]['ftv'].push(val);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// sql语句显示
|
||||||
|
$(document).off('click','.sqlquery').on('click','.sqlquery',function(){
|
||||||
|
var obj = $(this);
|
||||||
|
var offset = obj.offset();
|
||||||
|
X.querycriteriapop(data,'conditionquery',offset.left - 410,offset.top+obj.height(),function(){
|
||||||
|
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
// 时间粒度
|
||||||
|
var timeParticleSizearr = [
|
||||||
|
{'title':'当日','id':'1'},
|
||||||
|
{'title':'次日','id':'2'},
|
||||||
|
{'title':'7日','id':'7'},
|
||||||
|
{'title':'14日','id':'14'},
|
||||||
|
{'title':'30日','id':'30'},
|
||||||
|
];
|
||||||
|
X.laydropdown('.analtsis-timeParticleSize',timeParticleSizearr,function(d){
|
||||||
|
console.log(d);
|
||||||
|
$(".analtsis-timeParticleSize").html(d.title);
|
||||||
|
data['eventView']['unitNum'] = parseInt(d.id);
|
||||||
|
retaineddata();
|
||||||
|
});
|
||||||
|
|
||||||
|
// 计算按钮
|
||||||
|
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
||||||
|
retaineddata()
|
||||||
|
});
|
||||||
|
|
||||||
|
function retaineddata(){
|
||||||
|
data['cachedata']['eventdata'] = eventdata;
|
||||||
|
data['cachedata']['groupitemeventsdata'] = groupitemeventsdata;
|
||||||
|
var dataArr = {
|
||||||
|
eventView: data.eventView,
|
||||||
|
events: data.events
|
||||||
|
}
|
||||||
|
X.api("ck/ltv_model","post",dataArr,function(d){
|
||||||
|
|
||||||
|
X.laytpldata("#table-fenxi-th-dot",d.title,".table-fenxi-th");
|
||||||
|
X.laytpldata("#table-fenxi-td-dot",d.rows,".table-fenxi-td");
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){
|
||||||
|
X.parametersopen(data,'savereport','auto')
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).off('click','.analysis-navigation-bar-right-img-baobiao').on('click','.analysis-navigation-bar-right-img-baobiao',function(){
|
||||||
|
X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){
|
||||||
|
console.log(d);
|
||||||
|
if(d){
|
||||||
|
data = d.query;
|
||||||
|
eventdata = data.cachedata.eventdata;
|
||||||
|
groupitemeventsdata = data.cachedata.groupitemeventsdata;
|
||||||
|
|
||||||
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
||||||
|
|
||||||
|
retaineddata();
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
})();
|
||||||
// srczip/logic/modeltable.js
|
// srczip/logic/modeltable.js
|
||||||
(function(){
|
(function(){
|
||||||
X.pageLogic['modeltable'] = {
|
X.pageLogic['modeltable'] = {
|
||||||
@ -5744,8 +6161,9 @@ var X = window.X || {
|
|||||||
var data = parms;
|
var data = parms;
|
||||||
|
|
||||||
for(var i in data){
|
for(var i in data){
|
||||||
console.log(data[i]);
|
|
||||||
X.laytpldata("#kanban-model-table-dot",data[i],null,function(html){
|
X.laytpldata("#kanban-model-table-dot",data[i],null,function(html){
|
||||||
|
// console.log($("#model-box").html());
|
||||||
|
console.log(html);
|
||||||
$('#model-box').append(html);
|
$('#model-box').append(html);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -6428,12 +6846,14 @@ var X = window.X || {
|
|||||||
X.api("data_auth/load_filter_props","post",{event_name:d[0]['category'][0]['event_name']},function(val){
|
X.api("data_auth/load_filter_props","post",{event_name:d[0]['category'][0]['event_name']},function(val){
|
||||||
groupitemeventsdata[0] = val;
|
groupitemeventsdata[0] = val;
|
||||||
groupitemeventsdata[1] = val;
|
groupitemeventsdata[1] = val;
|
||||||
|
//初始事件
|
||||||
|
console.log(data['events'][0]);
|
||||||
|
X.template("event","initial-event",data['events'][0]);
|
||||||
|
X.template("returnvisitevent","returnvisit-event",data['events'][1]);
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
//初始事件
|
|
||||||
X.template("event","initial-event",data['events'][0]);
|
|
||||||
X.template("returnvisitevent","returnvisit-event",data['events'][1]);
|
|
||||||
//开启重命名
|
//开启重命名
|
||||||
$(document).off('click','.analysis-chongmingming-initial-event').on('click','.analysis-chongmingming-initial-event',function(){
|
$(document).off('click','.analysis-chongmingming-initial-event').on('click','.analysis-chongmingming-initial-event',function(){
|
||||||
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").show();
|
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").show();
|
||||||
@ -6509,8 +6929,9 @@ var X = window.X || {
|
|||||||
"timeUnit":""
|
"timeUnit":""
|
||||||
}
|
}
|
||||||
initialevent.push(arr);
|
initialevent.push(arr);
|
||||||
data['events'][1]['filts'] = initialevent;
|
data['events'][0]['filts'] = initialevent;
|
||||||
filtersymbols[0].push(groupitemeventsdata[0][0]['category'][0]['category']);
|
filtersymbols[0].push(groupitemeventsdata[0][0]['category'][0]['category']);
|
||||||
|
|
||||||
X.template("event","initial-event",data['events'][0]);
|
X.template("event","initial-event",data['events'][0]);
|
||||||
})
|
})
|
||||||
var returnevent = []
|
var returnevent = []
|
||||||
@ -6542,9 +6963,9 @@ var X = window.X || {
|
|||||||
|
|
||||||
$(document).off('click','.analysis-zhibiao-list-del-return-event').on('click','.analysis-zhibiao-list-del-return-event',function(){
|
$(document).off('click','.analysis-zhibiao-list-del-return-event').on('click','.analysis-zhibiao-list-del-return-event',function(){
|
||||||
var index = $(this).attr("data-twonum");
|
var index = $(this).attr("data-twonum");
|
||||||
data['events'][0]['filts'].splice(index,1);
|
data['events'][1]['filts'].splice(index,1);
|
||||||
filtersymbols[1].splice(index,1);
|
filtersymbols[1].splice(index,1);
|
||||||
X.template("returnvisitevent","return-event",data['events'][0]);
|
X.template("returnvisitevent","return-event",data['events'][1]);
|
||||||
})
|
})
|
||||||
|
|
||||||
$(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input',function(){
|
$(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input',function(){
|
||||||
@ -7688,7 +8109,6 @@ var X = window.X || {
|
|||||||
})
|
})
|
||||||
|
|
||||||
function updatalist(title){
|
function updatalist(title){
|
||||||
console.log(title);
|
|
||||||
var screendata=[];//筛选后的数据
|
var screendata=[];//筛选后的数据
|
||||||
for(let i in data){
|
for(let i in data){
|
||||||
if(title == 0){
|
if(title == 0){
|
||||||
@ -7699,7 +8119,6 @@ var X = window.X || {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
X.laytpldata("#saved-list-box-dot",screendata,".saved-list-box");
|
X.laytpldata("#saved-list-box-dot",screendata,".saved-list-box");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -496,13 +496,13 @@ var X = window.X || {
|
|||||||
|
|
||||||
X.eventsmall = function(data,callback){
|
X.eventsmall = function(data,callback){
|
||||||
var date,num,thedayprop,weekprop,thedaypropsize,weekpropsize; //时间,当天数量,与前天对比,与上个星期对比,与前天对比正负,与上个星期对比正负
|
var date,num,thedayprop,weekprop,thedaypropsize,weekpropsize; //时间,当天数量,与前天对比,与上个星期对比,与前天对比正负,与上个星期对比正负
|
||||||
console.log(data);
|
// console.log(data);
|
||||||
for(let i in data){
|
// for(let i in data){
|
||||||
if(data[i]['groups']['length'] == 0){
|
// if(data[i]['groups']['length'] == 0){
|
||||||
|
|
||||||
|
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
var length = data[0]['date_range'].length - 1;
|
var length = data[0]['date_range'].length - 1;
|
||||||
date = data[0]['date_range'][length];
|
date = data[0]['date_range'][length];
|
||||||
num = data[0]['values'][0][length];
|
num = data[0]['values'][0][length];
|
||||||
@ -534,7 +534,129 @@ var X = window.X || {
|
|||||||
weekpropsize:weekpropsize
|
weekpropsize:weekpropsize
|
||||||
}
|
}
|
||||||
callback && callback(dataArr);
|
callback && callback(dataArr);
|
||||||
|
};
|
||||||
|
|
||||||
|
X.retentiontable=function(data,callback){
|
||||||
|
var tabledata=[];
|
||||||
|
for(let i in data['summary_values']){
|
||||||
|
var arr = {
|
||||||
|
date: i,
|
||||||
|
d0:data['summary_values'][i]['d0'],
|
||||||
|
data:[]
|
||||||
}
|
}
|
||||||
|
for(let j in data['summary_values'][i]["n"]){
|
||||||
|
var nrr = {
|
||||||
|
n:0,
|
||||||
|
p:0
|
||||||
|
}
|
||||||
|
nrr["n"] = data['summary_values'][i]["n"][j];
|
||||||
|
nrr["p"] = data['summary_values'][i]["p"][j]
|
||||||
|
arr['data'].push(nrr);
|
||||||
|
}
|
||||||
|
tabledata.push(arr);
|
||||||
|
}
|
||||||
|
|
||||||
|
var titdata = [];
|
||||||
|
for(let i in data['days']){
|
||||||
|
var tit = "第" + i + "日";
|
||||||
|
titdata.push(tit);
|
||||||
|
}
|
||||||
|
titdata.unshift("日期",data.title);
|
||||||
|
var dataArr = {
|
||||||
|
titledata:titdata,
|
||||||
|
condata:tabledata
|
||||||
|
}
|
||||||
|
callback && callback(dataArr);
|
||||||
|
};
|
||||||
|
|
||||||
|
X.retentionchart = function(d,callback){
|
||||||
|
var arr = {};
|
||||||
|
var legenddata = [];
|
||||||
|
var seriesData = [];
|
||||||
|
var xAxisData = [];
|
||||||
|
var date=0,sum=0,mean=0,sameday=0;
|
||||||
|
if(jQuery.isEmptyObject(d.values)){
|
||||||
|
var arr = []
|
||||||
|
for(let i in d['summary_values']){
|
||||||
|
var index = d['summary_values'][i]['p'].length - 1;
|
||||||
|
arr.push(d['summary_values'][i]['p'][index]);
|
||||||
|
xAxisData.push(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
seriesData = {
|
||||||
|
type: 'line',
|
||||||
|
data: arr
|
||||||
|
}
|
||||||
|
console.log(arr);
|
||||||
|
for(let i in arr){
|
||||||
|
sum = sum + arr[i];
|
||||||
|
sameday = arr[i];
|
||||||
|
}
|
||||||
|
console.log(mean);
|
||||||
|
date = '近'+xAxisData.length+'天时间';
|
||||||
|
mean = (sum / arr.length).toFixed(2);
|
||||||
|
|
||||||
|
}else {
|
||||||
|
var timearr = [];
|
||||||
|
for(let i in d.values){
|
||||||
|
timearr.push(i);
|
||||||
|
for(let j in d.values[i]){
|
||||||
|
if(arr[j]){
|
||||||
|
arr[j][i] = d.values[i][j]['p'];
|
||||||
|
}else {
|
||||||
|
arr[j]=[];
|
||||||
|
arr[j][i] = d.values[i][j]['p'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var ydata = {};
|
||||||
|
for(let j in arr){
|
||||||
|
if(!ydata[j]){
|
||||||
|
ydata[j] = [];
|
||||||
|
}
|
||||||
|
for( let i in timearr ){
|
||||||
|
ydata[j].push("");
|
||||||
|
for(let z in arr[j]){
|
||||||
|
if(timearr[i] == z){
|
||||||
|
var index = arr[j][z].length - 1;
|
||||||
|
ydata[j][i] =arr[j][z][index];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(let i in ydata){
|
||||||
|
legenddata.push(i);
|
||||||
|
var arr = {
|
||||||
|
name: i,
|
||||||
|
type: 'line',
|
||||||
|
data: ydata[i]
|
||||||
|
}
|
||||||
|
seriesData.push(arr)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
var dataArr = {
|
||||||
|
xAxisData:xAxisData,
|
||||||
|
legenddata:legenddata,
|
||||||
|
seriesData:seriesData,
|
||||||
|
date:date,
|
||||||
|
sum:sum,
|
||||||
|
mean:mean,
|
||||||
|
sameday: sameday
|
||||||
|
}
|
||||||
|
// console.log(dataArr);
|
||||||
|
callback && callback(dataArr);
|
||||||
|
};
|
||||||
|
|
||||||
|
X.ltvtable=function(data,callback){
|
||||||
|
var dataArr = {
|
||||||
|
titledata:data.title,
|
||||||
|
condata:data.rows
|
||||||
|
}
|
||||||
|
callback && callback(dataArr);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// 分组项
|
// 分组项
|
||||||
// X.grouped=function(data,id){
|
// X.grouped=function(data,id){
|
||||||
|
@ -132,7 +132,7 @@
|
|||||||
|
|
||||||
//已存报表
|
//已存报表
|
||||||
var baobiaodata;
|
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-img-baobiao').on('click','.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);
|
||||||
if(d){
|
if(d){
|
||||||
|
@ -36,16 +36,16 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
//a标签点击跳转事件
|
//a标签点击跳转事件
|
||||||
$(document).on('click','.layui-nav-child a',function(){
|
$(document).off('click','.layui-nav-child a').on('click','.layui-nav-child a',function(){
|
||||||
var url = $(this).attr("data-url");
|
var url = $(this).attr("data-url");
|
||||||
X.gourl(url);
|
X.gourl(url);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 修改面板名
|
// 修改面板名
|
||||||
$(document).on('click','.layui-left-dd',function(){
|
$(document).off('click','.layui-left-dd').on('click','.layui-left-dd',function(){
|
||||||
$(".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
|
||||||
$("#chart-box").html("");
|
$("#model-box").html("");
|
||||||
// 获取报表数据
|
// 获取报表数据
|
||||||
me.gettabledata();
|
me.gettabledata();
|
||||||
});
|
});
|
||||||
@ -220,6 +220,11 @@
|
|||||||
// X.laydropdown('.kanbanwenjianimg',X.DATA.taboperationdata[type]);
|
// X.laydropdown('.kanbanwenjianimg',X.DATA.taboperationdata[type]);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
$(document).off('click','.nav-action-bar').on('click','.nav-action-bar',function(e){
|
||||||
|
e.stopPropagation();
|
||||||
|
// console.log(111);
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -239,15 +244,17 @@
|
|||||||
// 获取表格数据
|
// 获取表格数据
|
||||||
gettabledata:function(){
|
gettabledata:function(){
|
||||||
|
|
||||||
|
$("#model-box").html("");//清空表格数据
|
||||||
|
|
||||||
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){
|
X.api('dashboard/','post',{id:X.DATA['dashboard_id']},function(d){
|
||||||
var eventdata=[];
|
|
||||||
var index = d.length;
|
var index = d.length;
|
||||||
for(let z in d){
|
for(let z in d){
|
||||||
|
|
||||||
(function (i, model) { // 注意这里是形参
|
(function (i, model) { // 注意这里是形参
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
|
|
||||||
X.api("ck/"+model+"_model","post",{report_id:d[i]['report_id']},function(val){
|
X.api("ck/"+model+"_model","post",{report_id:d[i]['report_id']},function(val){
|
||||||
|
var eventdata=[];
|
||||||
if(model == "event"){
|
if(model == "event"){
|
||||||
// 事件分析
|
// 事件分析
|
||||||
if(d[i]['graph_size'] == 'small'){
|
if(d[i]['graph_size'] == 'small'){
|
||||||
@ -266,6 +273,7 @@
|
|||||||
data['modeltype'] = d[i]['graph_type'];
|
data['modeltype'] = d[i]['graph_type'];
|
||||||
data['id'] = d[i]['report_id'];
|
data['id'] = d[i]['report_id'];
|
||||||
data['modelsize'] = d[i]['graph_size'];
|
data['modelsize'] = d[i]['graph_size'];
|
||||||
|
data['cat'] = model;
|
||||||
eventdata.push(data);
|
eventdata.push(data);
|
||||||
})
|
})
|
||||||
}else if(d[i]['graph_type'] == 'echarts'){
|
}else if(d[i]['graph_type'] == 'echarts'){
|
||||||
@ -280,13 +288,61 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else if(model == "retention"){
|
||||||
|
if(d[i]['graph_size'] == 'small'){
|
||||||
|
|
||||||
|
}else {
|
||||||
|
if(d[i]['graph_type'] == 'table'){
|
||||||
|
X.retentiontable(val,function(data){
|
||||||
|
data['name'] = d[i]['name'];
|
||||||
|
data['modeltype'] = d[i]['graph_type'];
|
||||||
|
data['id'] = d[i]['report_id'];
|
||||||
|
data['modelsize'] = d[i]['graph_size'];
|
||||||
|
data['cat'] = model;
|
||||||
|
eventdata.push(data);
|
||||||
|
})
|
||||||
|
|
||||||
|
}else {
|
||||||
|
X.retentionchart(val,function(data){
|
||||||
|
data['name'] = d[i]['name'];
|
||||||
|
data['modeltype'] = d[i]['graph_type'];
|
||||||
|
data['id'] = d[i]['report_id'];
|
||||||
|
data['modelsize'] = d[i]['graph_size'];
|
||||||
|
eventdata.push(data);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else if(model == 'ltv'){
|
||||||
|
if(d[i]['graph_type'] == 'table'){
|
||||||
|
X.ltvtable(val,function(data){
|
||||||
|
data['name'] = d[i]['name'];
|
||||||
|
data['modeltype'] = d[i]['graph_type'];
|
||||||
|
data['id'] = d[i]['report_id'];
|
||||||
|
data['modelsize'] = d[i]['graph_size'];
|
||||||
|
data['cat'] = model;
|
||||||
|
eventdata.push(data);
|
||||||
|
})
|
||||||
|
}else {
|
||||||
|
X.ltvchart(val,function(data){
|
||||||
|
data['name'] = d[i]['name'];
|
||||||
|
data['modeltype'] = d[i]['graph_type'];
|
||||||
|
data['id'] = d[i]['report_id'];
|
||||||
|
data['modelsize'] = d[i]['graph_size'];
|
||||||
|
eventdata.push(data);
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
index --;
|
index --;
|
||||||
if(index <= 0){
|
if(eventdata.length > 0){
|
||||||
X.template("modeltable","chart-box",eventdata,function(){
|
|
||||||
for(let i in eventdata){
|
for(var z in eventdata){
|
||||||
if(eventdata[i]['modeltype'] == 'echarts' && eventdata[i]['modelsize'] != 'small' ){
|
|
||||||
var myChart = echarts.init(document.getElementById(eventdata[i]['id']));
|
X.laytpldata("#kanban-model-table-dot",eventdata[z],null,function(html){
|
||||||
|
$('#model-box').append(html);
|
||||||
|
});
|
||||||
|
|
||||||
|
if(eventdata[z]['modeltype'] == 'echarts' && eventdata[z]['modelsize'] != 'small' ){
|
||||||
|
var myChart = echarts.init(document.getElementById(eventdata[z]['id']));
|
||||||
var option = {
|
var option = {
|
||||||
title: {
|
title: {
|
||||||
text: ''
|
text: ''
|
||||||
@ -303,7 +359,7 @@
|
|||||||
},
|
},
|
||||||
legend: {
|
legend: {
|
||||||
type:'scroll',
|
type:'scroll',
|
||||||
data: eventdata[i]['legenddata']
|
data: eventdata[z]['legenddata']
|
||||||
},
|
},
|
||||||
grid: {
|
grid: {
|
||||||
left: '2%',
|
left: '2%',
|
||||||
@ -316,7 +372,7 @@
|
|||||||
{
|
{
|
||||||
type: 'category',
|
type: 'category',
|
||||||
boundaryGap: false,
|
boundaryGap: false,
|
||||||
data: eventdata[i]['xAxisData']
|
data: eventdata[z]['xAxisData']
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
yAxis: [
|
yAxis: [
|
||||||
@ -324,21 +380,17 @@
|
|||||||
type: 'value'
|
type: 'value'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
series: eventdata[i]['seriesData']
|
series: eventdata[z]['seriesData']
|
||||||
};
|
};
|
||||||
myChart.setOption(option,true);
|
myChart.setOption(option,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
}, 500 * i); // 还是每秒执行一次,不是累加的
|
}, 0 * i); // 还是每秒执行一次,不是累加的
|
||||||
})(z, d[z]['model']) // 注意这里是实参,这里把要用的参数传进去
|
})(z, d[z]['model']) // 注意这里是实参,这里把要用的参数传进去
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,17 +21,17 @@
|
|||||||
X.laytpldata('#to-added-baobiao-dot',d,'.to-added-baobiao');
|
X.laytpldata('#to-added-baobiao-dot',d,'.to-added-baobiao');
|
||||||
var datalist = [
|
var datalist = [
|
||||||
{title:'全部',id:'0'},
|
{title:'全部',id:'0'},
|
||||||
{title:'事件分析',id:'event'},
|
{title:'事件',id:'event'},
|
||||||
{title:'留存分析',id:'retention'},
|
{title:'留存',id:'retention'},
|
||||||
{title:'漏斗分析',id:'funnel'},
|
{title:'漏斗',id:'funnel'},
|
||||||
{title:'属性分析',id:'0'},
|
{title:'属性',id:'0'},
|
||||||
{title:'分布分析',id:'scatter'},
|
{title:'分布',id:'scatter'},
|
||||||
{title:'SQL查询',id:'0'}
|
{title:'SQL',id:'0'}
|
||||||
]
|
]
|
||||||
|
|
||||||
X.laydropdown('#kanbanadmin-ss-right',datalist,function(d){
|
X.laydropdown('#kanbanadmin-ss-right',datalist,function(d){
|
||||||
$('#kanbanadmin-ss-right span').html(d.title);
|
$('#kanbanadmin-ss-right span').html(d.title);
|
||||||
updatalist(d.title);
|
updatalist(d.id);
|
||||||
})
|
})
|
||||||
toadddataprocessing();
|
toadddataprocessing();
|
||||||
})
|
})
|
||||||
|
@ -5,12 +5,14 @@
|
|||||||
this.parms = parms;
|
this.parms = parms;
|
||||||
this.callback = parms.callback;
|
this.callback = parms.callback;
|
||||||
var listdata = parms.extData;
|
var listdata = parms.extData;
|
||||||
|
|
||||||
layui.form.render();
|
layui.form.render();
|
||||||
|
|
||||||
if(listdata){
|
if(listdata){
|
||||||
layui.form.val('kanbantypeexample',{
|
layui.form.val('kanbantypeexample',{
|
||||||
graph_type: listdata.graph_type || 'table',
|
graph_type: listdata.graph_type || 'table',
|
||||||
graph_size: listdata.graph_size || 'in'
|
graph_size: listdata.graph_size || 'in'
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).off('click','.adduser-top-box img').on('click','.adduser-top-box img',function(){
|
$(document).off('click','.adduser-top-box img').on('click','.adduser-top-box img',function(){
|
||||||
@ -19,14 +21,35 @@
|
|||||||
|
|
||||||
$(document).off('click','.kanbantypeset-but-box .adduser-btn').on('click','.kanbantypeset-but-box .adduser-btn',function(){
|
$(document).off('click','.kanbantypeset-but-box .adduser-btn').on('click','.kanbantypeset-but-box .adduser-btn',function(){
|
||||||
layer.close(parms.layIndex);
|
layer.close(parms.layIndex);
|
||||||
})
|
});
|
||||||
|
|
||||||
|
layui.form.on('radio(graph_type)', function (data) {
|
||||||
|
if(listdata.model == 'ltv'){
|
||||||
|
if(data.value == "echarts"){
|
||||||
|
layui.form.val('kanbantypeexample',{
|
||||||
|
graph_type: listdata.graph_type || 'table'
|
||||||
|
});
|
||||||
|
layer.msg('ltv没有图像,请选择其他方式展示');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
layui.form.on('radio(graph_size)', function (data) {
|
||||||
|
if(listdata.model == 'ltv'){
|
||||||
|
if(data.value == "small"){
|
||||||
|
layui.form.val('kanbantypeexample',{
|
||||||
|
graph_size: listdata.graph_size || 'table'
|
||||||
|
});
|
||||||
|
layer.msg('ltv没有小图,请选择其他方式展示');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
$(document).off('click','.kanbantypeset-but-box .adduser-btn2').on('click','.kanbantypeset-but-box .adduser-btn2',function(){
|
$(document).off('click','.kanbantypeset-but-box .adduser-btn2').on('click','.kanbantypeset-but-box .adduser-btn2',function(){
|
||||||
var data = layui.form.val('kanbantypeexample');
|
var data = layui.form.val('kanbantypeexample');
|
||||||
console.log(data);
|
|
||||||
me.callback && me.callback(data);
|
me.callback && me.callback(data);
|
||||||
layer.close(parms.layIndex);
|
layer.close(parms.layIndex);
|
||||||
})
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
219
web/srczip/logic/ltvmodel.js
Normal file
219
web/srczip/logic/ltvmodel.js
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
(function(){
|
||||||
|
X.pageLogic['ltvmodel'] = {
|
||||||
|
init : function(){
|
||||||
|
|
||||||
|
X.template("grouped","xinwei-whole");
|
||||||
|
var data ={
|
||||||
|
"eventView":{
|
||||||
|
"cksql":"ltv",
|
||||||
|
"endTime":"2021-06-07 23:59:59",
|
||||||
|
"filts":[],
|
||||||
|
"groupBy":[],
|
||||||
|
"recentDay":"1-30",
|
||||||
|
"relation":"and",
|
||||||
|
"startTime":"2021-05-09 00:00:00",
|
||||||
|
"statType":"retention",
|
||||||
|
"timeParticleSize":"P1D",
|
||||||
|
"unitNum":7
|
||||||
|
},
|
||||||
|
"events":[
|
||||||
|
|
||||||
|
],
|
||||||
|
"cachedata":{
|
||||||
|
eventdata:[],
|
||||||
|
groupitemeventsdata:[],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// 日期渲染
|
||||||
|
X.daterender("#retained-condition-date",function(start, end, label){
|
||||||
|
var startTime = start.format('YYYY-MM-DD')+ " "+ "00:00:00";
|
||||||
|
var endTime = end.format('YYYY-MM-DD')+ " "+ "23:59:59";
|
||||||
|
data['eventView']['startTime'] = startTime;
|
||||||
|
data['eventView']['endTime'] = endTime;
|
||||||
|
retaineddata();
|
||||||
|
});
|
||||||
|
|
||||||
|
var time = $("#retained-condition-date").val();
|
||||||
|
var timearr = time.split(" ");
|
||||||
|
data['eventView']['startTime'] = timearr[0] + " "+"00:00:00";
|
||||||
|
data['eventView']['endTime'] = timearr[2]+" "+"23:59:59";
|
||||||
|
|
||||||
|
var eventdata;
|
||||||
|
var groupitemeventsdata=[[],[]];//分组项里的事件
|
||||||
|
|
||||||
|
X.api("data_auth/my_event","get",{},function(d){
|
||||||
|
eventdata = d;
|
||||||
|
X.api("data_auth/load_filter_props","post",{event_name:d[0]['category'][0]['event_name']},function(val){
|
||||||
|
groupitemeventsdata = val;
|
||||||
|
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//全局筛选
|
||||||
|
var filtsftvdata=[];
|
||||||
|
$(document).off('click','.analysis-overall-situation-add').on('click','.analysis-overall-situation-add',function(){
|
||||||
|
var screentypedata = groupitemeventsdata;
|
||||||
|
var drr={
|
||||||
|
"columnName":screentypedata[0]['category'][0]['title'],//事件中文显示
|
||||||
|
"column_id":screentypedata[0]['category'][0]['id'],//事件id
|
||||||
|
'data_type':screentypedata[0]['category'][0]['data_type'],//类型
|
||||||
|
'comparator_name':'等于',//默认等于
|
||||||
|
"comparator":'==',//符号id
|
||||||
|
"ftv":[],//条件
|
||||||
|
"strftv":'',//显示条件
|
||||||
|
"section":[-1,1],//区间
|
||||||
|
"table_type":screentypedata[0]['id']
|
||||||
|
};
|
||||||
|
data['eventView']['filts'].push(drr);
|
||||||
|
filtsftvdata.push(screentypedata[0]['category'][0]['category']);
|
||||||
|
if(data['eventView']['filts'].length > 1){
|
||||||
|
$(".analysis-overall-situation-left-guanxi").show();
|
||||||
|
}else{
|
||||||
|
$(".analysis-overall-situation-left-guanxi").hide();
|
||||||
|
}
|
||||||
|
console.log(data);
|
||||||
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
||||||
|
});
|
||||||
|
|
||||||
|
//删除指定全局数据
|
||||||
|
$(document).off('click','.analysis-overall-situation-del').on('click','.analysis-overall-situation-del',function(){
|
||||||
|
var index = $(this).attr('data-index');
|
||||||
|
data['eventView']['filts'].splice(index,1);
|
||||||
|
filtsftvdata.splice(index,1);
|
||||||
|
if(data['eventView']['filts'].length > 1){
|
||||||
|
$(".analysis-overall-situation-left-guanxi").show();
|
||||||
|
}else{
|
||||||
|
$(".analysis-overall-situation-left-guanxi").hide();
|
||||||
|
}
|
||||||
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).off('click','.analysis-overall-situation-attr').on('click','.analysis-overall-situation-attr',function(){
|
||||||
|
var obj = $(this);
|
||||||
|
var offset = obj.offset();
|
||||||
|
var index = obj.attr("data-index");
|
||||||
|
X.querycriteriapop(groupitemeventsdata,'category',offset.left,offset.top+obj.height(),function(val){
|
||||||
|
console.log(val);
|
||||||
|
obj.html(val.title);
|
||||||
|
data['eventView']['filts'][index]['columnName'] = val.title;
|
||||||
|
data['eventView']['filts'][index]['column_id'] = val.id;
|
||||||
|
data['eventView']['filts'][index]['data_type'] = val.type;
|
||||||
|
data['eventView']['filts'][index]['comparator_name'] = '等于';
|
||||||
|
data['eventView']['filts'][index]['comparator'] = '==';
|
||||||
|
data['eventView']['filts'][index]['table_type'] = val.table_type;
|
||||||
|
filtsftvdata[index]=val.category;
|
||||||
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
$(document).off('click','.analysis-overall-situation-fuhao').on('click','.analysis-overall-situation-fuhao',function(){
|
||||||
|
var obj = $(this);
|
||||||
|
var offset = obj.offset();
|
||||||
|
var index = $(this).attr("data-index");
|
||||||
|
X.querycriteriapop(filtsftvdata[index],'dropdownlist',offset.left,offset.top+obj.height(),function(val){
|
||||||
|
if(val != undefined){
|
||||||
|
obj.html(val.title);
|
||||||
|
data['eventView']['filts'][index]['comparator_name'] = val.title;
|
||||||
|
data['eventView']['filts'][index]['comparator'] = val.id;
|
||||||
|
if(val.id == "range"){
|
||||||
|
data['eventView']['filts'][index]['ftv'] = [-1,1];
|
||||||
|
}
|
||||||
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
});
|
||||||
|
$(document).off('click','.analysis-overall-situation-input input').on('blur','.analysis-overall-situation-input input',function(){
|
||||||
|
var val = $(this).val();
|
||||||
|
var index = $(this).attr("data-index");
|
||||||
|
data['eventView']['filts'][index]['strftv'] = val;
|
||||||
|
data['eventView']['filts'][index]['ftv'].push(val);
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).off('click','.analysis-overall-situation-input2 input').on('blur','.analysis-overall-situation-input2 input',function(){
|
||||||
|
var name = $(this).attr('name');
|
||||||
|
var val = $(this).val();
|
||||||
|
var index = $(this).attr("data-index");
|
||||||
|
|
||||||
|
if(name == 'start'){
|
||||||
|
data['eventView']['filts'][index]['ftv'][0] = val;
|
||||||
|
data['eventView']['filts'][index]['section'][0] = val;
|
||||||
|
data['eventView']['filts'][index]['ftv'].push(val);
|
||||||
|
}else {
|
||||||
|
data['eventView']['filts'][index]['ftv'][1] = val;
|
||||||
|
data['eventView']['filts'][index]['section'][1] = val;
|
||||||
|
data['eventView']['filts'][index]['ftv'].push(val);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// sql语句显示
|
||||||
|
$(document).off('click','.sqlquery').on('click','.sqlquery',function(){
|
||||||
|
var obj = $(this);
|
||||||
|
var offset = obj.offset();
|
||||||
|
X.querycriteriapop(data,'conditionquery',offset.left - 410,offset.top+obj.height(),function(){
|
||||||
|
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
// 时间粒度
|
||||||
|
var timeParticleSizearr = [
|
||||||
|
{'title':'当日','id':'1'},
|
||||||
|
{'title':'次日','id':'2'},
|
||||||
|
{'title':'7日','id':'7'},
|
||||||
|
{'title':'14日','id':'14'},
|
||||||
|
{'title':'30日','id':'30'},
|
||||||
|
];
|
||||||
|
X.laydropdown('.analtsis-timeParticleSize',timeParticleSizearr,function(d){
|
||||||
|
console.log(d);
|
||||||
|
$(".analtsis-timeParticleSize").html(d.title);
|
||||||
|
data['eventView']['unitNum'] = parseInt(d.id);
|
||||||
|
retaineddata();
|
||||||
|
});
|
||||||
|
|
||||||
|
// 计算按钮
|
||||||
|
$(document).off('click','.analysis-calculation').on('click','.analysis-calculation',function(){
|
||||||
|
retaineddata()
|
||||||
|
});
|
||||||
|
|
||||||
|
function retaineddata(){
|
||||||
|
data['cachedata']['eventdata'] = eventdata;
|
||||||
|
data['cachedata']['groupitemeventsdata'] = groupitemeventsdata;
|
||||||
|
var dataArr = {
|
||||||
|
eventView: data.eventView,
|
||||||
|
events: data.events
|
||||||
|
}
|
||||||
|
X.api("ck/ltv_model","post",dataArr,function(d){
|
||||||
|
|
||||||
|
X.laytpldata("#table-fenxi-th-dot",d.title,".table-fenxi-th");
|
||||||
|
X.laytpldata("#table-fenxi-td-dot",d.rows,".table-fenxi-td");
|
||||||
|
})
|
||||||
|
};
|
||||||
|
|
||||||
|
$(document).off('click','.analysis-savereport').on('click','.analysis-savereport',function(){
|
||||||
|
X.parametersopen(data,'savereport','auto')
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).off('click','.analysis-navigation-bar-right-img-baobiao').on('click','.analysis-navigation-bar-right-img-baobiao',function(){
|
||||||
|
X.parametersopen(data['eventView']['cksql'],'savedbaobiao','rt',function(d){
|
||||||
|
console.log(d);
|
||||||
|
if(d){
|
||||||
|
data = d.query;
|
||||||
|
eventdata = data.cachedata.eventdata;
|
||||||
|
groupitemeventsdata = data.cachedata.groupitemeventsdata;
|
||||||
|
|
||||||
|
X.template("globalfilter","xinwei-whole",data['eventView']['filts']);
|
||||||
|
|
||||||
|
retaineddata();
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
})();
|
@ -7,8 +7,9 @@
|
|||||||
var data = parms;
|
var data = parms;
|
||||||
|
|
||||||
for(var i in data){
|
for(var i in data){
|
||||||
console.log(data[i]);
|
|
||||||
X.laytpldata("#kanban-model-table-dot",data[i],null,function(html){
|
X.laytpldata("#kanban-model-table-dot",data[i],null,function(html){
|
||||||
|
// console.log($("#model-box").html());
|
||||||
|
console.log(html);
|
||||||
$('#model-box').append(html);
|
$('#model-box').append(html);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -69,12 +69,14 @@
|
|||||||
X.api("data_auth/load_filter_props","post",{event_name:d[0]['category'][0]['event_name']},function(val){
|
X.api("data_auth/load_filter_props","post",{event_name:d[0]['category'][0]['event_name']},function(val){
|
||||||
groupitemeventsdata[0] = val;
|
groupitemeventsdata[0] = val;
|
||||||
groupitemeventsdata[1] = val;
|
groupitemeventsdata[1] = val;
|
||||||
|
//初始事件
|
||||||
|
console.log(data['events'][0]);
|
||||||
|
X.template("event","initial-event",data['events'][0]);
|
||||||
|
X.template("returnvisitevent","returnvisit-event",data['events'][1]);
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
//初始事件
|
|
||||||
X.template("event","initial-event",data['events'][0]);
|
|
||||||
X.template("returnvisitevent","returnvisit-event",data['events'][1]);
|
|
||||||
//开启重命名
|
//开启重命名
|
||||||
$(document).off('click','.analysis-chongmingming-initial-event').on('click','.analysis-chongmingming-initial-event',function(){
|
$(document).off('click','.analysis-chongmingming-initial-event').on('click','.analysis-chongmingming-initial-event',function(){
|
||||||
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").show();
|
$("#analysis-con-left-screen-list-left-zhibiaoname-initial-event").show();
|
||||||
@ -150,8 +152,9 @@
|
|||||||
"timeUnit":""
|
"timeUnit":""
|
||||||
}
|
}
|
||||||
initialevent.push(arr);
|
initialevent.push(arr);
|
||||||
data['events'][1]['filts'] = initialevent;
|
data['events'][0]['filts'] = initialevent;
|
||||||
filtersymbols[0].push(groupitemeventsdata[0][0]['category'][0]['category']);
|
filtersymbols[0].push(groupitemeventsdata[0][0]['category'][0]['category']);
|
||||||
|
|
||||||
X.template("event","initial-event",data['events'][0]);
|
X.template("event","initial-event",data['events'][0]);
|
||||||
})
|
})
|
||||||
var returnevent = []
|
var returnevent = []
|
||||||
@ -183,9 +186,9 @@
|
|||||||
|
|
||||||
$(document).off('click','.analysis-zhibiao-list-del-return-event').on('click','.analysis-zhibiao-list-del-return-event',function(){
|
$(document).off('click','.analysis-zhibiao-list-del-return-event').on('click','.analysis-zhibiao-list-del-return-event',function(){
|
||||||
var index = $(this).attr("data-twonum");
|
var index = $(this).attr("data-twonum");
|
||||||
data['events'][0]['filts'].splice(index,1);
|
data['events'][1]['filts'].splice(index,1);
|
||||||
filtersymbols[1].splice(index,1);
|
filtersymbols[1].splice(index,1);
|
||||||
X.template("returnvisitevent","return-event",data['events'][0]);
|
X.template("returnvisitevent","return-event",data['events'][1]);
|
||||||
})
|
})
|
||||||
|
|
||||||
$(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input',function(){
|
$(document).off('click','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input').on('blur','.analysis-con-left-screen-list-left-zhibiaoname-initial-event input',function(){
|
||||||
|
@ -42,7 +42,6 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
function updatalist(title){
|
function updatalist(title){
|
||||||
console.log(title);
|
|
||||||
var screendata=[];//筛选后的数据
|
var screendata=[];//筛选后的数据
|
||||||
for(let i in data){
|
for(let i in data){
|
||||||
if(title == 0){
|
if(title == 0){
|
||||||
@ -53,7 +52,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
X.laytpldata("#saved-list-box-dot",screendata,".saved-list-box");
|
X.laytpldata("#saved-list-box-dot",screendata,".saved-list-box");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user