198 lines
7.3 KiB
JavaScript
198 lines
7.3 KiB
JavaScript
var _jqgridMgr;
|
|
var g_grid = {};
|
|
var query_data = {};
|
|
var g_threshold = 0;
|
|
var openWaringLineMonitor = page.swapMonitorConfg.WarningLine;
|
|
var openCloseLineMonitor = page.swapMonitorConfg.UnwindLine;
|
|
var ggridData;
|
|
|
|
const dateFormat = function (val) { return val ? val.substring(0, 10) : ''; };
|
|
|
|
function percentFormat(cellValue, options, rowObject) {
|
|
return cellValue ? (cellValue * 100).toFixed(2) + "%" : "0.00%";
|
|
}
|
|
|
|
$(function () {
|
|
var PostData = { };
|
|
var grid = jQuery('#listGrid').jqGrid({
|
|
url: '/MarginRateSwap/MarginRateSwapMonitorQueryV2',
|
|
datatype: 'json',
|
|
height: '520px',
|
|
width: '96%',
|
|
autowidth: false,
|
|
shrinkToFit: false,
|
|
viewrecords: true,
|
|
jsonReader: { repeatitems: false },
|
|
caption: '',
|
|
mtype: 'POST',
|
|
postData: PostData,
|
|
onSelectRow: rowclick,
|
|
ondblClickRow: rowdblclick,
|
|
colModel: getColModelGrid(),
|
|
pager: jQuery('#pagerGrid'),
|
|
pagerpos: 'left',
|
|
rowNum: 20,
|
|
rowList: [20, 30, 50, 200, 10000],
|
|
loadComplete: gridComplete,
|
|
onPaging: onJqgridPaging,
|
|
});
|
|
g_grid = jQuery('#listGrid');
|
|
});
|
|
|
|
function getColModelGrid() {
|
|
|
|
var colModelGrid = [ {
|
|
name: 'ClientNumber', label: '客户编号', index: 'ClientNumber', width: 100, align: 'center', frozen: true
|
|
}, {
|
|
name: 'ClientName', label: '客户名称', index: 'ClientName', width: 238, align: 'center', frozen: true
|
|
}, {
|
|
name: 'ClientTypeStr', label: '收益互换交易类别', index: 'ClientTypeStr', width: 130, align: 'center', frozen: true
|
|
}, {
|
|
name: 'AmountFund', label: '期末结存', index: 'AmountFund', width: 100, align: 'right', formatter: 'number', sorttype: 'number'
|
|
}, {
|
|
name: 'GuaranteesTotalAmount', label: '质押市值', index: 'GuaranteesTotalAmount', width: 100, align: 'right', formatter: 'number', sorttype: 'number'
|
|
},
|
|
{
|
|
name: 'TotalCredit', label: '授信额度', index: 'TotalCredit', width: 100, align: 'right', formatter: 'number', sorttype: 'number'
|
|
}, {
|
|
name: 'MinusPayableMargin', label: '预付金占用', index: 'MinusPayableMargin', width: 120, align: 'right', formatter: holdingDepositFormat, sorttype: 'number'
|
|
}, {
|
|
name: 'PayableFund', label: '应付资金总额', index: 'PayableFund', width: 100, align: 'right', formatter: 'number', sorttype: 'number'
|
|
}, {
|
|
name: 'MarginByPayableMarginTotal', label: '追加预付金金额', index: 'MarginByPayableMarginTotal', width: 120, align: 'right', value: '0', formatter: 'number', sorttype: 'number'
|
|
}
|
|
, {
|
|
name: 'MaintenanceLine', label: '维持预付金线', index: 'MaintenanceLine', width: 120, align: 'right', value: '0', formatter: 'number', sorttype: 'number'
|
|
}
|
|
];
|
|
return colModelGrid;
|
|
}
|
|
function holdingDepositFormat(cellValue, options, rowObject) {
|
|
cellValue = numeral(cellValue).format("0,0.00");
|
|
if (cellValue === "NaN") {
|
|
cellValue = "0.00";
|
|
}
|
|
var html;
|
|
var margintype = $("#ShownType").val();
|
|
if (margintype == "default") {
|
|
html = `<div data-value="#=${cellValue}#"><span class="holdingDepositSpan" >${cellValue}</span><input type="text" value="${cellValue}" class="holdingDepositInput" style="display:none"/><input type="hidden" class="clientId" value="${rowObject.id}"/><input type="hidden" class="clientName" value="${rowObject.Name}"/></div>`;
|
|
}
|
|
else {
|
|
html = `<div data-value="#=${cellValue}#">${cellValue}</div>`;
|
|
}
|
|
return html;
|
|
}
|
|
function OpenSetMonitor() {
|
|
var htmlContent = $('#setMonitor').html();
|
|
main.open2("预警设置",
|
|
htmlContent,
|
|
{
|
|
area: ["450px", "250px"],
|
|
success: function (layero, index) {
|
|
$("#WarningLine").val(openWaringLineMonitor);
|
|
$("#ClosePositionLine").val(openCloseLineMonitor);
|
|
}
|
|
}
|
|
);
|
|
}
|
|
|
|
function setMonitor() {
|
|
var warningLine = $('#WarningLine').val();
|
|
var unwindLine = $('#ClosePositionLine').val();
|
|
if (warningLine < -100 || warningLine > 100) {
|
|
main.alert("预警线填写错误");
|
|
return;
|
|
}
|
|
if (unwindLine < -100 || unwindLine > 100) {
|
|
main.alert("平仓线填写错误");
|
|
return;
|
|
}
|
|
if (unwindLine > warningLine) {
|
|
main.alert("平仓线必须小于等于预警线");
|
|
return;
|
|
}
|
|
var monitor = {
|
|
WarningLine: warningLine,
|
|
UnwindLine: unwindLine,
|
|
}
|
|
main.post("/MarginRateSwap/SetSwapMonitor", monitor).done(function (resp) {
|
|
openWaringLineMonitor = monitor.WarningLine;
|
|
openCloseLineMonitor = monitor.UnwindLine
|
|
SearchClick();
|
|
layer.closeAll();
|
|
});
|
|
}
|
|
|
|
function gridComplete(data) {
|
|
if (data instanceof Array) {
|
|
ggridData = data;
|
|
}
|
|
var jgrid = $('#listGrid');
|
|
var rowIds = jgrid.jqGrid('getDataIDs');
|
|
for (var i = 0; i < rowIds.length; i++) {
|
|
var rowId = rowIds[i];
|
|
var rowdata = jgrid.getRowData(rowId);
|
|
if (openCloseLineMonitor != 0 && openWaringLineMonitor != 0) {
|
|
if (rowdata.MaintenanceLine * 100 <= openCloseLineMonitor) {
|
|
$('#' + rowIds[i]).addClass("close-position-line");
|
|
}
|
|
else if (rowdata.MaintenanceLine * 100 > openCloseLineMonitor && rowdata.MaintenanceLine * 100 <= openWaringLineMonitor) {
|
|
$('#' + rowIds[i]).addClass("waring-line");
|
|
} else {
|
|
$('#' + rowIds[i])[0].classList.remove("close-position-line");
|
|
$('#' + rowIds[i])[0].classList.remove("waring-line");
|
|
}
|
|
} else {
|
|
$('#' + rowIds[i])[0].classList.remove("close-position-line");
|
|
$('#' + rowIds[i])[0].classList.remove("waring-line");
|
|
}
|
|
}
|
|
main.setcolumnChooser(jgrid, page.configcolumn_name);
|
|
refreshSearchTime();
|
|
}
|
|
|
|
function showcolumnChooser() {
|
|
main.showcolumnChooser(jQuery('#listGrid'), page.configcolumn_name);
|
|
}
|
|
|
|
var searchPostData = {};
|
|
function SearchClick(isSearchclick) {
|
|
var listGrid = $('#listGrid');
|
|
searchPostData.WarnningTypes = $("#WarnningType").val();
|
|
searchPostData.ClientIds = $("#ClientId").val();
|
|
searchPostData.SwapTypes = $("#SwapType").val();
|
|
|
|
listGrid.appendPostData(searchPostData);
|
|
|
|
query_data = listGrid.jqGrid('getPostData');
|
|
|
|
if (isSearchclick) {
|
|
//点击搜索时默认第一页
|
|
listGrid.jqGrid('setGridParam', { page: 1 });
|
|
}
|
|
listGrid.trigger('reloadGrid');
|
|
}
|
|
|
|
function execExport() {
|
|
var dateTemp = new Date().Format("yyyyMMddhhmmss");
|
|
var fileName = "互换预付金监控导出" + dateTemp;
|
|
main.toExcel("listGrid", fileName, "xls");
|
|
//var $form = $('#exportForm').html('');
|
|
//$form.attr("action", '/MarginRateSwap/ExportMarginRateSwapMonitor')
|
|
//_.each(query_data, (val, key) => {
|
|
// if (!val) {
|
|
// val = '';
|
|
// } else if (_.isArray(val)) {
|
|
// _.each(val, x => {
|
|
// $form.append(`<input type="hidden" name="${key}" value="${x}">`);
|
|
// });
|
|
// return;
|
|
// }
|
|
// $form.append(`<input type="hidden" name="${key}" value="${val}">`);
|
|
//});
|
|
//$form.submit();
|
|
}
|
|
|
|
function refreshSearchTime() {
|
|
$("#searchTime").text(main.formartDate(new Date(), "YYYY-MM-DD HH:mm:ss"));
|
|
} |