var refundState={"80":"退款中","70":"退款成功","100":"未退款"};
var fun= {
init: function () {
fun.dateInit();
fun.createTabledata();
fun.refundFun();
fun.queryRefundOrderByRefunFinshTimeAndTerminalSource();
fun.recharge_submit();
},
recharge_submit:function(){
documentBindFunc.on('click','#recharge_submit',function () {
var payorderId =$("#payorderId").val(); //支付单
var rltOrderId =$("#rltOrderId").val(); //订单单
var orderAcctFee = $("#orderAcctFee").val();//支付单实收金额
var refundTotalFee=$("#tolltor_amount").val();//本次退款金额
var tolltorsum =$("#tolltorsumValue").val();//账户余额
if(refundTotalFee == null || refundTotalFee==''||refundTotalFee==undefined){
$('#recharge_error').removeClass('display-none').text("退款金额不能为空");
return false;
}else if(parseFloat(refundTotalFee) > parseFloat(orderAcctFee)){
$('#recharge_error').removeClass('display-none').text("退款金额需小于等于充值金额");
return false;
}else if(parseFloat(refundTotalFee) > parseFloat(tolltorsum)){
$('#recharge_error').removeClass('display-none').text("退款金额需小于等于账户余额");
return false;
}else if(payorderId == null || payorderId ==''|| payorderId==undefined){
$('#recharge_error').removeClass('display-none').text("获取充值支付单失败");
return false;
}else if(parseFloat(refundTotalFee) =='0'){
$('#recharge_error').removeClass('display-none').text("退款金额需大于0");
return false;
}else{
$('#recharge_error').addClass('display-none');
var req = {
rltPayOrderId: payorderId,
refundTotalFee:refundTotalFee+'00',
rltOrderId:rltOrderId,
saveOrUpdateFlg:1
};
req.sysCode = sysComm.sysCode;
var opt = {
method: 'post',
url: dataUrl.util.saveOrUpdateOrderRefund(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (res) {
console.log(res);
if (res.code == '8888') {
var data =res.data;
if(data){
$('#recharge_table').bootstrapTable('refresh');
$('#refund_rechargemodel').modal('hide');
}else{
$('#recharge_error').removeClass('display-none').text("退款失败");
return false;
}
}
}
};
sysAjax(opt);
}//else
});
},
//退款汇总查询
queryRefundOrderByRefunFinshTimeAndTerminalSource:function(){
var reqQuery = fun.sumGetQueryParam();
var terminalSourceIds =[];
terminalSourceIds.push(1);//用户充值
var req = {
beginTime: new Date(reqQuery.beginTime),
endTime:new Date(reqQuery.endTime),
orgId:reqQuery.orgId,
terminalSourceIds:terminalSourceIds
};
req.sysCode = sysComm.sysCode;
var opt = {
method: 'post',
url: dataUrl.util.queryRefundOrderByRefunTerminalSource(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (res) {
console.log(res);
if (res.code == '8888') {
var data =res.data;
$.each(data,function(index,item){
if(item.payType=='0'){
$("#all_totalFee").text(commonObj.moneyFormatter(item.refundTotalFee));
}else if(item.payType=='1'){
$("#all_zfbFee").text(commonObj.moneyFormatter(item.refundTotalFee));
}else{
$("#all_wxFee").text(commonObj.moneyFormatter(item.refundTotalFee));
}
});
}
}
};
sysAjax(opt);
},
//.退款弹出框
refundFun:function(){
//充值 弹窗
documentBindFunc.on('click','.changeMsgRefund',function () {
var custId = $(this).attr("data-custid");
var payorderId = $(this).attr("data-payorderid");
var userPhone = $(this).attr("data-userPhone");
console.log(userPhone)
debugger
var orderAcctFee = parseFloat($(this).attr("data-orderactfee"));
var rltOrderId = $(this).attr("data-rltOrderId");
if(userPhone===null||userPhone===undefined||userPhone===''||userPhone==='null'){
userPhone = '-';
}
$("#tolltorNum").text(userPhone);
$("#tolltor_amount").val(orderAcctFee);
$("#payorderId").val("");
$("#payorderId").val(payorderId);
$("#orderAcctFee").val("");
$("#orderAcctFee").val(orderAcctFee);
$("#rltOrderId").val("");
$("#rltOrderId").val(rltOrderId);
var custIds=[];
var acctTypeList=[];
custIds.push(custId);
acctTypeList.push(1);
var req = {
custIds:custIds,
acctTypeList:acctTypeList
};
req.sysCode = sysComm.sysCode;
var opt = {
method: 'post',
url: dataUrl.util.queryAcctPersonByCustIdAndAcctType(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (res) {
console.log(res);
if (res.errCode == 'BIZ_SUCCESS') {
var data= res.data;
console.log(data.acctBalance)
if(data.acctBalance===null||data.acctBalance===undefined||data.acctBalance===''){
$("#tolltorsum").text('-');
}
else{
$("#tolltorsum").text(commonObj.moneyFormatter(data.acctBalance)+" 元");
$("#tolltorsumValue").val();
$("#tolltorsumValue").val(commonObj.moneyFormatter(data.acctBalance));
}
$('#refund_rechargemodel').modal('show');
}else{
console.log('获取账户余额失败');
}
}
};
sysAjax(opt);
});
},
dateInit:function () {
$("#sum_daterange_sta").val(moment().subtract('days',0).format('YYYY-MM-DD'));
$("#sum_daterange_end").val(moment().subtract('days',0).format('YYYY-MM-DD'));
$("#sum_daterange_sta").datetimepicker({
endDate: moment().subtract('days',0).format('YYYY-MM-DD'),
format: 'yyyy-mm-dd',
autoclose: true,
startView: 2,
//maxDate:moment().subtract('months', 3),
minView: 2,
forceParse: false,
locale: "zh-CN",
language: 'zh-CN',
pickerPosition: "bottom-right"
});
$("#sum_daterange_end").datetimepicker({
endDate: moment().subtract('days',0).format('YYYY-MM-DD'),
format: 'yyyy-mm-dd',
autoclose: true,
startView: 2,
//maxDate:moment().subtract('months', 3),
minView: 2,
forceParse: false,
locale: "zh-CN",
language: 'zh-CN',
pickerPosition: "bottom-right"
});
//退款状态
var html="";
$.each(refundState,function(index,item){
html += "";
});
$("#refundID").html(html);
$("#refundID").selectpicker('refresh');
},
createTabledata:function () {
$('#recharge_table').bootstrapTable('destroy').bootstrapTable({
striped: true, //表格显示条纹
pagination: true, //启动分页
pageNumber: 1, //当前第几页
// showColumns: true,
pageSize: 10, //每页显示的记录数
pageList: [10, 15, 20], //记录数可选列表
sidePagination: 'server', //表示服务端分页
queryParamsType: 'limit',
method: 'POST', //请求方法
// fixedColumns: true,
// fixedNumber: 1,
// leftFixedColumns: true,
// leftFixedNumber: 3,
//rightFixedColumns: true,
//rightFixedNumber: 1,
// selectItemName: 'personCustName',
paginationPreText: '<',
paginationNextText: '>',
ajax: sumtableLoadRequest, //自定义ajax加载数据
uniqueId: 'id',
columns: [
{
field: 'phoneNum',
title: ' 手机号',
width: '15%',
align: "left",
formatter:commonObj.replacenull
},
{
field: 'payType',
title: ' 充值类型',
width: '15%',
align: "left",
formatter: fun.chargeTypeFormatter
},
{
field: 'orderActFee',
title: ' 充值金额',
width: '15%',
align: "left",
formatter:commonObj.moneyFormatter
},
{
field: 'payFinishTime',
title: ' 充值时间',
width: '15%',
align: "left",
formatter:commonObj.timeFormatter
},
{
field: 'refundTotalFee',
title: ' 退款金额',
width: '15%',
align: "left",
formatter:commonObj.moneydetailFormatter
},
{
field: 'refundFinishTime',
title: ' 退款时间',
width: '15%',
align: "left",
formatter:commonObj.timeFormatter
},
{
field: 'refundState',
title: ' 退款状态',
width: '15%',
align: "left",
formatter:function(value, row, index){
if (value==null||value==undefined||value=='') {
return "-";
} else {
return refundState[value];
}
}
},
{field: '', title: '操作', width: '15%', align: 'left',
formatter:function(value, row, index){
if(row.refundState==null || row.refundState==undefined || row.refundState ==''){
return "";
}else if(row.refundState=='100'){
var operStr ='退款';
return operStr;
}else{
return "";
}
},
}
]
});
},
/*获取查询参数*/
sumGetQueryParam: function () {
var beginTime = $("#sum_daterange_sta").val();
beginTime = beginTime + " 00:00:00";
beginTime = beginTime == null || beginTime.length == 0 ? null : new Date((beginTime).replace(/-/g, "/"));
var endTime = $("#sum_daterange_end").val();
endTime = endTime + " 23:59:59";
endTime = endTime == null || endTime.length == 0 ? null : new Date((endTime).replace(/-/g, "/"));
// console.log(beginTime+','+endTime)
var userPhone = $("#phone_Number").val();
var refundState = $("#refundID").val();
if(refundState == 'ALL'){
refundState =null;
}
var orgId = fn.getOrgId();
var req = {
userPhone:userPhone,
beginTime: new Date(beginTime),
endTime: new Date(endTime),
orgId:orgId,
refundState:refundState
};
//console.log(req);
return req;
},
//账户类型
acctTypeFormatter: function (value) {
// console.log(typeof value)
if (value == 1) {
return "账户余额";
} else if(value == 7){
return "充值账户";
}else {
return '-';
}
},
//支付类型
chargeTypeFormatter: function (value) {
// console.log(typeof value)
if (value == 1) {
return "支付宝";
} else if(value == 2){
return "微信";
}else {
return '-';
}
}
};
fun.init();
//查询事件
documentBindFunc.on('click', "#sum_queryBtn", function () {
fun.queryRefundOrderByRefunFinshTimeAndTerminalSource();
fun.createTabledata();
});
//用户只能输入正数与小数
function checkInputText(obj){
obj.value = obj.value.replace(/[^\d.]/g,"");//先把非数字的都替换掉,除了数字和.
obj.value = obj.value.replace(/\.{2,}/g,".");//保证只有出现一个.而没有多个.
obj.value = obj.value.replace(/^\./g,"");//必须保证第一个为数字而不是.
obj.value = obj.value.replace(".","$#$").replace(/\./g,"").replace("$#$",".");//保证.只出现一次,而不能出现两次以上
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数
}
/**
* 自定义table AJAX请求
* @param {Object} params
*/
function sumtableLoadRequest(params) {
var req = fun.sumGetQueryParam();
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
//条件查询
req.baseRequest = {
pageNum: pageNum,
pageSize: params.data.limit
};
req.sysCode = sysComm.sysCode;
var opt = {
method: 'post',
url: dataUrl.util.queryUserRechargeRefundForPage(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (res) {
console.log(res);
if (res.code == '8888') {
params.success(res.data);
}
}
};
sysAjax(opt);
}
//导出
var InterValObj; //timer变量,控制时间
var count = 8; //间隔函数,1秒执行
var curCount;//当前剩余秒数
function sendMessage() {
curCount = count;
//设置button效果,开始计时
$("#sum_reportBtn").attr("disabled", "true");
$(".ITD-export-btn").css("width", "138px");
$("#sum_reportBtn").val(curCount + "秒后可再次导出");
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
}
//timer处理函数
function SetRemainTime() {
if (curCount == 0) {
window.clearInterval(InterValObj);//停止计时器
$("#sum_reportBtn").removeAttr("disabled");//启用按钮
$(".ITD-export-btn").css("width", "72px");
$("#sum_reportBtn").val("导出");
}
else {
curCount--;
$("#sum_reportBtn").val(curCount + "秒后可再次导出");
}
}
//导出excle
documentBindFunc.on('click','#sum_reportBtn',function (){
//获取table所有行数据
var parkLot = $("#recharge_table").bootstrapTable('getData');
//获取table总条数
var numTotal = $("#recharge_table").bootstrapTable('getOptions').totalRows;
//提示 无数据不导出
console.log(parkLot)
if(parkLot.length<1){
$('.ITD-alertmodel-contentmsg').text('无数据可导出!');
$('#ITD-tipsmodel').modal('show');
setTimeout(function () {
$('.ITD-alertmodel-contentmsg').text('');
$('#ITD-tipsmodel').modal('hide');
},3000);
return false;
}
//超1万条 缩短查询范围
if(numTotal>10000){
$('.ITD-alertmodel-contentmsg').text('数据量过大,请缩小查询范围!');
$('#ITD-tipsmodel').modal('show');
setTimeout(function () {
$('.ITD-alertmodel-contentmsg').text('');
$('#ITD-tipsmodel').modal('hide');
},3000);
return false;
}
//执行倒计时函数s
sendMessage();
var req = fun.sumGetQueryParam();
var url = dataUrl.util.excleImportRefundOrder();
var forms = exportIncomeDetailFormforbill(url,req);
forms.submit();
});
function exportIncomeDetailFormforbill(url,req) {
var form = document.createElement("form");
form.style.display = 'none';
form.action = url;
form.method = "get";
document.body.appendChild(form);
var input = document.createElement("input");
//input.type = "hidden";
input.name = "beginTime";
input.value = new Date(req.beginTime);
form.appendChild(input);
var input2 = document.createElement("input");
input2.name = "endTime";
input2.value = new Date(req.endTime);
form.appendChild(input2);
var input3 = document.createElement("input");
//input2.type = "hidden";
input3.name = "userPhone";
input3.value = req.userPhone;
form.appendChild(input3);
var input4 = document.createElement("input");
input4.name = "orgId";
input4.value = req.orgId;
form.appendChild(input4);
var input5 = document.createElement("input");
input5.name = "refundState";
input5.value = req.refundState;
form.appendChild(input5);
return form;
};