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

680 lines
20 KiB
JavaScript

var g_grid = {};
var creditRiskType = page.CreditRiskType;
var valueDate = page.ValueDate;
var creditRiskTypeIndex = [];
function amountFormat(cellValue, options, rowObject) {
return main.formatNumber(cellValue, 2);
}
var colModelGrid = (function () {
if (creditRiskType === "远期") {
return [
{
name: 'id',
label: 'id',
index: 'id',
hidden: true,
optionHide: true
}, {
name: 'EncryptId',
label: 'EncryptId',
index: 'EncryptId',
hidden: true,
optionHide: true
}, {
name: 'accountCode',
label: '账户代码',
index: 'accountCode',
width: 150,
align: 'center'
}, {
name: 'accountName',
label: '账户名称',
index: 'accountName',
width: 150,
align: 'center',
}, {
name: 'TradeNumber',
label: '金融工具代码',
index: 'TradeNumber',
width: 90,
align: 'center',
}, {
name: 'UnderlyingCode',
label: '金融工具名称',
index: 'UnderlyingCode',
width: 90,
align: 'center',
}, {
name: 'producttype',
label: '产品类型',
index: 'producttype',
width: 100,
align: 'center',
}, {
name: 'assetstype',
label: '资产类型',
index: 'assetstype',
width: 100,
align: 'center',
}, {
name: 'markettype',
label: '市场类型',
index: 'markettype',
width: 80,
align: 'center',
}, {
name: 'multishort',
label: '多空头',
index: 'multishort',
width: 80,
align: 'center'
}, {
name: 'QuoteCurrency',
label: '币种',
index: 'QuoteCurrency',
width: 100,
align: 'center',
sortable: false,
}, {
name: 'TradeDate',
label: '日期',
index: 'TradeDate',
width: 100,
align: 'center',
formatter: 'date'
}, {
name: 'Notional',
label: '持仓数量',
index: 'Notional',
width: 100,
align: 'center',
formatter: amountFormat
}, {
name: 'pnl',
label: '持仓成本',
index: 'pnl',
width: 100,
align: 'center',
sortable: false,
formatter: amountFormat
}, {
name: 'pv',
label: '持仓市值',
index: 'pv',
width: 120,
align: 'center',
formatter: amountFormat
}, {
name: 'tradevalue',
label: '账面价值',
index: 'tradevalue',
width: 120,
align: 'center',
formatter: amountFormat
}
];
}
if (creditRiskType === "互换") {
return [
{
name: 'id',
label: 'id',
index: 'id',
hidden: true,
optionHide: true
}, {
name: 'EncryptId',
label: 'EncryptId',
index: 'EncryptId',
hidden: true,
optionHide: true
}, {
name: 'TradeNumber',
label: '合约代码',
index: 'TradeNumber',
width: 180,
align: 'center'
}, {
name: 'MainProtocolCode',
label: '交易对手代码',
index: 'MainProtocolCode',
width: 150,
align: 'center',
}, {
name: 'LicenseType',
label: '交易对手证件类型',
index: 'LicenseType',
width: 150,
align: 'center',
}, {
name: 'LicenseCode',
label: '交易对手证件号',
index: 'LicenseCode',
width: 150,
align: 'center',
}, {
name: 'ClientName',
label: '交易对手名称',
index: 'ClientName',
width: 150,
align: 'center',
}, {
name: 'tradecode',
label: '交易代码',
index: 'tradecode',
width: 80,
align: 'center',
}, {
name: 'payfloattype',
label: '支付类型(1:支付固定2:支付浮动)',
index: 'payfloattype',
width: 150,
align: 'center',
}, {
name: 'multishort',
label: '多空方向(L:多头 S空头)',
index: 'multishort',
width: 90,
align: 'center',
}, {
name: 'TradeDate',
label: '合约生效日',
index: 'TradeDate',
width: 90,
align: 'center',
formatter: 'date'
}, {
name: 'ExerciseDate',
label: '合约到期日',
index: 'ExerciseDate',
width: 100,
align: 'center',
formatter: 'date'
}, {
name: 'TradeDate',
label: '交割日期',
index: 'TradeDate',
width: 100,
align: 'center',
formatter: 'date'
}, {
name: 'Strike',
label: '执行价格',
index: 'Strike',
width: 120,
align: 'center',
formatter: amountFormat
}, {
name: 'UnderlyingCode',
label: '标的资产代码',
index: 'UnderlyingCode',
width: 80,
align: 'center',
}, {
name: 'UnderlyingAssetName',
label: '标的资产名称',
index: 'UnderlyingAssetName',
width: 80,
align: 'center'
}, {
name: 'QuoteCurrency',
label: '币种',
index: 'QuoteCurrency',
width: 100,
align: 'center',
sortable: false,
}, {
name: 'OriginalStockEqvNotionalV2',
label: '名义本金',
index: 'OriginalStockEqvNotionalV2',
width: 100,
align: 'center',
sortable: false,
formatter: amountFormat
}, {
name: 'SwapTime',
label: '首次付息日',
index: 'SwapTime',
width: 100,
align: 'center',
formatter: 'date'
}, {
name: 'InitialMargin',
label: '预付金',
index: 'InitialMargin',
width: 100,
align: 'center',
sortable: false,
formatter: amountFormat
}, {
name: 'productCode',
label: '质押物代码',
index: 'productCode',
width: 120,
align: 'center',
summaryType: 'sum'
}, {
name: 'productName',
label: '质押物名称',
index: 'productName',
width: 120,
align: 'center',
summaryType: 'sum'
}, {
name: 'productMaketType',
label: '质押物市场类型',
index: 'productMaketType',
width: 120,
align: 'center',
summaryType: 'sum'
}, {
name: 'valuedate',
label: '日期',
index: 'valuedate',
width: 120,
align: 'center',
formatter: 'date'
}, {
name: 'pv',
label: '合约估值',
index: 'pv',
width: 120,
align: 'center',
summaryType: 'sum',
formatter: amountFormat
}
];
}
return [
{
name: 'id',
label: 'id',
index: 'id',
hidden: true,
optionHide: true
}, {
name: 'EncryptId',
label: 'EncryptId',
index: 'EncryptId',
hidden: true,
optionHide: true
}, {
name: 'TradeNumber',
label: '合约代码',
index: 'TradeNumber',
width: 180,
align: 'center'
}, {
name: 'MainProtocolCode',
label: '交易对手代码',
index: 'MainProtocolCode',
width: 150,
align: 'center',
}, {
name: 'LicenseType',
label: '交易对手证件类型',
index: 'LicenseType',
width: 150,
align: 'center',
}, {
name: 'LicenseCode',
label: '交易对手证件号',
index: 'LicenseCode',
width: 150,
align: 'center',
}, {
name: 'ClientName',
label: '交易对手名称',
index: 'ClientName',
width: 150,
align: 'center',
}, {
name: 'tradecode',
label: '交易代码',
index: 'tradecode',
width: 80,
align: 'center',
}, {
name: 'buysell_show',
label: '交易方向(B:买入 S:卖出)',
index: 'buysell_show',
width: 80,
align: 'center',
}, {
name: 'CallorPut',
label: 'Call/Put',
index: 'CallorPut',
width: 80,
align: 'center'
}, {
name: 'tradetype_show',
label: '期权类型',
index: 'tradetype_show',
width: 150,
align: 'center',
}, {
name: 'TradeDate',
label: '合约生效日',
index: 'TradeDate',
width: 100,
align: 'center',
sortable: false,
formatter: 'date'
}, {
name: 'ExerciseDate',
label: '合约到期日',
index: 'ExerciseDate',
width: 100,
align: 'center',
sortable: false,
formatter: 'date'
}, {
name: 'SettlementDate',
label: '结算日期',
index: 'SettlementDate',
width: 100,
align: 'center',
sortable: false,
formatter: 'date'
}, {
name: 'Strike',
label: '执行价格',
index: 'Strike',
width: 120,
align: 'center',
formatter: amountFormat
}, {
name: 'UnderlyingCode',
label: '标的资产代码',
index: 'UnderlyingCode',
width: 120,
align: 'center',
}, {
name: 'UnderlyingAssetName',
label: '标的资产名称',
index: 'UnderlyingAssetName',
width: 120,
align: 'center',
}, {
name: 'QuoteCurrency',
label: '币种',
index: 'QuoteCurrency',
width: 120,
align: 'center',
}, {
name: 'OriginalStockEqvNotionalV2',
label: '名义本金',
index: 'OriginalStockEqvNotionalV2',
width: 120,
align: 'center',
summaryType: 'sum',
formatter: amountFormat
}, {
name: 'TradePrice',
label: '期权费',
index: 'TradePrice',
width: 120,
align: 'center',
summaryType: 'sum',
formatter: amountFormat
}, {
name: 'PremiumPayDate',
label: '期权费支付日',
index: 'PremiumPayDate',
width: 120,
align: 'center',
formatter: 'date'
}, {
name: 'InitialMargin',
label: '预付金',
index: 'InitialMargin',
width: 120,
align: 'center',
summaryType: 'sum',
formatter: amountFormat
}, {
name: 'productCode',
label: '质押物代码',
index: 'productCode',
width: 120,
align: 'center',
summaryType: 'sum'
}, {
name: 'productName',
label: '质押物名称',
index: 'productName',
width: 120,
align: 'center',
summaryType: 'sum'
}, {
name: 'productMaketType',
label: '质押物市场类型',
index: 'productMaketType',
width: 120,
align: 'center',
summaryType: 'sum'
}, {
name: 'valuedate',
label: '日期',
index: 'valuedate',
width: 120,
align: 'center',
formatter: 'date'
}, {
name: 'pv',
label: '合约估值',
index: 'pv',
width: 120,
align: 'center',
summaryType: 'sum',
formatter: amountFormat
}
];
}());
$(function () {
var PostData = {};
creditRiskTypeIndex["期权"] = 1;
creditRiskTypeIndex["远期"] = 2;
creditRiskTypeIndex["互换"] = 3;
$("#ClientId").val((page.ClientId || '').split(','));
$("#ClientId").selectpicker('refresh')
main.setTradeDatePicker(valueDate, "#StartDate,#EndDate");
$("#StartDate,#EndDate").datepicker("option", "maxDate", valueDate);
$("#StartDate").on("change", function () {
var startDate = $(this).val();
if (startDate && !main.isDate(startDate)) {
return;
}
$("#EndDate").datepicker("option", "minDate", startDate);
});
$("#EndDate").on("change", function () {
var endDate = $(this).val();
if (endDate && !main.isDate(endDate)) {
return;
}
$("#StartDate").datepicker("option", "maxDate", endDate);
});
$("#StartDate").val(page.StartDate || '');
$("#EndDate").val(page.EndDate || '');
$("#StartDate,#EndDate").trigger("change");
PostData.ClientId = $("#ClientId").val();
PostData.ClientIds = $("#ClientId").val() == null || typeof ($("#ClientId").val()) == 'string' ? "" : $("#ClientId").val().join();
PostData.CreditRiskType = creditRiskType;
PostData.StartDate = $("#StartDate").val();
PostData.EndDate = $("#EndDate").val();
grid = jQuery('#listGrid').jqGrid({
url: "/trade/QueryTradeCreditRisk",
datatype: 'json',
height: 'auto',
width: '96%',
autowidth: false,
shrinkToFit: false,
viewrecords: true,
jsonReader: { repeatitems: false },
caption: '',
mtype: 'POST',
postData: PostData,
colModel: colModelGrid,
pager: jQuery('#pagerGrid'),
pagerpos: 'left',
// ondblClickRow: rowdblclick,
rowNum: 20,
rowList: [20, 30, 50, 200, 10000],
footerrow: true,
loadComplete: gridComplete,
grouping: true
});
g_grid = jQuery('#listGrid');
function keyEnter(event) {
try {
var e = event ? event : (window.event ? window.event : null);
if (e.keyCode === 13) {
SearchClick(true);
}
} catch (e) {
//
}
}
document.onkeydown = keyEnter;
try {
SetAceDropDown();
} catch (e) {
//
}
function AfterInsertRow(rowid, aData) {
}
tabSelect(creditRiskTypeIndex[creditRiskType]);
});
//function rowdblclick(rowid) {
// var rowData = $(this).getRowData(rowid);
// var srcurl = (rowData["TradeType"].indexOf('远期') >= 0 ? "/forwardTrade/TradeView" : "/trade/tradeView") + "?enid=" + rowData["EncryptId"];
// main.open("查看交易", srcurl, { area: ['1260px', '800px'] });
//}
function gridComplete() {
var jgrid = $(this);
var rowNum = parseInt(jgrid.getGridParam('records'), 10);
if (rowNum > 0) {
$(".ui-jqgrid-sdiv").show();
var Sum = arguments[0].Sum || {};
//var totalTradePrice = Sum.TradePriceSum || "";
//if (creditRiskTypeIndex === "成交") {
// jgrid.footerData("set", { "TradePrice": totalTradePrice });
//} else {
// jgrid.footerData("set", { footer: true, 'TcAmount': totalMinusAmount, WinLoss: totalWinLoss });
//}
$(".ui-jqgrid-sortable").css("text-align", "center");
var newHeight = $(window).height() - 370;
$(".ui-jqgrid .ui-jqgrid-bdiv").css("cssText", "height: " + newHeight + "px!important;");
$('.ui-jqgrid-bdiv', '#gbox_listGrid').floatingScroll();
} else {
$(".ui-jqgrid-sdiv").hide();
}
$(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover", container: "body" });
}
function reloadtrade() {
//重新加载
SearchClick();
$('#modal-edittrade').modal('hide');
}
function SearchClick(isSearchclick) {
if (main.isEmpty($("#EndDate").val())) {
main.message("请选择结束日期!");
return;
}
if ($("#EndDate").val() > page.ValueDate) {
main.message("结束日期不能大于当前系统日期!");
return;
}
if ($("#EndDate").val() < $("#StartDate").val()) {
main.message("起始日期不能大于结束日期!");
return;
}
var listGrid = $('#listGrid');
listGrid.appendPostData({ ClientIds: $("#ClientId").val() == null || typeof ($("#ClientId").val()) == 'string' ? "" : $("#ClientId").val().join() });
listGrid.appendPostData({ StartDate: $("#StartDate").val() });
listGrid.appendPostData({ EndDate: $("#EndDate").val() });
listGrid.appendPostData({ CreditRiskType: creditRiskType });
if (isSearchclick) {
//点击搜索时默认第一页
$('#listGrid').jqGrid('setGridParam', { page: 1 });
}
main.isSearching = true;
$('#listGrid').trigger('reloadGrid');
}
function tabSelect(tabIndex) {
$("#myTab").children().removeClass("active");
$("#tab" + tabIndex).addClass("active");
SearchClick(false);
}
function locationChange(tab) {
if ($("#EndDate").val() > page.ValueDate) {
main.message("结束日期不能大于当前系统日期!");
return;
}
if ($("#EndDate").val() < $("#StartDate").val()) {
main.message("起始日期不能大于结束日期!");
return;
}
var url = "/trade/TradeCreditRisk?CreditRiskType=" + encodeURIComponent(tab);
window.location.href = url + "&clientId=" + $("#ClientId").val() + "&startDate=" + $("#StartDate").val() + "&endDate=" + $("#EndDate").val();
return;
}
function chooseTemplate() {
if ($("#EndDate").val() > page.ValueDate) {
main.message("结束日期不能大于当前系统日期!");
return;
}
if ($("#EndDate").val() < $("#StartDate").val()) {
main.message("起始日期不能大于结束日期!");
return;
}
var postData = {
CreditRiskType: creditRiskType,
clientId: $("#ClientId").val(),
startDate: $("#StartDate").val(),
endDate: $("#EndDate").val(),
}
main.post("/trade/ExportTradeCreditRisk", postData).done(function (res) {
window.open(res.obj);
});
}