var g_grid = {}; var query_data = {}; var g_threshold = 0; $(function () { var PostData = { ValueDate: page.ValueDate }; main.setTradeDatePicker(moment(page.ValueDate)); var grid = jQuery('#listGrid').jqGrid({ url: '', datatype: 'local', height: '580px', 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: page.isGuoJun?10000:500, rowList: [50,100,200,500,10000], loadonce: true, footerrow: true, loadComplete: gridComplete, onPaging: onJqgridPaging }); g_grid = jQuery('#listGrid'); //g_grid.jqGrid('filterToolbar', { defaultSearch:'cn', searchOperators: true }); 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"; } }); $(".listGroupHeader").parent().css("cssText", "text-align:center!important;border-top:0px"); 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) { setColumn.done(function () { $(".listGroupHeader").parent().css("cssText", "text-align:center!important;border-top:0px"); g_grid.jqGrid('destroyFrozenColumns'); g_grid.jqGrid('setFrozenColumns'); }); } else { $(".listGroupHeader").parent().css("cssText", "text-align:center!important;border-top:0px"); } document.onkeydown = keyEnter; SetAceDropDown(); setHoldingDepositFunc(); LoadGrid(); $("#CheckboxAll").click(function () { selAllGrid(); }); $("#DateValueDate").trigger("change"); }); function modifyHoldingDeposit(e) { var $holdingDepositInput = $(e.target); var $parent = $holdingDepositInput.parent(); var $holdingDepositSpan = $parent.find(".holdingDepositSpan") var valueDate = $("#DateValueDate").val(); var oldHoldingDeposit = numeral($holdingDepositSpan.text()).value(); var newHoldingDeposit = numeral($holdingDepositInput.val()).value(); if (oldHoldingDeposit == newHoldingDeposit) { $holdingDepositSpan.show(); $holdingDepositInput.hide(); return; } var clientId = $parent.find(".clientId").val(); var clientName = $parent.find(".clientName").val(); main.confirm(`确认修改${clientName}在${valueDate}的预付金占用为${numeral(newHoldingDeposit).format("0,0.00")}?`, function () { var pData = { ClientId: clientId, ValueDate: $("#DateValueDate").val(), HoldingDeposit: newHoldingDeposit }; main.post("/client_span/UpdateWorstCastClientPayable", pData).done(function (res) { SearchClick(true); }); }, function () { $holdingDepositSpan.show(); $holdingDepositInput.val($holdingDepositSpan.text()); $holdingDepositInput.hide(); }); } function setHoldingDepositFunc() { if (page.canUpdatePayableMargin) { $("#listGrid").delegate("td", "dblclick", function () { var $td = $(this); if (!$td.find(".holdingDepositSpan").length) { return; } var $holdingDepositSpan = $td.find(".holdingDepositSpan"); var $holdingDepositInput = $td.find(".holdingDepositInput"); $holdingDepositSpan.hide(); $holdingDepositInput.val(numeral($holdingDepositSpan.text()).value()); $holdingDepositInput.show(); $holdingDepositInput.focus(); }); $("#listGrid").delegate(".holdingDepositInput", "blur", function (e) { modifyHoldingDeposit(e); }); } } function getColModelGrid() { function KeShangYuEr(cellValue, options, rowObject) { return ((parseFloat(rowObject.NetFund) || 0) + (parseFloat(rowObject.WinLoss) || 0)).toFixed(2); } var isHaiTong = page.Company === "海通"; var colModelGrid = [ { name: 'id', label: 'id', index: 'id', width: 1, align: 'left', hidden: true, optionHide: true, frozen: true }, { name: 'EncryptId', label: 'EncryptId', index: 'EncryptId', width: 0, align: 'left', hidden: true, optionHide: true, frozen: true }, { name: 'Number', label: '客户编号', index: 'Number', width: 100, align: 'center', frozen: true }, { name: 'Name', label: '客户名称', index: 'Name', width: 238, align: 'center', frozen: true }, { name: 'ProtocolSignDate', label: '商品类签署日期', index: 'ProtocolSignDate', width: 150, align: 'center', formatter: 'date', hidden: true, frozen: true }, { name: 'RightProtocolSignDate', label: '权益类签署日期', index: 'RightProtocolSignDate', width: 150, align: 'center', formatter: 'date', hidden: true, frozen: true }, { name: 'Level', label: '客户等级', index: 'Level', width: 60, align: 'center', optionHide: page.isShanXi, hidden: page.isShanXi, frozen: true }, { name: 'CreditRatingName', label: '资信等级', index: 'CreditRatingName', width: 60, align: 'center', optionHide: page.isShanXi, hidden: page.isShanXi, frozen: true }, { name: 'TotalCredit', label: '授信额度', index: 'TotalCredit', width: 120, align: 'right', optionHide: page.isShanXi, hidden: page.isShanXi, formatter: 'number', frozen: true }, { name: 'CustomerNature1', label: '客户性质1', index: 'CustomerNature1', width: 130, align: 'center', optionHide: page.isShanXi, hidden: page.isShanXi, frozen: true }, { name: 'CustomerNature2', label: '客户性质2', index: 'CustomerNature2', width: 130, align: 'center', optionHide: page.isShanXi, hidden: page.isShanXi, frozen: true }, { name: 'CustomerManager', label: '客户经理', index: 'CustomerManager', width: 90, align: 'center', optionHide: page.isShanXi, hidden: page.isShanXi, frozen: true }, { name: 'SalesDepartment', label: '营业部', index: 'SalesDepartment', width: 90, align: 'center', optionHide: page.isShanXi, hidden: page.isShanXi, frozen: true }, { name: 'Seller', label: '营业部销售', index: 'Seller', width: 90, align: 'center', optionHide: page.isShanXi, hidden: page.isShanXi, frozen: true }, { name: 'SwapTradeTypeStr', label: '收益互换交易类别', index: 'SwapTradeTypeStr', width: 130, align: 'center', optionHide: !page.isShanXi, hidden: !page.isShanXi, frozen: true },{ name: 'licenseCodes', label: '统一社会信用代码', index: 'licenseCodes', width: 100, align: 'right', optionHide: !page.isDongWu, hidden: !page.isDongWu, frozen: true }, { name: 'IsSmallAndMicroEnterpriseas', label: '是否中小微', index: 'IsSmallAndMicroEnterpriseas', width: 100, align: 'right', optionHide: !page.isDongWu, hidden: !page.isDongWu, frozen: true }, { name: 'IsmicroCorp', label: '是否上市', index: 'IsmicroCorp', width: 100, align: 'right', optionHide: !page.isDongWu, hidden: !page.isDongWu, frozen: true },{ name: 'NetFundSumString', label: '客户净资产', index: 'NetFundSumString', width: 100, align: 'right', optionHide: !page.isDongWu, hidden: !page.isDongWu, formatter: 'number', frozen: true },{ name: 'TotalTradeCount', label: '交易总数', index: 'TotalTradeCount', width: 120, align: 'center', formatter: main.toInt, sorttype: 'number' }, { name: 'TotalNotionalPrincipal', label: '名义本金总额', index: 'TotalNotionalPrincipal', width: 150, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'BuyCount', label: '买权交易数', index: 'BuyCount', width: 120, align: 'center', formatter: main.toInt, optionHide: page.isShanXi, hidden: page.isShanXi, sorttype: 'number' }, { name: 'BuyNominalPrincipalOfTransaction', label: '买权名义本金', index: 'BuyNominalPrincipalOfTransaction', width: 150, align: 'right', formatter: 'number', optionHide: page.isShanXi, hidden: page.isShanXi, sorttype: 'number' }, { name: 'SellCount', label: '卖权交易数', index: 'SellCount', width: 120, align: 'center', formatter: main.toInt, optionHide: page.isShanXi, hidden: page.isShanXi, sorttype: 'number' }, { name: 'SellNominalPrincipalOfTransaction', label: '卖权名义本金', index: 'SellNominalPrincipalOfTransaction', width: 150, align: 'right', formatter: 'number', optionHide: page.isShanXi, hidden: page.isShanXi, sorttype: 'number' }, { name: 'TransactionPenNumber', label: '当日交易数', index: 'TransactionPenNumber', width: 120, align: 'center', formatter: main.toInt, sorttype: 'number' }, { name: 'TodayNotionalPrincipal', label: '当日交易名义本金', index: 'TodayNotionalPrincipal', width: 120, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'PositionNotionalPrincipal', label: '持仓名义本金', index: 'PositionNotionalPrincipal', width: 120, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'CurrentHoldingPenNumber', label: '持仓笔数', index: 'CurrentHoldingPenNumber', width: 80, align: 'center', formatter: main.toInt, sorttype: 'number' }, { name: 'FreezePremium', label: '应付冻结权利金', index: 'FreezePremium', width: 100, align: 'right', formatter: 'number', hidden: true, sorttype: 'number' }, { name: 'ReceivablesPremium', label: '应收冻结权利金', index: 'ReceivablesPremium', width: 100, align: 'right', formatter: 'number', hidden: true, sorttype: 'number' }, { name: 'FrozenMarginMoney', label: '冻结预付金', index: 'FrozenMarginMoney', width: 100, align: 'right', formatter: 'number', hidden: true, sorttype: 'number' }, { name: 'WinLoss', label: '实现盈亏', index: 'WinLoss', width: 120, align: 'right', value: '0', formatter: 'number', sorttype: 'number' }, { name: 'PositionPv', label: '持仓市值', index: 'PositionPv', width: 120, align: 'right', value: '0', formatter: 'number', optionHide: page.isPvRounded, hidden: page.isPvRounded, sorttype: 'number' }, { name: 'RoundedPositionPv', label: '持仓市值', index: 'RoundedPositionPv', width: 120, align: 'right', value: '0', formatter: 'number', optionHide: !page.isPvRounded, hidden: !page.isPvRounded, sorttype: 'number' }, { name: 'PrepaymentAmount', label: '其中:预付金', index: 'PrepaymentAmount', width: 120, align: 'right', value: '0', formatter: 'number', optionHide: !page.SuppotSnowballSpecialist, hidden: !page.SuppotSnowballSpecialist, sorttype: 'number' }, { name: 'PositionPnl', label: '持仓盈亏', index: 'PositionPnl', width: 120, align: 'right', value: '0', formatter: 'number', optionHide: page.isPvRounded, hidden: page.isPvRounded, sorttype: 'number' }, { name: 'DaliyPnl', label: '当日盈亏', index: 'DaliyPnl', width: 120, align: 'right', value: '0', formatter: 'number', optionHide: page.isPvRounded, hidden: page.isPvRounded, sorttype: 'number' }, { name: 'RoundedPositionPnl', label: '持仓盈亏', index: 'RoundedPositionPnl', width: 120, align: 'right', value: '0', formatter: 'number', optionHide: !page.isPvRounded, hidden: !page.isPvRounded, sorttype: 'number' }, { name: 'RoundedDaliyPnl', label: '当日盈亏', index: 'RoundedDaliyPnl', width: 120, align: 'right', value: '0', formatter: 'number', optionHide: !page.isPvRounded, hidden: !page.isPvRounded, sorttype: 'number' }, { name: 'CreditRiskLoss', label: '信用风险亏损', index: 'CreditRiskLoss', width: 100, align: 'right', formatter: 'number', optionHide: page.isShanXi, hidden: page.isShanXi, sorttype: 'number' }, { name: 'Exposure', label: '信用风险敞口', index: 'Exposure', width: 100, align: 'right', formatter: 'number', optionHide: page.isShanXi, hidden: page.isShanXi, sorttype: 'number' }, { name: 'NetFund', label: '出金入金', index: 'NetFund', width: 100, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'Coupon', label: '票息', index: 'Coupon', width: 100, align: 'right', formatter: 'number', optionHide: page.isShanXi, hidden: page.isShanXi, sorttype: 'number' }, { name: 'OptionPremiumSwap', label: '互换成交收支', index: 'OptionPremiumSwap', width: 100, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'SwapBalance', label: '互换了结收支', index: 'SwapBalance', width: 100, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'OtherFund', label: '其他收支', index: 'OtherFund', width: 100, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'AmountFund', label: '期末结存', index: 'AmountFund', width: 100, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'GuaranteesTotalAmount', label: '质押市值', index: 'GuaranteesTotalAmount', width: 100, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'TotalAmount', label: '总资产', index: 'TotalAmount', width: 100, align: 'right', formatter: 'number', optionHide: page.isPvRounded, hidden: page.isPvRounded, sorttype: 'number' }, { name: 'RoundedTotalAmount', label: '总资产', index: 'RoundedTotalAmount', width: 100, align: 'right', formatter: 'number', optionHide: !page.isPvRounded, hidden: !page.isPvRounded, sorttype: 'number' }, { name: 'HoldingDeposit', label: '预付金占用', index: 'HoldingDeposit', width: 120, align: 'right', formatter: holdingDepositFormat, sorttype: 'number' }, { name: 'HoldingDepositA', label: '团队A占用', index: 'HoldingDepositA', width: 120, align: 'right', formatter: holdingDepositFormat, optionHide: !page.isHongYuan, hidden: !page.isHongYuan, sorttype: 'number' }, { name: 'HoldingDepositB', label: '团队B占用', index: 'HoldingDepositB', width: 120, align: 'right', formatter: holdingDepositFormat, optionHide: !page.isHongYuan, hidden: !page.isHongYuan, sorttype: 'number' }, { name: 'SpanValue', label: 'Span预付金', index: 'SpanValue', width: 120, align: 'right', formatter: 'number', optionHide: !page.isDongZheng, hidden: !page.isDongZheng, sorttype: 'number' }, { name: 'MySideMargin', label: '预付金占用(本方)', index: 'MySideMargin', width: 120, align: 'right', formatter: 'number', optionHide: !page.isGuoJun, hidden: !page.isGuoJun, sorttype: 'number' }, { name: 'OtherSideMargin', label: '预付金(对手方向)', index: 'OtherSideMargin', width: 120, align: 'right', formatter: 'number', optionHide: !page.showOtherSideMargin, hidden: !page.showOtherSideMargin, sorttype: 'number' }, { name: 'DeltaMargin', label: 'Delta预付金', index: 'DeltaMargin', width: 120, align: 'right', formatter: 'number', optionHide: !page.isGuoJun, hidden: !page.isGuoJun, sorttype: 'number' }, { name: 'AvailableAmount', label: '可用资金', index: 'AvailableAmount', width: 120, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'CreditUsed', label: '授信使用率', index: 'CreditUsed', width: 120, align: 'right', formatter: percentFormat, sorttype: 'number' }, { name: 'InsuredAmount', label: '追保金额', index: 'InsuredAmount', width: 120, align: 'right', value: '0', formatter: 'number', sorttype: 'number' }, { name: 'ClosedTradePayableFund', label: '应付已了结交易款', index: 'ClosedTradePayableFund', width: 120, align: 'right', value: '0', formatter: 'number', sorttype: 'number' }, { name: 'PositionTradePayableFund', label: '应付未了结交易款', index: 'PositionTradePayableFund', width: 100, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'PayableFund', label: '应付资金总额', index: 'PayableFund', width: 100, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'SellerPositionPremium', label: '应收权利金', index: 'SellerPositionPremium', width: 100, align: 'right', formatter: 'number', optionHide: !page.isChangJiang, hidden: !page.isChangJiang, sorttype: 'number' }, { name: 'BuyerPositionMargin', label: '应收预付金', index: 'BuyerPositionMargin', width: 100, align: 'right', formatter: 'number', optionHide: !page.isChangJiang, hidden: !page.isChangJiang, sorttype: 'number' }, { name: 'Receivable', label: '应收账款', index: 'Receivable', width: 100, align: 'right', formatter: ReceivableCalc, optionHide: !page.isChangJiang, hidden: !page.isChangJiang, sorttype: 'number' }, { name: 'DesirableFund', label: '可取资金', index: 'DesirableFund', width: 100, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'EndDesirableFund', label: '期末结存_权利金后付', index: 'EndDesirableFund', width: 100, align: 'right', formatter: 'number', optionHide: !page.isDongWu, hidden: !page.isDongWu, sorttype: 'number' }, { name: 'WorstCastClientPayableRatio', label: '预付金覆盖比例', index: 'WorstCastClientPayableRatio', width: 100, align: 'right', formatter: 'number', optionHide: !page.isDongWu, hidden: !page.isDongWu, sorttype: 'number' }, { name: 'clientEquity', label: '客户权益', index: 'clientEquity', width: 100, align: 'right', optionHide: !page.isDongWu, hidden: !page.isDongWu, formatter: 'number',sorttype: 'number' }, { name: 'LastDayPositionPremiumNetCashs', label: '持仓权利金', index: 'LastDayPositionPremiumNetCashs', width: 100, align: 'right', formatter: 'number', optionHide: !page.isDongWu, hidden: !page.isDongWu, sorttype: 'number' }, { name: 'availableNetFundSumsString', label: '规模/净资产', index: 'availableNetFundSumsString', width: 100, align: 'right', optionHide: !page.isDongWu, hidden: !page.isDongWu }, { name: 'CreditUsedValue', label: '授信使用金额', index: 'CreditUsedValue', width: 100, align: 'right', formatter: 'number', sorttype: 'number' }, { name: 'NetFund2', label: '客商余额', index: 'NetFund2', width: 120, align: 'right', formatter: KeShangYuEr, sortable: false, hidden: !isHaiTong, optionHide: !isHaiTong, sorttype: 'number' }, { name: 'PFE', label: '潜在风险暴露', index: 'PFE', width: 120, align: 'right', formatter: 'number', sortable: false, hidden: !page.showPFE, optionHide: !page.showPFE, sorttype: 'number' }, { name: 'EAD', label: '违约风险暴露', index: 'EAD', width: 120, align: 'right', formatter: 'number', sortable: false, hidden: !page.isChangJiang, optionHide: !page.isChangJiang, sorttype: 'number' }, { name: 'AvailableStockEqvNotional', label: '可用名义本金规模', index: 'AvailableStockEqvNotional', width: 180, align: 'right', formatter: 'number', hidden: !page.UseClientStockEqvNotional, optionHide: !page.UseClientStockEqvNotional, sorttype: 'number' }, { name: 'CreditExposure', label: '信用风险敞口', index: 'CreditExposure', width: 120, align: 'right', formatter: 'number', hidden: !page.isGuoHai, optionHide: !page.isGuoHai, sorttype: 'number' } ]; if (page.isShanXi) { colModelGrid.push({ name: 'LastSettlemetTime', label: '系统收盘时间', index: 'LastSettlemetTime', width: 150, align: 'center', sortable: false, formatter: "datetime" }, { name: 'LastHTSettlemetTime', label: '衡泰清算时间', index: 'LastHTSettlemetTime', width: 150, align: 'center', sortable: false, formatter: "datetime" }); } if (page.ViewTagPermission) { colModelGrid.push({ name: 'Tags', label: '标签值', index: 'Tags', width: 150, align: 'left', sortable: false, formatter: tagformat }, { name: 'OutputTags', label: 'OutputTags', index: 'OutputTags', width: 70, align: 'center', hidden: true, optionHide: true }); } return colModelGrid; } function tagformat(cellvalue, options, rowObject) { var html = '