|
|
<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;}
|
|
|
.pointer-hand {
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
|
|
|
.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;
|
|
|
}
|
|
|
|
|
|
</style>
|
|
|
|
|
|
<div class="cf main-place top_nav_list navtab_list">
|
|
|
<h3 class="page_title">平台币统计</h3>
|
|
|
<p class="description_text">说明:对于平台币的数据概览,会根据时间搜索进行数据展示</p>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
<div class="cf top_nav_list">
|
|
|
<!-- 高级搜索 -->
|
|
|
<div class="jssearch fl cf search_list">
|
|
|
<div class="input-list search-title-box">
|
|
|
<label>搜索:</label>
|
|
|
</div>
|
|
|
<div class="input-list">
|
|
|
<input type="text" id="search-input" name="user_account" class="" value="{:I('user_account')}"
|
|
|
placeholder="玩家账号"/>
|
|
|
</div>
|
|
|
|
|
|
<div class="input-list">
|
|
|
<input type="text" id="time-start" name="timestart" class="" value="{$starttime}"
|
|
|
placeholder="开始时间" autocomplete="off"/>
|
|
|
-
|
|
|
<div class="input-append date" id="datetimepicker" style="display:inline-block">
|
|
|
<input type="text" id="time-end" name="timeend" class="" value="{$endtime}"
|
|
|
placeholder="结束时间" autocomplete="off"/>
|
|
|
<span class="add-on"><i class="icon-th"></i></span>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<input type="hidden" name="order_type" value="<?=$orderType?>">
|
|
|
<input type="hidden" name="order_field" value="">
|
|
|
|
|
|
<div class="input-list">
|
|
|
<a class="sch-btn" href="javascript:;" id="search"
|
|
|
url="{:U('Finance/valueDetail','model='.$model['name'] . '&row='.I('row'),false)}">搜索</a>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<!-- 数据列表 -->
|
|
|
<div class="data_list">
|
|
|
<div>
|
|
|
<table>
|
|
|
<!-- 表头 -->
|
|
|
<thead>
|
|
|
<tr>
|
|
|
<th class="pointer-hand">
|
|
|
<div class="tooltip">
|
|
|
<a class="paixu" data-order='id'>账号ID<?=getOrderHtml('id', $orderField, $orderType)?></a>
|
|
|
<span class="tooltiptext"><span style="margin-left: -10px">用户ID</span></span>
|
|
|
</div>
|
|
|
</th>
|
|
|
<th>玩家账号</th>
|
|
|
<th class="pointer-hand">
|
|
|
<div class="tooltip">
|
|
|
<a class="paixu" data-order='balance'>当前平台币余额<?=getOrderHtml('balance', $orderField, $orderType)?></a>
|
|
|
<span class="tooltiptext"><span style="margin-left: -10px">当前用户平台币余额(不随搜索时间变化)</span></span>
|
|
|
</div>
|
|
|
</th>
|
|
|
<th class="pointer-hand">
|
|
|
<div class="tooltip">
|
|
|
<a class="paixu" data-order='remain'>平台币余额<?=getOrderHtml('remain', $orderField, $orderType)?></a>
|
|
|
<span class="tooltiptext"><span style="margin-left: -10px">检测时间最后一秒玩家留存的平台币</span></span>
|
|
|
</div>
|
|
|
</th>
|
|
|
<th class="pointer-hand">
|
|
|
<div class="tooltip">
|
|
|
<a class="paixu" data-order='spend_value'>平台币直充支出<?=getOrderHtml('spend_value', $orderField, $orderType)?></a>
|
|
|
<span class="tooltiptext"><span style="margin-left: -10px">检测时间内玩家累计消耗的平台币(只记录直充部分)</span></span>
|
|
|
</div>
|
|
|
</th>
|
|
|
<th class="pointer-hand">
|
|
|
<div class="tooltip">
|
|
|
<a class="paixu" data-order='deposit_value'>平台币直充金额<?=getOrderHtml('deposit_value', $orderField, $orderType)?></a>
|
|
|
<span class="tooltiptext"><span style="margin-left: -10px">检测时间内玩家累计充值的平台币(只记录直充部分)</span></span>
|
|
|
</div>
|
|
|
</th>
|
|
|
<th class="pointer-hand">
|
|
|
<div class="tooltip">
|
|
|
<a class="paixu" data-order='promote_value'>后台发放平台币<?=getOrderHtml('promote_value', $orderField, $orderType)?></a>
|
|
|
<span class="tooltiptext"><span style="margin-left: -10px">检测时间内玩家累计后台发放的平台币(只记录直充部分)</span></span>
|
|
|
</div>
|
|
|
</th>
|
|
|
<th>操作</th>
|
|
|
</tr>
|
|
|
</thead>
|
|
|
|
|
|
<!-- 列表 -->
|
|
|
<tbody>
|
|
|
<empty name ="records">
|
|
|
<td colspan="11" class="text-center">aOh! 暂时还没有内容!</td>
|
|
|
<else />
|
|
|
<volist name="records" id="data">
|
|
|
<tr>
|
|
|
<td>{$data.id}</td>
|
|
|
<td>{$data.account}</td>
|
|
|
<td>{$data.balance}</td>
|
|
|
<td>{$data.remain}</td>
|
|
|
<td>{$data.spend_value}</td>
|
|
|
<td>{$data.deposit_value}</td>
|
|
|
<td>{$data.promote_value}</td>
|
|
|
<td>
|
|
|
<a href="{:U('Finance/definiteDetaile',['user_id'=>$data['id'], 'timestart'=>I('timestart', ''), 'timeend'=>I('timeend', '')])}" >查看详情</a>
|
|
|
</td>
|
|
|
|
|
|
</tr>
|
|
|
</volist>
|
|
|
</empty>
|
|
|
<tr>
|
|
|
<td colspan="2">汇总(检索时间内所有数据的统计)</td>
|
|
|
<td><?=$summary['balance']?></td>
|
|
|
<td><?=$summary['remain']?></td>
|
|
|
<td><?=abs($summary['spend_value'])?></td>
|
|
|
<td><?=$summary['deposit_value']?></td>
|
|
|
<td><?=$summary['promote_value']?></td>
|
|
|
<td></td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="page">
|
|
|
<if condition="$role_export_check eq true ">
|
|
|
<a id="page-download" class="sch-btn" href="javascript:;" data-href="{:U('Finance/valueDetail', array_merge(['export' => 1], I('get.')))}">导出</a>
|
|
|
</if>
|
|
|
{$_page|default=''}
|
|
|
</div>
|
|
|
|
|
|
<div class="common_settings">
|
|
|
<span class="plus_icon"><span><img src="__IMG__/zwmimages/icon_jia.png"></span></span>
|
|
|
<form class="addShortcutIcon">
|
|
|
<input type="hidden" name="title" value="{$m_title}">
|
|
|
<input type="hidden" name="url" value="Deposit/lists">
|
|
|
</form>
|
|
|
<a class="ajax-post add-butn <notempty name='commonset'>addSIsetted</notempty>" href="javascript:;" target-form="addShortcutIcon" url="{:U('Think/addShortcutIcon')}"><img src="__IMG__/zwmimages/icon_jia.png"><span><notempty name='commonset'>已添加<else />添加至常用设置</notempty></span></a>
|
|
|
</div>
|
|
|
|
|
|
</block>
|
|
|
|
|
|
<block name="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>
|
|
|
<script src="__STATIC__/layer/layer.js" type="text/javascript"></script>
|
|
|
<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">
|
|
|
//导航高亮
|
|
|
highlight_subnav("{:U('Finance/valueDetail')}");
|
|
|
$(function () {
|
|
|
//搜索功能
|
|
|
$("#search").click(function () {
|
|
|
$('.jssearch').find('[name=order_type]').val('');
|
|
|
$('.jssearch').find('[name=order_field]').val('');
|
|
|
search()
|
|
|
});
|
|
|
|
|
|
function search() {
|
|
|
var url = $('#search').attr('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;
|
|
|
}
|
|
|
var start = $("#time-start").val();
|
|
|
var end = $("#time-end").val();
|
|
|
if (start !='' && end != ''){
|
|
|
if (Date.parse(start) > Date.parse(end)){
|
|
|
layer.msg('开始时间必须小于等于结束时间');
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
window.location.href = url;
|
|
|
}
|
|
|
|
|
|
$(".paixu").click(function () {
|
|
|
var that = $(this);
|
|
|
var orderField = that.attr('data-order');
|
|
|
$('.jssearch').find('[name=order_field]').val(orderField);
|
|
|
var beforeType = $('.jssearch').find('[name=order_type]').val();
|
|
|
var beforeField = $('.jssearch').find('[name=order_field]').val();
|
|
|
if (beforeField != orderField) {
|
|
|
beforeType = '';
|
|
|
}
|
|
|
if (beforeType == '' || beforeType == 'asc') {
|
|
|
$('.jssearch').find('[name=order_type]').val('desc');
|
|
|
} else {
|
|
|
$('.jssearch').find('[name=order_type]').val('asc');
|
|
|
}
|
|
|
search()
|
|
|
});
|
|
|
//回车自动提交
|
|
|
$('.jssearch').find('input').keyup(function (event) {
|
|
|
if (event.keyCode === 13) {
|
|
|
$('.jssearch').find('[name=order_type]').val('');
|
|
|
$('.jssearch').find('[name=order_field]').val('');
|
|
|
search()
|
|
|
}
|
|
|
});
|
|
|
|
|
|
|
|
|
$('#time-start').datetimepicker({
|
|
|
format: 'yyyy-mm-dd',
|
|
|
language: "zh-CN",
|
|
|
minView: 2,
|
|
|
autoclose: true
|
|
|
});
|
|
|
|
|
|
$('#datetimepicker').datetimepicker({
|
|
|
format: 'yyyy-mm-dd',
|
|
|
language: "zh-CN",
|
|
|
minView: 2,
|
|
|
autoclose: true,
|
|
|
pickerPosition: 'bottom-left'
|
|
|
})
|
|
|
|
|
|
|
|
|
$(".drop-down2").on('click', function (event) {
|
|
|
var navlist = $(this).find('.i_list_li');
|
|
|
if (navlist.hasClass('hidden')) {
|
|
|
navlist.removeClass('hidden');
|
|
|
$('#promoteid').focus().val('');
|
|
|
} else {
|
|
|
navlist.addClass('hidden');
|
|
|
}
|
|
|
$(document).one("click", function () {
|
|
|
navlist.addClass('hidden');
|
|
|
});
|
|
|
event.stopPropagation();
|
|
|
});
|
|
|
var a = $('.i_list_li li a');
|
|
|
$('#promoteid').on('keyup', function (event) {
|
|
|
var val = $.trim($(this).val()).toLowerCase();
|
|
|
$('#promoteid').val(val);
|
|
|
$('#promoteidh').val(-1);
|
|
|
});
|
|
|
|
|
|
$('#promoteidlist').find("a").each(function () {
|
|
|
$(this).click(function () {
|
|
|
var text = $.trim($(this).text()).toLowerCase(),
|
|
|
val = $(this).attr('value');
|
|
|
$('#promoteid').val(text);
|
|
|
$('#promoteidh').val(val);
|
|
|
})
|
|
|
});
|
|
|
|
|
|
$(".d_list").find(".drop-down11").hover(function () {
|
|
|
$(this).find(".nav-list").removeClass("hidden");
|
|
|
}, function () {
|
|
|
$(this).find(".nav-list").addClass("hidden");
|
|
|
});
|
|
|
|
|
|
$(".drop-down11 .nav-list li").find("a").each(function () {
|
|
|
var that = $(".drop-down11");
|
|
|
$(this).click(function () {
|
|
|
var text = $(this).text(), val = $(this).attr("value");
|
|
|
that.find(".sort-txt").text(text).attr("data", val);
|
|
|
that.find(".nav-list").addClass("hidden");
|
|
|
that.siblings('.hiddenvalue').val(val);
|
|
|
})
|
|
|
});
|
|
|
|
|
|
$(".d_list").find(".drop-down12").hover(function () {
|
|
|
$(this).find(".nav-list").removeClass("hidden");
|
|
|
}, function () {
|
|
|
$(this).find(".nav-list").addClass("hidden");
|
|
|
});
|
|
|
|
|
|
$(".drop-down12 .nav-list li").find("a").each(function () {
|
|
|
var that = $(".drop-down12");
|
|
|
$(this).click(function () {
|
|
|
var text = $(this).text(), val = $(this).attr("value");
|
|
|
that.find(".sort-txt").text(text).attr("data", val);
|
|
|
that.find(".nav-list").addClass("hidden");
|
|
|
that.siblings('.hiddenvalue').val(val);
|
|
|
})
|
|
|
});
|
|
|
|
|
|
var promote_id = "{:I('promote_id')}";
|
|
|
$("#promote_level").change(function(){
|
|
|
$.ajax({
|
|
|
url:"{:U('Ajax/getPromotersByLevelOther')}",
|
|
|
type:"get",
|
|
|
data:{level:$("#promote_level option:selected").val()},
|
|
|
dataType:'json',
|
|
|
success:function(response){
|
|
|
str = '<option value="">请选择推广员</option>' +
|
|
|
// '<option value="0"'+(promote_id && 0 == promote_id?'selected':'')+'>官方渠道</option>' +
|
|
|
// '<option value="UC"'+(promote_id && 'UC' == promote_id?'selected':'')+'>UC渠道</option>' +
|
|
|
'';
|
|
|
// $.each(response.data, function(index, item){
|
|
|
// console.log(item.id);
|
|
|
// str += '<option value="'+item.id+' '+(promote_id && item.id == promote_id?'selected':'')+'">'+item.nickname+'</option>';
|
|
|
// });
|
|
|
data = response.data;
|
|
|
for (var i in data){
|
|
|
str += "<option value='"+data[i].id+"' "+(promote_id && data[i].id == promote_id?'selected':'')+">"+data[i].nickname+"</option>"
|
|
|
}
|
|
|
$("#promote_id").empty();
|
|
|
$("#promote_id").append(str);
|
|
|
$("#promote_id").select2();
|
|
|
}
|
|
|
})
|
|
|
});
|
|
|
$("#promote_level").change();
|
|
|
|
|
|
})
|
|
|
|
|
|
$('#page-download').on({
|
|
|
click: function () {
|
|
|
var downloadUrl = $(this).attr('data-href')
|
|
|
layer.confirm('此页面数据量大,仅支持导出前10000条记录,继续导出?', {
|
|
|
btn: ['确定','取消'] //按钮
|
|
|
}, function() {
|
|
|
window.location.href = downloadUrl
|
|
|
layer.closeAll()
|
|
|
}, function() {
|
|
|
|
|
|
});
|
|
|
}
|
|
|
})
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 初始化select2单选,默认带搜索功能。
|
|
|
*/
|
|
|
|
|
|
//初始化页面加载
|
|
|
$(document).ready(function () {
|
|
|
|
|
|
//初始化select2单选
|
|
|
initSelect2WithSearch();
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
function initSelect2WithSearch() {
|
|
|
// $("#sel_order").select2({
|
|
|
// tags: true,
|
|
|
// placeholder: '订单状态',
|
|
|
// allowClear: false, //清空
|
|
|
// minimumResultsForSearch: Infinity, // 永久隐藏搜索框
|
|
|
// });
|
|
|
}
|
|
|
|
|
|
// 充值补单
|
|
|
$(".pay_repair").click(function () {
|
|
|
url = $(this).attr('href-hhh');
|
|
|
data = $(this).attr('href-data');
|
|
|
var pwd2 = prompt("请输入二级密码");
|
|
|
if (!pwd2) {
|
|
|
alert("二级密码不能为空");
|
|
|
return ;
|
|
|
}
|
|
|
$.ajax({
|
|
|
type: 'post',
|
|
|
url: url,
|
|
|
data: {orderNo: data, second: pwd2, type: 'deposit'},
|
|
|
success: function (e) {
|
|
|
if (e.status == 1) {
|
|
|
layer.msg(e.msg, {icon: 1});
|
|
|
setTimeout(function () {
|
|
|
location.reload();
|
|
|
}, 1500);
|
|
|
} else {
|
|
|
if (e.msg) {
|
|
|
var tip_msg = e.msg;
|
|
|
} else {
|
|
|
var tip_msg = e.info ? e.info : "补单失败";
|
|
|
}
|
|
|
layer.msg(tip_msg, {icon: 2});
|
|
|
}
|
|
|
},
|
|
|
});
|
|
|
});
|
|
|
</script>
|
|
|
</block>
|