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.

697 lines
23 KiB
HTML

<extend name="Public/manage" />
<block name="head">
<link href="__CSS__/user_zxy.css" rel="stylesheet">
<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__/datacommon.js"></script>
<script src="__JS__/bootstrap-select.min.js"></script>
<style>
.icon-calendarz {position:absolute;top:14px;right:5px;cursor:pointer;}
</style>
</block>
<block name="location">
<a class="z_nav curt_nav" href="{:U('Stats/overview')}">开发者概览</a>
</block>
<block name="body" >
<div class="">
<div class="matter_box">
<div class="row count-panel clearfix">
<div class="mrc_colum2_5 mrc">
<div class="frame">
<div class="z_frame">
<strong class="s-c-blue">{$total_player}</strong>
</div>
<div class="z_frame">
<small>累计玩家</small>
</div>
</div>
</div>
<div class="mrc_colum2_5 mrc">
<div class="frame">
<div class="z_frame">
<strong class="s-c-blue">{$spend_user}</strong>
</div>
<div class="z_frame">
<small>付费玩家</small>
</div>
</div>
</div>
<div class="mrc_colum2_5 mrc">
<div class="frame">
<div class="z_frame">
<strong class="s-c-blue">{$total_spend}</strong>
</div>
<div class="z_frame">
<small>累计流水</small>
</div>
</div>
</div>
<div class="mrc_colum2_5 mrc">
<div class="frame">
<div class="z_frame">
<strong class="s-c-blue" id="realActiveUser">{$today_active_user}</strong>
</div>
<div class="z_frame">
<small>实时活跃</small>
</div>
</div>
</div>
<div class="mrc_colum2_5 mrc">
<div class="frame">
<div class="z_frame">
<strong class="s-c-blue" id="realIncome">{$today_spend}</strong>
</div>
<div class="z_frame">
<small>实时流水</small>
</div>
</div>
</div>
</div>
</div>
<div class="matter_panel matter_developer_panel clearfix">
<div class="">
<div class="matter_box">
<div class="title">
<h3 class="zicon_youxi">游戏</h3>
<a href="{:U('Game/add')}" target="_blank" class="add">
<span class="iconfont icon-plusz"></span>
<div class="tips"><span class="iconfont icon-triangle_top"></span>创建游戏</div>
</a>
</div>
<div class="matter_row clearfix">
<div class="mrc_colum8 mrc matter_game_list">
<div class="mrc_colum25 mrc zwm_mac">
<div class="z_fram">
<small class="font_14">已上线</small>
</div>
<div class="z_fram">
<strong class="matter_data_num zwm_online">{$online_game}</strong>
</div>
</div>
<div class="mrc_colum25 mrc zwm_mac">
<div class="z_fram">
<small class="font_14">已下线</small>
</div>
<div class="z_fram">
<strong class="matter_data_num zwm_downline">{$down_game}</strong>
</div>
</div>
<div class="mrc_colum25 mrc zwm_mac">
<div class="z_fram">
<small class="font_14">审核中</small>
</div>
<div class="z_fram">
<strong class="matter_data_num zwm_audit">{$check_game}</strong>
</div>
</div>
<div class="mrc_colum25 mrc zwm_mac" style="padding-top:0;">
<div class="z_fram">
<small class="font_14">游戏数量</small>
</div>
<div class="z_fram">
<strong class="matter_data_num">{$game_num}</strong>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="matter_box game_data">
<div class="title">
<h3 class="zicon_gjzhibiao">关键指标</h3>
</div>
<div class="zwm_keyindicators">
<ul class="nav nav-pills zclearfix" role="tablist" id="generalTabs">
<li role="presentation" data-cate="1" class="<empty name='Think.post.cate'>active<else /><eq name='Think.post.cate' value='1'>active</eq></empty>" data-toggle="tooltip" data-placement="bottom" data-original-title="数据概况">
<a href="#activeUsers" aria-controls="activeUsers" role="tab" data-toggle="tab" data="activeUsers">数据概况</a>
</li>
<li role="presentation" data-cate="2" class="<eq name='Think.post.cate' value='2'>active</eq>" data-toggle="tooltip" data-placement="bottom" data-original-title="当日新进入游戏的玩家数">
<a href="#newUsers" aria-controls="newUsers" role="tab" data-toggle="tab" data="newUsers">新增玩家</a>
</li>
<li role="presentation" data-cate="3" class="<eq name='Think.post.cate' value='3'>active</eq>" data-toggle="tooltip" data-placement="bottom" data-original-title="当日进行过充值的玩家数">
<a href="#payUsers" aria-controls="payUsers" role="tab" data-toggle="tab" data="payUsers">付费玩家</a>
</li>
<li role="presentation" data-cate="4" class="<eq name='Think.post.cate' value='4'>active</eq>" data-toggle="tooltip" data-placement="bottom" data-original-title="当日内付费玩家占当日活跃玩家的比例">
<a href="#usersPayRate" aria-controls="usersPayRate" role="tab" data-toggle="tab" data="usersPayRate">付费率</a>
</li>
<li role="presentation" data-cate="5" class="<eq name='Think.post.cate' value='5'>active</eq>" data-toggle="tooltip" data-placement="bottom" data-original-title="当日每活跃玩家平均收入(流水/活跃玩家)">
<a href="#usersArpu" aria-controls="usersArpu" role="tab" data-toggle="tab" data="usersArpu">ARPU</a>
</li>
<li role="presentation" data-cate="6" class="<eq name='Think.post.cate' value='6'>active</eq>" data-toggle="tooltip" data-placement="bottom" data-original-title="当日每付费玩家平均收入(流水/付费玩家数)">
<a href="#usersArppu" aria-controls="usersArppu" role="tab" data-toggle="tab" data="usersArppu">ARPPU</a>
</li>
</ul>
<div class="input-inline clearfix">
<form class="form-inline formwidth120" id="daySearch" action="{:U('Stats/overview')}" method="post">
<input type="hidden" id="cate" name="cate" value="{:I('cate')}">
<div class="form-group form-group-sm right">
<div class="input-group">
<button class="right btn user_btn3" type="submit" id="search">查询</button>
</div>
</div>
<div class="form-group form-group-sm right">
<div class="input-group">
<input class="form-control f-w-140 hasDatepicker " id="time_start" type="text" name="time_end" value="{:empty(I('post.time_end')) ? date('Y-m-d') : I('post.time_end')}" placeholder="{:date('Y-m-d')}">
<span class="iconfont icon-calendarz jsdropdownbtn"></span>
</div>
</div>
<div class="form-group form-group-sm right magn_l20">
<div class="input-group">
<input class="form-control f-w-140 hasDatepicker " id="time_end" type="text" name="time_start" value="{:empty(I('post.time_start')) ? date('Y-m-d',strtotime('-6day')) : I('post.time_start')}" placeholder="{:date('Y-m-d',strtotime('-6day'))}">
<span class="iconfont icon-calendarz jsdropdownbtn"></span>
</div>
</div>
<div class="form-group form-group-sm right zwm_yxname">
<select class="form-control fwsub selectpicker" name="game_id" id="game_id">
<option value="">游戏名称</option>
<volist name=":getDevelopGameList(UID)" id="vo">
<option value="{$vo.id}">{$vo.game_name}</option>
</volist>
</select>
</div>
</form>
</div>
<div class="tab-content f-mb-20 zwm_margt40">
<div role="tabpanel" class="tab-pane <empty name='Think.post.cate'>active<else /><eq name='Think.post.cate' value='1'>active</eq></empty>" id="activeUsers">
<div class="row f-mlr-0">
<div id="activeUsersChart" style="height: 400px; padding-top: 10px; -webkit-tap-highlight-color: transparent; -webkit-user-select: none; background-color: rgba(0, 0, 0, 0);" _echarts_instance_="1482742177146">
<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; -webkit-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; -webkit-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; -webkit-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; -webkit-user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></canvas>
</div>
</div>
<div id="activeUsersTable" style="display:none;" class="table-container"></div>
</div>
</div>
<div role="tabpanel" class="tab-pane <eq name='Think.post.cate' value='2'>active</eq>" id="newUsers">
<div class="row f-mlr-0">
<div id="newUsersChart" style="height:350px;padding-top:10px;"></div>
<div id="newUsersTable" style="display:none;" class="table-container"></div>
</div>
</div>
<div role="tabpanel" class="tab-pane <eq name='Think.post.cate' value='3'>active</eq>" id="payUsers">
<div class="row f-mlr-0">
<div id="payUsersChart" style="height:350px;padding-top:10px;"></div>
<div id="payUsersTable" style="display:none;" class="table-container"></div>
</div>
</div>
<div role="tabpanel" class="tab-pane <eq name='Think.post.cate' value='4'>active</eq>" id="usersPayRate">
<div class="row f-mlr-0">
<div id="usersPayRateChart" style="height:350px;padding-top:10px;"></div>
<div id="usersPayRateTable" style="display:none;" class="table-container"></div>
</div>
</div>
<div role="tabpanel" class="tab-pane <eq name='Think.post.cate' value='5'>active</eq>" id="usersArpu">
<div class="row f-mlr-0">
<div id="usersArpuChart" style="height:350px;padding-top:10px;"></div>
<div id="usersArpuTable" style="display:none;" class="table-container"></div>
</div>
</div>
<div role="tabpanel" class="tab-pane <eq name='Think.post.cate' value='6'>active</eq>" id="usersArppu">
<div class="row f-mlr-0">
<div id="usersArppuChart" style="height:350px;padding-top:10px;"></div>
<div id="usersArppuTable" style="display:none;" class="table-container"></div>
</div>
</div>
</div>
</div>
</div>
<div class="matter_box game_data">
<div class="title">
<h3 class="zicon_xxshuju">详细数据</h3>
</div>
<div class="zwm_detaillst">
<div class="tab-content">
<div role="tabpanel" class="tab-pane active" id="detail">
<div class="table_container">
<div class="table_responsive" id="dayDetail">
<table id="dataContent2" class="table table_striped table_hover table-bordered egretTable">
</table>
<div id="dataPagination" class="pagination pagination_wrap" style="display:block;padding:30px 0 0;margin-bottom:0;">总共 1 条记录 <span class="current prev">上一页</span><span class="current">1</span><span class="current next">下一页</span></div>
<table id="detailTable" class="table table_striped table_hover table-bordered egretTable" style="display:none;">
<thead>
<tr>
<th class="">日期</th>
<th class="">新增玩家</th>
<th class="">活跃玩家</th>
<th class="">老玩家</th>
<th class="">1日留存</th>
<th class="">流水</th>
<th class="">付费玩家</th>
<th class="">新付费玩家</th>
<th class="">付费率</th>
<th class="">ARPU</th>
<th class="">ARPPU</th>
<th class="">累计付费玩家</th>
</tr>
</thead>
<tbody>
<volist name="detail_data_lists" id="vo">
<tr name="rows">
<td>{$key}</td>
<td>{$vo.add_user}</td>
<td>{$vo.active_user}</td>
<td>{$vo['active_user']-$vo['add_user']}</td>
<td>{:round($vo['keep_user']/$vo['add_user']*100,2)}%</td>
<td>{$vo.spend}</td>
<td>{$vo.payer_num}</td>
<td>{$vo.new_payer_num}</td>
<td>{:round($vo['payer_num']/$vo['active_user']*100,2)}%</td>
<td>{:round($vo['spend']/$vo['active_user'],2)}</td>
<td>{:round($vo['spend']/$vo['payer_num'],2)}</td>
<td>{$vo.payer_num_total}</td>
</tr>
</volist>
</tbody>
</table>
</div>
</div>
</div>
<input type="hidden" value="detail" name="detailType" id="detailType">
</div>
</div>
</div>
</div>
</block>
<block name="script">
<script src="__JS__/getGeneral.js"></script>
<script>
$(function() {
Think.setValue('game_id',"{:I('post.game_id')}");
$('input[name=time_start]').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
$('#generalTabs li').click(function() {
var that = $(this);
$('#cate').val(that.attr('data-cate'));
});
$('input[name=time_end]').datetimepicker({
format: 'yyyy-mm-dd',
language:"zh-CN",
minView:2,
autoclose:true
});
$('.jsdropdownbtn').click(function() {
var that = $(this);
if(that.hasClass('active')) {
that.removeClass('active');that.siblings('input').blur();
} else {
that.addClass('active');that.siblings('input').focus();
}
return false;
});
$('#game_id').selectpicker({
size: 15
});
});
var dataJson = {$json_data};
// var dataJson = {"newUsers":{"2018-04-03":"50","2018-04-04":"30","2018-04-05":"100","2018-04-06":"70","2018-04-07":"90","2018-04-08":"30","2018-04-09":"60"},"activeUsers":{"2018-04-03":"40","2018-04-04":"50","2018-04-05":"30","2018-04-06":"0","2018-04-07":"20","2018-04-08":"40","2018-04-09":"30"},"oldUsers":{"2018-04-03":20,"2018-04-04":30,"2018-04-05":40,"2018-04-06":50,"2018-04-07":20,"2018-04-08":30,"2018-04-09":40},"payUsers":{"2018-04-03":"0","2018-04-04":"0","2018-04-05":"0","2018-04-06":"0","2018-04-07":"0","2018-04-08":"0","2018-04-09":"0"},"newPayUsers":{"2018-04-03":"0","2018-04-04":"0","2018-04-05":"0","2018-04-06":"0","2018-04-07":"0","2018-04-08":"0","2018-04-09":"0"},"usersIncome":{"2018-04-03":"100.00","2018-04-04":"40.00","2018-04-05":"6.00","2018-04-06":"70.00","2018-04-07":"20.00","2018-04-08":"40.00","2018-04-09":"60.00"},"usersArpu":{"2018-04-03":0,"2018-04-04":0,"2018-04-05":0,"2018-04-06":0,"2018-04-07":0,"2018-04-08":0,"2018-04-09":0},"usersArppu":{"2018-04-03":0,"2018-04-04":0,"2018-04-05":0,"2018-04-06":0,"2018-04-07":0,"2018-04-08":0,"2018-04-09":0},"usersPayRate":{"2018-04-03":0,"2018-04-04":0,"2018-04-05":0,"2018-04-06":0,"2018-04-07":0,"2018-04-08":0,"2018-04-09":0},"oldPayUsers":{"2018-04-03":0,"2018-04-04":0,"2018-04-05":0,"2018-04-06":0,"2018-04-07":0,"2018-04-08":0,"2018-04-09":0},"1RatentionRate":{"2018-04-03":0,"2018-04-04":0,"2018-04-05":0,"2018-04-06":0,"2018-04-07":0,"2018-04-08":0,"2018-04-09":0},"3RatentionRate":{"2018-04-03":0,"2018-04-04":0,"2018-04-05":0,"2018-04-06":0,"2018-04-07":0,"2018-04-08":0,"2018-04-09":0},"7RatentionRate":{"2018-04-03":0,"2018-04-04":0,"2018-04-05":0,"2018-04-06":0,"2018-04-07":0,"2018-04-08":0,"2018-04-09":0}};
var dateKeys = ["2016-12-26","2016-12-25","2016-12-24","2016-12-23","2016-12-22","2016-12-21","2016-12-20","2016-12-19","2016-12-18","2016-12-17","2016-12-16","2016-12-15","2016-12-14","2016-12-13"];
</script>
<switch name="Think.post.cate">
<case value='2'><script>newUsersChart();</script></case>
<case value='3'><script>payUsersChart();</script></case>
<case value='4'><script>usersPayRateChart();</script></case>
<case value='5'><script>usersArpuChart();</script></case>
<case value='6'><script>usersArppuChart();</script></case>
<default />
<script>
activeUsersChart();
</script>
</switch>
<script>
tablePage('detailTable', 'dataContent2', 'dataPagination', [1],false);
$.VMenu.show('#menu');
$.VMenu.open('m5');
</script>
</block>