/**
* Created by mac on 18/5/19.
*/
var fun = {
init:function () {
//fun.initParkBlock();
//收费员初始化
$('#tollincome-person').selectpicker('render');
commSelect.area_Pl_LinkedSelect("#tollincome-plAreaBlockIds", "#tollincome-parkIds",null,"",1);
//块下拉框变化,停车场下拉框变化
//fun.queryBlockChange();
//停车场下拉框变化,收费员下拉框变化
fun.queryParkChange();
fun.initChargerSelect();
fun.dateInit();
fun.monthdateInit();
fun.createTableData();
fun.incomecasierTotal();
},
dateInit:function () {
// 日
$('#temtob-daterange-btnsta').val(moment().subtract('days', 1).format('YYYY-MM-DD'));
$('#temtob-daterange-btnend').val(moment().subtract('days', 1).format('YYYY-MM-DD'));
//开始日期
$("#temtob-daterange-btnsta").datetimepicker({
endDate: moment().subtract('days', 1).format('YYYY-MM-DD'),
format: 'yyyy-mm-dd',
autoclose: true,
startView: 2,
minView: 2,
forceParse: false,
locale: "zh-CN",
language: 'zh-CN',
pickerPosition: "bottom-right"
});
$("#temtob-daterange-btnend").datetimepicker({
endDate: moment().subtract('days', 1).format('YYYY-MM-DD'),
//startDate:startVal,
format: 'yyyy-mm-dd',
weekStart: 1,
autoclose: true,
startView: 2,
minView: 2,
forceParse: false,
locale: "zh-CN",
language: 'zh-CN',
pickerPosition: "bottom-right"
});
},
monthdateInit: function () {
/** 月 时间初始化 **/
$('#temtob-monthdaterange-btnsta').val(moment().subtract('months', 1).format('YYYY-MM'));
$('#temtob-monthdaterange-btnend').val(moment().subtract('months', 1).format('YYYY-MM'));
//开始日期
$("#temtob-monthdaterange-btnsta").datetimepicker({
endDate: moment().subtract('months', 1).format('YYYY-MM'),
format: 'yyyy-mm',
autoclose: true,
startView: 3,
//maxDate:moment().subtract('months', 3),
minView: 3,
forceParse: false,
locale: "zh-CN",
language: 'zh-CN',
pickerPosition: "bottom-right"
})
//结束日期
$("#temtob-monthdaterange-btnend").datetimepicker({
endDate: moment().subtract('months', 1).format('YYYY-MM'),
//startDate:startVal,
format: 'yyyy-mm',
weekStart: 1,
autoclose: true,
startView: 3,
minView: 3,
forceParse: false,
locale: "zh-CN",
language: 'zh-CN',
pickerPosition: "bottom-right"
})
},
//停车区域-块
initParkBlock: function () {
var data = fn.getParkBlock();
var html = '';
var htmls = '';
var blockIds = [-1];
for (var i = 0; i < data.length; i++) {
blockIds.push(data[i].code);
html += "";
}
var blockIdsStr = JSON.stringify(blockIds);
htmls = '' + html;
$("#tollincome-plAreaBlockIds").empty();
$("#tollincome-plAreaBlockIds").append(htmls);
$('#tollincome-plAreaBlockIds').selectpicker('render');
//加载下拉框
fun.initParkSelect();
},
//根据块信息查询停车场信息
initParkSelect:function(){
//停车场下拉框
var data = fun.getParkingLotMsg();
var htmls = '';
var html = '';
var plNos = [];
for (var i = 0; i < data.length; i++) {
plNos.push(data[i].plNo);
html += "";
}
var plnosStr = JSON.stringify(plNos);
htmls = '' + html;
$("#tollincome-parkIds").empty();
$("#tollincome-parkIds").append(htmls);
$('#tollincome-parkIds').selectpicker('refresh');
/*$("#parkIds1").empty();
$("#parkIds1").append(htmls);
$('#parkIds1').selectpicker('refresh');*/
//收费员初始化
fun.initChargerSelect();
},
//根据停车场编号查询收费员信息
initChargerSelect:function(){
//停车场下拉框
var data = fun.getChargerMsg();
var htmls = '';
var html = '';
var chargerCodes = [];
for (var i = 0; i < data.length; i++) {
chargerCodes.push(data[i].chargerCode);
html += "";
}
var chargerCodesStr = JSON.stringify(chargerCodes);
htmls = '' + html;
$("#tollincome-person").empty();
$("#tollincome-person").append(htmls);
$('#tollincome-person').selectpicker('refresh');
},
getParkingLotMsg:function(){
var plAreaBlockIds;
plAreaBlockIds = JSON.parse($("#tollincome-plAreaBlockIds").val());
var parkLot = "";
var req = {
sysCode:sysComm.sysCode,
areaBlockIds: plAreaBlockIds
};
var opt = {
async: false,
data:JSON.stringify(req),
method: "POST",
//contentType:"application/x-www-form-urlencoded; charset=UTF-8",
url: dataUrl.util.getParkListByBlockIds(),
success: function (res) {
if (res.code == '8888') {
parkLot = JSON.stringify(res.data);
}
}
}
sysAjax(opt);
return JSON.parse(parkLot);
},
getChargerMsg:function(){
var plNos;
plNos = JSON.parse($("#tollincome-parkIds").val());
var plNo = "";
// if (plNos.length > 1) {
// plNo = "";
// } else {
// plNo = plNos[0];
// }
var chargers = "";
var req = {
baseRequest:{pageNum: 1, pageSize: 1000},
plNo: plNo,
parkAreaCode: "",
groupCode: "",
onduty: "",
status: "",
nameOrNo: "",
// chargerCodes:fn.getChargerCodes(),
orgId:fn.getOrgId(),
sysCode: sysComm.sysCode
};
var opt = {
async: false,
data:JSON.stringify(req),
method: "POST",
url: dataUrl.util.queryCashierListInfo(),
success: function (res) {
if (res.code == '8888') {
chargers = JSON.stringify(res.data.rows);
}
}
}
sysAjax(opt);
return JSON.parse(chargers);
},
//块改变查询停车场
queryBlockChange:function(){
$("#tollincome-plAreaBlockIds").change(function(){
fun.initParkSelect();
});
},
//停车场改变查询收费员
queryParkChange:function(){
$("#tollincome-parkIds").change(function(){
fun.initChargerSelect();
});
},
//结算记录表格
createTableData: function () {
$('#recordtable').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: settleOrderTableRequest, //自定义ajax加载数据
uniqueId: 'id',
columns: [
{
field: 'staticDateStr',
title: '时间',
width: '10%',
visible: true,
align: "left",
formatter: function (value, row, index) {
return '
' + commonObj.replacenull(value) + '
'
}
},
{
field: 'sourceName',
title: '收费员名称',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return '' + commonObj.replacenull(value) + '
'
}
},
{
field: 'plName',
title: '车场名称',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return '' + commonObj.replacenull(value) + '
'
}
},
{
field: 'plType',
title: '车场类型',
width: '10%',
visible: false,
align: "left",
formatter: function (value, row, index) {
var result = "";
if(value==1){
result = "路侧";
}else{
result = "封闭";
}
return '' + commonObj.replacenull(result) + '
'
}
},
{
field: 'berthRangeName',
title: '泊位区间',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return '' + commonObj.replacenull(value) + '
'
}
},
{
field: 'actFee',
title: '总收入',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return '' + commonObj.moneyFormatter(value) + '
'
}
},
{
field: 'errorOrderNum',
title: '异常订单数',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return '' + fun.numberFormatter(value) + '
'
}
},
{
field: 'errorFee',
title: '异常金额',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return '' + commonObj.moneyFormatter(value) + '
'
}
},
{
field: 'backActFee',
title: '补缴收入',
width: '10%',
visible: false,
align: "left",
formatter: function (value, row, index) {
return '' + commonObj.moneyFormatter(value) + '
'
}
},
]
});
},
/*获取查询参数*/
getQueryParam: function () {
var plBlockIds = JSON.parse($("#tollincome-plAreaBlockIds").val());
var plNos = [];
var plnos = $("#tollincome-parkIds").val();
if(plnos==null||plnos==''){
plNos.push("-1X");
}
else{
plNos = JSON.parse(plnos);
}
var chargerCodes = [];
var chargercodes = $("#tollincome-person").val();
if(chargercodes==null||chargercodes==''){
chargerCodes.push("-1X");
}
else{
chargerCodes = JSON.parse(chargercodes);
}
if(chargerCodes.length ==0){
chargerCodes = null;
}
var reportDate,reportDateEnd,TabTag;
if($('#tollIncomeType').val()==1){
reportDate = $("#temtob-daterange-btnsta").val();
reportDateEnd = $("#temtob-daterange-btnend").val();
TabTag=0;
}else {
reportDate = $("#temtob-monthdaterange-btnsta").val();
reportDateEnd = $("#temtob-monthdaterange-btnend").val();
TabTag=4;
}
var req = {
sysCode: sysComm.sysCode,
plNos: plNos,
reportDate: reportDate,
reportDateEnd: reportDateEnd,
sourceCodes:chargerCodes,
reportTabTag: TabTag
};
return req;
},
//初始化
initDatas: function () {
$("[id$='Num']").html(fun.numberFormatter(0));
$("[id$='Fee']").html(fun.moneyFormatter(0));
},
//汇总查询
incomecasierTotal: function (reportTabTag) {
//初始化
fun.initDatas();
var req = fun.getQueryParam();
var opt = {
async: false,
method: 'post',
url: dataUrl.util.queryIncomeParkSourceForTotal(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (res) {
if ("8888" == res.code) {
var data = res.data;
//开始渲染汇总数据
var orderActFeeTotal = 0;
var abnormalOrderNum = 0;
var abnormalActFeeTotal = 0;
var chargerNum = 0;
//明细
$.each(data, function (index, row) {
if (row.plType == 1) {
orderActFeeTotal += row.orderActFeeTotal;
chargerNum += row.chargerNum;
$("#outTotalFee").text(fun.moneyFormatter(row.orderActFeeTotal));
$("#outChargerNum").text(fun.numberFormatter(row.chargerNum));
abnormalActFeeTotal += row.abnormalActFeeTotal;
$("#outAbnormalActFee").text(fun.moneyFormatter(row.abnormalActFeeTotal));
abnormalOrderNum += row.abnormalOrderNum;
$("#outAbnormalOrderNum").text(fun.numberFormatter(row.abnormalOrderNum));
}
else if (row.plType == 2) {
orderActFeeTotal += row.orderActFeeTotal;
chargerNum += row.chargerNum;
$("#inTotalFee").text(fun.moneyFormatter(row.orderActFeeTotal));
$("#inChargerNum").text(fun.numberFormatter(row.chargerNum));
abnormalActFeeTotal += row.abnormalActFeeTotal;
$("#inAbnormalActFee").text(fun.moneyFormatter(row.abnormalActFeeTotal));
abnormalOrderNum += row.abnormalOrderNum;
$("#inAbnormalOrderNum").text(fun.numberFormatter(row.abnormalOrderNum));
}
$("#allTotalFee").text(fun.moneyFormatter(orderActFeeTotal));
$("#allChargerNum").text(fun.numberFormatter(chargerNum));
$("#allAbnormalActFee").text(fun.moneyFormatter(abnormalActFeeTotal));
$("#allAbnormalOrderNum").text(fun.numberFormatter(abnormalOrderNum));
});
}
}
};
sysAjax(opt);
},
//金额格式化
moneyFormatter: function (value) {
// console.log(typeof value)
if (value == 0 || value == undefined || value == null) {
return "0.00";
} else {
return (value / 100).toFixed(2);
}
},
//字符串格式化
strFormatter: function (value) {
// console.log(typeof value)
if ( value == undefined || value == null) {
return "-";
} else {
return value;
}
},
//金额格式化
numberFormatter: function (value) {
// console.log(typeof value)
if (value == 0 || value == undefined || value == null) {
return 0;
} else {
return parseInt(value);
}
},
//导出函数
exportChargerStaticExcel:function(){
//校验日期
var url = "";
var req = fun.getQueryParam();
if(req.sourceCodes == null || req.sourceCodes.length == 0){
url = dataUrl.util.exportIncomeParkSourceEveryDayForPage() + '?reportTabTag=' + req.reportTabTag + '&reportDate=' + req.reportDate + '&reportDateEnd=' + req.reportDateEnd + '&plNos=' + req.plNos + '&sourceCodes=&sysCode='+sysComm.sysCode;
}else{
url = dataUrl.util.exportIncomeParkSourceEveryDayForPage() + '?reportTabTag=' + req.reportTabTag + '&reportDate=' + req.reportDate + '&reportDateEnd=' + req.reportDateEnd + '&plNos=' + req.plNos + '&sourceCodes=' + req.sourceCodes +'&sysCode='+sysComm.sysCode;
}
window.downloadFile(url);
},
};
//日月切换 点击事件s
//日 点击
documentBindFunc.on('click', '#temtobdaytype', function () {
$('.bill-choosedateday').removeClass('display-none');
$('.bill-choosedatemonth').addClass('display-none');
$('#temtobmonthtype').removeClass('ITD-graynav-topbaractive');
$('#temtobdaytype').addClass('ITD-graynav-topbaractive');
$('#tollIncomeType').attr('data-value', '1');
$("#tollIncomeType").val(1);
fun.createTableData();
fun.incomecasierTotal();
});
//月 点击
documentBindFunc.on('click', '#temtobmonthtype', function () {
$('.bill-choosedatemonth').removeClass('display-none');
$('.bill-choosedateday').addClass('display-none');
$('#temtobdaytype').removeClass('ITD-graynav-topbaractive');
$('#temtobmonthtype').addClass('ITD-graynav-topbaractive');
$('#tollIncomeType').attr('data-value', '2');
$("#tollIncomeType").val(2);
fun.createTableData();
fun.incomecasierTotal();
});
//导出
var InterValObj; //timer变量,控制时间
var count = 8; //间隔函数,1秒执行
var curCount;//当前剩余秒数
function sendMessage() {
curCount = count;
//设置button效果,开始计时
$("#tollincomereportBtn").attr("disabled", "true");
$(".ITD-export-btn").css("width", "138px");
$("#tollincomereportBtn").val(curCount + "秒后可再次导出");
InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
}
//timer处理函数
function SetRemainTime() {
if (curCount == 0) {
window.clearInterval(InterValObj);//停止计时器
$("#tollincomereportBtn").removeAttr("disabled");//启用按钮
$(".ITD-export-btn").css("width", "72px");
$("#tollincomereportBtn").val("导出");
}
else {
curCount--;
$("#tollincomereportBtn").val(curCount + "秒后可再次导出");
}
}
//导出excle
documentBindFunc.on('click','#tollincomereportBtn',function (){
//获取table所有行数据
var parkLot = $("#recordtable").bootstrapTable('getData');
//获取table总条数
var numTotal = $("#recordtable").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;
}
//超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;
}
//执行倒计时函数
sendMessage();
fun.exportChargerStaticExcel();
});
/**
* 结算记录表格请求函数
* @param params
*/
function settleOrderTableRequest(params) {
var req = fun.getQueryParam();
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
req .baseRequest= {
pageNum: pageNum,
pageSize: params.data.limit
};
var opt = {
async: false,
method: 'post',
url: dataUrl.util.queryParkChargerIncomeForPage(),
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);
}
fun.init();
//查询
documentBindFunc.on('click', '#temtob-queryBtn', function () {
fun.createTableData();
fun.incomecasierTotal();
});
//导出功能
window.downloadFile = function (sUrl) {
//iOS devices do not support downloading. We have to inform user about this.
if (/(iP)/g.test(navigator.userAgent)) {
alert('Your device does not support files downloading. Please try again in desktop browser.');
return false;
}
//If in Chrome or Safari - download via virtual link click
if (window.downloadFile.isChrome || window.downloadFile.isSafari) {
//Creating new link node.
var link = document.createElement('a');
link.href = sUrl;
if (link.download !== undefined) {
//Set HTML5 download attribute. This will prevent file from opening if supported.
var fileName = sUrl.substring(sUrl.lastIndexOf('/') + 1, sUrl.length);
link.download = fileName;
}
//Dispatching click event.
if (document.createEvent) {
var e = document.createEvent('MouseEvents');
e.initEvent('click', true, true);
link.dispatchEvent(e);
return true;
}
}
// Force file download (whether supported by server).
if (sUrl.indexOf('?') === -1) {
sUrl += '?download';
}
window.open(sUrl, '_self');
return true;
}
window.downloadFile.isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
window.downloadFile.isSafari = navigator.userAgent.toLowerCase().indexOf('safari') > -1;