/**
* Created by mac on 18/5/19.
*/
var fun = {
init: function () {
fun.dateInit();
fun.createTableData();
},
dateInit: function () {
$('#settle-daterange-btnsta').val(moment().subtract('days', 2).format('YYYY-MM-DD'));
$('#settle-daterange-btnend').val(moment().subtract('days', 2).format('YYYY-MM-DD'));
//开始日期
$("#settle-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"
})
$("#settle-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"
})
},
createTableData: function () {
//结算客户表格
$('#settle-table').bootstrapTable('destroy').bootstrapTable({
striped: true, //表格显示条纹
pagination: true, //启动分页
pageNumber: 1, //当前第几页
// showColumns: true,
pageSize: 5, //每页显示的记录数
//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: settleCustInfoRequest, //自定义ajax加载数据
uniqueId: 'id',
columns: [
{
field: 'custName',
title: '客户名称',
width: '10%',
visible: true,
align: "left",
formatter: function (value, row, index) {
// console.log(row.plNo)
return '
' +
'
' + commonObj.replacenull(value) + '
' +
'
'
}
},
{
field: 'settlementTotalFee',
title: '应结金额',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return '' +
'
' + commonObj.moneyFormatter(value) + '元
' +
'
'
}
},
{
field: 'servFee',
title: '服务费',
width: '10%',
align: "left",
formatter: function (value, row, index) {
var settlementTotalFee = row.settlementTotalFee == null ? 0 : row.settlementTotalFee;
var noSettleFee = row.noSettleFee == null ? 0 : row.noSettleFee;
var hasSettleFee = row.hasSettleFee == null ? 0 : row.hasSettleFee;
var ingSettleFee = row.ingSettleFee == null ? 0 : row.ingSettleFee;
var servFee = settlementTotalFee - noSettleFee - hasSettleFee - ingSettleFee;
return '' +
'
' +commonObj.moneyFormatter(servFee) + '元
' +
'
'
}
},
{
field: 'hasSettleFee',
title: '已结算金额',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return '' +
'
' + commonObj.moneyFormatter(value) + '元
' +
'
'
}
},
{
field: 'ingSettleFee',
title: '结算中金额',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return '' +
'
' + commonObj.moneyFormatter(value) + '元
' +
'
'
}
},
{
field: 'noSettleFee',
title: '未结算金额',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return '' +
'
' + commonObj.moneyFormatter(value) + '元
' +
'
'
}
},
{
field: 'price',
title: '操作',
width: '10%',
align: "left",
formatter: function (value, row, index) {
return '结算'
}
},
]
});
//结算记录表格
$('#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: 'toOrgName',
title: '客户名称',
width: '10%',
visible: true,
align: "left",
formatter: function (value, row, index) {
return '' + commonObj.replacenull(value) + '
'
}
},
{
field: 'settlementNo',
title: '结算单号',
width: '10%',
visible: true,
align: "left",
formatter: function (value, row, index) {
return '' + commonObj.replacenull(value) + '
'
}
},
{
field: 'settlementActFee',
title: '结算金额',
width: '10%',
align: "left",
formatter: function (value, row, index) {
var settlementActFee = row.settlementActFee == null ? 0 : row.settlementActFee;
settlementActFee = commonObj.moneyFormatter(settlementActFee);
return '' + settlementActFee + '元
'
}
},
{
field: 'settlementTotalFee',
title: '服务费',
width: '10%',
align: "left",
formatter: function (value, row, index) {
var settlementActFee = row.settlementActFee == null ? 0 : row.settlementActFee;
var settlementTotalFee = row.settlementActFee == null ? 0 : row.settlementTotalFee;
var servFee = commonObj.moneyFormatter(settlementTotalFee - settlementActFee);
return '' + servFee + '元
'
}
},
{
field: 'num',
title: '交易笔数',
width: '10%',
align: "left",
formatter: function (value, row, index) {
var aliChargeNum = row.aliChargeNum == null ? 0 : row.aliChargeNum ;
var wxChargeNum = row.wxChargeNum == null ? 0 : row.wxChargeNum ;
var balanceChargeNum = row.balanceChargeNum == null ? 0 : row.balanceChargeNum ;
var num = aliChargeNum + wxChargeNum + balanceChargeNum;
return '' + commonObj.numberFormatter(num) + '笔
'
}
},
{
field: 'settlementState',
title: '结算状态',
width: '10%',
align: "left",
formatter: function (value, row, index) {
if (value==null||value==undefined||value=='') {
return "-";
}
//结算单状态 100:未结算;200:收款组织已确认;300:已打款;400:已收款; -100:取消
if (value >= 300) {
return '已结算'
} else {
return '结算中'
}
}
},
{
field: 'oper',
title: '操作',
width: '10%',
align: "left",
formatter: function (value, row, index) {
var html = '查看 ';
//'结算单状态 100:未结算;200:收款组织已确认;300:已打款;400:已收款; -100:取消',
if(row.settlementState <300 ){
html+='打款'
}
return html;
}
},
]
});
},
//结算中汇总选中的条数及金额
summaryRowsFee: function () {
var rowsData = $("#settle-popMsgtable").bootstrapTable('getSelections');
var recordIds=[];
var settlementFee = 0;
$.each(rowsData, function (index, item) {
settlementFee += item.settlementActFee;
recordIds.push(item.recordId);
});
if (recordIds.length == 0 ){
return;
}
// $("#MonenyALL").text(fun.moneyFormatter(settlementFee));
// $("#footNum").text(rowsData.length);
var req = {
recordIDs:recordIds,
sysCode: sysComm.sysCode
};
var opt = {
method: 'post',
url: dataUrl.util.saveSettleBySettleRecordNos(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (res) {
if (res.code == '8888') {
if (res.data == true){
$('#settle-PopMsgModal').modal('hide');
fun.createTableData();
}
}
}
};
sysAjax(opt);
},
//弹窗 结算
popMsgCreatTableData: function (orgId) {
$('#settle-popMsgtable').bootstrapTable('destroy').bootstrapTable({
striped: true, //表格显示条纹
pagination: true, //启动分页
pageNumber: 1, //当前第几页
// showColumns: true,
pageSize: 10, //每页显示的记录数
pageList: [10, 15, 20], //记录数可选列表
sidePagination: 'server', //表示服务端分页
queryParamsType: 'limit',
queryParams:function (params) {
params.orgId= orgId;
return params;
},
method: 'POST', //请求方法
fixedColumns: true,
fixedNumber: 1,
leftFixedColumns: true,
leftFixedNumber: 3,
//rightFixedColumns: true,
//rightFixedNumber: 1,
// selectItemName: 'personCustName',
paginationPreText: '<',
paginationNextText: '>',
ajax: noSettleRecordRequest, //自定义ajax加载数据
uniqueId: 'id',
columns: [
[{
title: '',
checkbox: true,
align: 'center',
rowspan: 2,
valign: "middle",
width: '6%'
},
{
field: 'checkDate',
title: '时间',
align: 'left',
rowspan: 2,
valign: "middle",
//width: '20%'
formatter:commonObj.timeFormatter
},
{
field: 'orgName',
title: '客户名称',
align: 'left',
rowspan: 2,
valign: "middle",
formatter:commonObj.replacenull
},
{
field: 'chargeNum',
title: '交易笔数',
valign: "middle",
align: 'left',
rowspan: 2,
width: '10%',
formatter: function (value,row,index) {
var wxChargeNum = row.wxChargeNum == null?0:row.wxChargeNum;
var aliChargeNum = row.aliChargeNum == null?0:row.aliChargeNum;
var balanceChargeNum = row.balanceChargeNum ==null?0:row.balanceChargeNum;
return wxChargeNum+aliChargeNum+balanceChargeNum +'笔';
}
},
{
field: 'all',
title: '结算金额',
valign: "middle",
align: "center",
colspan: 4,
rowspan: 1,
formatter:commonObj.replacenull
},
// {
],
[
{
field: 'settlementActFee',
title: '合计',
width: '10%',
align: "left",
formatter:function (value,row,index) {
var settlementActFee = value ==null?0:value;
return commonObj.moneyFormatter(settlementActFee)+'元';
}
},
{
field: 'wxFee',
title: '微信',
width: '10%',
align: "left",
formatter: function (value,row,index) {
var wxFee = value ==null?0:value;
return commonObj.moneyFormatter(wxFee)+'元';
}
},
{
field: 'aliFee',
title: '支付宝',
width: '10%',
align: "left",
formatter: function (value,row,index) {
var aliFee = value ==null?0:value;
return commonObj.moneyFormatter(aliFee)+'元';
}
},
{
field: 'balanceFee',
title: '余额',
width: '10%',
align: "left",
formatter: function (value,row,index) {
var balanceFee = value ==null?0:value;
return commonObj.moneyFormatter(balanceFee)+'元';
}
},
],
]
});
},
//弹窗 查看
lookCreatTableData: function (settleNo) {
$('#settle-poptable').bootstrapTable('destroy').bootstrapTable({
striped: true, //表格显示条纹
pagination: true, //启动分页
pageNumber: 1, //当前第几页
// showColumns: true,
pageSize: 10, //每页显示的记录数
pageList: [10, 15, 20], //记录数可选列表
sidePagination: 'server', //表示服务端分页
queryParamsType: 'limit',
queryParams:function (params) {
params.settleNo= settleNo;
return params;
},
method: 'POST', //请求方法
fixedColumns: true,
fixedNumber: 1,
leftFixedColumns: true,
leftFixedNumber: 3,
//rightFixedColumns: true,
//rightFixedNumber: 1,
// selectItemName: 'personCustName',
paginationPreText: '<',
paginationNextText: '>',
ajax: settleOrderRecordRequest, //自定义ajax加载数据
uniqueId: 'id',
columns: [
[{
field: 'checkDate',
title: '时间',
valign: "middle",
align: 'left',
rowspan: 2,
//width: '20%'
formatter:commonObj.timeFormatter
},
{
field: 'orgName',
title: '客户名称',
align: 'left',
rowspan: 2,
valign: "middle",
formatter:commonObj.replacenull
},
{
field: 'chargeNum',
title: '交易笔数',
valign: "middle",
align: 'left',
rowspan: 2,
valign: "middle",
width: '10%',
formatter: function (value,row,index) {
var wxChargeNum = row.wxChargeNum == null?0:row.wxChargeNum;
var aliChargeNum = row.aliChargeNum == null?0:row.aliChargeNum;
var balanceChargeNum = row.balanceChargeNum ==null?0:row.balanceChargeNum;
return wxChargeNum+aliChargeNum+balanceChargeNum +'笔';
}
},
{
field: 'all',
title: '结算金额',
valign: "middle",
align: "center",
colspan: 4,
rowspan: 1,
formatter:commonObj.replacenull
},
{
field: 'settlementTotalFee',
title: '服务费',
valign: "middle",
align: 'left',
rowspan: 2,
valign: "middle",
width: '10%',
formatter:function (value,row,index) {
var settlementTotalFee = value ==null?0:value;
var settlementActFee = row.settlementActFee ==null?0:row.settlementActFee;
var servFee = settlementTotalFee - settlementActFee;
return commonObj.moneyFormatter(servFee)+'元';
}
},
],
[
{
field: 'settlementActFee',
title: '合计',
width: '10%',
align: "left",
formatter:function (value,row,index) {
var settlementActFee = value ==null?0:value;
return commonObj.moneyFormatter(settlementActFee)+'元';
}
},
{
field: 'wxFee',
title: '微信',
width: '10%',
align: "left",
formatter: function (value,row,index) {
var wxFee = value ==null?0:value;
return commonObj.moneyFormatter(wxFee)+'元';
}
},
{
field: 'aliFee',
title: '支付宝',
width: '10%',
align: "left",
formatter: function (value,row,index) {
var aliFee = value ==null?0:value;
return commonObj.moneyFormatter(aliFee)+'元';
}
},
{
field: 'balanceFee',
title: '余额',
width: '10%',
align: "left",
formatter: function (value,row,index) {
var balanceFee = value ==null?0:value;
return commonObj.moneyFormatter(balanceFee)+'元';
}
},
],
]
});
},
};
/**
* 结算客户信息资料
* @param params
*/
function settleCustInfoRequest(params) {
var startDate = $('#settle-daterange-btnsta').val();
var endDate = $('#settle-daterange-btnend').val();
if (null != startDate && startDate != '') {
startDate = startDate + ' 00:00:00';
startDate = new Date(startDate.replace(new RegExp(/-/gm), "/"))
}
if (null != endDate && endDate != '') {
endDate = endDate + ' 23:59:59';
endDate = new Date(endDate.replace(new RegExp(/-/gm), "/"))
}
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
var req = {
baseRequest: {
pageNum: pageNum,
pageSize: params.data.limit
},
sysCode: sysComm.sysCode,
startDate: startDate,
endDate: endDate
};
var opt = {
method: 'post',
url: dataUrl.util.querySettlementCustInfo(),
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);
}
/**
* 结算记录表格请求函数
* @param params
*/
function settleOrderTableRequest(params) {
var startDate = $('#settle-daterange-btnsta').val();
var endDate = $('#settle-daterange-btnend').val();
if (null != startDate && startDate != '') {
startDate = startDate + ' 00:00:00';
startDate = new Date(startDate.replace(new RegExp(/-/gm), "/"))
}
if (null != endDate && endDate != '') {
endDate = endDate + ' 23:59:59';
endDate = new Date(endDate.replace(new RegExp(/-/gm), "/"))
}
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
var req = {
baseRequest: {
pageNum: pageNum,
pageSize: params.data.limit
},
sysCode: sysComm.sysCode,
flag: true,
startDate: startDate,
endDate: endDate
};
var opt = {
method: 'post',
url: dataUrl.util.querySettlementListForPage(),
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);
}
/**
* 结算单查询函数
* @param params
*/
function settleOrderRecordRequest(params) {
var settlementNos = [];
settlementNos.push(params.data.settleNo);
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
var req = {
baseRequest: {
pageNum: pageNum,
pageSize: params.data.limit
},
settlementNos:settlementNos,
sysCode: sysComm.sysCode,
};
var opt = {
method: 'post',
url: dataUrl.util.querySettlementRecordListBySettleNO(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (res) {
if (res.code == '8888') {
params.success(res.data);
}
}
};
sysAjax(opt);
}
/**
* 未结算结算记录查询函数
* @param params
*/
function noSettleRecordRequest(params) {
var startDate = $('#settle-daterange-btnsta').val();
var endDate = $('#settle-daterange-btnend').val();
if (null != startDate && startDate != '') {
startDate = startDate + ' 00:00:00';
startDate = new Date(startDate.replace(new RegExp(/-/gm), "/"))
}
if (null != endDate && endDate != '') {
endDate = endDate + ' 23:59:59';
endDate = new Date(endDate.replace(new RegExp(/-/gm), "/"))
}
var orgIds = [];
orgIds.push(params.data.orgId);
//设置请求参数
var pageNum = (params.data.offset / params.data.limit) + 1;
var req = {
baseRequest: {
pageNum: pageNum,
pageSize: params.data.limit
},
orgIds:orgIds,
//核账结果状态:100-无差异;-100:有差异;200:已平账(以前有差异,已经处理了);300:已核账;400:已结算
status:[100,200,300],
sysCode: sysComm.sysCode,
startDate: startDate,
endDate: endDate
};
var opt = {
method: 'post',
url: dataUrl.util.querySettlementRecordByStatusForOrgId(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (res) {
if (res.code == '8888') {
params.success(res.data);
}
}
};
sysAjax(opt);
}
/**
* 打款确认提交代码
* @param settleNo
*/
function settleSubmit(settleNo){
var req = {
settlementNo:settleNo,
//核账结果状态:100-无差异;-100:有差异;200:已平账(以前有差异,已经处理了);300:已核账;400:已结算
settlementStates:400,
sysCode: sysComm.sysCode,
};
var opt = {
method: 'post',
url: dataUrl.util.updateSettleStatusBySettleNo(),
data: JSON.stringify(req),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (res) {
if (res.code == '8888') {
if(res.data == true){
fun.createTableData()
$('#settle_Msg').modal('hide');
}
}
}
};
sysAjax(opt);
}
fun.init();
//查询
documentBindFunc.on('click', '#settle-queryBtn', function () {
fun.createTableData();
});
//结算 弹窗
documentBindFunc.on('click', '.settlePopMsg', function () {
var orgId = $(this).data('orgid');
fun.popMsgCreatTableData(orgId);
$('#settle-PopMsgModal').modal('show');
});
//查看 弹窗
documentBindFunc.on('click', '.settleLookMsg', function () {
var settleNo = $(this).data('settelno');
fun.lookCreatTableData(settleNo);
$('#settle-lookModal').modal('show');
});
//结算确认提交按钮
documentBindFunc.on('click', '#settlepop-submit', function () {
fun.summaryRowsFee();
});
//打款 弹窗
documentBindFunc.on('click', '.settleMsg', function () {
var settleNo = $(this).data('settelno');
$('#settle_msg_no').val(settleNo);
$('#settle_Msg').modal('show');
});
// 打款确认响应函数
documentBindFunc.on('click','#settleMsg_submit',function () {
var settleNo = $('#settle_msg_no').val();
settleSubmit(settleNo);
});