Files
zszq-trs/YLErpWeb/wwwroot/Scripts/app/credit/creditList.js
T
2024-05-09 14:06:26 +08:00

530 lines
22 KiB
JavaScript

function isAuthorize(roleId) {
return roleId && pageObj.roles.some(x => x === roleId);
}
function setGridWidth($grid) {
let $p = $grid.closest('.ui-jqgrid').parent() || $(".page-content");
let width = $p.width();
if ($p.is(".page-content")) {
width -= 28;
}
$grid.jqGrid('setGridWidth', width);
}
var _jqgridMgr;
//子公司给予客户的授信额度
const jqgrid1Mgr = (new function () {
this.gridId = "listGrid1";
this.addurl = "/credit/creditEdit";
function gridComplete() {
$('.ui-jqgrid-bdiv', '#gbox_listGrid1').floatingScroll();
var systemDate = new Date(pageObj.systemDate);
var systemDate2 = new Date(pageObj.systemDate);
var soonDate = new Date(systemDate2.setDate(systemDate2.getDate() + 1));
var ids = $("#listGrid1").getDataIDs();
for (var i = 0; i < ids.length; i++) {
var rowData = $("#listGrid1").getRowData(ids[i]);
if (rowData.ProcessStatus === "已审批") {
var rdate = new Date(rowData.CreditDeadLine.replace("-", "/") + " 0:00:00");
if (systemDate > rdate) {
$('#' + ids[i]).addClass("passDeadline");
}
else if (soonDate.toLocaleString() === rdate.toLocaleString() || systemDate.toLocaleString() == rdate.toLocaleString()) {
$('#' + ids[i]).addClass("meetDeadline");
}
}
}
}
this.deletecredit = function (encryptId) {
main.confirmPost("确定删除吗?", "/credit/Deletecredit", { id: encryptId, d: new Date() }).done(function (resp) {
$('#listGrid1').trigger('reloadGrid');
});
};
this.startcreditEdit = function (id) {
var srcurl = "/credit/creditEdit?enid=" + id;
main.infopage("修改授信", srcurl);
};
this.passorreject = function (eid) {
var url = "/processlog/processlogCreditListInner?eid=" + eid;
main.open("审批", url);
};
this.processlog = function (id) {
var url = "/processlog/CreditLogList?id=" + id;
main.open("操作历史", url, { area: ['1300px', '85%'] });
};
function showToolName(cellValue, options, rowObject) {
var html = "";
if (rowObject.ProcessStatus === '未审批' || rowObject.ProcessStatus === '已拒绝') {
if (pageObj.canOperate) {
html += '<input type="button" class="wentiEdit" title="删除" onclick="jqgrid1Mgr.deletecredit(\''
+ rowObject.EncryptId + '\')" value="删除" />';
}
} else {
if (isAuthorize(rowObject.ProcessRoleId)) {
html += '<input type="button" class="wentiEdit" title="审批" onclick="jqgrid1Mgr.passorreject(\'' + rowObject.id + '\')" value="审批" />';
} else {
html += '<input type="button" class="wentiEdit" title="审批" disabled="disabled" value="审批" />';
}
}
if (pageObj.canOperate) {
html += '<input type="button" class="wentiEdit" title="修改授信信息" onclick="jqgrid1Mgr.startcreditEdit(\'' + rowObject.EncryptId + '\')" value="修改" />';
}
html += '<input type="button" class="wentiEdit" title="授信日志列表" onclick="jqgrid1Mgr.processlog(\'' + rowObject.id + '\')" value="查看" />';
return html;
}
function jqgrid_init() {
var colModelGrid = [{
name: 'id', label: 'id', index: 'id', width: 1, align: 'left', hidden: true
}, {
name: 'EncryptId', label: 'EncryptId', index: 'EncryptId', width: 0, align: 'left', hidden: true
}, {
name: 'ProcessStatus', label: '审批状态', index: 'ProcessStatus', width: 110, align: 'center'
}, {
name: 'ProcessRoleName', label: '审批角色', index: 'ProcessRoleName', width: 110, align: 'center',
}, {
name: 'ClientNumber', label: '客户编号', index: 'ClientNumber', width: 110, align: 'center',
}, {
name: 'ClientName', label: '客户名称', index: 'ClientName', width: 220, align: 'center'
}];
if (pageObj.UseClientStockEqvNotional) {
colModelGrid = colModelGrid.concat([{
name: 'StockEqvNotional', label: '名义本金规模', index: 'StockEqvNotional', width: 110, align: 'right', formatter: 'number'
}, {
name: 'AuditStockEqvNotional', label: '名义本金审批规模', index: 'AuditStockEqvNotional', width: 110, align: 'right', formatter: 'number'
}]);
}
colModelGrid = colModelGrid.concat([{
name: 'Credit', label: '授信额度', index: 'Credit', width: 110, align: 'right', formatter: 'number'
}, {
name: 'AuditCredit', label: '授信审批规模', index: 'AuditCredit', width: 110, align: 'right', formatter: 'number'
}, {
name: 'CreditStartDate', label: '生效日期', index: 'CreditStartDate', width: 110, align: 'center', formatter: 'date'
}, {
name: 'CreditDeadLine', label: '到期日期', index: 'CreditDeadLine', width: 110, align: 'center', formatter: 'date'
}, {
name: 'OptDate', label: '操作时间', index: 'OptDate', width: 150, align: 'center'
}, {
name: 'Comments', label: '说明', index: '', width: 160, align: 'center', sortable: false
}, {
name: 'CreatorName', label: '创建人', index: 'OptName', width: 110, align: 'center',
}, {
name: 'OptName', label: '操作人', index: 'OptName', width: 110, align: 'center',
}, {
name: '', label: '操作', index: '', width: 200, align: 'center', formatter: showToolName, sortable: false
}]);
if (pageObj.Company == "中金") {
colModelGrid = [{
name: 'id', label: 'id', index: 'id', width: 1, align: 'left', hidden: true
}, {
name: 'EncryptId', label: 'EncryptId', index: 'EncryptId', width: 0, align: 'left', hidden: true
}, {
name: 'ProcessStatus', label: '审批状态', index: 'ProcessStatus', width: 110, align: 'center'
}, {
name: 'ProcessRoleName', label: '审批角色', index: 'ProcessRoleName', width: 110, align: 'center',
}, {
name: 'ClientNumber', label: '客户编号', index: 'ClientNumber', width: 110, align: 'center',
}, {
name: 'ClientName', label: '客户名称', index: 'ClientName', width: 220, align: 'center'
}, {
name: 'StockEqvNotional', label: '名义本金规模', index: 'StockEqvNotional', width: 110, align: 'right', formatter: 'number'
}, {
name: 'AuditStockEqvNotional', label: '名义本金审批规模', index: 'AuditStockEqvNotional', width: 110, align: 'right', formatter: 'number'
}, {
name: 'Credit', label: '授信额度', index: 'Credit', width: 110, align: 'right', formatter: 'number'
}, {
name: 'PFECredit', label: 'PFE授信', index: 'PFECredit', width: 110, align: 'right', formatter: 'number'
}, {
name: 'IMCredit', label: 'IM授信', index: 'IMCredit', width: 110, align: 'right', formatter: 'number'
}, {
name: 'DeductStockEqvNotional', label: '抵扣名义本金额度', index: 'DeductStockEqvNotional', width: 110, align: 'right', formatter: 'number'
}, {
name: 'MarginLimit', label: '最小转账金额', index: 'MarginLimit', width: 110, align: 'right', formatter: 'number'
}, {
name: 'AuditCredit', label: '授信审批规模', index: 'AuditCredit', width: 110, align: 'right', formatter: 'number'
}, {
name: 'CreditStartDate', label: '生效日期', index: 'CreditStartDate', width: 110, align: 'center', formatter: 'date'
}, {
name: 'CreditDeadLine', label: '到期日期', index: 'CreditDeadLine', width: 110, align: 'center', formatter: 'date'
}, {
name: 'OptDate', label: '操作时间', index: 'OptDate', width: 150, align: 'center'
}, {
name: 'Comments', label: '说明', index: '', width: 160, align: 'center', sortable: false
}, {
name: 'OptName', label: '操作人', index: 'OptName', width: 110, align: 'center',
}, {
name: '', label: '操作', index: '', width: 200, align: 'center', formatter: showToolName, sortable: false
}];
}
var options = {
url: '/credit/creditQuery',
datatype: 'json',
height: 'auto',
width: '100%',
autowidth: false,
shrinkToFit: false,
viewrecords: true,
jsonReader: { repeatitems: false },
cmTemplate: { align: 'center', width: 120 },
mtype: 'POST',
postData: { Type: pageObj.ClientType },
ondblClickRow(rowid) {
var rowData = $(this).getRowData(rowid);
var srcurl = "/credit/creditView?enid=" + rowData.EncryptId;
main.infopage("查看授信", srcurl);
},
colModel: colModelGrid,
pager: $('#pagerGrid1'),
pagerpos: 'left',
rowNum: 20,
rowList: [20, 30, 50, 200, 10000],
loadComplete: gridComplete,
footerrow: false
};
let $grid = $('#listGrid1').jqGrid(options);
setGridWidth($grid);
return $grid;
}
var _jqgrid;
this.show = function () {
!_jqgrid && (_jqgrid = jqgrid_init());
$("#ProcessStatus").parents(".search-group").show();
_jqgridMgr = this;
history.replaceState(null, null, '/credit/creditList?tab=1');
};
}());
//客户给予子公司的授信额度
const jqgrid2Mgr = (new function () {
this.gridId = "listGrid2";
this.addurl = "/credit/CreditFromClientEdit";
function gridComplete() {
$('.ui-jqgrid-bdiv', '#gbox_listGrid2').floatingScroll();
var systemDate = new Date(pageObj.systemDate);
var systemDate2 = new Date(pageObj.systemDate);
var soonDate = new Date(systemDate2.setDate(systemDate2.getDate() + 1));
var ids = $("#listGrid2").getDataIDs();
for (var i = 0; i < ids.length; i++) {
var rowData = $("#listGrid2").getRowData(ids[i]);
var rdate = new Date(rowData.CreditDeadLine.replace("-", "/") + " 0:00:00");
if (systemDate > rdate) {
$('#' + ids[i]).addClass("passDeadline");
}
else if (soonDate.toLocaleString() === rdate.toLocaleString() || systemDate.toLocaleString() == rdate.toLocaleString()) {
$('#' + ids[i]).addClass("meetDeadline");
}
}
}
this.deletecredit = function (encryptId) {
main.confirmPost("确定删除吗?", "/credit/DeleteCreditFromClient", { id: encryptId, d: new Date() }).done(function (resp) {
$('#listGrid2').trigger('reloadGrid');
});
};
this.startcreditEdit = function (id) {
var srcurl = "/credit/CreditFromClientEdit?enid=" + id;
main.infopage("修改授信", srcurl);
};
function showToolName(cellValue, options, rowObject) {
if (pageObj.canOperate) {
var html = "<input type=\"button\" class=\"wentiEdit\" title='删除' onclick=\"jqgrid2Mgr.deletecredit('{0}')\" value=\"{1}\" />"
.template(rowObject.EncryptId, "删除");
html += "<input type=\"button\" class=\"wentiEdit\" title='修改授信信息' onclick=\"jqgrid2Mgr.startcreditEdit('{0}')\" value=\"{1}\" />"
.template(rowObject.EncryptId, "修改");
return html;
}
else {
return "";
}
}
function jqgrid_init() {
var colModelGrid = [{
name: 'id', label: 'id', index: 'id', width: 1, align: 'left', hidden: true
}, {
name: 'EncryptId', label: 'EncryptId', index: 'EncryptId', width: 0, align: 'left', hidden: true
}, {
name: 'ClientNumber', label: '客户编号', index: 'ClientNumber', width: 110, align: 'center',
}, {
name: 'ClientName', label: '客户名称', index: 'ClientName', width: 220, align: 'center'
}, {
name: 'Credit', label: '授信额度', index: 'Credit', width: 110, align: 'right', formatter: 'number'
}, {
name: 'CreditStartDate', label: '生效日期', index: 'CreditStartDate', width: 110, align: 'center', formatter: 'date'
}, {
name: 'CreditDeadLine', label: '到期日期', index: 'CreditDeadLine', width: 110, align: 'center', formatter: 'date'
}, {
name: 'OptDate', label: '操作时间', index: 'OptDate', width: 150, align: 'center'
}, {
name: 'Comments', label: '说明', index: '', width: 160, align: 'center', sortable: false
}, {
name: 'CreatorName', label: '创建人', index: 'OptName', width: 110, align: 'center',
}, {
name: 'OptName', label: '操作人', index: 'OptName', width: 110, align: 'center',
}, {
name: '', label: '操作', index: '', width: 200, align: 'center', formatter: showToolName, sortable: false
}];
var options = {
url: '/credit/CreditFromClientQuery',
datatype: 'json',
height: 'auto',
width: '90%',
autowidth: false,
shrinkToFit: false,
viewrecords: true,
jsonReader: { repeatitems: false },
cmTemplate: { align: 'center', width: 120 },
mtype: 'POST',
postData: { Type: pageObj.ClientType },
ondblClickRow(rowid) {
var rowData = $(this).getRowData(rowid);
var srcurl = "/credit/CreditFromClientView?enid=" + rowData.EncryptId;
main.infopage("查看授信", srcurl);
},
colModel: colModelGrid,
pager: jQuery('#pagerGrid2'),
pagerpos: 'left',
rowNum: 20,
rowList: [20, 30, 50, 200, 10000],
loadComplete: gridComplete,
footerrow: false
};
let $grid = $('#listGrid2').jqGrid(options);
setGridWidth($grid);
return $grid;
}
var _jqgrid;
this.show = function () {
!_jqgrid && (_jqgrid = jqgrid_init());
$("#ProcessStatus").parents(".search-group").hide();
_jqgridMgr = this;
history.replaceState(null, null, '/credit/creditList?tab=2');
};
}());
//(瑞达)日内授信
const jqgrid3Mgr = (new function () {
this.gridId = "listGrid3";
this.addurl = "/credit/creditIntradayEdit";
function gridComplete() {
$('.ui-jqgrid-bdiv', '#gbox_listGrid3').floatingScroll();
var systemDate = new Date(pageObj.systemDate);
var systemDate2 = new Date(pageObj.systemDate);
var soonDate = new Date(systemDate2.setDate(systemDate2.getDate() + 1));
var ids = $("#listGrid3").getDataIDs();
for (var i = 0; i < ids.length; i++) {
var rowData = $("#listGrid3").getRowData(ids[i]);
var rdate = new Date(rowData.CreditDeadLine.replace("-", "/") + " 0:00:00");
if (systemDate > rdate) {
$('#' + ids[i]).addClass("passDeadline");
}
else if (soonDate.toLocaleString() === rdate.toLocaleString() || systemDate.toLocaleString() === rdate.toLocaleString()) {
$('#' + ids[i]).addClass("meetDeadline");
}
}
}
this.deletecredit = function (encryptId) {
main.confirmPost("确定删除吗?", "/credit/DeleteCreditIntraday", { id: encryptId, d: new Date() }).done(function (resp) {
$('#listGrid3').trigger('reloadGrid');
});
};
this.startcreditEdit = function (id) {
var srcurl = "/credit/creditIntradayEdit?enid=" + id;
main.infopage("修改授信", srcurl);
};
function showToolName(cellValue, options, rowObject) {
var html = "<input type=\"button\" class=\"wentiEdit\" title='删除' onclick=\"jqgrid3Mgr.deletecredit('{0}')\" value=\"{1}\" />"
.template(rowObject.EncryptId, "删除");
if (pageObj.canOperate) {
html += "<input type=\"button\" class=\"wentiEdit\" title='修改授信信息' onclick=\"jqgrid3Mgr.startcreditEdit('{0}')\" value=\"{1}\" />"
.template(rowObject.EncryptId, "修改");
}
return html;
}
function jqgrid_init() {
var colModelGrid = [{
name: 'id', label: 'id', index: 'id', width: 1, align: 'left', hidden: true
}, {
name: 'EncryptId', label: 'EncryptId', index: 'EncryptId', width: 0, align: 'left', hidden: true
}, {
name: 'ClientNumber', label: '客户编号', index: 'ClientNumber', width: 110, align: 'center',
}, {
name: 'ClientName', label: '客户名称', index: 'ClientName', width: 220, align: 'center'
}, {
name: 'Credit', label: '授信额度', index: 'Credit', width: 110, align: 'right', formatter: 'number'
}, {
name: 'CreditStartDate', label: '生效日期', index: 'CreditStartDate', width: 110, align: 'center', formatter: 'date'
}, {
name: 'CreditDeadLine', label: '到期日期', index: 'CreditDeadLine', width: 110, align: 'center', formatter: 'date'
}, {
name: 'OptDate', label: '操作时间', index: 'OptDate', width: 150, align: 'center'
}, {
name: 'Comments', label: '说明', index: '', width: 160, align: 'center', sortable: false
}, {
name: 'OptName', label: '操作人', index: 'OptName', width: 110, align: 'center',
}, {
name: '', label: '操作', index: '', width: 200, align: 'center', formatter: showToolName, sortable: false
}];
var options = {
url: '/credit/creditIntradayQuery',
datatype: 'json',
height: 'auto',
width: '90%',
autowidth: false,
shrinkToFit: false,
viewrecords: true,
jsonReader: { repeatitems: false },
cmTemplate: { align: 'center', width: 120 },
mtype: 'POST',
postData: { Type: pageObj.ClientType },
ondblClickRow(rowid) {
var rowData = $(this).getRowData(rowid);
var srcurl = "/credit/creditIntradayView?enid=" + rowData.EncryptId;
main.infopage("查看授信", srcurl);
},
colModel: colModelGrid,
pager: jQuery('#pagerGrid2'),
pagerpos: 'left',
rowNum: 20,
rowList: [20, 30, 50, 200, 10000],
loadComplete: gridComplete,
footerrow: false
};
let $grid = $('#listGrid3').jqGrid(options);
setGridWidth($grid);
return $grid;
}
var _jqgrid;
this.show = function () {
!_jqgrid && (_jqgrid = jqgrid_init());
$("#ProcessStatus").parents(".search-group").hide();
_jqgridMgr = this;
history.replaceState(null, null, '/credit/creditList?tab=3');
};
}());
$(function () {
$(".datepicker").datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, showOtherMonths: true, selectOtherMonths: true });
document.onkeydown = function (event) {
var e = event ? event : (window.event ? window.event : null);
(e.keyCode === 13) && SearchClick(true);
};
//设置审批状态默认值
$("#ProcessStatus").val("");
$('#myTab a').on('show.bs.tab', function () {
switch ($(this).attr('href')) {
case '#jqgridDiv1':
return jqgrid1Mgr.show();
case '#jqgridDiv2':
return jqgrid2Mgr.show();
case '#jqgridDiv3':
return jqgrid3Mgr.show();
}
});
$(window).on('resize.jqGrid', function () {
setGridWidth($('#listGrid1'));
setGridWidth($('#listGrid2'));
setGridWidth($('#listGrid3'));
});
switch (pageObj.curTabIndex) {
case "1":
jqgrid1Mgr.show();
break;
case "2":
jqgrid2Mgr.show();
break;
case "3":
jqgrid3Mgr.show();
break;
}
});
function startAddcredit() {
main.infopage("新增授信", _jqgridMgr.addurl);
}
function reloadcredit() {
//重新加载
SearchClick();
window.layer.closeAll();
}
function reloadcredit2() {
//重新加载
SearchClick();
}
function SearchClick(isSearchclick) {
var listGrid = $('#' + _jqgridMgr.gridId);
listGrid.appendPostData({ ClientId: $("#ClientId").val() });
listGrid.appendPostData({ CreditDeadLineStart: $("#DateFromCreditDeadLine").val() });
listGrid.appendPostData({ CreditDeadLineEnd: $("#DateToCreditDeadLine").val() });
listGrid.appendPostData({ ProcessStatuses: (($("#ProcessStatus").val() || '').includes("全部")) ? "" : $("#ProcessStatus").val().join(",") });
listGrid.appendPostData({ Type: pageObj.ClientType });
if (isSearchclick) {
//点击搜索时默认第一页
listGrid.jqGrid('setGridParam', { page: 1 });
}
listGrid.trigger('reloadGrid');
}
function exportToCsv() {
var dateTemp = new Date().Format("yyyyMMdd");
var fileName = "授信清单" + dateTemp;
main.toExcel(_jqgridMgr.gridId, fileName, "csv", null, "操作时间,操作", [{ colName: "授信额度", formatter: "text" }]);
}