You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
214 lines
8.3 KiB
HTML
214 lines
8.3 KiB
HTML
<extend name="Public/manage" />
|
|
<block name="head">
|
|
<link href="__CSS__/user_zxy.css" rel="stylesheet">
|
|
<script src="__JS__/bootstrap-select.min.js"></script>
|
|
<script src="__JS__/zh-cn.js"></script>
|
|
<script src="__JS__/echarts-all.js"></script>
|
|
<script src="__JS__/chart.js"></script>
|
|
<script src="__JS__/jquery.tablesorter.js"></script>
|
|
<script src="__JS__/string.js"></script>
|
|
<script src="__JS__/pagination.js"></script>
|
|
<script src="__JS__/datacommon.js"></script>
|
|
<script src="__JS__/retain.js"></script>
|
|
</block>
|
|
<block name="location">
|
|
<a class="z_nav" href="{:U('Stats/retention')}">数据统计</a>
|
|
<a class="z_nav curt_nav" href="{:U('Stats/retention')}">留存分析</a>
|
|
</block>
|
|
<block name="body" >
|
|
<div class="matter_right_content border_right" style="padding-bottom:10px;">
|
|
<div class="title"><i class="liucun_icon"></i><span>留存数据</span></div>
|
|
<div class="matter_box matter_box2 clearfix" style="margin-bottom: 35px;">
|
|
<div class="input-inline">
|
|
<form class="form-inline form_left formwidth140 clearfix search_form" action="" >
|
|
<div class="form-group form-group-sm pull-left">
|
|
<div class="input-group game_data " style="padding-top:0;width:144px;">
|
|
<select class="form-control fwsub selectpicker" name="game_id" id="game_id1">
|
|
<option value="">游戏名称</option>
|
|
<volist name=":getDevelopGameList(UID)" id="vo">
|
|
<option value="{$vo.id}">{$vo.game_name}</option>
|
|
</volist>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group form-group-sm pull-left">
|
|
<div class="input-group">
|
|
<input id="startDate" class="form-control fwsub hasDatepicker" type="text" name="time_start" value="{:empty(I('time_start')) ? date('Y-m-d',strtotime('-6day')) : I('time_start')}" placeholder="{:date('Y-m-d',strtotime('-6day'))}">
|
|
<span class="arrow_icon"></span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group form-group-sm pull-left">
|
|
<div class="input-group">
|
|
<input id="endDate" class="form-control fwsub hasDatepicker" type="text" name="time_end" value="{:empty(I('time_end')) ? date('Y-m-d') : I('time_end')}" placeholder="{:date('Y-m-d')}">
|
|
<span class="arrow_icon"></span>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group form-group-sm pull-left" style="margin-right: 0;">
|
|
<div class="input-group">
|
|
<button class="btn btn_primary user_btn user_btn3" type="button" url="{:U('Stats/retention')}" id="search">查询</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="matter_box matter_box2" style="margin-bottom:0;">
|
|
|
|
<div class="matter_mt-4">
|
|
<div class="tab-content matter_mt">
|
|
<div role="tabpanel" class="tab-pane active">
|
|
<div class="row f-mlr-0">
|
|
<div id="retainChart"
|
|
style="height: 350px; padding-top: 10px; -webkit-tap-highlight-color: transparent; user-select: none; background-color: rgba(0, 0, 0, 0); cursor: default;"
|
|
_echarts_instance_="1487059801491">
|
|
<div style="position: relative; overflow: hidden; width: 950px; height: 340px;">
|
|
<div data-zr-dom-id="bg" style="position: absolute; left: 0px; top: 0px; width: 950px; height: 340px; user-select: none;"></div>
|
|
<canvas width="950" height="340" data-zr-dom-id="0" style="position: absolute; left: 0px; top: 0px; width: 950px; height: 340px; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></canvas>
|
|
<canvas width="950" height="340" data-zr-dom-id="1" style="position: absolute; left: 0px; top: 0px; width: 950px; height: 340px; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></canvas>
|
|
<canvas width="950" height="340" data-zr-dom-id="_zrender_hover_" style="position: absolute; left: 0px; top: 0px; width: 950px; height: 340px; user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></canvas>
|
|
<div class="echarts-tooltip"
|
|
style="position: absolute; display: none; border-style: solid; white-space: nowrap; transition: left 0.1s, top 0.1s; background-color: rgba(50, 50, 50, 0.498039); border-width: 0px; border-color: rgb(51, 51, 51); border-radius: 4px; color: rgb(255, 255, 255); font-family: 微软雅黑, Arial, Verdana, sans-serif; padding: 5px; left: 154px; top: 201px;">
|
|
2017-01-17<br>1日留存 : 0<br>3日留存 : 0<br>7日留存 : 0
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="tab-content ">
|
|
<div class="table-container">
|
|
<div id="ltvChart" style="" class="table-responsive">
|
|
<div class="table_responsive" id="dayDetail">
|
|
<table id="dataContent2" class="table table_striped table_hover table-bordered egretTable" style="border-bottom: 1px solid #E1E7F0;margin-bottom:30px;"></table>
|
|
<div id="Pagination2" class="pagination" style="display:block;"></div>
|
|
<table id="detailTable" class="table table-striped table-hover table-bordered egretTable" style="display: none">
|
|
<thead >
|
|
<tr>
|
|
<th>日期</th>
|
|
<th>新增</th>
|
|
<th>1日</th>
|
|
<th>2日</th>
|
|
<th>3日</th>
|
|
<th>7日</th>
|
|
<th>10日</th>
|
|
<th>14日</th>
|
|
<th>15日</th>
|
|
<th>30日</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody >
|
|
<volist name="data" id="vo">
|
|
<tr name="rows">
|
|
<td>{$key}</td>
|
|
<td>
|
|
{$vo.newUsers}
|
|
</td>
|
|
<td>
|
|
{$vo.1}%
|
|
</td>
|
|
<td>
|
|
{$vo.2}%
|
|
</td>
|
|
<td>
|
|
{$vo.3}%
|
|
</td>
|
|
<td>
|
|
{$vo.7}%
|
|
</td>
|
|
<td>
|
|
{$vo.10}%
|
|
</td>
|
|
<td>
|
|
{$vo.14}%
|
|
</td>
|
|
<td>
|
|
{$vo.15}%
|
|
</td>
|
|
<td>
|
|
{$vo.30}%
|
|
</td>
|
|
</tr>
|
|
</volist>
|
|
</tbody>
|
|
</table>
|
|
<!--<div class="pagination_wrap" id="Pagination2">
|
|
{$_page}
|
|
</div>-->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
$("#search").click(function(){
|
|
var url = $(this).attr('url');
|
|
var query = $('.search_form').find('input').serialize();
|
|
query += "&"+$('.search_form').find('select').serialize();
|
|
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
|
|
query = query.replace(/^&/g,'');
|
|
if( url.indexOf('?')>0 ){
|
|
url += '&' + query;
|
|
}else{
|
|
url += '?' + query;
|
|
}
|
|
window.location.href = url;
|
|
});
|
|
|
|
|
|
$('.tabtitle .jbtn').on('click',function() {
|
|
var that = $(this),href = that.attr('href');
|
|
that.addClass('active').siblings().removeClass('active');
|
|
$(href).removeClass('hidden').siblings().addClass('hidden');
|
|
});
|
|
$('#server').selectpicker({
|
|
size: 15
|
|
});
|
|
$.VMenu.show('#menu');
|
|
$.VMenu.open('m3.2');
|
|
|
|
$(function() {
|
|
Think.setValue("game_id","{:I('game_id')}");
|
|
$('input[name=time_start]').datetimepicker({
|
|
format: 'yyyy-mm-dd',
|
|
language:"zh-CN",
|
|
minView:2,
|
|
autoclose:true
|
|
});
|
|
|
|
$('input[name=time_end]').datetimepicker({
|
|
format: 'yyyy-mm-dd',
|
|
language:"zh-CN",
|
|
minView:2,
|
|
autoclose:true
|
|
});
|
|
|
|
$('#gameId').selectpicker({
|
|
size: 15
|
|
// noneSelectedText: "所有游戏",
|
|
});
|
|
$('#game_id1').selectpicker({
|
|
size: 15
|
|
});
|
|
});
|
|
|
|
</script>
|
|
<script type="text/javascript">
|
|
var dataJson = {$json_data}
|
|
|
|
tablePage('detailTable', 'dataContent2', 'Pagination2', [1], false);
|
|
|
|
if($('#Pagination2 .current').length>2) {
|
|
$('#Pagination2').hide();
|
|
}
|
|
|
|
|
|
retainChart();
|
|
|
|
</script>
|
|
</block> |