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.
506 lines
21 KiB
HTML
506 lines
21 KiB
HTML
<extend name="Public/base"/>
|
|
|
|
<block name="body">
|
|
<link rel="stylesheet" href="__CSS__/select2.min.css" type="text/css" />
|
|
<script type="text/javascript" src="__JS__/bootstrap.min.js"></script>
|
|
<script type="text/javascript" src="__JS__/select2.min.js"></script>
|
|
<style>
|
|
.select2-container--default .select2-selection--single {
|
|
color: #000;
|
|
resize: none;
|
|
border-width: 1px;
|
|
border-style: solid;
|
|
border-color: #a7b5bc #ced9df #ced9df #a7b5bc;
|
|
box-shadow: 0px 3px 3px #F7F8F9 inset;height:35px;
|
|
height:28px;border-radius:3px;font-size:12px;
|
|
}
|
|
.select2-container--default .select2-selection--single .select2-selection__rendered {
|
|
line-height:35px;
|
|
line-height:28px;
|
|
}
|
|
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
|
height:26px;
|
|
}
|
|
.select2-container--default .select2-search--dropdown .select2-search__field {
|
|
height:26px;line-height:26px;font-size:12px;
|
|
}
|
|
.select2-results__option[aria-selected] {font-size:12px;}
|
|
|
|
.tooltip {
|
|
position: relative;
|
|
display: inline-block;
|
|
color: #056dae;
|
|
}
|
|
|
|
.tooltip .tooltiptext {
|
|
visibility: hidden;
|
|
width: 250%;
|
|
background-color: #fff;
|
|
color: #fff;
|
|
text-align: center;
|
|
border-radius: 6px;
|
|
padding: 5px 0;
|
|
position: absolute;
|
|
z-index: 1;
|
|
bottom: 80%;
|
|
left: 0;
|
|
margin-left: -70%;
|
|
border: #000 solid 1px;
|
|
}
|
|
|
|
.tooltip .tooltiptext::after {
|
|
content: "";
|
|
position: absolute;
|
|
top: 100%;
|
|
left: 50%;
|
|
margin-left: -5px;
|
|
border-width: 5px;
|
|
border-style: solid;
|
|
border-color: black transparent transparent transparent;
|
|
}
|
|
|
|
.tooltip:hover .tooltiptext {
|
|
|
|
color: #000;
|
|
visibility: visible;
|
|
line-height: 20px;
|
|
}
|
|
.layui-layer{
|
|
overflow: scroll;
|
|
}
|
|
.main-place .question_content:before{
|
|
right: 20px;
|
|
left: auto;
|
|
}
|
|
</style>
|
|
|
|
|
|
<div class="cf main-place top_nav_list navtab_list">
|
|
<h3 class="page_title">{$_REQUEST['count_date']}游戏统计</h3>
|
|
<p class="description_text">说明:游戏相关支付统计,结算给上游的是支付成功通知成功的订单,结算给公会的是支付成功的订单</p>
|
|
<div class="question" style="float: right;margin-right: 20px;">
|
|
<i class="question_mark">?</i>
|
|
<ul class="question_content" style="right: -20px;left: auto;">
|
|
<li class="question_title">数据相关说明</li>
|
|
<li class="question_list">
|
|
<span class="">上游结算:</span>
|
|
<span class="">游戏内充值合计 + 聚合橙枫数据 + 聚合其他渠道数据</span>
|
|
</li>
|
|
<li class="question_list">
|
|
<span class="">下游结算:</span>
|
|
<span class="">游戏内充值合计 + 联运通知失败合计 + 聚合橙枫数据 + 聚合橙枫通知失败 - 下游不结算订单</span>
|
|
</li>
|
|
<li class="question_list">
|
|
<span class="">下游不结算订单:</span>
|
|
<span class="">未在此处体现,指:推广公司不推广某款游戏后,产生的该游戏的流水</span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="cf top_nav_list">
|
|
|
|
<!-- 高级搜索 -->
|
|
<div class="jssearch fl cf search_list">
|
|
<!--游戏类型搜索END-->
|
|
<div class="input-list input-list-server search_label_rehab">
|
|
<select id="partner_id" name="partner_id" class="select_gallery" style="width:120px;">
|
|
<option value="">请选择合作公司</option>
|
|
<volist name=":getPartner()" id="vo">
|
|
<option partner-id="{$vo.id}" value="{$vo.id}" <if condition="$vo.id eq $_GET['partner_id']">selected=selected</if>>{$vo.partner}</option>
|
|
</volist>
|
|
</select>
|
|
</div>
|
|
<div class="input-list input-list-game search_label_rehab">
|
|
<select id="game_name" name="game_name" class="select_gallery" >
|
|
<option value="">请选择游戏</option>
|
|
<volist name=":getAllGame()" id="vo">
|
|
<option value="{$vo.game_name}" <if condition="$vo.game_name eq I('game_name')">selected</if>
|
|
>{$vo.game_name}</option>
|
|
</volist>
|
|
</select>
|
|
</div>
|
|
<div class="input-list input-list-game search_label_rehab">
|
|
<select id="sdk_type" name="sdk_type" class="select_gallery" >
|
|
<option value="">请选择设备类型</option>
|
|
<option value="1">安卓</option>
|
|
<option value="2">苹果</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="input-list input-list-game search_label_rehab">
|
|
<select id="game_type_id" name="game_type_id" class="select_gallery" >
|
|
<option value="">请选择游戏类型</option>
|
|
<volist name="game_types" id="type">
|
|
<option value="{$type.id}" <if condition="$type.id eq I('game_type_id', null)">selected</if> >{$type.type_name}</option>
|
|
</volist>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="input-list">
|
|
<input type="text" readonly id="time-start" name="timestart" class="" value="{$startDate}"
|
|
placeholder="开始时间"/>
|
|
-
|
|
<div class="input-append date" id="datetimepicker" style="display:inline-block">
|
|
<input type="text" readonly id="time-end" name="timeend" class="" value="{$endDate}"
|
|
placeholder="结束时间"/>
|
|
<span class="add-on"><i class="icon-th"></i></span>
|
|
</div>
|
|
</div>
|
|
|
|
<input type="hidden" name="from" value="{$_GET['from']}"/>
|
|
<div class="input-list">
|
|
<a class="sch-btn" href="javascript:;" id="search" url="{:U('Finance/gameStatistics','model='.$model['name'].'&row='.I('row'),false)}"
|
|
style="width: 100px;border: #3C95C8 solid 1px;">搜索</a>
|
|
<!-- <a class="sch-btn" href="javascript:history.go(-1)" style="background:#fff;color: #000;border: #000 solid 1px;width: 100px">返回</a>-->
|
|
<if condition="$role_export_check eq true ">
|
|
<a class="sch-btn" href="{:U(CONTROLLER_NAME.'/'.ACTION_NAME,array_merge(['export'=>1],I('get.')))}" style="width: 100px;border: #3C95C8 solid 1px;">导出</a>
|
|
</if>
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<style>
|
|
.data_list table th {
|
|
height: 24px;
|
|
line-height: 24px;
|
|
}
|
|
</style>
|
|
<!-- 数据列表 -->
|
|
<div class="data_list">
|
|
<div class="">
|
|
<table>
|
|
<!-- 表头 -->
|
|
<thead>
|
|
<tr>
|
|
<th>合作公司</th>
|
|
|
|
<th >游戏</th>
|
|
|
|
<th >设备类型</th>
|
|
|
|
<th>游戏类型</th>
|
|
|
|
<th ><div class="tooltip">游戏现金金额<span class="tooltiptext"><span style="margin-left: -10px">第三方支付(微信,支付宝,快捷)。</span></span></div></th>
|
|
|
|
<th ><div class="tooltip">平台币直充支出<span class="tooltiptext"><span style="margin-left: -10px">平台币购买游戏道具所产生的金额</span></span></div></th>
|
|
|
|
<th ><div class="tooltip">内充支出<span class="tooltiptext"><span style="margin-left: -10px">玩家用绑币购买游戏道具所产生的金额</span></span></div></th>
|
|
|
|
<th ><div class="tooltip">游戏内充值合计<span class="tooltiptext"><span style="margin-left: -10px">游戏现金金额+平台币直充支出+平台币内充支出</span></span></div></th>
|
|
|
|
<th ><div class="tooltip">优惠金额<span class="tooltiptext"><span style="margin-left: -10px">游戏折扣和代金券优惠金额</span></span></div></th>
|
|
|
|
<th ><div class="tooltip"><span style="color: red">联运通知失败合计</span><span class="tooltiptext"><span style="margin-left: -10px">联运所有通知失败的合计金额</span></span></div></th>
|
|
<th ><div class="tooltip">聚合橙枫数据<span class="tooltiptext"><span style="margin-left: -10px">聚合平台橙枫渠道支付成功且通知成功的金额</span></span></div></th>
|
|
<th ><div class="tooltip"><span style="color: red">聚合橙枫通知失败</span><span class="tooltiptext"><span style="margin-left: -10px">聚合平台橙枫渠道通知失败的订单合计金额</span></span></div></th>
|
|
<th ><div class="tooltip"><span style="color: red">聚合平台测试订单</span><span class="tooltiptext"><span style="margin-left: -10px">聚合平台测试订单</span></span></div></th>
|
|
<th ><div class="tooltip">聚合其他渠道数据<span class="tooltiptext"><span style="margin-left: -10px">聚合平台其他渠道(不含橙枫)支付成功通知成功订单合计</span></span></div></th>
|
|
<th ><div class="tooltip"><span style="color: red">聚合其他渠道<br/>通知失败订单</span><span class="tooltiptext"><span style="margin-left: -10px">聚合平台其他渠道(不含橙枫)<br>通知失败的订单合计金额</span></span></div></th>
|
|
<th >操作</th>
|
|
</tr>
|
|
</thead>
|
|
<!-- 列表 -->
|
|
<tbody>
|
|
<style>
|
|
.data-table thead th, .data-table tbody td{text-align:center}
|
|
.data-table tbody td{border-right:1px solid #DDDDDD;}
|
|
.d_list .drop-down ul {z-index:999;}
|
|
</style>
|
|
<if condition = "empty($data)">
|
|
<tr>
|
|
<td colspan="14" class="text-center">aOh! 暂时还没有内容!</td>
|
|
</tr>
|
|
</if>
|
|
<notemtpy name = "data">
|
|
<volist name="data" id="data">
|
|
<tr>
|
|
<td ><if condition="$data.partner_name neq ''">{$data.partner_name}<else/>无</if></td>
|
|
<td ><if condition="$data.game_name neq ''">{$data.game_name}<else/>无</if></td>
|
|
<td >{$data.sdk_version}</td>
|
|
<td ><if condition="$data.game_type_name neq ''">{$data.game_type_name}<else/>无</if></td>
|
|
<td ><if condition="$data.cash_count neq ''">{$data.cash_count}<else/>0</if></td>
|
|
<td class="coin-detail" data-pay_type="0" style="color: #0066cc;cursor: pointer"
|
|
data-url="{:U('Finance/coinDetail',array(
|
|
'timestart'=>$_GET['timestart'],
|
|
'timeend'=>$_GET['timeend'],
|
|
'sdk_type'=>$_GET['sdk_type'],
|
|
'game_id'=>$data['game_id'],
|
|
'game_name'=>$data['game_name'],
|
|
'partner_id'=>$_REQUEST['partner_id'],
|
|
'pay_way'=>0,
|
|
false))}">
|
|
<if condition="$data.balance_coin_count neq ''">{$data.balance_coin_count}<else/>0</if></td>
|
|
<td class="coin-detail" data-pay_type="-1" style="color: #0066cc;cursor: pointer" data-url="{:U('Finance/coinDetail',array(
|
|
'timestart'=>$_GET['timestart'],
|
|
'timeend'=>$_GET['timeend'],
|
|
'sdk_type'=>$_GET['sdk_type'],
|
|
'game_id'=>$data['game_id'],
|
|
'game_name'=>$data['game_name'],
|
|
'partner_id'=>$_REQUEST['partner_id'],
|
|
'pay_way'=>-1,
|
|
false))}"><if condition="$data.inside_cash_count neq ''">{$data.inside_cash_count}<else/>0</if></td>
|
|
<td ><if condition="$data.all_cash_count neq ''">{$data.all_cash_count}<else/>0</if></td>
|
|
<td ><if condition="$data.discount_amount neq ''">{$data.discount_amount}<else/>0</if></td>
|
|
<td ><span style="color:red;"><if condition="$data.notice_fail_count neq ''">{$data.notice_fail_count}<else/>0</if></span></td>
|
|
<td >
|
|
<if condition="!IS_SUBSITE">
|
|
<a href="{:U('Finance/aggDetail', [
|
|
'timestart'=>$_GET['timestart'],
|
|
'timeend'=>$_GET['timeend'],
|
|
'sdk_type'=>$_GET['sdk_type'],
|
|
'game_id'=>$data['game_id'],
|
|
'game_name'=>$data['game_name'],
|
|
'partner_id'=>$_REQUEST['partner_id'],
|
|
'channel_type'=>1,
|
|
])}">{$data.agg_wm_amount}</a>
|
|
<else />
|
|
{$data.agg_wm_amount}
|
|
</if>
|
|
</td>
|
|
<td ><span style="color:red;"><if condition="$data.agg_wm_failed_amount neq ''">{$data.agg_wm_failed_amount}<else/>0</if></span></td>
|
|
<td ><span style="color:red;">
|
|
<a href="{:U('TestOrder/lists', [
|
|
'timestart'=>$_GET['timestart'],
|
|
'timeend'=>$_GET['timeend'],
|
|
'sdk_type'=>$_GET['sdk_type'],
|
|
'game_id'=>$data['game_id'],
|
|
'platform_type'=>2,
|
|
])}" style="color:red;">{$data.test_amount}</a></span>
|
|
</td>
|
|
<td ><a href="{:U('Finance/aggDetail', [
|
|
'timestart'=>$_GET['timestart'],
|
|
'timeend'=>$_GET['timeend'],
|
|
'sdk_type'=>$_GET['sdk_type'],
|
|
'game_id'=>$data['game_id'],
|
|
'game_name'=>$data['game_name'],
|
|
'channel_type'=>2,
|
|
'partner_id'=>$_REQUEST['partner_id']
|
|
])}">{$data.agg_amount}</a></td>
|
|
<td ><span style="color:red;"><if condition="$data.agg_failed_amount neq ''">{$data.agg_failed_amount}<else/>0</if></span></td>
|
|
<td >
|
|
<a href="{:U('Finance/gameStatisticsDetail',array(
|
|
'timestart'=>$_GET['timestart'],
|
|
'timeend'=>$_GET['timeend'],
|
|
'sdk_type'=>$_GET['sdk_type'],
|
|
'game_id'=>$data['game_id'],
|
|
'game_name'=>$data['game_name'],
|
|
'partner_id'=>$_REQUEST['partner_id'],
|
|
false))}" >查看</a>
|
|
</td>
|
|
</tr>
|
|
</volist>
|
|
<tr>
|
|
<td colspan="4" ><span>总计</span></td>
|
|
<td ><span><if condition="$sumCash neq ''">{$sumCash}<else/>0</if></span></td>
|
|
<td><if condition="$sumBalance neq ''">{$sumBalance}<else/>0</if></td>
|
|
<td><if condition="$sumInside neq ''">{$sumInside}<else/>0</if></td>
|
|
<td><if condition="$sumAll neq ''">{$sumAll}<else/>0</if></td>
|
|
<td><if condition="$sumDiscountAmount neq ''">{$sumDiscountAmount}<else/>0</if></td>
|
|
<td><span style="color: red"><if condition="$sumNoticeFail neq ''">{$sumNoticeFail}<else/>0</if></span></td>
|
|
<td>{$aggWmTotal}</td>
|
|
<td><span style="color: red"><if condition="$aggWmFailTotal neq ''">{$aggWmFailTotal}<else/>0</if></span></td>
|
|
<td><span style="color: red"><if condition="$testAllAmount neq ''">{$testAllAmount}<else/>0</if></span></td>
|
|
<td>{$aggTotal}</td>
|
|
<td><span style="color: red"><if condition="$aggFailTotal neq ''">{$aggFailTotal}<else/>0</if></span></td>
|
|
<td>
|
|
<a href="{:U('Finance/gameStatisticsDetail',
|
|
array(
|
|
'timestart'=>$_GET['timestart'],
|
|
'timeend'=>$_GET['timeend'],
|
|
'sdk_type'=>$_GET['sdk_type'],
|
|
'game_name'=>$_GET['game_name'],
|
|
'game_id'=>$_REQUEST['game_id'],
|
|
'partner_id'=>$_REQUEST['partner_id'],
|
|
false))}" >查看</a>
|
|
</td>
|
|
</tr>
|
|
</notemtpy>
|
|
|
|
</tbody>
|
|
</table>
|
|
<p style="text-align: center; margin-top: 5px;">联运渠道数据:{$sumAll} 占比:{$allRate} 聚合渠道数据:{$aggTotal + $aggWmTotal} 占比:{$aggRate}</p>
|
|
</div>
|
|
</div>
|
|
<div class="page">
|
|
|
|
{$_page|default=''}
|
|
</div>
|
|
</block>
|
|
|
|
<block name="script">
|
|
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
|
|
<script type="text/javascript" src="__STATIC__/layer/extend/layer.ext.js" ></script>
|
|
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
|
|
<php>if(C('COLOR_STYLE')=='blue_color') echo '<link href="__STATIC__/datetimepicker/css/datetimepicker_blue.css" rel="stylesheet" type="text/css">';</php>
|
|
<link href="__STATIC__/datetimepicker/css/dropdown.css" rel="stylesheet" type="text/css">
|
|
<script type="text/javascript" src="__STATIC__/datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
|
|
<script type="text/javascript" src="__STATIC__/datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js" charset="UTF-8"></script>
|
|
<script>
|
|
<volist name=":I('get.')" id="vo">
|
|
Think.setValue('{$key}',"{$vo}");
|
|
</volist>
|
|
$(".select_gallery").select2();
|
|
</script>
|
|
<script type="text/javascript">
|
|
|
|
|
|
function reloadIframe(url) {
|
|
$("iframe").attr('src', url);
|
|
// document.getElementsByTagName('iframe').src=url;
|
|
}
|
|
|
|
$(".coin-detail").click(function () {
|
|
var pay_type = $(this).data('pay_type');
|
|
var url = $(this).data('url');
|
|
var title = pay_type == -1 ? '内充支出明细' : '平台币直充明细';
|
|
layer.open({
|
|
type: 2,
|
|
title: title,
|
|
shadeClose: true,
|
|
shade: 0.8,
|
|
area: ['70%', '80%'],
|
|
content: url
|
|
});
|
|
});
|
|
|
|
|
|
$('.page a').click(function () {
|
|
var href = $(this).attr('href');
|
|
$(this).removeAttr('href');
|
|
window.location.replace(href)
|
|
});
|
|
|
|
//导航高亮
|
|
highlight_subnav('{:U('Finance/gameStatistics')}');
|
|
$(function(){
|
|
//搜索功能
|
|
$("#search").click(function(){
|
|
var starttime = $.trim($('#time-start').val());
|
|
var endtime = $.trim($('#time-end').val());
|
|
|
|
if (starttime && endtime && starttime > endtime) {layer.msg('开始时间必须小于等于结束时间');return false;}
|
|
|
|
var url = $(this).attr('url');
|
|
var query = $('.jssearch').find('input').serialize();
|
|
console.log(url);
|
|
query += "&" + $('.jssearch').find('select').serialize();
|
|
console.log(query);
|
|
query = query.replace(/(&|^)(\w*?\d*?\-*?_*?)*?=?((?=&)|(?=$))/g,'');
|
|
query = query.replace(/^&/g,'');
|
|
if( url.indexOf('?')>0 ){
|
|
url += '&' + query;
|
|
}else{
|
|
url += '?' + query;
|
|
}
|
|
window.location.replace(url);
|
|
});
|
|
|
|
//回车自动提交
|
|
$('.jssearch').find('input').keyup(function(event){
|
|
if(event.keyCode===13){
|
|
$("#search").click();
|
|
}
|
|
});
|
|
|
|
function get_game_list()
|
|
{
|
|
var game_name = $('#game_name').val();
|
|
var partner_id = $("#partner_id option:selected").val();
|
|
var sdk_type = $("#sdk_version1 option:selected").val();
|
|
$.ajax({
|
|
url:"{:U('Finance/getGameList')}",
|
|
type:"post",
|
|
data:{
|
|
partner_id:partner_id,
|
|
sdk_type:sdk_type
|
|
},
|
|
dataType:'json',
|
|
success:function(data){
|
|
var str = "<option value=''>请选择游戏</option>";
|
|
for (var i in data){
|
|
str += "<option value='"+data[i].game_name+"'"+(game_name && data[i].game_name == game_name?'selected':'')+">"+data[i].game_name+"</option>"
|
|
}
|
|
// console.log(str);
|
|
$("#game_name").empty();
|
|
$("#game_name").append(str);
|
|
$("#game_name").select2();
|
|
|
|
}
|
|
})
|
|
}
|
|
$("#partner_id, #sdk_type").change(function(){
|
|
get_game_list();
|
|
});
|
|
|
|
$("#game_name, #sdk_type").change(function(){
|
|
get_partnet_list();
|
|
});
|
|
|
|
$('#time-start').datetimepicker({
|
|
format: 'yyyy-mm-dd',
|
|
language: "zh-CN",
|
|
showMeridian:true,
|
|
pickDate:true,
|
|
minView: 2,
|
|
autoclose: true,
|
|
pickTime:true,
|
|
todayBtn:true,
|
|
}).on('change',function(ev){
|
|
var val = new Date($.trim($(this).val())).getTime();
|
|
var end = new Date($.trim($('#time-end').val())).getTime();
|
|
if (val>end) {
|
|
layer.msg('开始时间大于结束时间!');$(this).val('');
|
|
}
|
|
return false;
|
|
});
|
|
|
|
$("#time-end").datetimepicker({
|
|
format:"yyyy-mm-dd",
|
|
language: "zh-CN",
|
|
showMeridian:true,
|
|
minView:2,
|
|
autoclose:true,
|
|
todayBtn:true,
|
|
}).on('change',function(ev){
|
|
var val = new Date($.trim($(this).val())).getTime();
|
|
var start = new Date($.trim($('#time-start').val())).getTime();
|
|
if (val<start) {
|
|
layer.msg('开始时间大于结束时间!');$(this).val('');
|
|
}
|
|
return false;
|
|
});
|
|
|
|
function get_partnet_list()
|
|
{
|
|
var partner_id = $('#partner_id').val();
|
|
$.ajax({
|
|
url:"{:U('Finance/getPartnetList')}",
|
|
type:"post",
|
|
data:{game_name:$("#game_name option:selected").val(), sdk_type:$("#sdk_version1 option:selected").val()},
|
|
dataType:'json',
|
|
success:function(data){
|
|
var str = "<option value=''>请选择合作公司</option>";
|
|
for (var i in data){
|
|
str += "<option value='"+data[i].id+"'"+(partner_id && data[i].id == partner_id?'selected':'')+">"+data[i].partner+"</option>"
|
|
}
|
|
// console.log(str);
|
|
$("#partner_id").empty();
|
|
$("#partner_id").append(str);
|
|
$("#partner_id").select2();
|
|
|
|
}
|
|
})
|
|
}
|
|
$("#game_name, #sdk_type").change(function(){
|
|
get_partnet_list();
|
|
});
|
|
$('#partner_id').change();
|
|
|
|
})
|
|
</script>
|
|
</block>
|