var terminal_source={"1":"APP","3":"微信公众号","4":"平台","0":"汇总"};
var cardType = {"1":"年卡","2":"半年卡","3":"季卡","4":"月卡","5":"日卡","6":"错峰年卡(周末免费)","7":"错峰月卡(周末免费)"};
var fun={
init:function () {
commSelect.area_Pl_LinkedSelect("#vipsta-transSelecarea", "#vipsta-transSelectPark");
fun.dateInit();
fun.createTableData();
fun.queryVipCardOrderDetailTotal();
},
dateInit:function () {
//初始化
/**日 时间初始化*/
$('#vipsta-daydaterange-btnsta').val(moment().subtract('days', 7).format('YYYY-MM-DD'));
$('#vipsta-daydaterange-btnend').val(moment().subtract('days', 1).format('YYYY-MM-DD'));
//开始日期
$("#vipsta-daydaterange-btnsta").datetimepicker({
endDate: moment().subtract('days', 1).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"
})
//结束日期
$("#vipsta-daydaterange-btnend").datetimepicker({
endDate: moment().subtract('days', 1).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"
})
$(document).on('click','#vipsta-billQueryBnt',function(){
fun.queryVipCardOrderDetailTotal();
fun.createTableData();
});
},
//默认加载表格
createTableData: function() {
$('#vipsta-table').bootstrapTable('destroy').bootstrapTable({
striped: true, //表格显示条纹
pagination: true, //启动分页
pageNumber: 1, //当前第几页
// showColumns: true,
pageSize: 10, //每页显示的记录数
pageList: [10, 15, 20], //记录数可选列表
sidePagination: 'server', //表示服务端分页
queryParamsType: 'limit',
method: 'POST', //请求方法
paginationPreText: '<',
paginationNextText: '>',
ajax: tableLoadRequest, //自定义ajax加载数据
uniqueId: 'id',
columns: [
{
field: 'personCustName',
title: '会员卡信息',
width: '25%',
visible: true,
align: 'left',
formatter: function (value, row, index) {
//`card_type` int(2) NOT NULL COMMENT '卡类型 1-年卡;2-半年卡;3-季卡;4-月卡;5-日卡;6-错峰年卡(周末免费);7-错峰月卡(周末免费)',
// console.log(row.plNo)
if(row.cardType =="1" || row.cardType =="6"){
//下面是模拟年卡cardrule-td-year 月卡cardrule-td-month 季卡cardrule-td-season 失效cardrule-td-lose
return '
' +
'
年卡
' +
'
'+(row.carNumber == null? "-" : row.carNumber)+'
' +
'
'+(row.plName == null ? "-" :row.plName) +'
' +
'
办卡时间 : '+commonObj.timeOneFormatter(row.createDate)+'
' +
'
'
}else if(row.cardType =="4" || row.cardType =="7"){
return '' +
'
月卡
' +
'
'+(row.carNumber == null? "-" : row.carNumber)+'
' +
'
'+(row.plName == null ? "-" :row.plName) +'
' +
'
办卡时间 : '+commonObj.timeOneFormatter(row.createDate)+'
' +
'
';
}else if(row.cardType =="3"){
return '' +
'
季卡
' +
'
'+(row.carNumber == null? "-" : row.carNumber)+'
' +
'
'+(row.plName == null ? "-" :row.plName) +'
' +
'
办卡时间 : '+commonObj.timeOneFormatter(row.createDate)+'
' +
'
';
}else if(row.cardType =="2"){
return '' +
'
半年卡
' +
'
'+(row.carNumber == null? "-" : row.carNumber)+'
' +
'
'+(row.plName == null ? "-" :row.plName) +'
' +
'
办卡时间 : '+commonObj.timeOneFormatter(row.createDate)+'
' +
'
';
}else{
return '' +
'
日卡
' +
'
'+(row.carNumber == null? "-" : row.carNumber)+'
' +
'
'+(row.plName == null ? "-" :row.plName) +'
' +
'
办卡时间 : '+commonObj.timeOneFormatter(row.createDate)+'
' +
'
';
}
}
},
{
field: 'carNumber',
title: '交易类型',
width: '15%',
align: 'left',
formatter: function(value, row, index) {
// return fun.cardStaFormatter(value, row, index);
return fun.cardTypeFormatter(value, row, index);
}
},
{
field: 'price',
title: '剩余时间',
width: '20%',
align: 'left',
formatter: function(value, row, index) {
var a=parseInt((row.expDate - row.effDate) / parseInt(1000*3600*24));
if(a<=0){
return 0;
}
return '' +
'
'+a+' 天
' +
'
生效时间 : '+commonObj.timeOneFormatter(row.effDate)+'
' +
'
失效时间 : '+commonObj.timeOneFormatter(row.expDate)+'
' +
'
'
}
},
{
field: 'price',
title: '卡信息',
width: '20%',
align: 'left',
formatter: function(value, row, index) {
return '' +
'
卡单价 :'+commonObj.moneyFormatter(row.price)+' 元
' +
'
购买数量 : '+(row.buyNum == null ? '-':row.buyNum)+'
' +
'
车型 : '+fun.carTypeFormatter(row.carType)+'
' +
'
'
}
},
{
field: 'price',
title: '费用信息',
width: '20%',
align: 'left',
formatter: function(value, row, index) {
return '' +
'
实收 :'+commonObj.moneyFormatter(row.cardActAmount)+'元
' +
//'
应收 : '+cardruleFun.moneyFormatter(row.price)+'*'+row.num+'
' +
'
应收 : '+commonObj.moneyFormatter((parseInt(row.cardActAmount)+parseInt(row.orderDicountFee)))+'
' +
'
优惠 : '+commonObj.moneyFormatter(row.orderDicountFee)+'元
' +
'
'
}
},
]
});
},
outDatatimeFormatter: function(value, row, index) {
if(value == null) {
return "";
} else {
return DateUtils.long2String(value, 1);
}
},
//车型
carTypeFormatter: function(value, row, index) {
// 1-大型车;2-小型车
if(value == null) {
return "-";
} else if(1 == value) {
return "大型车";
} else if(2 == value) {
return "小型车";
}
},
//汇总查询
queryVipCardOrderDetailTotal:function(){
var plNos = $("#vipsta-transSelectPark").val();
var req = fun.getQueryParam();
//设置请求参数
req.sysCode = sysComm.sysCode;
if(plNos != undefined && plNos != null){
req.plNos=JSON.parse(plNos);
}
var opt = {
method: 'post',
url: dataUrl.util.vipcardManagerController(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(res) {
console.log(res);
if(res.code == '8888') {
var cardActAmountAPP = 0;
var appAddNumAPP=0; //新增数量
var appCotinNumAPP=0; //续费数量
var cardActAmountWX = 0;
var appAddNumWX=0; //新增数量
var appCotinNumWX=0; //续费数量
var cardActAmountPT = 0;
var appAddNumPT=0; //新增数量
var appCotinNumPT=0; //续费数量
var data = res.data;
$.each(data,function(index,res) {
if(res.terminalSource == '1') {
if (res.cardActAmount != null && res.cardActAmount != '' && res.cardActAmount != undefined) {
cardActAmountAPP += parseInt(res.cardActAmount);
}
if (res.orderType == '301') {
appAddNumAPP++;
} else if (res.orderType == '302'){
appCotinNumAPP++;
}
} else if (res.terminalSource == '3') {
if (res.cardActAmount != null && res.cardActAmount != '' && res.cardActAmount != undefined) {
cardActAmountWX += parseInt(res.cardActAmount);
}
if (res.orderType == '301') {
appAddNumWX++;
} else if (res.orderType == '302'){
appCotinNumWX++;
}
} else {
if (res.cardActAmount != null && res.cardActAmount != '' && res.cardActAmount != undefined) {
cardActAmountPT += parseInt(res.cardActAmount);
}
if (res.orderType == '301') {
appAddNumPT++;
} else if (res.orderType == '302'){
appCotinNumPT++;
}
}
//
});//each
var html ='\n' +
' - \n' +
' 渠道汇总\n' +
' 新增(张)\n' +
' 续费(次)\n' +
' 实收(元)\n' +
'
\n' +
' - \n' +
' 总计\n' +
' '+(parseInt(appAddNumAPP)+parseInt(appAddNumWX)+parseInt(appAddNumPT))+'\n' +
' '+(parseInt(appCotinNumAPP)+parseInt(appCotinNumWX)+parseInt(appCotinNumPT))+'\n' +
' '+moneyFormatter(parseInt(cardActAmountAPP)+parseInt(cardActAmountWX)+parseInt(cardActAmountPT))+'' +
'
\n' +
' - \n' +
' APP\n' +
' '+parseInt(appAddNumAPP)+'\n' +
' '+parseInt(appCotinNumAPP)+'\n' +
' '+moneyFormatter(cardActAmountAPP)+'\n' +
'
\n' +
' - \n' +
' 微信公众号\n' +
' '+parseInt(appAddNumWX)+'\n' +
' '+parseInt(appCotinNumWX)+'\n' +
' '+moneyFormatter(cardActAmountWX)+'\n' +
'
\n' +
' - \n' +
' 平台\n' +
' '+parseInt(appAddNumPT)+'\n' +
' '+parseInt(appCotinNumPT)+'\n' +
' '+moneyFormatter(cardActAmountPT)+'' +
'
' +
'
';
$('#vipcardDetailCountByterminalResource').empty();
$('#vipcardDetailCountByterminalResource').append(html);
//-------------
var yearCardAmount = 0;
var yearCardAddNum = 0;
var yearCardCotinNum = 0;
//月卡
var monthCardAmount=0;
var monthCardAddNum = 0;
var monthCardCotinNum = 0;
//季卡
var quarterCardAmount=0;
var quarterCardAddNum = 0;
var quarterCardCotinNum = 0;
//其他
var otherCardAmount=0;
var otherCardAddNum = 0;
var otherCardCotinNum = 0;
$.each(data,function(index,res) {
if(res.cardType == '1' || res.cardType =='6') {
if (res.cardActAmount != null && res.cardActAmount != '' && res.cardActAmount != undefined) {
yearCardAmount += parseInt(res.cardActAmount);
}
if (res.orderType == '301') {
yearCardAddNum++;
} else if (res.orderType == '302'){
yearCardCotinNum++;
}
} else if (res.cardType =='4' || res.cardType =='7') {
if (res.cardActAmount != null && res.cardActAmount != '' && res.cardActAmount != undefined) {
monthCardAmount += parseInt(res.cardActAmount);
}
if (res.orderType == '301') {
monthCardAddNum++;
} else if (res.orderType == '302'){
monthCardCotinNum++;
}
} else if (res.cardType =='3'){
if (res.cardActAmount != null && res.cardActAmount != '' && res.cardActAmount != undefined) {
quarterCardAmount += parseInt(res.cardActAmount);
}
if (res.orderType == '301') {
quarterCardAddNum++;
} else if (res.orderType == '302'){
quarterCardCotinNum++;
}
}else{
if (res.cardActAmount != null && res.cardActAmount != '' && res.cardActAmount != undefined) {
otherCardAmount += parseInt(res.cardActAmount);
}
if (res.orderType == '301') {
otherCardAddNum++;
} else if (res.orderType == '302'){
otherCardCotinNum++;
}
}
//
});//each
var htmlStr='\n' +
' - \n' +
' 卡类型\n' +
' 新增(张)\n' +
' 续费(次)\n' +
' 实收(元)\n' +
'
\n' +
' - \n' +
' \n' +
'
年卡
\n' +
' \n' +
' '+(parseInt(yearCardAddNum))+'\n' +
' '+parseInt(yearCardCotinNum)+'\n' +
' '+moneyFormatter(parseInt(yearCardAmount))+'\n' +
' \n' +
' - \n' +
' \n' +
'
月卡
\n' +
' \n' +
' '+parseInt(monthCardAddNum)+'\n' +
' '+parseInt(monthCardCotinNum)+'\n' +
' '+moneyFormatter(parseInt(monthCardAmount))+'\n' +
' \n' +
' - \n' +
' \n' +
'
季卡
\n' +
' \n' +
' '+parseInt(quarterCardAddNum)+'\n' +
' '+parseInt(quarterCardCotinNum)+'\n' +
' '+moneyFormatter(parseInt(quarterCardAmount))+'\n' +
' \n' +
' - \n' +
' \n' +
'
其他
\n' +
' \n' +
' '+parseInt(otherCardAddNum)+'\n' +
' '+parseInt(otherCardCotinNum)+'\n' +
' '+moneyFormatter(parseInt(otherCardAmount))+'\n' +
' \n' +
'
';
$('#vipcardDetailCountBycardType').empty();
$('#vipcardDetailCountBycardType').html(htmlStr);
}
}//success
};
sysAjax(opt);
},
/*获取查询参数*/
getQueryParam: function() {
/*开始时间*/
var beginTime = null;
/*结束时间*/
var endTime = null;
/*解析时间*/
var beginTime = $('#vipsta-daydaterange-btnsta').val();
var endTime = $('#vipsta-daydaterange-btnend').val();
if(beginTime !="" && beginTime != null && beginTime != undefined){
beginTime = beginTime + " 00:00:00";
}
if(endTime !="" && endTime != null && endTime != undefined){
endTime = endTime+" 23:59:59";
}
var req = {
beginTime: beginTime,
endTime: endTime,
};
console.log(req);
return req;
},
//卡是否生效
cardStaFormatter: function(value, row, index) {
var returnStr="";
var date = new Date();
if(row.effDate == null) {
returnStr = '无效
'
} else {
if(row.effDate <= date.getTime() && date.getTime() <= row.expDate) {
returnStr = '生效
';
} else if(date.getTime() < row.effDate){
returnStr = '未生效
'
}else{
returnStr = '失效
'
}
}
if(row.effDate <= date.getTime() && date.getTime() <= row.expDate && row.orderType == 302) {
returnStr = '续费
';
}
return returnStr;
},
//交易类型
cardTypeFormatter: function(value, row, index) {
var returnStr="";
if(row.orderType == null || row.orderType == undefined || row.orderType == '') {
returnStr = '-'
}
else if(row.orderType == 302) {
returnStr = '续费
';
}
else if(row.orderType == 301) {
returnStr = '新增
';
}
else if(row.orderType == 303) {
returnStr = '变更车牌
';
}
else{
returnStr = '未知
';
}
return returnStr;
},
inDatatimeFormatter: function(value) {
if(value == null) {
return "";
} else {
return DateUtils.long2String(value, 1);
}
},
};
fun.init();
/**
* 自定义table AJAX请求
* @param {Object} params
*/
function tableLoadRequest(params) {
var req = fun.getQueryParam();
var plNos = $("#vipsta-transSelectPark").val();
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
//条件查询
req.baseRequest = {
pageNum: pageNum,
pageSize: params.data.limit
};
req.sysCode = sysComm.sysCode;
if(plNos != undefined && plNos != null){
req.plNos=JSON.parse(plNos);
}
var opt = {
method: 'post',
url: dataUrl.util.queryVipCardOrderDetailForPage(),
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效果,开始计时
$("#reportBtn").attr("disabled", "true");
$(".ITD-export-btn").css("width", "138px");
$("#reportBtn").val(curCount + "秒后可再次导出");
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
}
//timer处理函数
function SetRemainTime() {
if (curCount == 0) {
window.clearInterval(InterValObj);//停止计时器
$("#reportBtn").removeAttr("disabled");//启用按钮
$(".ITD-export-btn").css("width", "72px");
$("#reportBtn").val("导出");
}
else {
curCount--;
$("#reportBtn").val(curCount + "秒后可再次导出");
}
}
//导出excle
documentBindFunc.on('click','#reportBtn',function (){
//获取table所有行数据
var parkLot = $("#vipsta-table").bootstrapTable('getData');
//获取table总条数
var numTotal = $("#vipsta-table").bootstrapTable('getOptions').totalRows;
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;
}
if(numTotal>10000){
$('.ITD-alertmodel-contentmsg').text('数据量过大,请缩小查询范围!');
$('#ITD-tipsmodel').modal('show');
setTimeout(function () {
$('.ITD-alertmodel-contentmsg').text('');
$('#ITD-tipsmodel').modal('hide');
},3000);
return false;
}
//执行倒计时函数
sendMessage();
var url = dataUrl.util.exportVipOrderDetail();
var form = getForm(url);
form.submit();
});
//获取form表单
function getForm(url){
//;
var plNos = $("#vipsta-transSelectPark").val();
/*开始时间*/
var beginTime = null;
/*结束时间*/
var endTime = null;
/*解析时间*/
var beginTime = $('#vipsta-daydaterange-btnsta').val();
var endTime = $('#vipsta-daydaterange-btnend').val();
if(beginTime !="" && beginTime != null && beginTime != undefined){
beginTime = beginTime + " 00:00:00";
}
if(endTime !="" && endTime != null && endTime != undefined){
endTime = endTime+" 23:59:59";
}
var form = document.createElement("form");
form.style.display = 'none';
form.action = url;
form.method = "post";
document.body.appendChild(form);
var input = document.createElement("input");
input.name = "beginTime";
input.value = beginTime;
form.appendChild(input);
var input1 = document.createElement("input");
input1.name = "endTime";
input1.value = endTime;
form.appendChild(input1);
var input2 = document.createElement("input");
input2.name = "plNos";
input2.value = JSON.parse(plNos);
form.appendChild(input2);
return form;
}
//金额处理
function moneyFormatter(value){
if(value == 0 || value == undefined || value == null) {
return 0.00;
} else {
return(value / 100).toFixed(2);
}
};