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); }