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.
607 lines
19 KiB
HTML
607 lines
19 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;
|
|
}
|
|
|
|
.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;}
|
|
.layui-layer-dialog .layui-layer-content{color:red}
|
|
.butnbox {padding:10px 0 10px;}
|
|
.butnbox .butnlist {overflow:hidden;clear:both;}
|
|
.butnbox .butnlist .butn,.butnbox .butnlist .butn:hover {text-decoration:none;border:none;}
|
|
.butnbox .butnlist .butn {display:inline-block;width:120px;height:28px;line-height:28px;text-align:center;color:#FFF;background:#3C95C8;border-radius:3px;}
|
|
.butnbox .butnlist .butn.last {background:#009900;}
|
|
.butnbox .butnlist .butn~.butn {margin-left:20px;}
|
|
.data_list table tbody tr a.disabled,.data_list table tbody tr a.disabled:hover {color:#999;cursor:default;}
|
|
.layui-layer-title {
|
|
text-align: center;
|
|
height: 80px;
|
|
line-height: 80px;
|
|
font-weight: 600;
|
|
font-size: 18px;
|
|
}
|
|
|
|
.chk_1,.chk_2,.chk_3,.chk_4 {
|
|
display: none;
|
|
}
|
|
|
|
/*******STYLE 3*******/
|
|
.chk_3 + label {
|
|
background-color: #fafbfa;
|
|
padding: 9px;
|
|
border-radius: 50px;
|
|
display: inline-block;
|
|
position: relative;
|
|
margin-right: 30px;
|
|
-webkit-transition: all 0.1s ease-in;
|
|
transition: all 0.1s ease-in;
|
|
width: 40px;
|
|
height: 15px;
|
|
}
|
|
|
|
.chk_3 + label:after {
|
|
content: ' ';
|
|
position: absolute;
|
|
top: 0;
|
|
-webkit-transition: box-shadow 0.1s ease-in;
|
|
transition: box-shadow 0.1s ease-in;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
border-radius: 100px;
|
|
box-shadow: inset 0 0 0 0 #eee, 0 0 1px rgba(0,0,0,0.4);
|
|
}
|
|
|
|
.chk_3 + label:before {
|
|
content: ' ';
|
|
position: absolute;
|
|
background: white;
|
|
top: 1px;
|
|
left: 1px;
|
|
z-index: 999999;
|
|
width: 31px;
|
|
-webkit-transition: all 0.1s ease-in;
|
|
transition: all 0.1s ease-in;
|
|
height: 31px;
|
|
border-radius: 100px;
|
|
box-shadow: 0 3px 1px rgba(0,0,0,0.05), 0 0px 1px rgba(0,0,0,0.3);
|
|
}
|
|
|
|
.chk_3:active + label:after {
|
|
box-shadow: inset 0 0 0 20px #eee, 0 0 1px #eee;
|
|
}
|
|
|
|
.chk_3:active + label:before {
|
|
width: 37px;
|
|
}
|
|
|
|
.chk_3:checked:active + label:before {
|
|
width: 37px;
|
|
left: 20px;
|
|
}
|
|
|
|
.chk_3 + label:active {
|
|
box-shadow: 0 1px 2px rgba(0,0,0,0.05), inset 0px 1px 3px rgba(0,0,0,0.1);
|
|
}
|
|
|
|
.chk_3:checked + label:before {
|
|
content: ' ';
|
|
position: absolute;
|
|
left: 26px;
|
|
border-radius: 100px;
|
|
}
|
|
|
|
.chk_3:checked + label:after {
|
|
content: ' ';
|
|
font-size: 1.5em;
|
|
position: absolute;
|
|
background: #4cda60;
|
|
box-shadow: 0 0 1px #4cda60;
|
|
}
|
|
|
|
#checkbox_d2 + label:after, #checkbox_d2 + label:before, #checkbox label {
|
|
-webkit-transition: all 0.1s ease-in;
|
|
transition: all 0.1s ease-in;
|
|
}
|
|
|
|
a:hover {
|
|
color: transparent;
|
|
}
|
|
|
|
</style>
|
|
|
|
<div class="cf main-place top_nav_list navtab_list">
|
|
|
|
<h3 class="page_title">支付渠道意向统计</h3>
|
|
<p class="description_text">说明:对意向流程相同的用户进行记录统计</p>
|
|
<!-- <div class="demo">-->
|
|
<!-- <div class="wrap" ><span style="float: right;margin-top: 7px;margin-right: 120px">开</span>-->
|
|
<!-- <input type="checkbox" id="checkbox_c2" class="chk_3" <if condition="$apple_interior_buy eq 1">checked</if> /><label for="checkbox_c2" style="float: right;margin-right: 5px" onclick="setAppleInteriorBuyStatus({$set_apple_interior_buy})"></label>-->
|
|
<!-- <span style="float: right;margin-top: 7px;margin-right: 5px">关</span>-->
|
|
<!-- <span style="float: right;margin-top: 7px;margin-right: 30px">全游戏苹果内购支付成功通知默认限制</span>-->
|
|
<!-- </div>-->
|
|
<!-- </div>-->
|
|
<!-- <div class="fr">-->
|
|
<!-- <a class="tabchose" href="">游戏充值统计</a>-->
|
|
<!-- <a class="" href="{:U('Finance/payTypeStatistics')}">充值方式统计</a>-->
|
|
<!-- </div>-->
|
|
</div>
|
|
|
|
<div class="cf top_nav_list">
|
|
|
|
<!-- 高级搜索 -->
|
|
<div class="jssearch fl cf search_list">
|
|
<!--游戏类型搜索END-->
|
|
|
|
<div class="input-list">
|
|
<a class="sch-btn" href="{:U('PayChannelIntention/index')}" style="background:#fff;color: #000;border: #000 solid 1px;width: 100px">返回</a>
|
|
</div>
|
|
|
|
<div class="input-list">
|
|
<input type="text" name="user_account" placeholder="请选择玩家账号" class=""
|
|
value="{:I('user_account')}">
|
|
</div>
|
|
|
|
<input type="text" name="pay_ways" placeholder="请选择支付状态" class=""
|
|
value="{$_GET['pay_ways']}" style="display: none">
|
|
|
|
<div class="input-list input-list-server search_label_rehab">
|
|
<select id="pay_status" name="pay_status" class="select_gallery" style="color: #404040;">
|
|
<option value="">请选择支付状态</option>
|
|
<option value="1" <if condition="$_GET['pay_status'] eq '1'">selected</if>>支付成功</option>
|
|
<option value="4" <if condition="$_GET['pay_status'] eq '4'">selected</if>>支付成功通知成功</option>
|
|
<option value="2" <if condition="$_GET['pay_status'] eq '2'">selected</if>>下单未支付</option>
|
|
<option value="3" <if condition="$_GET['pay_status'] eq '3'">selected</if>>支付成功通知失败</option>
|
|
<option value="0" <if condition="$_GET['pay_status'] eq '0'">selected</if>>支付失败</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="input-list">
|
|
<input type="text" id="timestart" name="timestart" class="" value="{:I('timestart')}" placeholder="下单开始时间" autocomplete="off"/>
|
|
-
|
|
<div class="input-append date" id="datetimepicker" style="display:inline-block">
|
|
<input type="text" id="timeend" name="timeend" class="" value="{:I('timeend')}" placeholder="下单结束时间" autocomplete="off"/>
|
|
<span class="add-on"><i class="icon-th"></i></span>
|
|
</div>
|
|
</div>
|
|
|
|
<input type="hidden" name="" value="" class="sortBy">
|
|
<div class="input-list">
|
|
<a class="sch-btn" href="javascript:;" id="search"
|
|
style="width: 100px;border: #3C95C8 solid 1px; " url="{:U('PayChannelIntention/detail','model='.$model['name'].'&row='.I('row'),false)}">搜索</a>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- 数据列表 -->
|
|
<div class="data_list">
|
|
<empty name="show_status">
|
|
<div class="">
|
|
<table>
|
|
<!-- 表头 -->
|
|
<thead>
|
|
<tr>
|
|
|
|
<th >序号</th>
|
|
|
|
<th >用户</th>
|
|
|
|
<th >充值金额</th>
|
|
|
|
<th >支付宝</th>
|
|
|
|
<th >微信</th>
|
|
|
|
<th >易宝</th>
|
|
|
|
<th >双乾快捷支付</th>
|
|
|
|
<th >时间</th>
|
|
|
|
<th >支付状态</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" key="index">
|
|
<tr>
|
|
<td >{$index}</td>
|
|
<td >{$data.user_account}</td>
|
|
<td >{$data.pay_amount}</td>
|
|
<td >{$data.alipay}</td>
|
|
<td >{$data.wxpay}</td>
|
|
<td >{$data.shorcut}</td>
|
|
<td >{$data.sqshorcut}</td>
|
|
<td >{$data.create_time}</td>
|
|
<td ><if condition="$data.pay_status eq 0"> 支付失败 <elseif condition="$data.pay_status eq 2"/> 下单未支付 <else/> 支付成功 </if><br>
|
|
<if condition="$data.pay_game_status eq 0"> 通知失败 <elseif condition="$data.pay_game_status eq 2"/> 未通知 <else/> 通知成功 </if></td>
|
|
<td >{$data.pay_order_number}</td>
|
|
</tr>
|
|
</volist>
|
|
<tr>
|
|
<td colspan="2">汇总(检索时间内所有数据的统计)</td>
|
|
<td >{$sum.pay_amount}</td>
|
|
<td >{$sum.alipay}</td>
|
|
<td >{$sum.wxpay}</td>
|
|
<td >{$sum.shorcut}</td>
|
|
<td >{$sum.sqshorcut}</td>
|
|
<td ></td>
|
|
<td ></td>
|
|
<td ></td>
|
|
</tr>
|
|
</notemtpy>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</empty>
|
|
</div>
|
|
<div class="page">
|
|
<if condition="$is_admin eq true ">
|
|
<a class="sch-btn export-btn"
|
|
href="{:U('PayChannelIntention/export_detail',array_merge(['export'=>1],I('get.')))}" target="_blank">导出</a>
|
|
<!-- <a class="sch-btn" href="{:U('Export/expUser',array_merge(['id'=>3,'xlsname'=>'玩家_玩家列表_'.(I('get.type')==2?'第三方玩家':'本站玩家')],I('get.')))}">导出</a> -->
|
|
</if>
|
|
{$_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>
|
|
</script>
|
|
<script type="text/javascript">
|
|
|
|
|
|
|
|
//导航高亮
|
|
highlight_subnav('{:U('PayChannelIntention/index')}');
|
|
|
|
|
|
$('#timestart').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'
|
|
})
|
|
|
|
$('#forbit').click(function () {
|
|
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
|
|
return $(elem).val();
|
|
}).get().join(",");
|
|
|
|
layer.confirm('【警告】是否确认此操作', {
|
|
btn: ['确认','取消'],
|
|
title:false
|
|
}, function(index) {
|
|
if (!text) {
|
|
layer.msg("<em style='color:white'>" + '请选择后再进行操作' + "</em>");
|
|
return;
|
|
}
|
|
|
|
$.ajax({
|
|
url: "{:U('AmericaIpForbit/operateIp')}",
|
|
type: "get",
|
|
data: {id: text,status:0},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
if (data.code == 0) {
|
|
layer.msg("<em style='color:white'>" + '批量限制失败' + "</em>");
|
|
} else {
|
|
layer.msg("<em style='color:white'>" + '批量限制成功' + "</em>")
|
|
setTimeout(function(){
|
|
window.location.reload();
|
|
},1500);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
//搜索功能
|
|
$("#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();
|
|
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 = $("#timestart").val();
|
|
var end = $("#timeend").val();
|
|
if(start !='' && end != ''){
|
|
if (Date.parse(start) > Date.parse(end)){
|
|
layer.msg('开始时间必须小于等于结束时间');
|
|
return false;
|
|
}
|
|
}
|
|
|
|
window.location.href = url;
|
|
});
|
|
|
|
$('#noforbit').click(function () {
|
|
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
|
|
return $(elem).val();
|
|
}).get().join(",");
|
|
|
|
layer.confirm('【警告】是否确认此操作', {
|
|
btn: ['确认','取消'],
|
|
title:false
|
|
}, function(index) {
|
|
if (!text) {
|
|
layer.msg("<em style='color:white'>" + '请选择后再进行操作' + "</em>");
|
|
return;
|
|
}
|
|
|
|
$.ajax({
|
|
url: "{:U('AmericaIpForbit/operateIp')}",
|
|
type: "get",
|
|
data: {id: text,status:1},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
if (data.code == 0) {
|
|
layer.msg("<em style='color:white'>" + '批量不限制失败' + "</em>");
|
|
} else {
|
|
layer.msg("<em style='color:white'>" + '批量不限制成功' + "</em>")
|
|
setTimeout(function(){
|
|
window.location.reload();
|
|
},1500);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
$('#delete').click(function () {
|
|
var text = $("input:checkbox[name='ids[]']:checked").map(function(index,elem) {
|
|
return $(elem).val();
|
|
}).get().join(",");
|
|
|
|
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
|
|
btn: ['确认','取消'],
|
|
title:false
|
|
}, function(index) {
|
|
if (!text) {
|
|
layer.msg("<em style='color:white'>" + '请选择后再进行操作' + "</em>");
|
|
return;
|
|
}
|
|
|
|
$.ajax({
|
|
url: "{:U('AmericaIpForbit/del')}",
|
|
type: "get",
|
|
data: {id: text},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
if (data.code == 0) {
|
|
layer.msg("<em style='color:white'>" + '批量删除失败' + "</em>");
|
|
} else {
|
|
layer.msg("<em style='color:white'>" + '批量删除成功' + "</em>")
|
|
setTimeout(function(){
|
|
window.location.reload();
|
|
},1500);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
$('#add').click(function () {
|
|
|
|
});
|
|
|
|
function limit(id,status) {
|
|
|
|
layer.confirm('【警告】是否确认此操作', {
|
|
btn: ['确认','取消'],
|
|
title:false
|
|
}, function(index) {
|
|
|
|
$.ajax({
|
|
url: "{:U('AmericaIpForbit/operateIp')}",
|
|
type: "get",
|
|
data: {id: id,status: status},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
if (data.code == 0) {
|
|
layer.msg("<em style='color:white'>" + '操作失败' + "</em>");
|
|
} else {
|
|
layer.msg("<em style='color:white'>" + '操作成功' + "</em>")
|
|
setTimeout(function(){
|
|
window.location.reload();
|
|
},1500);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
function del(id) {
|
|
|
|
layer.confirm('【警告】撤销后将不可回退,如需继续请点击确认', {
|
|
btn: ['确认','取消'],
|
|
title:false
|
|
}, function(index) {
|
|
|
|
$.ajax({
|
|
url: "{:U('AmericaIpForbit/del')}",
|
|
type: "get",
|
|
data: {id: id},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
if (data.code == 0) {
|
|
layer.msg("<em style='color:white'>" + '操作失败' + "</em>");
|
|
} else {
|
|
layer.msg("<em style='color:white'>" + '操作成功' + "</em>")
|
|
setTimeout(function(){
|
|
window.location.reload();
|
|
},1500);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
function setAppleInteriorBuyStatus(status) {
|
|
|
|
var text = '【警告】是否确认打开全游戏苹果内购支付成功通知';
|
|
|
|
if(status == 0) {
|
|
|
|
text = '【警告】是否确认关闭全游戏苹果内购支付成功通知';
|
|
|
|
}
|
|
|
|
layer.confirm(text, {
|
|
btn: ['确认','取消'],
|
|
area: ['380px','120px'],
|
|
title: false
|
|
}, function(index) {
|
|
|
|
$.ajax({
|
|
url: "{:U('AmericaIpForbit/setAppleInteriorBuyStatus')}",
|
|
type: "get",
|
|
data: {status: status},
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
if (data.code == 0) {
|
|
layer.msg("<em style='color:white'>" + '操作失败' + "</em>");
|
|
} else {
|
|
layer.msg("<em style='color:white'>" + '操作成功' + "</em>")
|
|
setTimeout(function(){
|
|
window.location.reload();
|
|
},1500);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
</script>
|
|
</block>
|