|
|
<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;}
|
|
|
</style>
|
|
|
<!-- 标题栏 -->
|
|
|
|
|
|
<div class="cf main-place top_nav_list navtab_list">
|
|
|
<h3 class="page_title">游戏充值</h3>
|
|
|
<p class="description_text">说明:游戏充值全部订单:全部订单包含游戏SDK内所有支付的订单,包含SDK现金支付、平台币支付、绑币支付</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" name="{$model['search_key']|default='user_account'}" placeholder="玩家账号" class=""
|
|
|
value="{:I('user_account')}">
|
|
|
</div>
|
|
|
<div class="input-list">
|
|
|
<input type="text" name="pay_order_number" class="" value="{:I('pay_order_number')}" placeholder="支付订单号">
|
|
|
</div>
|
|
|
<div class="input-list">
|
|
|
<input type="text" id="time-start" name="time-start" class="" value="{:I('time-start')}"
|
|
|
placeholder="充值开始时间"/>
|
|
|
-
|
|
|
<div class="input-append date" id="datetimepicker" style="display:inline-block">
|
|
|
<input type="text" id="time-end" name="time-end" class="" value="{:I('time-end')}"
|
|
|
placeholder="充值结束时间"/>
|
|
|
<span class="add-on"><i class="icon-th"></i></span>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="input-list input-list-game search_label_rehab">
|
|
|
<select id="game_id" name="game_name" class="select_gallery" style="width:120px;">
|
|
|
<option value="">游戏名称</option>
|
|
|
<volist name=":get_game_list()" id="vo">
|
|
|
<option game-id="{$vo.id}" value="{$vo.game_name}">{$vo.game_name}</option>
|
|
|
</volist>
|
|
|
</select>
|
|
|
</div>
|
|
|
<div class="input-list input-list-server search_label_rehab">
|
|
|
<select id="server_name" name="server_name" class="select_gallery" style="width:120px;">
|
|
|
<option value="">区服名称</option>
|
|
|
</select>
|
|
|
</div>
|
|
|
<div class="input-list input-list-spend search_label_rehab">
|
|
|
<select id="pay_way_id" name="pay_way" class="select_gallery" style="width:120px;">
|
|
|
<option value="">充值方式</option>
|
|
|
<volist name=":all_pay_way(1)" id="vo">
|
|
|
<option value="{$vo.key}">{$vo.value}</option>
|
|
|
</volist>
|
|
|
</select>
|
|
|
</div>
|
|
|
<div class="input-list search_item input-list-orderstatus">
|
|
|
<select name="pay_status" style="color:#444" class="select_gallery" id="sel_order">
|
|
|
<option value="">订单状态</option>
|
|
|
<option value="1">充值成功</option>
|
|
|
<option value="0">下单未付款</option>
|
|
|
</select>
|
|
|
</div>
|
|
|
<div class="input-list">
|
|
|
<input type="text" name="spend_ip" class="" value="{:I('spend_ip')}" placeholder="充值ip">
|
|
|
</div>
|
|
|
<div class="input-list search_item input-list-gamenoticestatus">
|
|
|
<select name="pay_game_status" style="color:#444" class="select_gallery" id="pay_game_status">
|
|
|
<option value="">游戏通知状态</option>
|
|
|
<option value="1">通知成功</option>
|
|
|
<option value="0">通知失败</option>
|
|
|
<option value="2">已退款</option>
|
|
|
</select>
|
|
|
</div>
|
|
|
<input type="hidden" name="" value="" class="sortBy">
|
|
|
|
|
|
<div class="input-list search_item">
|
|
|
<a class="sch-btn" href="javascript:;" id="search"
|
|
|
url="{:U('Spend/lists','model='.$model['name'] . '&row='.I('row'),false)}">搜索</a>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
<!-- 数据列表 -->
|
|
|
<div class="data_list zdata_list">
|
|
|
<div class="">
|
|
|
<table>
|
|
|
<!-- 表头 -->
|
|
|
<thead>
|
|
|
<tr>
|
|
|
<th>支付订单号</th>
|
|
|
<th><a class="paixu" data-order='pay_time'>
|
|
|
|
|
|
充值时间
|
|
|
</a></th>
|
|
|
<th>玩家账号</th>
|
|
|
<th>游戏名称</th>
|
|
|
<th>所属推广员</th>
|
|
|
<th>充值ip</th>
|
|
|
<th>游戏区服</th>
|
|
|
<th>角色名称</th>
|
|
|
<th>订单金额</th>
|
|
|
<th><a class="paixu" data-order='pay_amount'>
|
|
|
|
|
|
实付金额
|
|
|
</a></th>
|
|
|
<th>充值方式</th>
|
|
|
<th>订单状态</th>
|
|
|
<th>游戏通知状态</th>
|
|
|
<th>操作</th>
|
|
|
</tr>
|
|
|
</thead>
|
|
|
<!-- 列表 -->
|
|
|
<tbody>
|
|
|
<empty name="list_data">
|
|
|
<td colspan="15" class="text-center">aOh! 暂时还没有内容!</td>
|
|
|
<else/>
|
|
|
<volist name="list_data" id="data">
|
|
|
<tr>
|
|
|
<td>{$data.pay_order_number}</td>
|
|
|
<td>{:set_show_time($data['pay_time'])}</td>
|
|
|
<td>{$data.user_account}<gt name="data.small_id" value="0"><neq name="data.small_id" value="$data.user_id">({$data.small_account})</neq></gt></td>
|
|
|
<td>{$data.game_name}</td>
|
|
|
<td><eq name="data.promote_id" value="-1">官方渠道<else/>{:get_promote_account($data['promote_id'])}</eq></td>
|
|
|
<td>{$data.spend_ip}</td>
|
|
|
<empty name='data.server_name'>
|
|
|
<td>— —</td>
|
|
|
<else/>
|
|
|
<td>{$data.server_name}</td>
|
|
|
</empty>
|
|
|
<empty name='data.game_player_name'>
|
|
|
<td>— —</td>
|
|
|
<else/>
|
|
|
<td>{$data.game_player_name}</td>
|
|
|
</empty>
|
|
|
<td>{$data.cost|default=0.00}</td>
|
|
|
<td><span>{$data.pay_amount}</span></td>
|
|
|
<td>{:get_pay_way($data['pay_way'])}</td>
|
|
|
<td>
|
|
|
<if condition="$data['pay_status'] eq 1"><span class="order_status_color">{:get_info_status($data['pay_status'],9)}</span>
|
|
|
<else/>
|
|
|
{:get_info_status($data['pay_status'],9)}
|
|
|
</if>
|
|
|
</td>
|
|
|
<td>
|
|
|
<if condition="$data['pay_status'] eq 1"><span class="game_notice_status_color">{:get_info_status($data['pay_game_status'],14)}</span>
|
|
|
<elseif condition="$data.status eq 0"/>
|
|
|
— —
|
|
|
<else/>
|
|
|
{:get_info_status($data['pay_game_status'],14)}
|
|
|
</if>
|
|
|
</td>
|
|
|
<td style="text-indent:0;">
|
|
|
|
|
|
<if condition="$data['pay_game_status'] eq 0 and $data['pay_status'] eq 1">
|
|
|
<a class=" budan" href="javascript:void(0);"
|
|
|
href-data="{$data.pay_order_number}" href-hhh="{:U('Repair/repairEdit')}" style="width:100%;">补单</a>
|
|
|
<else/>
|
|
|
|
|
|
<span>补单</span>
|
|
|
|
|
|
</if>
|
|
|
|
|
|
</td>
|
|
|
</tr>
|
|
|
</volist>
|
|
|
</empty>
|
|
|
<tr class="data_summary">
|
|
|
|
|
|
|
|
|
<td>汇总</td>
|
|
|
<td colspan="12">
|
|
|
当页充值:{:null_to_0(array_sum(array_column(array_status2value('pay_status','',$list_data),'pay_amount')))}
|
|
|
今日充值:{$ttotal}
|
|
|
昨日充值:{$ytotal}
|
|
|
累计充值:{$total}(此处只汇总充值成功的订单)
|
|
|
</td>
|
|
|
<td></td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</table>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="page">
|
|
|
<a class="sch-btn" href="{:U('Export/expUser',array_merge(array('id'=>7,'xlsname'=>'游戏订单_游戏充值'),I('get.')))}">导出</a>
|
|
|
{$_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="Spend/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>
|
|
|
<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 src="__STATIC__/layer/layer.js" type="text/javascript"></script>
|
|
|
<script>
|
|
|
<volist name = ":I('get.')" id = "vo">
|
|
|
Think.setValue('{$key}', "{$vo}");
|
|
|
</volist>
|
|
|
$(".select_gallery").select2();
|
|
|
</script>
|
|
|
<script type="text/javascript">
|
|
|
//导航高亮
|
|
|
highlight_subnav('{:U('Spend/lists')}');
|
|
|
$(function () {
|
|
|
//搜索功能
|
|
|
$("#search").click(function () {
|
|
|
var url = $(this).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;
|
|
|
}
|
|
|
window.location.href = url;
|
|
|
});
|
|
|
$(".paixu").click(function () {
|
|
|
var that = $(this);
|
|
|
$data_order = that.attr('data-order');
|
|
|
$order_type = '{$userarpu_order}';
|
|
|
if ($order_type == '' || $order_type == '4') {
|
|
|
$(".sortBy").attr('name', 'data_order');
|
|
|
val = '3,' + $data_order;
|
|
|
$(".sortBy").attr('value', val);
|
|
|
$("#search").click();
|
|
|
} else if ($order_type == '3') {
|
|
|
$(".sortBy").attr('name', 'data_order');
|
|
|
val = '4,' + $data_order;
|
|
|
$(".sortBy").attr('value', val);
|
|
|
$("#search").click();
|
|
|
}
|
|
|
});
|
|
|
//回车自动提交
|
|
|
$('.jssearch').find('input').keyup(function (event) {
|
|
|
if (event.keyCode === 13) {
|
|
|
$("#search").click();
|
|
|
}
|
|
|
});
|
|
|
|
|
|
$('#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;
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(".budan").click(function () {
|
|
|
url = $(this).attr('href-hhh');
|
|
|
data = $(this).attr('href-data');
|
|
|
$.ajax({
|
|
|
type: 'post',
|
|
|
url: url,
|
|
|
data: {orderNo: data},
|
|
|
success: function (e) {
|
|
|
if (e.status == 1) {
|
|
|
layer.msg(e.msg, {icon: 1});
|
|
|
setTimeout(function () {
|
|
|
location.reload();
|
|
|
}, 1500);
|
|
|
} else {
|
|
|
layer.msg(e.msg, {icon: 2});
|
|
|
}
|
|
|
},
|
|
|
});
|
|
|
});
|
|
|
|
|
|
$(".budan2").click(function () {
|
|
|
url = $(this).attr('href-hhh');
|
|
|
data = $(this).attr('href-data');
|
|
|
$.ajax({
|
|
|
type: 'post',
|
|
|
url: url,
|
|
|
data: {orderNo: data},
|
|
|
success: function (e) {
|
|
|
if (e.status == 1) {
|
|
|
if (e.msg.length > 30) {
|
|
|
window.open(e.msg);
|
|
|
} else {
|
|
|
layer.msg(e.msg, {icon: 1});
|
|
|
setTimeout(function () {
|
|
|
location.reload();
|
|
|
}, 1500);
|
|
|
}
|
|
|
} else {
|
|
|
layer.msg(e.msg, {icon: 2});
|
|
|
}
|
|
|
},
|
|
|
});
|
|
|
});
|
|
|
|
|
|
$(".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);
|
|
|
})
|
|
|
});
|
|
|
|
|
|
$(".d_list").find(".drop-down13").hover(function () {
|
|
|
$(this).find(".nav-list").removeClass("hidden");
|
|
|
}, function () {
|
|
|
$(this).find(".nav-list").addClass("hidden");
|
|
|
});
|
|
|
|
|
|
$(".drop-down13 .nav-list li").find("a").each(function () {
|
|
|
var that = $(".drop-down13");
|
|
|
$(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);
|
|
|
})
|
|
|
});
|
|
|
|
|
|
//下拉内容框
|
|
|
$(".drop-down2").on('click', function (event) {
|
|
|
var navlist = $(this).find('.i_list_li');
|
|
|
if (navlist.hasClass('hidden')) {
|
|
|
navlist.removeClass('hidden');
|
|
|
$('#i_list_id').focus().val('');
|
|
|
} else {
|
|
|
navlist.addClass('hidden');
|
|
|
}
|
|
|
$(document).one("click", function () {
|
|
|
navlist.addClass('hidden');
|
|
|
});
|
|
|
event.stopPropagation();
|
|
|
});
|
|
|
|
|
|
$('#i_list_id').on('keyup', function (event) {
|
|
|
var val = $.trim($(this).val()).toLowerCase();
|
|
|
$('#i_list_idh').val(val);
|
|
|
});
|
|
|
|
|
|
$("#i_list_li").find("a").each(function () {
|
|
|
$(this).click(function () {
|
|
|
var text = $.trim($(this).text()).toLowerCase();
|
|
|
$("#i_list_id").val(text);
|
|
|
$('#i_list_idh').val(text);
|
|
|
})
|
|
|
});
|
|
|
|
|
|
})
|
|
|
|
|
|
$("#game_id").change(function(){
|
|
|
$.ajax({
|
|
|
url:"{:U('Ajax/getSpendServer')}",
|
|
|
type:"post",
|
|
|
data:{game_id:$("#game_id option:selected").attr('game-id')},
|
|
|
dataType:'json',
|
|
|
success:function(data){
|
|
|
str = "<option value=''>请选择区服</option>";
|
|
|
for (var i in data){
|
|
|
str += "<option value='"+data[i].server_name+"'>"+data[i].server_name+"</option>"
|
|
|
}
|
|
|
$("#server_name").empty();
|
|
|
$("#server_name").append(str);
|
|
|
$("#server_name").select2();
|
|
|
|
|
|
}
|
|
|
})
|
|
|
});
|
|
|
var game_id = "{:I('game_name')}";
|
|
|
var game_server = "{:I('server_name')}";
|
|
|
if(game_id){
|
|
|
$.ajax({
|
|
|
url:"{:U('Ajax/getSpendServer')}",
|
|
|
type:"post",
|
|
|
data:{game_id:game_id,type:2},
|
|
|
dataType:'json',
|
|
|
success:function(data){
|
|
|
str = "<option value=''>请选择区服</option>";
|
|
|
for (var i in data){
|
|
|
str += "<option value='"+data[i].server_name+"' "+(game_server && data[i].server_name == game_server?'selected':'')+">"+data[i].server_name+"</option>"
|
|
|
}
|
|
|
$("#server_name").empty();
|
|
|
$("#server_name").append(str);
|
|
|
$("#server_name").select2();
|
|
|
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 初始化select2单选,默认带搜索功能。
|
|
|
*/
|
|
|
|
|
|
//初始化页面加载
|
|
|
$(document).ready(function () {
|
|
|
|
|
|
//初始化select2单选
|
|
|
initSelect2WithSearch();
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
function initSelect2WithSearch() {
|
|
|
$("#sel_order").select2({
|
|
|
tags: true,
|
|
|
placeholder: '订单状态',
|
|
|
allowClear: false,
|
|
|
minimumResultsForSearch: Infinity, // 永久隐藏搜索框
|
|
|
});
|
|
|
}
|
|
|
|
|
|
function initSelect2WithSearch() {
|
|
|
$("#pay_game_status").select2({
|
|
|
tags: true,
|
|
|
placeholder: '游戏通知状态',
|
|
|
allowClear: false,
|
|
|
minimumResultsForSearch: Infinity, // 永久隐藏搜索框
|
|
|
});
|
|
|
}
|
|
|
</script>
|
|
|
</block>
|