var g_grid = {}; var query_data = {}; $(function () { var PostData = {}; if (observationDate) { $("#DateValueDate").val(observationDate); PostData.ValueDate = observationDate; } if (settleDate) { $("#DateFromExerciseDate").val(settleDate); $("#DateToExerciseDate").val(settleDate); PostData.ExerciseDateStart = settleDate; PostData.ExerciseDateEnd = settleDate; } $(".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/TradeQuery', datatype: 'json', multiselect: true, height: 'auto', width: '96%', autowidth: false, shrinkToFit: false, viewrecords: true, jsonReader: { repeatitems: false }, caption: '', 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], footerrow: false, loadComplete: gridComplete, onPaging: onJqgridPaging, }); 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); $("#CheckboxAll").click(function () { //setall selAllGrid(); }); }); var hideObj = { clientWidth: 160 }; var i = 0; var getColModelGrid = function () { if (isguojun) { var col = [ { name: 'id', label: 'id', index: 'id', sortIndex: i++, width: 70, align: 'center', hidden: true, optionHide: true }, { name: 'EncryptId', label: 'EncryptId', index: 'EncryptId', sortIndex: i++, width: 70, align: 'center', hidden: true, optionHide: true }, { name: 'UnwindDate', label: 'UnwindDate', hidden: true, optionHide: true }, { name: 'trade_swap.GetSwapTimeAndRate', label: 'trade_swap.GetSwapTimeAndRate', index: 'trade_swap.GetSwapTimeAndRate', sortIndex: i++, width: 70, align: 'center', hidden: true, optionHide: true }, { name: 'trade_swap.PaySwapTimeAndRate', label: 'trade_swap.PaySwapTimeAndRate', index: 'trade_swap.PaySwapTimeAndRate', sortIndex: i++, width: 70, align: 'center', hidden: true, optionHide: true, }, { name: 'OptDate', label: '操作时间', index: 'OptDate', sortIndex: i++, width: 160, align: 'center', sortable: true, formatter: 'datetime' }, { name: 'OptName', label: '操作者', index: 'OptName', sortIndex: i++, width: 70, align: 'center' }, { name: 'CreatorName', label: '创建者', index: 'CreatorName', sortIndex: i++, width: 70, align: 'center' }, { name: 'Comments', label: '备注', index: 'Comments', sortIndex: i++, width: 110, align: 'center', formatter: function (cellValue, options, rowObject) { if (cellValue && cellValue.startsWith("http://")) { return "{0}".template(cellValue); } return cellValue == null ? "" : cellValue; }, hidden: true }, { name: 'TradeStatus', label: '交易状态', index: 'TradeStatus', sortIndex: i++, width: 70, align: 'center' }, { name: 'ClientNumber', label: '客户编号', index: 'ClientNumber', sortIndex: i++, width: 100, align: 'center' }, { name: 'ClientName', label: '客户名称', index: 'ClientName', sortIndex: i++, width: hideObj.clientWidth, align: 'center' }, { name: 'AssetBookName', label: '簿记账户', index: 'AssetBookName', sortIndex: i++, width: 110, align: 'center' }, { name: 'TradeNumber', label: '交易编号', index: 'TradeNumber', sortIndex: i++, width: 240, align: 'center', formatter: ShowStructFormater }, { name: 'TradeDate', label: '交易日期', index: 'TradeDate', sortIndex: i++, width: 90, align: 'center', sortable: true, formatter: 'date' }, { name: 'StartDate', label: '开始日期', index: 'StartDate', sortIndex: i++, width: 90, align: 'center', sortable: true, formatter: 'date' }, { name: 'ExerciseDate', label: '到期日期', index: 'ExerciseDate', sortIndex: i++, width: 90, align: 'center', sortable: true, formatter: 'date' }, { name: 'SettlementDate', label: '结算日期', index: 'SettlementDate', sortIndex: i++, width: 90, align: 'center', sortable: true, formatter: 'date' }, { name: 'UnderlyingCode', label: '标的代码', index: 'UnderlyingCode', sortIndex: i++, width: 100, align: 'center', sortable: false, }, { name: 'UnderlyingName', label: '标的名称', index: 'UnderlyingName', sortIndex: i++, width: 100, align: 'center', sortable: false, }, { name: 'QuoteCurrency', label: '计价货币', index: 'QuoteCurrency', sortIndex: i++, width: 70, align: 'center' }, { name: 'TraderName', label: '交易员', index: 'TraderName', sortIndex: i++, width: 100, align: 'center', hidden: true }, { name: 'SalesCommission.Commission', label: '销售提成', index: 'SalesCommission.Commission', sortIndex: i++, width: 90, align: 'center', sortable: false, formatter: CommissionFormatter, hidden: true }, { name: 'trade_swap_gj.LongShort', label: '多头空头', index: 'trade_swap_gj.LongShort', sortIndex: i++, width: 100, align: 'center', sortable: false, }, { name: 'SpotPrice', label: '标的期初价格', index: 'SpotPrice', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: Format6 }, { name: 'OriginalNotional', label: '成交数量', index: 'OriginalNotional', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.notional }, { name: 'trade_swap_gj.OpenPrice', label: '标的期初价格(费后)', index: 'trade_swap_gj.OpenPrice', sortIndex: i++, width: 120, align: 'center', sortable: false, formatter: Format6 }, { name: 'trade_swap_gj.TradeCommission', label: '开仓费用', index: 'trade_swap_gj.TradeCommission', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.umprice }, { name: 'trade_swap_gj.OpenCurrencyRate', label: '期初汇率', index: 'trade_swap_gj.OpenCurrencyRate', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.umprice }, { name: 'trade_swap_gj.PricingOriginalStockEqvNotional', label: '期初名义本金(计价货币)', index: 'trade_swap_gj.PricingOriginalStockEqvNotional', sortIndex: i++, width: 150, align: 'center', formatter: otcformat.trading.StockEqvNotional }, { name: 'OriginalStockEqvNotional', label: '期初名义本金(结算货币)', index: 'OriginalStockEqvNotional', sortIndex: i++, width: 150, align: 'center', formatter: otcformat.trading.StockEqvNotional }, { name: 'trade_swap_gj.SwapTimeAndRate', label: '固定收益率', index: 'trade_swap_gj.SwapTimeAndRate', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: SwapTimeAndRateFormat2 }, { name: 'Notional', label: '存续数量', index: 'Notional', width: 100, sortIndex: i++, align: 'center', sortable: false, formatter: otcformat.trading.notional }, { name: 'trade_swap_gj.PricingStockEqvNotional', label: '存续名义本金(计价货币)', index: 'trade_swap_gj.PricingStockEqvNotional', sortIndex: i++, width: 150, align: 'center', formatter: otcformat.trading.StockEqvNotional }, { name: 'StockEqvNotional', label: '存续名义本金(结算货币)', index: 'StockEqvNotional', sortIndex: i++, width: 150, align: 'center', formatter: otcformat.trading.StockEqvNotional } ]; return tradeHelper.getAmountToNotional(col); } else { var col = [ { // name: 'rowFlag', // label: ' ', // width: 30, // optionHide: true, // formatter: expandFormat, // align: 'center', // sortable: false //}, { name: 'id', label: 'id', index: 'id', sortIndex: i++, width: 70, align: 'center', hidden: true, optionHide: true }, { name: 'EncryptId', label: 'EncryptId', index: 'EncryptId', sortIndex: i++, width: 70, align: 'center', hidden: true, optionHide: true //}, { // name: 'trade_swap.GetSwapTimeAndRate', // label: 'trade_swap.GetSwapTimeAndRate', // index: 'trade_swap.GetSwapTimeAndRate', // sortIndex: i++, // width: 70, // align: 'center', // hidden: true, // optionHide: true //}, { // name: 'trade_swap.PaySwapTimeAndRate', // label: 'trade_swap.PaySwapTimeAndRate', // index: 'trade_swap.PaySwapTimeAndRate', // sortIndex: i++, // width: 70, // align: 'center', // hidden: true, // optionHide: true }, { name: 'UnwindDate', label: 'UnwindDate', hidden: true, optionHide: true }, { name: 'OptDate', label: '操作时间', index: 'OptDate', sortIndex: i++, width: 160, align: 'center', sortable: true, formatter: 'datetime' }, { name: 'OptName', label: '操作者', index: 'OptName', sortIndex: i++, width: 70, align: 'center' }, { name: 'CreatorName', label: '创建者', index: 'CreatorName', sortIndex: i++, width: 70, align: 'center' }, { name: 'Comments', label: '备注', index: 'Comments', sortIndex: i++, width: 110, align: 'center', formatter: function (cellValue, options, rowObject) { if (cellValue && cellValue.startsWith("http://")) { return "{0}".template(cellValue); } return cellValue == null ? "" : cellValue; } } , { name: 'AssetBookName', label: '簿记账户', index: 'AssetBookName', sortIndex: i++, width: 110, align: 'center' }, { name: 'TradeStatus', label: '交易状态', index: 'TradeStatus', sortIndex: i++, width: 70, align: 'center' }, { name: 'TradeNumber', label: '交易编号', index: 'TradeNumber', sortIndex: i++, width: 240, align: 'center', formatter: ShowStructFormater }, { name: 'ContractCode', label: '确认书编号', index: 'ContractCode', sortIndex: i++, width: 240, align: 'center', hidden: true, formatter: ShowStructFormater }, { name: 'TradeDate', label: '交易日期', index: 'TradeDate', sortIndex: i++, width: 90, align: 'center', sortable: true, formatter: 'date' }, { name: 'StartDate', label: '开始日期', index: 'StartDate', sortIndex: i++, width: 90, align: 'center', sortable: true, formatter: 'date' }, { name: 'ExerciseDate', label: '到期日期', index: 'ExerciseDate', sortIndex: i++, width: 90, align: 'center', sortable: true, formatter: 'date' }, { name: 'SettlementDate', label: '结算日期', index: 'SettlementDate', sortIndex: i++, width: 90, align: 'center', sortable: true, formatter: 'date' }, { name: 'SettlementFlag', label: '是否延期结算', index: 'SettlementFlag', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: YesOrNoFormat }, { name: 'TradeType', label: '结构类型', index: 'TradeType', sortIndex: i++, width: 70, align: 'center' }, { name: 'trade_swap.SwapType', label: '互换类型', index: 'trade_swap.SwapType', sortIndex: i++, width: 70, align: 'center' }, { name: 'OriginalStockEqvNotional', label: '名义本金', index: 'OriginalStockEqvNotional', sortIndex: i++, width: 70, align: 'center', sortable: true, formatter: otcformat.trading.StockEqvNotional }, { name: 'ClientName', label: '交易对手方', index: 'ClientName', sortIndex: i++, width: hideObj.clientWidth, align: 'center' }, { name: 'QuoteCurrency', label: '计价货币', index: 'QuoteCurrency', sortIndex: i++, width: 70, align: 'center' }, { name: 'TradeAmount', label: '持仓数量', width: 100, sortIndex: i++, align: 'center', sortable: false, formatter: otcformat.trading.notional }, { name: 'trade_swap.IsGetFloatingProfit', label: '[收取]浮动收益', index: 'trade_swap.IsGetFloatingProfit', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: YesOrNoFormat }, { name: 'trade_swap.GetUnderlyingCode', label: '[收取]标的代码', index: 'trade_swap.GetUnderlyingCode', sortIndex: i++, width: 100, align: 'center', sortable: false, }, { name: 'MetaDic.GetUnderlyingName', label: '[收取]标的名称', index: 'MetaDic.GetUnderlyingName', sortIndex: i++, width: 100, align: 'center', sortable: false, }, { name: 'trade_swap.GetLongShort', label: '[收取]多头空头', index: 'trade_swap.GetLongShort', sortIndex: i++, width: 100, align: 'center', sortable: false, }, { name: 'trade_swap.GetSpotPrice', label: '[收取]标的期初价格', index: 'trade_swap.GetSpotPrice', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.umprice }, { name: 'trade_swap.GetOpenPrice', label: '[收取]开仓价格', index: 'trade_swap.GetOpenPrice', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.umprice }, { name: 'trade_swap.GetTradeAmount', label: '[收取]交易数量', index: 'trade_swap.GetTradeAmount', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.notional }, { name: 'trade_swap.GetLot', label: '[收取]手数', index: 'trade_swap.GetLot', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.notional }, { name: 'trade_swap.GetTradePrice', label: '[收取]交易费用', index: 'trade_swap.GetTradePrice', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.tradePrice }, { name: 'trade_swap.GetMarginRate', label: '[收取]初始预付金率', index: 'trade_swap.GetMarginRate', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.premiumRateP }, { name: 'trade_swap.GetSwapTimeAndRate', label: '[收取]互换利率(年化)', index: 'trade_swap.GetSwapTimeAndRate', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: SwapTimeAndRateFormat }, { name: 'TraderName', label: '交易员', index: 'TraderName', sortIndex: i++, width: 100, align: 'center' }, { name: 'trade_swap.IsPayFloatingProfit', label: '[支付]浮动收益', index: 'trade_swap.IsPayFloatingProfit', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: YesOrNoFormat }, { name: 'trade_swap.PayUnderlyingCode', label: '[支付]标的代码', index: 'trade_swap.PayUnderlyingCode', sortIndex: i++, width: 100, align: 'center', sortable: false, }, { name: 'MetaDic.PayUnderlyingName', label: '[支付]标的名称', index: 'MetaDic.PayUnderlyingName', sortIndex: i++, width: 100, align: 'center', sortable: false, }, { name: 'trade_swap.PayLongShort', label: '[支付]多头空头', index: 'trade_swap.PayLongShort', sortIndex: i++, width: 100, align: 'center', sortable: false, }, { name: 'trade_swap.PaySpotPrice', label: '[支付]标的期初价格', index: 'trade_swap.PaySpotPrice', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.umprice }, { name: 'trade_swap.PayOpenPrice', label: '[支付]开仓价格', index: 'trade_swap.PayOpenPrice', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.umprice }, { name: 'trade_swap.PayTradeAmount', label: '[支付]交易数量', index: 'trade_swap.PayTradeAmount', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.notional }, { name: 'trade_swap.PayLot', label: '[支付]手数', index: 'trade_swap.PayLot', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.notional }, { name: 'trade_swap.PayTradePrice', label: '[支付]交易费用', index: 'trade_swap.PayTradePrice', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.tradePrice }, { name: 'trade_swap.PaySwapTimeAndRate', label: '[支付]互换利率(年化)', index: 'trade_swap.PaySwapTimeAndRate', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: SwapTimeAndRateFormat }, { name: 'trade_swap.PayMarginRate', label: '[支付]初始预付金率', index: 'trade_swap.PayMarginRate', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.premiumRateP }, { name: 'SalesCommission.Commission', label: '销售提成', index: 'SalesCommission.Commission', sortIndex: i++, width: 90, align: 'center', sortable: false, formatter: CommissionFormatter } ]; if (page.ViewTagPermission) { col.push({ name: 'Tags', label: '标签值', index: 'Tags', width: 150, align: 'left', sortable: false, formatter: function (cellvalue, options, rowObject) { var html = '