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

240 lines
9.6 KiB
JavaScript

var g_grid = {};
var query_data = {};
var getColModelGrid = function () {
function DoubleFormat(cellValue, options, rowObject) {
return cellValue ? cellValue.toFixed(2) : "0.00";
}
function StrikeFormatter(cellValue, options, rowObject) {
if (rowObject.IsMoneynessOption === "是") {
var num = new Number(rowObject.Strike) * 100;
return num.toFixed(2) + "%";
} else {
return rowObject.Strike.toFixed(2);
}
}
return [
{ name: 'id', hidden: true, optionHide: true },
{ name: 'TradeCashId', hidden: true, optionHide: true, key: true },
{ name: 'IsMoneynessOption', hidden: true, optionHide: true },
{ name: 'EncryptId', hidden: true, optionHide: true },
{ name: 'TradeNumber', label: '交易编号', width: 150 },
{ name: 'TraderName', label: '交易员', width: 150 },
{ name: 'AssetBookName', label: '簿记账户', width: 150 },
{ name: 'ClientName', label: '交易对手方', width: 160 },
{ name: 'TradeDate', label: '交易日期', width: 90, formatter: 'date', sortable: true },
{ name: 'StartDate', label: '开始日期', width: 90, formatter: 'date', sortable: true },
{ name: 'ExerciseDate', label: '到期日期', width: 90, formatter: 'date', sortable: true },
{ name: 'SettlementDate', label: '结算日期', width: 90, formatter: 'date', sortable: true },
{ name: 'CloseDate', label: '了结日期', width: 90, formatter: 'date', sortable: true },
{ name: 'CloseSeq', label: '了结序号', width: 70 },
{ name: 'CloseType', label: '了结方式', width: 70 },
{ name: 'SwapType', label: '互换类型', width: 70 },
{ name: 'OriginalStockEqvNotional', label: '成交名义本金', width: 100, formatter: DoubleFormat },
{ name: 'StockEqvNotional', label: '持仓名义本金', width: 100, formatter: DoubleFormat },
{ name: 'CloseStockEqvNotional', label: '了结名义本金', width: 100, formatter: DoubleFormat },
{ name: 'OriginalNotional', label: '成交数量', width: 70, formatter: DoubleFormat },
{ name: 'Notional', label: '持仓数量', width: 70, formatter: DoubleFormat },
{ name: 'UnWindNotional', label: '了结数量', width: 70, formatter: DoubleFormat },
{ name: 'UnderlyingCode', label: '标的代码', width: 60 },
{ name: 'UnderlyingName', label: '标的名称', width: 120 },
{ name: 'SpotPrice', label: '期初标的价格', width: 85, formatter: Format6 },
{ name: 'TradeCommission', label: '开仓费用', width: 85, formatter: DoubleFormat },
{ name: 'OpenPrice', label: '开仓标的价格(费后)', width: 120, formatter: Format6 },
{ name: 'ClosePrice', label: '了结标的价格(费后)', width: 120, formatter: Format6 },
{ name: 'UnwindFee', label: '平仓费用', width: 85, formatter: DoubleFormat },
{ name: 'UnwindPrice', label: '了结标的价格', width: 85, formatter: Format6 },
{ name: 'FloatIncome', label: '浮动收益(结算货币)', width: 120, formatter: DoubleFormat },
{ name: 'FixedIncome', label: '固定收益(结算货币)', width: 120, formatter: DoubleFormat },
{ name: 'Amount', label: '了结金额(结算货币)', width: 120, formatter: DoubleFormat },
{ name: 'QuoteRealizedPnl', label: '实现盈亏', width: 70, formatter: DoubleFormat },
{ name: 'RealizedPnl', label: '实现盈亏(结算货币)', width: 120, formatter: DoubleFormat },
{ name: 'QuoteCurrency', label: '计价货币', width: 70 },
{ name: 'CloseCurrencyRate', label: '结算汇率', width: 70 },
{ name: 'OpenCurrencyRate', label: '开仓汇率', width: 70 },
];
};
var colModelGrid = getColModelGrid();
$(function () {
var PostData = {};
$(".datepicker").datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
showOtherMonths: true,
selectOtherMonths: true
});
grid = jQuery('#listGrid').jqGrid({
cmTemplate: {
width: 80,
align: 'center',
sortable: false
},
url: '/swapTrade/AjaxGetMultiCloseList',
datatype: 'json',
multiselect: true,
height: 'auto',
width: '96%',
autowidth: false,
shrinkToFit: false,
viewrecords: true,
jsonReader: { repeatitems: false },
mtype: 'POST',
postData: PostData,
afterInsertRow: AfterInsertRow,
onSelectRow: rowclick,
ondblClickRow: rowdblclick,
colModel: colModelGrid,
pager: jQuery('#pagerGrid'),
pagerpos: 'left',
rowNum: 20,
rowList: [20, 30, 50, 200, 10000],
loadComplete: gridComplete,
onPaging: onJqgridPaging,
grouping: true
});
function keyEnter(event) {
try {
var e = event ? event : (window.event ? window.event : null);
if (e.keyCode === 13) {
SearchClick(true);
}
} catch (e) {
//
}
}
document.onkeydown = keyEnter;
let underlyingCtrl = new tradeHelper.UnderlyingSelectCtrl('#UnderlyingId')
.setFlag(tradeHelper.UnderlyingSelectFlag.OtcTrade);
$(window).resize();
});
function Format6(cellValue, options, rowObject) {
return cellValue ? cellValue.toFixed(6) : "0.000000";
}
function gridComplete() {
var jgrid = $(this);
$(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover" });
main.setcolumnChooser(jgrid, page.configcolumn_data);
var newHeight = $(window).height() - 350;
$(".ui-jqgrid .ui-jqgrid-bdiv").css("cssText", "height: " + newHeight + "px!important;");
$('.ui-jqgrid-bdiv', '#gbox_listGrid').floatingScroll();
}
function rowdblclick(rowid) {
var rowData = $(this).getRowData(rowid);
if (rowData.EncryptId) {
starttradeView(rowData.EncryptId, rowData.TradeType);
}
}
function starttradeView(id) {
var srcurl = "/trade/TradeView/?enid=" + id + "&checkBtn=1";
main.open("查看交易", srcurl);
}
function reloadtrade() {
//重新加载
SearchClick();
}
function SearchClick(isSearchclick) {
var listGrid = $('#listGrid');
listGrid.appendPostData({ TradeNumber: $("#TradeNumber").val() });
listGrid.appendPostData({
TraderNames: !$("#TraderName").val() ? "" : $("#TraderName").val().join(",")
});
listGrid.appendPostData({ AssetIds: !$("#AssetId").val() ? "" : $("#AssetId").val().join(",") });
listGrid.appendPostData({ AssetIdGroupList: $("#GroupId").val() });
listGrid.appendPostData({ ClientIds: !$("#ClientId").val() ? "" : $("#ClientId").val().join(",") });
listGrid.appendPostData({ TradeDateStart: $("#DateFromTradeDate").val() });
listGrid.appendPostData({ TradeDateEnd: $("#DateToTradeDate").val() });
listGrid.appendPostData({ ExerciseDateStart: $("#DateFromExerciseDate").val() });
listGrid.appendPostData({ ExerciseDateEnd: $("#DateToExerciseDate").val() });
listGrid.appendPostData({ UnwindDateStart: $("#DateFromUnwindDate").val() });
listGrid.appendPostData({ UnwindDateEnd: $("#DateToUnwindDate").val() });
listGrid.appendPostData({ UnWindType: $("#UnWindType").val() });
listGrid.appendPostData({ UnderlyingName: $("#UnderlyingName").val() });
listGrid.appendPostData({ UnderlyingIds: !$("#UnderlyingId").val() ? "" : $("#UnderlyingId").val().join(",") });
var reqTradeStatus = !$("#TradeStatus").val() ? page.AllTradeStatus : $("#TradeStatus").val().join(",");
if (!reqTradeStatus) {
reqTradeStatus = page.AllTradeStatus;
}
listGrid.appendPostData({ TradeStatus: reqTradeStatus });
listGrid.appendPostData({ UnWindTimes: $("#UnWindTimes").val() });
query_data = listGrid.jqGrid('getPostData');
if (isSearchclick) {
//点击搜索时默认第一页
listGrid.jqGrid('setGridParam', { page: 1 });
}
listGrid.trigger('reloadGrid');
}
function showcolumnChooser() {
var jgrid = jQuery('#listGrid');
main.showcolumnChooser(jgrid, page.configcolumn_data);
}
function exportTrade() {
main.GetSortedGridObjs = function (ggrid) {
var rowIds = ggrid.jqGrid('getGridParam', 'selarrrow');
var rowDatas = ggrid.getRowData();
if (main.isEmpty(rowIds)) {
return [];
}
var ors = $.grep(rowDatas,
function (ele, index) {
return rowIds.some(function (rowId) { return rowId === ele.TradeCashId; });
});
ors.forEach(function (item, index) {
if (item !== null) {
Object.keys(item).forEach(function (key) {
const regex = /#=(.*?)#/g;
var result = regex.exec(item[key]);
if (result) {
item[key] = result[1];
}
});
}
});
return ors;
};
var dateTemp = new Date().Format("yyyyMMddhhmmss");
var fileName = "互换交易了结记录导出_" + dateTemp;
main.toExcel("listGrid", fileName, "xls", null, null, [
{
colName: "交易编号",
formatter: "text"
}]);
return;
}
function exportUnwindMultiFactors() {
var jgrid = jQuery('#listGrid');
var ids = jgrid.jqGrid('getGridParam', 'selarrrow');
var postData = jgrid.jqGrid('getPostData');
var url = "/swapTrade/UnwindMultiFactorsExport?" + $.param(postData, true);
if (ids.length > 0) {
var TradeCashIds = ids.join(",");
url = url + "&TradeCashIds=" + TradeCashIds;
}
else {
}
window.open(url);
}