var _jqgridMgr; var g_grid = {}; var query_data = {}; var g_threshold = 0; var openWaringLineMonitor = "true"; var openCloseLineMonitor = "true"; var ggridData; let underlyingCtrl = new tradeHelper.UnderlyingSelectCtrl('#UnderlyingId').setFlag(tradeHelper.UnderlyingSelectFlag.OtcTrade); const dateFormat = function (val) { return val ? val.substring(0, 10) : ''; }; function percentFormat(cellValue, options, rowObject) { return cellValue ? (cellValue * 100).toFixed(2) + "%" : "0.00%"; } $(function () { var PostData = { ValueDate: page.ValueDate }; main.setTradeDatePicker(moment(page.ValueDate)); var grid = jQuery('#listGrid').jqGrid({ url: '', datatype: '', height: '520px', width: '96%', multiselect: true, autowidth: false, shrinkToFit: false, viewrecords: true, jsonReader: { repeatitems: false }, caption: '', mtype: 'POST', postData: PostData, onSelectRow: rowclick, ondblClickRow: rowdblclick, colModel: getColModelGrid(), pager: jQuery('#pagerGrid'), pagerpos: 'left', rowNum: 20, rowList: [20, 30, 50, 200, 10000], loadonce: true, loadComplete: gridComplete, onPaging: onJqgridPaging, }); g_grid = jQuery('#listGrid'); g_grid.setGridParam({ resizeStop: function (newWidth, index) { $theadInTable = $(".ui-jqgrid-hdiv").find("table:first").children("thead"); $theadInTable.find("tr.jqg-first-row-header").find('th').eq(index)[0].style.width = newWidth + "px"; $(".frozen-div").find("table:first").children("thead").find("tr.jqg-first-row-header").find('th').eq(index)[0].style.width = newWidth + "px"; $(".frozen-bdiv").find("table:first").find("tr").find('td').eq(index)[0].style.width = newWidth + "px"; $(".frozen-sdiv").find("table:first").find("tr").find('td').eq(index)[0].style.width = newWidth + "px"; } }); g_grid.jqGrid('destroyFrozenColumns'); g_grid.jqGrid('setFrozenColumns'); function keyEnter(event) { try { var e = event ? event : (window.event ? window.event : null); if (e.keyCode === 13) { if (e.target.className === "holdingDepositInput") { $(e.target).blur(); return; } SearchClick(true); } } catch (e) { // } } //var setColumn = main.setcolumnChooser2(g_grid, page.configcolumn_name); //if (setColumn) { // debugger // setColumn.done(function () { // g_grid.jqGrid('destroyFrozenColumns'); // g_grid.jqGrid('setFrozenColumns'); // }); //} document.onkeydown = keyEnter; SetAceDropDown(); //setHoldingDepositFunc(); //LoadGrid(); }); function getColModelGrid() { var colModelGrid = [ { name: 'WaringStatus', hidden: true, optionHide: true }, { name: 'TradeNumber', label: '交易编号', index: 'TradeNumber', width: 135, align: 'center' }, { name: 'ClientName', label: '客户名称', index: 'ClientName', width: 165, align: 'center' }, { name: 'AssetBookName', label: '簿记账号', index: 'AssetBookName', width: 165, align: 'center' }, { name: 'SwapType', label: '互换类型', index: 'SwapType', width: 100, align: 'center' }, { name: 'LongShort', label: '多空方向', index: 'LongShort', width: 100, align: 'center' }, { name: 'FloatingProfitTypeStr', label: '浮动收益方向', index: 'FloatingProfitTypeStr', width: 100, align: 'center' }, { name: 'TradeDate', label: '交易日期', index: 'TradeDate', width: 100, align: 'center',formatter: dateFormat, }, { name: 'StockEqvNotional', label: '成交名义本金', index: 'StockEqvNotional', width: 120, align: 'right', formatter: 'number' }, { name: 'tradeAmount', label: '成交数量', index: 'tradeAmount', width: 120, align: 'right', formatter: 'number', formatter: showToolName }, { name: 'PositionNotional', label: '持仓名义本金', index: 'PositionNotional', width: 120, align: 'right', formatter: 'number' }, { name: 'PositionAmount', label: '持仓数量', index: 'PositionAmount', width: 120, align: 'right', formatter: 'number', formatter: showToolName }, { name: 'UnderlyingCode', label: '标的代码 ', index: 'UnderlyingCode', width: 120, align: 'center', formatter: showToolName }, { name: 'SpotPrice', label: '期初标的价格', index: 'SpotPrice', width: 100, align: 'right', formatter: 'number', formatter: showToolName }, { name: 'Price', label: '标的现价', index: 'Price', width: 100, align: 'right', formatter: 'number', formatter: showToolName }, { name: 'InitMarginRate', label: '初始预付金率', index: 'InitMarginRate', width: 100, align: 'right', formatter: percentFormat }, { name: 'PostionProfitLoss', label: '总盈亏', index: 'PostionProfitLoss', width: 120, align: 'right', formatter: 'number' }, { name: 'PositionValue', label: '持仓盈亏', index: 'PositionValue', width: 120, align: 'right', formatter: 'number', sortable: true }, { name: 'InitMargin', label: '初始预付金', index: 'InitMargin', width: 120, align: 'right', formatter: 'number' }, { name: 'PositionMargin', label: '维持预付金', index: 'PositionMargin', width: 120, align: 'right', formatter: 'number' }, { name: 'PositionMarginRate', label: '维持预付金率', index: 'PositionMarginRate', width: 100, align: 'right', formatter: percentFormat }, { name: 'Margin', label: '追保金额', index: 'Margin', width: 120, align: 'right', formatter: 'number' }, ]; return colModelGrid; } function showToolName(cellValue, options, rowObject) { if (rowObject.SwapType == "多空组合") { var html = "--"; if (options.colModel.index == "UnderlyingCode") { var html = "".template(options.rowId, "查看"); return html } return html } else { return cellValue; } } function moreDetail(value) { if (ggridData != undefined) { var tradeSwapDetailList = ggridData.filter(t => { return t.TradeId == value }); var detailDiv = $('#detailDiv').html(); main.open2("多空组合持仓详情", detailDiv, { area: ["900px", "640px"], success: function (layero, index) { listGrid_1Init(ggridData[value-1].TradeSwapDetailList) } } ); } } function OpenSetMonitor() { var htmlContent = $('#setMonitor').html(); main.open2("预警线显示设置", htmlContent, { area: ["450px", "250px"], success: function (layero, index) { $("#OpenWaringLineMonitor").find("option[value='" + openWaringLineMonitor + "']").attr("selected", true); $("#OpenCloseLineMonitor").find("option[value='" + openCloseLineMonitor + "']").attr("selected", true); } } ); } function setMonitor() { openWaringLineMonitor = $('#OpenWaringLineMonitor').val() openCloseLineMonitor = $('#OpenCloseLineMonitor').val() gridComplete(); layer.closeAll(); } function gridComplete(data) { if (data instanceof Array) { ggridData = data; } var jgrid = $('#listGrid'); var rowIds = jgrid.jqGrid('getDataIDs'); for (var i = 0; i < rowIds.length; i++) { var rowId = rowIds[i]; var rowdata = jgrid.getRowData(rowId); //console.log(rowdata) if (rowdata.WaringStatus == "达到平仓线") { if (openCloseLineMonitor=="true") { $('#' + rowIds[i]).addClass("close-position-line"); } else { $('#' + rowIds[i])[0].classList.remove("close-position-line"); } } else if (rowdata.WaringStatus == "达到预警线") { if (openWaringLineMonitor=="true") { $('#' + rowIds[i]).addClass("waring-line"); } else { $('#' + rowIds[i])[0].classList.remove("waring-line"); } } } //var newHeight = $(window).height() - 250; //$(".ui-jqgrid .ui-jqgrid-bdiv").css("cssText", "height: " + newHeight + "px!important;"); //$('.ui-jqgrid-bdiv', '#gbox_listGrid').floatingScroll(); //$(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover" }); //var columnKey = ""; //if (tabIndexSelect === ObservationStatusTradeEnum.Barrier) { // columnKey = configcolumn_data.Barrier; //} //else if (tabIndexSelect === ObservationStatusTradeEnum.DoubleShark) { // columnKey = configcolumn_data.DoubleShark; //} //else if (tabIndexSelect === ObservationStatusTradeEnum.AutoCall) { // columnKey = configcolumn_data.AutoCall; //} //else if (tabIndexSelect === ObservationStatusTradeEnum.SnowBall) { // columnKey = configcolumn_data.SnowBall; //} main.setcolumnChooser(jgrid, page.configcolumn_name); } function showcolumnChooser() { main.showcolumnChooser(jQuery('#listGrid'), page.configcolumn_name); } var searchPostData = {}; function SearchClick(isSearchclick) { var listGrid = $('#listGrid'); listGrid.jqGrid('setGridParam', { url: '/MarginRateSwap/MarginRateSwapMonitorQuery', datatype: 'json' }) searchPostData.WarnningTypes = $("#WarnningType").val(); searchPostData.ClientIds = $("#ClientId").val(); //searchPostData.CreditRatingIds = $("#CreditRatingId").val(); searchPostData.VarietyIds = $("#VarietyId").val(); searchPostData.DateFromTradeDate = $("#DateFromTradeDate").val(); searchPostData.DateToTradeDate = $("#DateToTradeDate").val(); searchPostData.AssetIds = $("#AssetId").val(); searchPostData.UnderlyingIds = $("#UnderlyingId").val(); searchPostData.SwapType = $("#SwapType").val(); searchPostData.TradeNumber = $("#TradeNumber").val(); searchPostData.OpenWaringLineMonitor = true; searchPostData.OpenCloseLineMonitor = true; listGrid.appendPostData(searchPostData); query_data = listGrid.jqGrid('getPostData'); if (isSearchclick) { //点击搜索时默认第一页 listGrid.jqGrid('setGridParam', { page: 1 }); } listGrid.trigger('reloadGrid'); } function execExport() { searchPostData.WarnningTypes = $("#WarnningType").val(); searchPostData.ClientIds = $("#ClientId").val(); //searchPostData.CreditRatingIds = $("#CreditRatingId").val(); searchPostData.VarietyIds = $("#VarietyId").val(); searchPostData.DateFromTradeDate = $("#DateFromTradeDate").val(); searchPostData.DateToTradeDate = $("#DateToTradeDate").val(); searchPostData.AssetIds = $("#AssetId").val(); searchPostData.UnderlyingIds = $("#UnderlyingId").val(); searchPostData.SwapType = $("#SwapType").val(); searchPostData.TradeNumber = $("#TradeNumber").val(); searchPostData.OpenWaringLineMonitor = true; searchPostData.OpenCloseLineMonitor = true; main.post("/MarginRateSwap/execlExport", searchPostData).done(function (res) { main.downloadFiles(res.obj); }); parent.layer.closeAll(); } function isForGetFormat(cellValue, options, rowObject) { if (cellValue == true) { return "收取" } else { return "支付" } } function listGrid_1Init(dataList) { var PostData = { ValueDate: page.ValueDate }; main.setTradeDatePicker(moment(page.ValueDate)); var grid = jQuery('#listGrid_1').jqGrid( { autowidth: false, shrinkToFit: false, viewrecords: true, jsonReader: { repeatitems: false }, datatype: "local", height: '520px', width: '450px', colModel: [ { name: 'UnderlyingCode', label: '标的代码 ', index: 'UnderlyingCode', width: 100, align: 'center' }, { name: 'LongShort', label: '多空方向', index: 'LongShort', width: 100, align: 'center' }, { name: 'SpotPrice', label: '期初标的价格', index: 'SpotPrice', width: 100, align: 'right', formatter: 'number' }, { name: 'price', label: '标的现价', index: 'price', width: 100, align: 'right', formatter: 'number' }, { name: 'Notional', label: '份额', index: 'Notional', width: 100, align: 'right', formatter: 'number' },{ name: 'profitLoss', label: '总盈亏', index: 'profitLoss', width: 120, align: 'right', formatter: 'number' }, { name: 'pv', label: '持仓盈亏', index: 'pv', width: 120, align: 'right', formatter: 'number' }, { name: 'IsForGet', label: '收取/支付', index: 'IsForGet', width: 80, align: 'center', formatter: isForGetFormat } ], pager: jQuery('#pagerGrid_1'), pagerpos: 'left', rowNum: 20, rowList: [20, 30, 50, 200, 10000], onPaging: onJqgridPaging, }); for (var i = 0; i <= dataList.length; i++) { jQuery("#listGrid_1").jqGrid('addRowData', i + 1, dataList[i]); } }