//-------------------------------------- // 远期多次了结页面JS //-------------------------------------- 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.Strike) { if (rowObject.IsMoneynessOption === "是") { var num = new Number(rowObject.Strike) * 100; return num.toFixed(2) + "%"; } else { return rowObject.Strike.toFixed(2); } } else { if (rowObject.Strike === 0) { return 0; } else { return ""; } } } 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: 'ClientName', label: '交易对手方', width: 160 }, { name: 'TradeDate', label: '成交日期', width: 90, formatter: 'date', sortable: true }, { name: 'ExerciseDate', label: '到期日期', width: 90, formatter: 'date', sortable: true }, { name: 'BuySell', label: '买卖方向', width: 70 }, { name: 'OptionType', label: '多空方向', width: 70 }, { name: 'TradeType', label: '结构类型', width: 70, formatter: function (cellvalue, options, rowObject) { return rowObject.StructureType && rowObject.IsGroup != 2 ? rowObject.StructureType : rowObject.TradeType; } }, { name: 'UnderlyingCode', label: '标的代码', width: 60 }, { name: 'UnderlyingName', label: '标的名称', width: 100 }, { name: 'SpotPrice', label: '期初标的价格', width: 85, formatter: DoubleFormat, sortable: true }, { name: 'Strike', label: '交割价格', width: 90, formatter: StrikeFormatter, sortable: true }, { name: 'ForwardValue', label: '远期价值(成交)', width: 90, formatter: DoubleFormat, sortable: true }, { name: 'OriginalNotional', label: '成交数量', width: 70, formatter: tradeHelper.getNotionalFormatByDouble, sortable: true }, { name: 'TradeCommission', label: '成交手续费', width: 70, formatter: DoubleFormat }, { name: 'CloseSeq', label: '了结序号', width: 70 }, { name: 'CloseType', label: '了结方式', width: 70 }, { name: 'CloseDate', label: '了结日期', width: 70, formatter: 'date', sortable: true }, { name: 'FinalPrice', label: '了结标的价格', width: 70, formatter: DoubleFormat, sortable: true }, { name: 'UnWindForwardValue', label: '了结远期收益', width: 70, formatter: DoubleFormat }, { name: 'UnWindNotional', label: '了结数量', width: 70, formatter: tradeHelper.getNotionalFormatByDouble, sortable: true }, { name: 'UnwindPrice', label: '每手了结费用', width: 70, formatter: DoubleFormat, sortable: true }, { name: 'UnWindCapitalCost', label: '了结资金成本', width: 70, formatter: DoubleFormat, sortable: true}, { name: 'UnwindFee', label: '了结总费用', width: 70, formatter: DoubleFormat, sortable: true }, { name: 'RealizedPnl', label: '实现盈亏', width: 70, formatter: DoubleFormat}, { name: 'SyntheticUnderlyingTipsInfo', hidden: true, optionHide: true }, { name: 'Comments', label: '备注', width: 70 }, { name: 'Tags', label: '标签值', index: 'Tags', width: 150, align: 'left', sortable: false, formatter: function (cellvalue, options, rowObject) { var html = '
'; var tagNames = ""; if (rowObject.Tags != null && rowObject.Tags.length > 0) { for (var i = 0; i < rowObject.Tags.length; i++) { if (i == rowObject.Tags.length - 1) { tagNames += "[" + rowObject.Tags[i].Name + "]"; } else { tagNames += "[" + rowObject.Tags[i].Name + "],"; } } if (rowObject.Tags.length > 2) { for (var i = 0; i < 2; i++) { html += '' + rowObject.Tags[i].Name + ''; } html += '...'; } else { for (var i = 0; i < rowObject.Tags.length; i++) { html += '' + rowObject.Tags[i].Name + ''; } } } html += '
'; return html; } } ]; }; 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 }, prmNames: { page: 'page', rows: 'rows', sort: 'sidx', order: 'sord' }, url: '/forwardTrade/AjaxGetMultiCloseList', datatype: 'json', multiselect: true, height: 'auto', width: '96%', autowidth: false, shrinkToFit: false, viewrecords: false, jsonReader: { repeatitems: false }, mtype: 'POST', postData: PostData, ondblClickRow: rowdblclick, colModel: colModelGrid, pager: jQuery('#pagerGrid'), pagerpos: 'left', rowNum: 25, rowList: [25, 50, 100, 200, 10000], footerrow: false, loadComplete: gridComplete }); 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.OtcForward); $(window).resize(); }); function gridComplete() { var jgrid = $(this); $(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover" }); 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 && rowData.TradeType) { starttradeView(rowData.EncryptId, rowData.TradeType); } } function starttradeView(id, tradeType) { let srcurl = "/forwardtrade/tradeView/?enid=" + id + "&isFromPositionReport=true"; main.open("查看" + tradeType + "交易", srcurl); } function reloadtrade() { //重新加载 SearchClick(); } function SearchClick(isSearchclick) { var listGrid = $('#listGrid'); listGrid.appendPostData({ TradeNumber: $("#TradeNumber").val() }); listGrid.appendPostData({ ContractCode: $("#ContractCode").val() }); listGrid.appendPostData({ ClientIds: !$("#ClientId").val() ? "" : $("#ClientId").val().join(",") }); listGrid.appendPostData({ UnderlyingIds: !$("#UnderlyingId").val() ? "" : $("#UnderlyingId").val().join(",") }); listGrid.appendPostData({ TradeDateStart: $("#DateFromTradeDate").val() }); listGrid.appendPostData({ TradeDateEnd: $("#DateToTradeDate").val() }); listGrid.appendPostData({ StartDateStart: $("#DateFromStartDate").val() }); listGrid.appendPostData({ StartDateEnd: $("#DateToStartDate").val() }); listGrid.appendPostData({ ExerciseDateStart: $("#DateFromExerciseDate").val() }); listGrid.appendPostData({ ExerciseDateEnd: $("#DateToExerciseDate").val() }); listGrid.appendPostData({ UnwindDateStart: $("#DateFromUnwindDate").val() }); listGrid.appendPostData({ UnwindDateEnd: $("#DateToUnwindDate").val() }); listGrid.appendPostData({ TagIds: $("#TagIds").val() }); query_data = listGrid.jqGrid('getPostData'); if (isSearchclick) { //点击搜索时默认第一页 listGrid.jqGrid('setGridParam', { page: 1 }); } listGrid.trigger('reloadGrid'); } function exportData() { var $form = $('#exportForm').html(''); _.each(query_data, (val, key) => { if (!val) { val = ''; } else if (_.isArray(val)) { _.each(val, x => { $form.append(``); }); return; } $form.append(``); }); $form.submit(); } function exportTrade(isExportAllCol) { if (!isExportAllCol) { var dateTemp = new Date().Format("yyyyMMddhhmmss"); var fileName = "远期了结记录导出" + dateTemp; main.toExcel("listGrid", fileName, "xls", null, "操作者,操作时间,操作", [ { colName: "交易编号", formatter: "text" }, { colName: "交易对手方", formatter: "text" }, { colName: "标的代码", formatter: function (cellValue, options, rowObject) { if (rowObject.TradeType === "合成价差期权") { return rowObject.SyntheticUnderlyingTipsInfo; } return cellValue; } }, { colName: "标的名称", formatter: "text" }]); return; } } function BatchSetTradeTag() { var jgrid = jQuery('#listGrid'); var selIds = main.GetGridIds(jgrid); if (selIds.length === 0) { main.message("请选择至少一个交易"); return; } let srcurl = "/Tag/BatchSetTradeTag/?ids=" + selIds.join(','); main.open("批量设置标签", srcurl, { area: ['778px', '257px'], scrollbar: false }); } function reloadtrade() { //重新加载 SearchClick(); } window.reloadData = reloadtrade;