|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
include("../includes/common.php");
|
|
|
$title='付款记录';
|
|
|
include './head.php';
|
|
|
if($islogin==1){}else exit("<script language='javascript'>window.location.href='./login.php';</script>");
|
|
|
?>
|
|
|
<div class="container" style="padding-top:70px;">
|
|
|
<div class="col-md-12 center-block" style="float: none;">
|
|
|
<form onsubmit="return searchSubmit()" method="GET" class="form-inline" id="searchToolbar">
|
|
|
<div class="form-group">
|
|
|
<label>搜索</label>
|
|
|
<input type="text" class="form-control" name="value" placeholder="收款账号/姓名">
|
|
|
</div>
|
|
|
<div class="form-group">
|
|
|
<input type="text" class="form-control" name="uid" style="width: 100px;" placeholder="商户号" value="">
|
|
|
</div>
|
|
|
<div class="form-group">
|
|
|
<select name="type" class="form-control"><option value="">所有付款方式</option><option value="alipay">支付宝</option><option value="wxpay">微信</option><option value="qqpay">QQ钱包</option><option value="bank">银行卡</option></select>
|
|
|
</div>
|
|
|
<div class="form-group">
|
|
|
<select name="dstatus" class="form-control"><option value="-1">全部状态</option><option value="0">状态正在处理</option><option value="1">状态转账成功</option><option value="2">状态转账失败</option></select>
|
|
|
</div>
|
|
|
<button type="submit" class="btn btn-primary">搜索</button>
|
|
|
<a href="./transfer_add.php" class="btn btn-success">新增付款</a>
|
|
|
<a href="javascript:searchClear()" class="btn btn-default" title="刷新付款记录"><i class="fa fa-refresh"></i></a>
|
|
|
</form>
|
|
|
|
|
|
<table id="listTable">
|
|
|
</table>
|
|
|
</div>
|
|
|
</div>
|
|
|
<script src="<?php echo $cdnpublic?>layer/3.1.1/layer.min.js"></script>
|
|
|
<script src="<?php echo $cdnpublic?>bootstrap-table/1.20.2/bootstrap-table.min.js"></script>
|
|
|
<script src="<?php echo $cdnpublic?>bootstrap-table/1.20.2/extensions/page-jump-to/bootstrap-table-page-jump-to.min.js"></script>
|
|
|
<script src="../assets/js/custom.js"></script>
|
|
|
<script>
|
|
|
$(document).ready(function(){
|
|
|
updateToolbar();
|
|
|
const defaultPageSize = 30;
|
|
|
const pageNumber = typeof window.$_GET['pageNumber'] != 'undefined' ? parseInt(window.$_GET['pageNumber']) : 1;
|
|
|
const pageSize = typeof window.$_GET['pageSize'] != 'undefined' ? parseInt(window.$_GET['pageSize']) : defaultPageSize;
|
|
|
|
|
|
$("#listTable").bootstrapTable({
|
|
|
url: 'ajax_transfer.php?act=transferList',
|
|
|
pageNumber: pageNumber,
|
|
|
pageSize: pageSize,
|
|
|
classes: 'table table-striped table-hover table-bordered',
|
|
|
columns: [
|
|
|
{
|
|
|
field: 'biz_no',
|
|
|
title: '交易号<br/>第三方交易号',
|
|
|
formatter: function(value, row, index) {
|
|
|
return '<b>'+value+'</b><br/>'+row.pay_order_no;
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'uid',
|
|
|
title: '商户号',
|
|
|
formatter: function(value, row, index) {
|
|
|
return value>0?'<a href="./ulist.php?column=uid&value='+value+'" target="_blank">'+value+'</a>':'管理员';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'type',
|
|
|
title: '付款方式<br/>(通道ID)',
|
|
|
formatter: function(value, row, index) {
|
|
|
let typename = '';
|
|
|
if(value == 'alipay'){
|
|
|
typename='<img src="/assets/icon/alipay.ico" width="16" onerror="this.style.display=\'none\'">支付宝';
|
|
|
}else if(value == 'wxpay'){
|
|
|
typename='<img src="/assets/icon/wxpay.ico" width="16" onerror="this.style.display=\'none\'">微信';
|
|
|
}else if(value == 'qqpay'){
|
|
|
typename='<img src="/assets/icon/qqpay.ico" width="16" onerror="this.style.display=\'none\'">QQ钱包';
|
|
|
}else if(value == 'bank'){
|
|
|
typename='<img src="/assets/icon/bank.ico" width="16" onerror="this.style.display=\'none\'">银行卡';
|
|
|
}
|
|
|
return typename+'('+row.channel+')';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'account',
|
|
|
title: '付款账号<br/>姓名',
|
|
|
formatter: function(value, row, index) {
|
|
|
return ''+value+'<br/>'+row.username+'';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'money',
|
|
|
title: '付款金额<br/>花费金额',
|
|
|
formatter: function(value, row, index) {
|
|
|
return '¥<b>'+value+'</b><br/>¥<b>'+row.costmoney+'</b>';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'paytime',
|
|
|
title: '付款时间<br/>备注',
|
|
|
formatter: function(value, row, index) {
|
|
|
return ''+value+'<br/>'+(row.desc?'<font color="#bf7fef">'+row.desc+'</font>':'')+'';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'status',
|
|
|
title: '状态',
|
|
|
formatter: function(value, row, index) {
|
|
|
if(value == '1'){
|
|
|
return '<font color=green>转账成功</font>';
|
|
|
}else if(value == '2'){
|
|
|
return '<a href="javascript:showResult(\''+row.biz_no+'\')" title="点此查看失败原因"><font color=red>转账失败</font></a>';
|
|
|
}else{
|
|
|
return '<a href="javascript:queryStatus(\''+row.biz_no+'\')" title="点此查询转账状态"><font color=orange>正在处理</font></a>';
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
field: 'status',
|
|
|
title: '操作',
|
|
|
formatter: function(value, row, index) {
|
|
|
let html = '';
|
|
|
if(row.status == '1'){
|
|
|
html += '<a href="javascript:setStatus(\''+row.biz_no+'\', 2)" class="btn btn-warning btn-xs">改为失败</a> <a href="javascript:delItem(\''+row.biz_no+'\')" class="btn btn-danger btn-xs">删除</a>';
|
|
|
}else if(row.status == '2'){
|
|
|
html += '<a href="javascript:setStatus(\''+row.biz_no+'\', 1)" class="btn btn-success btn-xs">改为成功</a> <a href="javascript:delItem(\''+row.biz_no+'\')" class="btn btn-danger btn-xs">删除</a>';
|
|
|
}else{
|
|
|
html += '<a href="javascript:queryStatus(\''+row.biz_no+'\')" class="btn btn-info btn-xs">查询状态</a> ';
|
|
|
if(row.uid > 0) html += '<a href="javascript:refund(\''+row.biz_no+'\')" class="btn btn-warning btn-xs">退回</a>';
|
|
|
else html += '<a href="javascript:delItem(\''+row.biz_no+'\')" class="btn btn-danger btn-xs">删除</a>';
|
|
|
}
|
|
|
return html;
|
|
|
}
|
|
|
},
|
|
|
],
|
|
|
})
|
|
|
})
|
|
|
function showResult(biz_no) {
|
|
|
var ii = layer.load(2, {shade:[0.1,'#fff']});
|
|
|
$.ajax({
|
|
|
type : 'GET',
|
|
|
url : 'ajax_transfer.php?act=transfer_result&biz_no='+biz_no,
|
|
|
dataType : 'json',
|
|
|
success : function(data) {
|
|
|
layer.close(ii);
|
|
|
if(data.code == 0){
|
|
|
layer.alert(data.msg, {icon:0, title:'失败原因', shadeClose:true});
|
|
|
}else{
|
|
|
layer.alert(data.msg, {icon:2});
|
|
|
}
|
|
|
},
|
|
|
error:function(data){
|
|
|
layer.close(ii);
|
|
|
layer.msg('服务器错误');
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function queryStatus(biz_no) {
|
|
|
var ii = layer.load(2, {shade:[0.1,'#fff']});
|
|
|
$.ajax({
|
|
|
type : 'GET',
|
|
|
url : 'ajax_transfer.php?act=transfer_query&biz_no='+biz_no,
|
|
|
dataType : 'json',
|
|
|
success : function(data) {
|
|
|
layer.close(ii);
|
|
|
if(data.code == 0){
|
|
|
searchSubmit();
|
|
|
layer.alert(data.msg, {title:'查询结果'});
|
|
|
}else{
|
|
|
layer.alert(data.msg, {icon:2, title:'查询失败'});
|
|
|
}
|
|
|
},
|
|
|
error:function(data){
|
|
|
layer.close(ii);
|
|
|
layer.msg('服务器错误');
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function setStatus(biz_no, status){
|
|
|
var ii = layer.load(2, {shade:[0.1,'#fff']});
|
|
|
$.ajax({
|
|
|
type : 'post',
|
|
|
url : 'ajax_transfer.php?act=setTransferStatus',
|
|
|
data : {biz_no:biz_no, status:status},
|
|
|
dataType : 'json',
|
|
|
success : function(ret) {
|
|
|
layer.close(ii);
|
|
|
if (ret.code != 0) {
|
|
|
alert(ret.msg);
|
|
|
}
|
|
|
searchSubmit();
|
|
|
},
|
|
|
error:function(data){
|
|
|
layer.close(ii);
|
|
|
layer.msg('服务器错误');
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
function delItem(biz_no) {
|
|
|
var confirmobj = layer.confirm('你确实要删除此付款记录吗?', {
|
|
|
btn: ['确定','取消'], icon:0
|
|
|
}, function(){
|
|
|
$.ajax({
|
|
|
type : 'POST',
|
|
|
url : 'ajax_transfer.php?act=delTransfer',
|
|
|
data : {biz_no:biz_no},
|
|
|
dataType : 'json',
|
|
|
success : function(data) {
|
|
|
if(data.code == 0){
|
|
|
layer.closeAll();
|
|
|
searchSubmit();
|
|
|
}else{
|
|
|
layer.alert(data.msg, {icon: 2});
|
|
|
}
|
|
|
},
|
|
|
error:function(data){
|
|
|
layer.msg('服务器错误');
|
|
|
}
|
|
|
});
|
|
|
}, function(){
|
|
|
layer.close(confirmobj);
|
|
|
});
|
|
|
}
|
|
|
function refund(biz_no){
|
|
|
var confirmobj = layer.confirm('确定将余额退给商户并改为失败状态吗?', {
|
|
|
btn: ['确定','取消'], icon:0
|
|
|
}, function(){
|
|
|
$.ajax({
|
|
|
type : 'POST',
|
|
|
url : 'ajax_transfer.php?act=refundTransfer',
|
|
|
data : {biz_no:biz_no},
|
|
|
dataType : 'json',
|
|
|
success : function(data) {
|
|
|
if(data.code == 0){
|
|
|
layer.alert(data.msg, {icon:1}, function(){ layer.closeAll();searchSubmit(); });
|
|
|
}else{
|
|
|
layer.alert(data.msg, {icon: 2});
|
|
|
}
|
|
|
},
|
|
|
error:function(data){
|
|
|
layer.msg('服务器错误');
|
|
|
}
|
|
|
});
|
|
|
}, function(){
|
|
|
layer.close(confirmobj);
|
|
|
});
|
|
|
}
|
|
|
</script> |