|
|
<extend name="Public/promote_base"/>
|
|
|
<block name="css">
|
|
|
<link href="__CSS__/20180207/account.css" rel="stylesheet" >
|
|
|
<link href="__STATIC__/icons_alibaba/iconfont.css?v=1.3" rel="stylesheet">
|
|
|
<style>
|
|
|
.form-group {
|
|
|
float: left;
|
|
|
margin-bottom: 10px;
|
|
|
}
|
|
|
.form-group label {
|
|
|
line-height: 34px;
|
|
|
height: 34px;
|
|
|
}
|
|
|
.iconsort {
|
|
|
font-size: 1rem;
|
|
|
}
|
|
|
.normal_table tr .sort {
|
|
|
color: #145ccd;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
.trunk-search .select-time .txt {
|
|
|
width: 100px;
|
|
|
}
|
|
|
.title-cursor-pointer {
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
</style>
|
|
|
</block>
|
|
|
<block name="body">
|
|
|
<div class="page-list normal_list promote-mychlid-list">
|
|
|
<div class="trunk-title">
|
|
|
<div class="location">
|
|
|
<div class="location-container">当前位置:<span>数据管理></span><span>玩家充值</span></div>
|
|
|
</div>
|
|
|
<img src="__IMG__/20180207/icon_normal_game.png">
|
|
|
<span class="title_main">玩家充值</span>
|
|
|
<span class="details">说明:玩家角色充值统计</span>
|
|
|
</div>
|
|
|
<div class="trunk-content article">
|
|
|
<div class="trunk-search clearfix jssearch">
|
|
|
<div class="form-group normal_space">
|
|
|
<select id="game-select" name="relation_game_id" class="reselect select_gallery" style="width: 220px;" >
|
|
|
<option value="0">请选择游戏</option>
|
|
|
<volist name="games" id="game">
|
|
|
<option value="{$game.relation_game_id}" <if condition="I('relation_game_id') === $game['relation_game_id']">selected</if>>{$game.relation_game_name}</option>
|
|
|
</volist>
|
|
|
</select>
|
|
|
</div>
|
|
|
<div class="form-group normal_space">
|
|
|
<select id="sdk_version" name="sdk_version" class="reselect select_gallery" style="width: 220px;" >
|
|
|
<option value="0">请选择设备类型</option>
|
|
|
<option value="1" <if condition="I('sdk_version') === '1'">selected</if>>Andriod</option>
|
|
|
<option value="2" <if condition="I('sdk_version') === '2'">selected</if>>IOS</option>
|
|
|
</select>
|
|
|
</div>
|
|
|
<div class="form-group normal_space">
|
|
|
<select id="server-select" name="server_id" class="reselect select_gallery" style="width: 220px;" data-server="{:I('server_id', 0)}">
|
|
|
<option value="0">请选择区服</option>
|
|
|
</select>
|
|
|
</div>
|
|
|
<include file="Public/promote_select" />
|
|
|
<div class="form-group normal_space">
|
|
|
<input type="text" name="role_name" class="txt normal_txt" placeholder="请输入角色名" value="{:I('role_name')}">
|
|
|
</div>
|
|
|
<div class="form-group normal_space">
|
|
|
<input type="text" name="user_account" class="txt normal_txt" placeholder="请输入玩家账号" value="{:I('user_account')}">
|
|
|
</div>
|
|
|
<!-- <div class="form-group normal_space">
|
|
|
<input type="text" name="device_sn" class="txt normal_txt" id="uid" placeholder="请输入设备号" value="{:I('device_sn')}">
|
|
|
</div> -->
|
|
|
<div class="form-group normal_space fr">
|
|
|
<label>充值总额:</label>
|
|
|
<input type="text" class="txt float-input" name="cost_begin" style="width: 50px" value="{:I('cost_begin')}" >
|
|
|
<label> ~ </label>
|
|
|
<input type="text" class="txt float-input" name="cost_end" style="width: 50px" value="{:I('cost_end')}" >
|
|
|
</div>
|
|
|
<div class="form-group normal_space fr" style="display: flex;">
|
|
|
<label class="form-title select-title" style="position: relative;">充值时间:</label>
|
|
|
<div class="select-time">
|
|
|
<input type="text" readonly id="sdate" class="txt" name="begtime" placeholder="开始时间" value="{$initBegTime}">
|
|
|
</div>
|
|
|
<label class="form-title select-title zhi_color"> — </label>
|
|
|
<div class="select-time">
|
|
|
<input type="text" readonly id="edate" class="txt" name="endtime" placeholder="结束时间" value="{$initEndTime}">
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="form-group normal_space">
|
|
|
<input type="hidden" name="row" value="I('get.row', 10)">
|
|
|
<input type="hidden" name="last_sort_name" id="last_sort_name" value="{:I('sort_name', '')}">
|
|
|
<input type="hidden" name="sort_name" id="sort_name" value="{:I('sort_name', '')}">
|
|
|
<input type="hidden" name="sort" id="sort" value="{$sort}">
|
|
|
<input type="submit" class="submit" id='submit' url="{:U('Query/userRecharges','model='.$model['name'],false)}"
|
|
|
value="查询">
|
|
|
</div>
|
|
|
<div class="form-group normal_space">
|
|
|
<label><input name="is_self" value="1" <if condition="I('is_self') == 1">checked</if> type="checkbox"> 本账号推广</label>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="trunk-list list_normal">
|
|
|
<table class="table normal_table">
|
|
|
<tr class="odd">
|
|
|
<th class="title-cursor-pointer" title="平台用户的账号">玩家账号</th>
|
|
|
<th class="title-cursor-pointer" title="玩家所产生消费的游戏">游戏名称</th>
|
|
|
<th class="title-cursor-pointer" title="设备类型,安卓或者ios">平台</th>
|
|
|
<th class="title-cursor-pointer" title="游戏内区服">游戏区服</th>
|
|
|
<th class="title-cursor-pointer" title="游戏角色">角色名</th>
|
|
|
<th class="sort" sort-name="recharge_cost" class="title-cursor-pointer" title="该角色的充值总额">充值总额
|
|
|
<if condition="'recharge_cost' == I('sort_name', '')">
|
|
|
<if condition="1 == $sort">
|
|
|
<i class="iconfont iconsort-down"></i>
|
|
|
<else/>
|
|
|
<i class="iconfont iconsort-up"></i>
|
|
|
</if>
|
|
|
<else/>
|
|
|
<i class="iconfont iconsort"></i>
|
|
|
</if>
|
|
|
</th>
|
|
|
<th class="sort" sort-name="recharge_count" class="title-cursor-pointer" title="该角色的充值次数">充值次数
|
|
|
<if condition="'recharge_count' == I('sort_name', '')">
|
|
|
<if condition="1 == $sort">
|
|
|
<i class="iconfont iconsort-down"></i>
|
|
|
<else/>
|
|
|
<i class="iconfont iconsort-up"></i>
|
|
|
</if>
|
|
|
<else/>
|
|
|
<i class="iconfont iconsort"></i>
|
|
|
</if>
|
|
|
</th>
|
|
|
<th class="sort" sort-name="recharge_cost_today" class="title-cursor-pointer" title="该角色的今日充值总额">今日充值
|
|
|
<if condition="'recharge_cost_today' == I('sort_name', '')">
|
|
|
<if condition="1 == $sort">
|
|
|
<i class="iconfont iconsort-down"></i>
|
|
|
<else/>
|
|
|
<i class="iconfont iconsort-up"></i>
|
|
|
</if>
|
|
|
<else/>
|
|
|
<i class="iconfont iconsort"></i>
|
|
|
</if>
|
|
|
</th>
|
|
|
<th class="sort" sort-name="unlogin_day" class="title-cursor-pointer" title="玩家未登录天数">未登录天数
|
|
|
<if condition="'unlogin_day' == I('sort_name', '')">
|
|
|
<if condition="1 == $sort">
|
|
|
<i class="iconfont iconsort-down"></i>
|
|
|
<else/>
|
|
|
<i class="iconfont iconsort-up"></i>
|
|
|
</if>
|
|
|
<else/>
|
|
|
<i class="iconfont iconsort"></i>
|
|
|
</if>
|
|
|
</th>
|
|
|
<th class="sort" sort-name="user_game_login_count" class="title-cursor-pointer" title="玩家在该游戏累计登陆的天数(不分区服)">游戏累计登录天数
|
|
|
<if condition="'user_game_login_count' == I('sort_name', '')">
|
|
|
<if condition="1 == $sort">
|
|
|
<i class="iconfont iconsort-down"></i>
|
|
|
<else/>
|
|
|
<i class="iconfont iconsort-up"></i>
|
|
|
</if>
|
|
|
<else/>
|
|
|
<i class="iconfont iconsort"></i>
|
|
|
</if>
|
|
|
</th>
|
|
|
<th class="sort" sort-name="register_time" class="title-cursor-pointer" title="玩家账号注册的时间">注册时间
|
|
|
<if condition="'register_time' == I('sort_name', '')">
|
|
|
<if condition="1 == $sort">
|
|
|
<i class="iconfont iconsort-down"></i>
|
|
|
<else/>
|
|
|
<i class="iconfont iconsort-up"></i>
|
|
|
</if>
|
|
|
<else/>
|
|
|
<i class="iconfont iconsort"></i>
|
|
|
</if>
|
|
|
</th>
|
|
|
<th class="title-cursor-pointer" title="玩家上次登录的时间">最后登录时间</th>
|
|
|
<th class="title-cursor-pointer" title="对应推广员的账号">推广员账号</th>
|
|
|
</tr>
|
|
|
<empty name="records">
|
|
|
<tr><td colspan="12" style="text-align: center;height: 45vh;"><img src="__IMG__/20180207/icon_wushujv2.png"/><p style="line-height: 40px;color: #A5A5A5;">暂无数据</p></td></tr>
|
|
|
<else />
|
|
|
<volist name="records" id="record" mod="2">
|
|
|
<tr data-id="{$vo.id}" class="<eq name='mod' value='1'>odd</eq>">
|
|
|
<td>{$record.user_account}</td>
|
|
|
<td>{$record.game_name}</td>
|
|
|
<td>{$record.sdk_version}</td>
|
|
|
<td>{$record.server_name}</td>
|
|
|
<td>{$record.game_player_name}</td>
|
|
|
<td>{$record.recharge_cost}</td>
|
|
|
<td>{$record.recharge_count}</td>
|
|
|
<td>{$record.recharge_cost_today}</td>
|
|
|
<td>{$record.unlogin_day}</td>
|
|
|
<td>{$record.user_game_login_count}</td>
|
|
|
<td>{$record.register_time}</td>
|
|
|
<td>{$record.login_time}</td>
|
|
|
<td>{$record.promote_account}</td>
|
|
|
</tr>
|
|
|
</volist>
|
|
|
<tr>
|
|
|
<td>合计</td>
|
|
|
<td>--</td>
|
|
|
<td>--</td>
|
|
|
<td>--</td>
|
|
|
<td>--</td>
|
|
|
<td>{$total.recharge_cost}</td>
|
|
|
<td>{$total.recharge_count}</td>
|
|
|
<td>{$total.recharge_cost_today}</td>
|
|
|
<td>--</td>
|
|
|
<td>--</td>
|
|
|
<td>--</td>
|
|
|
<td>--</td>
|
|
|
<td>--</td>
|
|
|
</tr>
|
|
|
</empty>
|
|
|
</table>
|
|
|
|
|
|
</div>
|
|
|
<div class="pagenation clearfix">
|
|
|
<?php if ($loginer['level'] !== 4) :?>
|
|
|
<a id="sch-btn" data-href="{:U('download/userRecharge_data_export',array_merge(['xlsname'=>'ceshi'],I('get.')))}" class="ajax-get">导出</a>
|
|
|
<?php endif ;?>
|
|
|
{$pagination}
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="page-explain promote-mychlid-explain">
|
|
|
<div class="trunk-content article border_normal">
|
|
|
<!-- <table class="desccontent">
|
|
|
<tr><td class="title" style="width: 100px;display: inline-block;">二级渠道说明:</td><td class="det">推广员默认为一级渠道,一级渠道可通过推广员后台新增二级渠道;二级渠道由一级渠道管理开启权限,并由一级渠道给二级渠道结算,结算可到财务管理操作。</td></tr>
|
|
|
</table>-->
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</block>
|
|
|
<block name="script">
|
|
|
<link href="__STATIC__/datetimepicker/css/datetimepicker.css" rel="stylesheet" type="text/css">
|
|
|
<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 type="text/javascript" src="__JS__/20170831/select2.min.js"></script>
|
|
|
<script type="text/javascript" src="__JS__/common.js"></script>
|
|
|
<script type="text/javascript">
|
|
|
$(function(){
|
|
|
setValue('row', '{:I("get.row",10)}');
|
|
|
$(".select_gallery").select2();
|
|
|
|
|
|
var date = "{$setdate}";
|
|
|
console.log(date);
|
|
|
$('#sdate').datetimepicker({
|
|
|
format: 'yyyy-mm-dd',
|
|
|
language: "zh-CN",
|
|
|
minView: 2,
|
|
|
autoclose: true,
|
|
|
scrollMonth: false,
|
|
|
scrollTime: false,
|
|
|
scrollInput: false,
|
|
|
endDate: date
|
|
|
});
|
|
|
|
|
|
$('#edate').datetimepicker({
|
|
|
format: 'yyyy-mm-dd',
|
|
|
language: "zh-CN",
|
|
|
minView: 2,
|
|
|
autoclose: true,
|
|
|
pickerPosition: 'bottom-left',
|
|
|
scrollMonth: false,
|
|
|
scrollTime: false,
|
|
|
scrollInput: false,
|
|
|
endDate: date
|
|
|
});
|
|
|
|
|
|
var gameId = $('#game-select').val();
|
|
|
var sdkVersion = $('#sdk_version').val();
|
|
|
var defaultServerId = $('#server-select').attr('data-server');
|
|
|
getGameServers(gameId, sdkVersion, defaultServerId)
|
|
|
$('#game-select,#sdk_version').on({
|
|
|
change: function name() {
|
|
|
gameId = $('#game-select').val();
|
|
|
sdkVersion = $('#sdk_version').val();
|
|
|
getGameServers(gameId, sdkVersion, 0);
|
|
|
}
|
|
|
});
|
|
|
function getGameServers(gameId, sdkVersion, defaultServerId) {
|
|
|
$.ajax({
|
|
|
url: "{:U('Query/getGameServers')}",
|
|
|
dataType: 'json',
|
|
|
data: {game_id: gameId, sdk_version: sdkVersion},
|
|
|
success: function(response) {
|
|
|
var options = '<option value="0">请选择区服</option>'
|
|
|
for (var i in response.data.servers) {
|
|
|
var server = response.data.servers[i]
|
|
|
var selected = ''
|
|
|
if (defaultServerId > 0 && server.id==defaultServerId) {
|
|
|
selected = 'selected'
|
|
|
}
|
|
|
options += '<option value="' + server.server_id + '"' + selected + '>' + server.server_name + '</option>'
|
|
|
}
|
|
|
$('#server-select').html(options)
|
|
|
$("#server-select").val(defaultServerId).trigger("change")
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
|
|
|
var promoteUrl = "{:U('Query/getSubPromotes')}"
|
|
|
initPromoteSelect(promoteUrl);
|
|
|
|
|
|
$('.sort').click(function () {
|
|
|
var element = $(this);
|
|
|
var sortName = element.attr('sort-name');
|
|
|
var sort = parseInt($('#sort').val());
|
|
|
|
|
|
sort = (sort === 1) ? 2 : 1;
|
|
|
$('#sort').val(sort);
|
|
|
$('#sort_name').val(sortName);
|
|
|
$('#submit').trigger('click');
|
|
|
});
|
|
|
|
|
|
$('#submit').click(function () {
|
|
|
var sdate = Date.parse($('#sdate').val()) / 1000;
|
|
|
var edate = Date.parse($('#edate').val()) / 1000;
|
|
|
|
|
|
if (sdate > edate) {
|
|
|
layer.msg('开始时间必须小于等于结束时间');
|
|
|
return false;
|
|
|
}
|
|
|
if ((edate - sdate) > 2592000) {
|
|
|
layer.msg('时间间隔不能超过31天,请重新选择日期');
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
var url = $(this).attr('url');
|
|
|
console.log(url);
|
|
|
var query = $('.jssearch').find('input').serialize();
|
|
|
query += "&" + $('.jssearch').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;
|
|
|
|
|
|
});
|
|
|
})
|
|
|
</script>
|
|
|
</block> |