var g_grid = {}; var g_grid1 = {}; $(function () { optionColModelGrid.splice(16, 0, { name: 'StockEqvNotional3', label: '名义本金', index: 'StockEqvNotional3', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return main.formatNumber(cellValue || '', 2); } }) unitColModelGrid.splice(5, 0, { name: 'StockEqvNotional3', label: '名义本金', index: 'StockEqvNotional3', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return main.formatNumber(cellValue || '', 2); } }) if (pageObj.ViewTagPermission) { optionColModelGrid.push({ name: 'Tags', label: '客户标签值', index: 'Tags', formatter: tagformat, width: 150, align: 'left', sortable: false }, { name: 'OutputTags', label: 'OutputTags', index: 'OutputTags', width: 70, align: 'center', hidden: true, optionHide: true }); swapColModelGrid.push({ name: 'Tags', label: '客户标签值', index: 'Tags', formatter: tagformat, width: 150, align: 'left', sortable: false }, { name: 'OutputTags', label: 'OutputTags', index: 'OutputTags', width: 70, align: 'center', hidden: true, optionHide: true }); forwardColModelGrid.push({ name: 'Tags', label: '客户标签值', index: 'Tags', formatter: tagformat, width: 150, align: 'left', sortable: false }, { name: 'OutputTags', label: 'OutputTags', index: 'OutputTags', width: 70, align: 'center', hidden: true, optionHide: true }); } $(".searchTrade").hide(); $(".searchUnit").hide(); setSummaryType(pageObj.SummaryType); $("#tradeTab").on("click", function (e) { setSummaryType("场外期权"); if ($('#riskContent1').width()>0) { $("#listGrid").jqGrid('setGridWidth', $('#riskContent1').width()); } else { $("#listGrid1").jqGrid('setGridWidth', $('#riskContent').width()); } }); $("#unitTab").on("click", function (e) { setSummaryType("簿记维度"); if ($('#riskContent1').width() > 0) { $("#listGrid").jqGrid('setGridWidth', $('#riskContent1').width()); } else { $("#listGrid1").jqGrid('setGridWidth', $('#riskContent').width()); } }); $("#myTab li a").on("click", function (e) { setSummaryType($(e.target).text()); }); $(".morebtn").click(function (e) { $(".hidediv").toggle(); }); $("#DateFromCurrentPeriodDate").val(pageObj.currentPeriodStartDate); $("#DateToCurrentPeriodDate").val(pageObj.CurDate); $("#DateFromTradeConfirmDate").val(pageObj.monthFirstDay); $("#DateToTradeConfirmDate").val(pageObj.lastValueDate); $("#DateFromFinTradeConfirmDate").val(pageObj.monthFirstDay); $("#DateToFinTradeConfirmDate").val(pageObj.lastValueDate); $(".datepicker").datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, showOtherMonths: true, selectOtherMonths: true }); $("#DateFromCurrentPeriodDate").on("change", function () { var startDate = $(this).val(); if (startDate != "" && !main.isDate(startDate)) { return; } $("#DateToCurrentPeriodDate").datepicker("option", "minDate", startDate); }); $("#DateToCurrentPeriodDate").on("change", function () { var endDate = $(this).val(); if (endDate != "" && !main.isDate(endDate)) { return; } $("#DateFromCurrentPeriodDate").datepicker("option", "maxDate", endDate); }); $("#DateFromTradeConfirmDate").on("change", function () { var startDate = $(this).val(); if (startDate != "" && !main.isDate(startDate)) { return; } $("#DateToTradeConfirmDate").datepicker("option", "minDate", startDate); }); $("#DateToTradeConfirmDate").on("change", function () { var endDate = $(this).val(); if (endDate != "" && !main.isDate(endDate)) { return; } $("#DateFromTradeConfirmDate").datepicker("option", "maxDate", endDate); }); $("#DateFromClearConfirmDate").on("change", function () { var startDate = $(this).val(); if (startDate != "" && !main.isDate(startDate)) { return; } $("#DateToClearConfirmDate").datepicker("option", "minDate", startDate); }); $("#DateToClearConfirmDate").on("change", function () { var endDate = $(this).val(); if (endDate != "" && !main.isDate(endDate)) { return; } $("#DateFromClearConfirmDate").datepicker("option", "maxDate", endDate); }); $("#DateFromFinTradeConfirmDate").on("change", function () { var startDate = $(this).val(); if (startDate != "" && !main.isDate(startDate)) { return; } $("#DateToFinTradeConfirmDate").datepicker("option", "minDate", startDate); }); $("#DateToFinTradeConfirmDate").on("change", function () { var endDate = $(this).val(); if (endDate != "" && !main.isDate(endDate)) { return; } $("#DateFromFinTradeConfirmDate").datepicker("option", "maxDate", endDate); }); }); function tagformat(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; } function getGrid(summaryType) { var postData = GetPostData(); var url = "/trade/FinancialSummaryQuery_GF"; var obj = { url: url, datatype: 'local', multiselect: false, height: 'auto', width: '96%', autowidth: false, shrinkToFit: false, viewrecords: true, jsonReader: { repeatitems: false }, caption: '', mtype: 'POST', postData: postData, afterInsertRow: AfterInsertRow, onSelectRow: rowclick, ondblClickRow: rowdblclick, // pager: pager, //pagerpos: 'left', //rowNum: 20, //rowList: [20, 30, 50, 200, 10000], footerrow: false, loadComplete: gridComplete, onPaging: onJqgridPaging }; var g_grid = {}; switch (summaryType) { case "场外期权": obj.colModel = optionColModelGrid; break; case "远期/掉期": obj.colModel = forwardColModelGrid; break; case "互换": obj.colModel = swapColModelGrid; break; case "场内期权": obj.colModel = exchangeColModelGrid; break; default: } g_grid = jQuery('#listGrid').jqGrid(obj); switch (summaryType) { case "场内期权": setGroupHeaders(g_grid); g_grid.off("resizeStop"); g_grid.on("resizeStop", function (newwidth, index) { var col = g_grid.getCol(index); }); break; case "远期/掉期": case "互换": case "场外期权": default: break; } return g_grid; } function getGrid1(summaryType) { var postData = GetPostData(); var url = "/trade/UnitSummaryQuery"; var obj = { url: url, datatype: 'local', multiselect: false, height: 'auto', width: '96%', autowidth: false, shrinkToFit: false, viewrecords: true, jsonReader: { repeatitems: false }, caption: '', mtype: 'POST', postData: postData, afterInsertRow: AfterInsertRow, onSelectRow: rowclick, ondblClickRow: rowdblclick, // pager: pager, //pagerpos: 'left', //rowNum: 20, //rowList: [20, 30, 50, 200, 10000], footerrow: false, loadComplete: gridComplete1, onPaging: onJqgridPaging }; var g_grid1 = {}; switch (summaryType) { case "簿记维度": obj.colModel = unitColModelGrid; //break; default: } g_grid1 = jQuery('#listGrid1').jqGrid(obj); return g_grid1; } function AfterInsertRow(rowid, aData) { $("#tc" + rowid + ",#cc" + rowid).datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, showOtherMonths: true, selectOtherMonths: true }); } function setSummaryType(summaryType) { if (summaryType == "簿记维度") { $(".searchTrade").hide(); $(".searchUnit").show(); if (typeof g_grid1.GridUnload === 'function') { g_grid1.GridUnload(); } g_grid1 = getGrid1(summaryType); } else { $(".searchTrade").show(); $(".searchUnit").hide(); $("#myTab li").removeClass("active"); $("#myTab :contains('" + summaryType + "')").parent().addClass("active"); $("[tag]").hide(); $("[tag*='" + summaryType + "']").show(); if (typeof g_grid.GridUnload === 'function') { g_grid.GridUnload(); } g_grid = getGrid(summaryType); } } function tagformat(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 optionColModelGrid = [ { name: 'ClientFullName', label: '客户全称', index: 'ClientFullName', width: 200, align: 'left', sortable: false }, { name: 'AssetBookName', label: '簿记账户', index: 'AssetBookName', width: 200, align: 'left', sortable: false }, { name: 'TradeNumber', label: '订单', index: 'TradeNumber', width: 200, align: 'left', sortable: false }, { name: 'ContractCode', label: '确认书编号', index: 'ContractCode', width: 200, align: 'left', sortable: false }, { name: 'SettlementCode', label: '结算书编号', index: 'SettlementCode', width: 200, align: 'left', sortable: false }, { name: 'Status', label: '状态', index: 'Status', width: 70, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { if (cellValue) { return "完结"; } else { return "未完结"; } } } }, { name: 'OptionType', label: '看涨看跌', index: 'OptionType', width: 60, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (cellValue != "无状态") { return cellValue; } else { return ""; } } }, { name: 'ClientShortName', label: '客户名', index: 'ClientShortName', width: 200, align: 'left', sortable: false }, { name: 'TradeDate', label: '成交日', index: 'TradeDate', width: 90, align: 'left', formatter: 'date', sortable: false }, { name: 'OriginalLots', label: '成交手数', index: 'OriginalLots', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { return numberFormat(cellValue); } else { return ""; } } }, { name: 'OriginalAmount', label: '有效成交数量', index: 'OriginalAmount', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { var amount = cellValue; return numberFormat(pageObj.IsUseDisplayNotional ? amount * (rowObject.CountRatio || 1) : amount); } else { return ""; } } }, { name: 'PositionAmount', label: '持仓数量', index: 'PositionAmount', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { var amount = cellValue return numberFormat(pageObj.IsUseDisplayNotional ? amount * (rowObject.CountRatio || 1) : amount); } else { return ""; } } }, { name: 'ExerciseDate', label: '到期日', index: 'ExerciseDate', width: 90, align: 'left', formatter: 'date', sortable: false }, { name: 'ClearDate', label: '清算日期', index: 'ClearDate', width: 90, align: 'left', formatter: 'date', sortable: false }, { name: 'TradeDirection', label: '我方买/卖', index: 'TradeDirection', width: 60, align: 'left', sortable: false }, { name: 'UnderlyingCode', label: '标的', index: 'UnderlyingCode', width: 60, align: 'left', sortable: false }, { name: 'StockEqvNotional', label: '名义本金(期初价格)', index: 'StockEqvNotional', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { return main.formatNumber(cellValue || '', 2); } } }, { name: 'TradePrice', label: '开仓费用', index: 'TradePrice', width: 100, align: 'left', sortable: false, numberFormat }, { name: 'ClearPrice', label: '清算金额', index: 'ClearPrice', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'ConfirmTotlePnl', label: '我方期权清算盈亏', index: 'ConfirmTotlePnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'LastPv', label: '上期期末市值', index: 'LastPv', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'LastTotalPnl', label: '上期期末累计浮动盈亏', index: 'LastTotalPnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'Pv', label: '本期期末市值', index: 'Pv', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'TotalPnl', label: '本期期末累计浮动盈亏', index: 'TotalPnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'GF_Pnl', label: '本期浮动盈亏', index: 'GF_Pnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'AvailableCash', label: '可用资金(财务)', index: 'AvailableCash', width: 80, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if(rowObject.StatusStr == "无状态") { return numberFormat(cellValue); } else { return ""; } } },{ name: 'EndBalance', label: '期末结存(财务)', index: 'EndBalance', width: 80, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (rowObject.StatusStr == "无状态") { return numberFormat(cellValue); } else { return ""; } } }, //{ // name: 'TotalPnlAfterExpense', label: '费后总盈亏', index: 'TotalPnlAfterExpense', width: 80, align: 'left', sortable: false, formatter: numberFormat //}, { name: 'TradeConfirmFileStatus', label: '交易确认书', index: 'TradeConfirmFileStatus', width: 60, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return cellValue == "草稿" ? "未用印" : cellValue; } }, { name: 'ClearConfirmFileStatus', label: '结算确认书', index: 'ClearConfirmFileStatus', width: 60, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return cellValue == "草稿" ? "未用印" : cellValue; } }, { name: 'FinancialEntry', label: '财务入账', index: 'FinancialEntry', width: 90, align: 'left', sortable: false, formatter: numberFormat }, { name: 'TradeConfirmDate', label: '交易确认日期', index: 'TradeConfirmDate', width: 160, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { var html = ""; if (_.trim(cellValue)) { if (cellValue) { html = ""; } else { html = ""; } html += ""; } return html; } }, { name: 'ClearConfirmDate', label: '了结确认日期', index: 'ClearConfirmDate', width: 160, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { var html = ""; if (rowObject.Status) { if (cellValue) { html = ""; } else { html = ""; } html += ""; } return html; } }, { name: '', label: '文件查看', index: '', width: 90, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (_.trim(rowObject.TradeNumber)) { var html = ("") .template(rowObject.TradeNumber); } return html; } } ]; var unitColModelGrid = [ { name: 'AssetBookName', label: '簿记账户', index: 'AssetBookName', width: 200, align: 'left', sortable: false }, { name: 'VarietyCode', label: '品种代码', index: 'VarietyCode', width: 200, align: 'left', sortable: false },{ name: 'PositionLots', label: '持仓手数', index: 'PositionLots', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { return numberFormat(cellValue); } else { return ""; } } }, { name: 'PositionAmount', label: '持仓数量', index: 'PositionAmount', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { var amount = cellValue return numberFormat(pageObj.IsUseDisplayNotional ? amount * (rowObject.CountRatio || 1) : amount); } else { return ""; } } }, { name: 'ClearPrice', label: '场外清算金额', index: 'ClearPrice', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'ConfirmTotlePnl', label: '我方期权清算盈亏', index: 'ConfirmTotlePnl', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'LastPv', label: '上期期末市值', index: 'LastPv', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'LastTotalPnl', label: '上期期末累计浮动盈亏', index: 'LastTotalPnl', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'Pv', label: '本期期末市值', index: 'Pv', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'TotalPnl', label: '本期期末累计浮动盈亏', index: 'TotalPnl', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'GF_Pnl', label: '本期浮动盈亏', index: 'GF_Pnl', width: 100, align: 'left', sortable: false, formatter: numberFormat },{ name: 'DailyPnL', label: '当日期货盈亏', index: 'DailyPnL', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'ServiceFee', label: '手续费', index: 'ServiceFee', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'NewTotalPnl', label: '累计总盈亏', index: 'NewTotalPnl', width: 100, align: 'left', sortable: false, formatter: numberFormat } ]; var swapColModelGrid = [ { name: 'ClientFullName', label: '客户全称', index: 'ClientFullName', width: 200, align: 'left', sortable: false }, { name: 'AssetBookName', label: '簿记账户', index: 'AssetBookName', width: 200, align: 'left', sortable: false }, { name: 'TradeNumber', label: '订单', index: 'TradeNumber', width: 200, align: 'left', sortable: false }, { name: 'ContractCode', label: '确认书编号', index: 'ContractCode', width: 200, align: 'left', sortable: false }, { name: 'SettlementCode', label: '结算书编号', index: 'SettlementCode', width: 200, align: 'left', sortable: false }, { name: 'Status', label: '状态', index: 'Status', width: 70, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { if (cellValue) { return "完结"; } else { return "未完结"; } } } //}, { // name: 'OptionType', label: '多空方向', index: 'OptionType', width: 60, align: 'left', sortable: false, // formatter: function (cellValue, options, rowObject) { // return cellValue == "看涨" ? "多头" : "空头"; // } }, { name: 'ClientShortName', label: '客户名', index: 'ClientShortName', width: 200, align: 'left', sortable: false }, { name: 'TradeDate', label: '成交日', index: 'TradeDate', width: 90, align: 'left', formatter: 'date', sortable: false }, { name: 'OriginalLots', label: '成交手数', index: 'OriginalLots', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if(rowObject.StatusStr != "无状态") { return numberFormat(cellValue); } else { return ""; } } }, { name: 'OriginalAmount', label: '有效成交数量', index: 'OriginalAmount', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { return numberFormat(pageObj.IsUseDisplayNotional ? cellValue * (rowObject.CountRatio || 1) : cellValue); } else { return ""; } } }, { name: 'PositionAmount', label: '持仓数量', index: 'PositionAmount', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { return numberFormat(pageObj.IsUseDisplayNotional ? cellValue * (rowObject.CountRatio || 1) : cellValue); } else { return ""; } } }, { name: 'ExerciseDate', label: '到期日', index: 'ExerciseDate', width: 90, align: 'left', formatter: 'date', sortable: false }, { name: 'ClearDate', label: '清算日期', index: 'ClearDate', width: 90, align: 'left', formatter: 'date', sortable: false }, { name: 'TradeDirection', label: '我方买/卖', index: 'TradeDirection', width: 60, align: 'left', sortable: false }, { name: 'UnderlyingCode', label: '标的', index: 'UnderlyingCode', width: 160, align: 'left', sortable: false }, { // name: 'StructureType', label: '期权类型', index: 'StructureType', width: 60, align: 'left', sortable: false //}, { name: 'StockEqvNotional', label: '名义本金', index: 'StockEqvNotional', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { var result = cellValue == "null" ? "" : cellValue; return main.formatNumber(result, 2); } } }, { // name: 'StockEqvNotional2', label: '名义本金(执行价格)', index: 'StockEqvNotional2', width: 100, align: 'left', sortable: false, // formatter: function (cellValue, options, rowObject) { // var result = cellValue == "null" ? "" : cellValue; // return main.formatNumber(result, 2); // } //}, { // name: 'StockEqvNotional', label: '名义本金(万元)', index: 'StockEqvNotional', width: 100, align: 'left', sortable: false, // formatter: function (cellValue, options, rowObject) { // var result = cellValue == "null" ? "" : cellValue; // if (result !== "") { // result = result / 10000; // } // return main.formatNumber(result, 4); // } //}, { name: 'TradePrice', label: '开仓费用', index: 'TradePrice', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'ClearPrice', label: '清算金额', index: 'ClearPrice', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'ConfirmTotlePnl', label: '我方期权清算盈亏', index: 'ConfirmTotlePnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'LastPv', label: '上期期末市值', index: 'LastPv', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'LastTotalPnl', label: '上期期末累计浮动盈亏', index: 'LastTotalPnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'Pv', label: '本期期末市值', index: 'Pv', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'TotalPnl', label: '本期期末累计浮动盈亏', index: 'TotalPnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'GF_Pnl', label: '本期浮动盈亏', index: 'GF_Pnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'AvailableCash', label: '可用资金(财务)', index: 'AvailableCash', width: 80, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (rowObject.StatusStr == "无状态") { return numberFormat(cellValue); } else { return ""; } } }, { name: 'EndBalance', label: '期末结存(财务)', index: 'EndBalance', width: 80, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (rowObject.StatusStr == "无状态") { return numberFormat(cellValue); } else { return ""; } } }, { name: 'TradeConfirmFileStatus', label: '交易确认书', index: 'TradeConfirmFileStatus', width: 60, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return cellValue == "草稿" ? "未用印" : cellValue; } }, { name: 'ClearConfirmFileStatus', label: '结算确认书', index: 'ClearConfirmFileStatus', width: 60, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return cellValue == "草稿" ? "未用印" : cellValue; } }, { name: 'FinancialEntry', label: '财务入账', index: 'FinancialEntry', width: 90, align: 'left', sortable: false, formatter: numberFormat //}, { // name: 'TradeConfirmDate', label: '交易确认日期', index: 'TradeConfirmDate', width: 160, align: 'left', sortable: false, // formatter: function (cellValue, options, rowObject) { // var html = ""; // if (cellValue) { // html = ""; // } else { // html = ""; // } // html += ""; // return html; // } //}, { // name: 'ClearConfirmDate', label: '了结确认日期', index: 'ClearConfirmDate', width: 160, align: 'left', sortable: false, // formatter: function (cellValue, options, rowObject) { // var html = ""; // if (cellValue) { // html = ""; // } else { // html = ""; // } // html += ""; // return html; // } }, { name: '', label: '文件查看', index: '', width: 90, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (_.trim(rowObject.TradeNumber)) { var html = ("") .template(rowObject.TradeNumber); } return html; } } ]; var forwardColModelGrid = [ { name: 'ClientFullName', label: '客户全称', index: 'ClientFullName', width: 200, align: 'left', sortable: false }, { name: 'AssetBookName', label: '簿记账户', index: 'AssetBookName', width: 200, align: 'left', sortable: false }, { name: 'TradeNumber', label: '订单', index: 'TradeNumber', width: 200, align: 'left', sortable: false }, { name: 'ContractCode', label: '确认书编号', index: 'ContractCode', width: 200, align: 'left', sortable: false }, { name: 'SettlementCode', label: '结算书编号', index: 'SettlementCode', width: 200, align: 'left', sortable: false }, { name: 'Status', label: '状态', index: 'Status', width: 70, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { if (cellValue) { return "完结"; } else { return "未完结"; } } } }, { name: 'OptionType', label: '多空方向', index: 'OptionType', width: 60, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return cellValue == "无状态" ? "" : (cellValue == "看涨" ? "多头" : "空头"); } }, { name: 'ClientShortName', label: '客户名', index: 'ClientShortName', width: 200, align: 'left', sortable: false }, { name: 'TradeDate', label: '成交日', index: 'TradeDate', width: 90, align: 'left', formatter: 'date', sortable: false }, { name: 'OriginalLots', label: '成交手数', index: 'OriginalLots', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { return numberFormat(cellValue); } else { return ""; } } }, { name: 'OriginalAmount', label: '有效成交数量', index: 'OriginalAmount', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { return numberFormat(pageObj.IsUseDisplayNotional ? cellValue * (rowObject.CountRatio || 1) : cellValue); } else { return ""; } } }, { name: 'PositionAmount', label: '持仓数量', index: 'PositionAmount', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { return numberFormat(pageObj.IsUseDisplayNotional ? cellValue * (rowObject.CountRatio || 1) : cellValue); } else { return ""; } } }, { name: 'ExerciseDate', label: '到期日', index: 'ExerciseDate', width: 90, align: 'left', formatter: 'date', sortable: false }, { name: 'ClearDate', label: '清算日期', index: 'ClearDate', width: 90, align: 'left', formatter: 'date', sortable: false }, { name: 'TradeDirection', label: '我方买/卖', index: 'TradeDirection', width: 60, align: 'left', sortable: false }, { name: 'UnderlyingCode', label: '标的', index: 'UnderlyingCode', width: 160, align: 'left', sortable: false }, { name: 'StructureType', label: '期权类型', index: 'StructureType', width: 60, align: 'left', sortable: false }, { name: 'StockEqvNotional', label: '名义本金(期初价格)', index: 'StockEqvNotional', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { var result = cellValue == "null" ? "" : cellValue; return main.formatNumber(result, 2); } } }, { name: 'StockEqvNotional2', label: '名义本金(执行价格)', index: 'StockEqvNotional2', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (rowObject.StatusStr != "无状态") { var result = cellValue == "null" ? "" : cellValue; return main.formatNumber(result, 2); } } }, { //}, { // name: 'StockEqvNotional', label: '名义本金(万元)', index: 'StockEqvNotional', width: 100, align: 'left', sortable: false, // formatter: function (cellValue, options, rowObject) { // var result = cellValue == "null" ? "" : cellValue; // if (result !== "") { // result = result / 10000; // } // return main.formatNumber(result, 4); // } //}, { name: 'TradePrice', label: '期初权利金收支', index: 'TradePrice', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'ClearPrice', label: '清算金额', index: 'ClearPrice', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'ConfirmTotlePnl', label: '我方期权清算盈亏', index: 'ConfirmTotlePnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'LastPv', label: '上期期末市值', index: 'LastPv', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'LastTotalPnl', label: '上期期末累计浮动盈亏', index: 'LastTotalPnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'Pv', label: '本期期末市值', index: 'Pv', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'TotalPnl', label: '本期期末累计浮动盈亏', index: 'TotalPnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'GF_Pnl', label: '本期浮动盈亏', index: 'GF_Pnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'AvailableCash', label: '可用资金(财务)', index: 'AvailableCash', width: 80, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (rowObject.StatusStr == "无状态") { return numberFormat(cellValue); } else { return ""; } } }, { name: 'EndBalance', label: '期末结存(财务)', index: 'EndBalance', width: 80, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { if (rowObject.StatusStr == "无状态") { return numberFormat(cellValue); } else { return ""; } } }, { name: 'TradeConfirmFileStatus', label: '交易确认书', index: 'TradeConfirmFileStatus', width: 60, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return cellValue == "草稿" ? "未用印" : cellValue; } }, { name: 'ClearConfirmFileStatus', label: '结算确认书', index: 'ClearConfirmFileStatus', width: 60, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return cellValue == "草稿" ? "未用印" : cellValue; } }, { name: 'FinancialEntry', label: '财务入账', index: 'FinancialEntry', width: 90, align: 'left', sortable: false, formatter: numberFormat }, { name: 'TradeConfirmDate', label: '交易确认日期', index: 'TradeConfirmDate', width: 160, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { var html = ""; if (_.trim(cellValue)) { if (cellValue) { html = ""; } else { html = ""; } html += ""; } return html; } }, { name: 'ClearConfirmDate', label: '了结确认日期', index: 'ClearConfirmDate', width: 160, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { var html = ""; if (rowObject.Status) { if (cellValue) { html = ""; } else { html = ""; } html += ""; } return html; } }, { name: '', label: '文件查看', index: '', width: 90, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (_.trim(rowObject.TradeNumber)) { var html = ("") .template(rowObject.TradeNumber); } return html; } } ]; var exchangeColModelGrid = [ { name: 'AssetBookName', label: '簿记账户', index: 'AssetBookName', width: 200, align: 'left', sortable: false }, { name: 'TradeDate', label: '日期', index: 'TradeDate', width: 90, align: 'left', formatter: 'date', sortable: false }, { name: 'ExchangeOptionCode', label: '品种合约', index: 'ExchangeOptionCode', width: 180, align: 'left', sortable: false }, { name: 'UnderlyingCode', label: '标的合约', index: 'UnderlyingCode', width: 180, align: 'left', sortable: false }, { name: 'OptionType', label: '期权类型', index: 'OptionType', width: 180, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { if (cellValue) { return cellValue + "期权"; } } }, { name: 'Strike', label: '执行价', index: 'Strike', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'TradeDirection', label: '买/卖', index: 'TradeDirection', width: 180, align: 'left', sortable: false }, { name: 'TradeSinglePrice', label: '权利金单价', index: 'TradeSinglePrice', width: 180, align: 'left', sortable: false, formatter: numberFormat4 }, { name: 'Notional', label: '成交量(手)', index: 'Notional', width: 180, align: 'left', sortable: false, formatter: numberFormat0 }, { name: 'TradeUnit', label: '吨/手', index: 'TradeUnit', width: 180, align: 'left', sortable: false, formatter: numberFormat0 }, { name: 'TradePrice', label: '权利金', index: 'TradePrice', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'ServiceFee', label: '手续费', index: 'ServiceFee', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'StockEqvNotional', label: '名义本金', index: 'StockEqvNotional', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'PrePotionLastPrice', label: '期末报价', index: 'PrePotionLastPrice', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'PrePotionLastPnl', label: '本期浮动盈亏', index: 'PrePotionLastPnl', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'PrePotionEndPrice', label: '期末报价', index: 'PrePotionEndPrice', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'PrePotionEndPnl', label: '本期浮动盈亏', index: 'PrePotionEndPnl', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'ClearDate', label: '日期', index: 'ClearDate', width: 180, align: 'left', formatter: 'date', sortable: false }, { name: 'UnwindTradeDirection', label: '买/卖', index: 'UnwindTradeDirection', width: 180, align: 'left', sortable: false }, { name: 'UnwindTradeSinglePrice', label: '权利金单价', index: 'UnwindTradeSinglePrice', width: 180, align: 'left', sortable: false, formatter: numberFormat4 }, { name: 'UnwindNotional', label: '成交量(手)', index: 'UnwindNotional', width: 180, align: 'left', sortable: false, formatter: numberFormat0 }, { name: 'ClearPrice', label: '权利金', index: 'ClearPrice', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'UnwindServiceFee', label: '手续费', index: 'UnwindServiceFee', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'UnwindOriginalTradePrice', label: '对应初始权利金', index: 'UnwindOriginalTradePrice', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'UnwindEndPnl', label: '本期浮动盈亏', index: 'UnwindEndPnl', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'UnwindPnl', label: '平仓盈亏', index: 'UnwindPnl', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'PositionEndSettlementPrice', label: '期末结算价', index: 'PositionEndSettlementPrice', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'PositionNotional', label: '持仓数(手)', index: 'PositionNotional', width: 180, align: 'left', sortable: false, formatter: numberFormat0 }, { name: 'PositionEndPv', label: '期末市值', index: 'PositionEndPv', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'PositionOriginalTradePrice', label: '对应初始权利金', index: 'PositionOriginalTradePrice', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'PositionPvOffset', label: '公允价值变动', index: 'PositionPvOffset', width: 180, align: 'left', sortable: false, formatter: numberFormat }, { name: 'PositionStockEqvNotional', label: '名义本金', index: 'PositionStockEqvNotional', width: 180, align: 'left', sortable: false, formatter: numberFormat } ]; function setGroupHeaders(obj) { $(obj).jqGrid('setGroupHeaders', { useColSpanStyle: true, groupHeaders: [ { startColumnName: 'AssetBookName', numberOfColumns: 13, titleText: '期权成交情况' }, { startColumnName: 'PrePotionLastPrice', numberOfColumns: 2, titleText: '前期持仓情况
' }, { startColumnName: 'PrePotionEndPrice', numberOfColumns: 2, titleText: '前期持仓情况
' }, { startColumnName: 'ClearDate', numberOfColumns: 9, titleText: '本期平仓情况' }, { startColumnName: 'PositionEndSettlementPrice', numberOfColumns: 6, titleText: '期末持仓情况' } ] }); } function numberFormat(cellValue, options, rowObject) { if (!cellValue && cellValue !== 0) { return ""; } return main.formatNumber(cellValue); } function numberFormat4(cellValue, options, rowObject) { if (!cellValue && cellValue !== 0) { return ""; } return main.formatNumber(cellValue, 4); } function numberFormat0(cellValue, options, rowObject) { if (!cellValue && cellValue !== 0) { return ""; } return main.formatNumber(cellValue, 0); } function add(inputSelect, btnSelect, tradeCashId, confirmDateId) { if ($(inputSelect).prop("disabled")) { $(inputSelect).prop("disabled", false); if ($(inputSelect).val() == "") { $(inputSelect).val(main.toDate(new Date())); } $(btnSelect).val("保存"); } else { var trade = null; var d = $(confirmDateId).val(); if (d === "") { d = "0001-01-01"; } trade = saveConfirmDate({ tradeCashId: tradeCashId, confirmDate: d }); if (trade === undefined || trade === null) { return; } d = main.toDate(trade.ConfirmDate); if (d === "0001-01-01") { d = ""; } $(inputSelect).val(d); $(inputSelect).prop("disabled", true); $(btnSelect).val("确认"); } if ($(inputSelect).val() == "") { $(inputSelect).removeClass("showCtrl"); $(inputSelect).addClass("hiddenCtrl"); } else { $(inputSelect).removeClass("hiddenCtrl"); $(inputSelect).addClass("showCtrl"); } } function saveConfirmDate(data) { var trade = null; var ajaxopt = { type: "Post", url: "/trade/SaveConfirmDate", data: data, dataType: "json", success: function (res) { if (res.Success) { trade = res.Content; } else { alert(res.Msg); } }, error: function (msg) { alert("error:" + msg); } }; $.ajaxSettings.async = false; main.ajax(ajaxopt); $.ajaxSettings.async = true; return trade; } function contractManagement(tradeNumber) { //alert(tradeNumber); main.open("【{0}】文件管理".template(tradeNumber), "/trade/tradeContractManagement?tradeNumber=" + tradeNumber); } function showToolName(cellValue, options, rowObject) { var color = "width:auto"; var title = "查看"; var html = ""; title = "生成清算确认书"; return html; } function gridComplete(obj) { if (obj && obj.Sum) { if (obj.Sum.PreLastPartDate) { $("#PreLastPartDate").text(obj.Sum.PreLastPartDate); } if (obj.Sum.LastPartDate) { $("#LastPartDate").text(obj.Sum.LastPartDate); } } var jgrid = $(this); var rowIds = jgrid.jqGrid('getDataIDs'); for (var i = 0; i < rowIds.length; i++) { var rowId = rowIds[i]; var rowdata = jgrid.getRowData(rowId); if (rowdata['ClientFullName'].indexOf("小计")>0) { $("#listGrid #" + rowIds[i] + " td").addClass("rowBg"); } if (rowdata['ClientFullName'].indexOf("合计") > 0) { $("#listGrid #" + rowIds[i] + " td").addClass("rowFont"); } } $(window).off('resize.jqGrid'); $(window).on('resize.jqGrid', function () { $("#listGrid").jqGrid('setGridWidth', $('#riskContent').width()); }); $("#listGrid").jqGrid('setGridWidth', $('#riskContent').width()); } function gridComplete1(obj) { if (obj && obj.Sum) { if (obj.Sum.PreLastPartDate) { $("#PreLastPartDate").text(obj.Sum.PreLastPartDate); } if (obj.Sum.LastPartDate) { $("#LastPartDate").text(obj.Sum.LastPartDate); } } var jgrid = $(this); var rowIds = jgrid.jqGrid('getDataIDs'); for (var i = 0; i < rowIds.length; i++) { var rowId = rowIds[i]; var rowdata = jgrid.getRowData(rowId); if (rowdata['AssetBookName'].indexOf("小计") > 0) { $("#listGrid1 #" + rowIds[i] + " td").addClass("rowBg"); } if (rowdata['AssetBookName'].indexOf("合计") > 0) { $("#listGrid1 #" + rowIds[i] + " td").addClass("rowFont"); } } $(window).off('resize.jqGrid'); $(window).on('resize.jqGrid', function () { $("#listGrid1").jqGrid('setGridWidth', $('#riskContent1').width()); }); $("#listGrid1").jqGrid('setGridWidth', $('#riskContent1').width()); } function GetPostDataForVoucher() { var postData = {}; postData.StartDate = $("#DateFromFinTradeConfirmDate").val(); postData.EndDate = $("#DateToFinTradeConfirmDate").val(); postData.VoucherType = $("#VoucherType").val(); return postData; } function GetPostData() { var postData = {}; if (!$("#DateFromCurrentPeriodDate").val()) { $("#DateFromCurrentPeriodDate").val(pageObj.currentPeriodStartDate); } if (!$("#DateToCurrentPeriodDate").val()) { $("#DateToCurrentPeriodDate").val(pageObj.CurDate); } postData.CurrentPeriodDateStart = $("#DateFromCurrentPeriodDate").val(); postData.CurrentPeriodDateEnd = $("#DateToCurrentPeriodDate").val(); postData.SummaryType = $("#myTab .active a").text(); postData.ClientIds = $("#ClientId").val() == null ? "" : $("#ClientId").val().join(); postData.TradeNumber = $("#TradeNumber").val() == null ? "" : $("#TradeNumber").val(); postData.ContractCode = $("#ContractCode").val() == null ? "" : $("#ContractCode").val(); //VarietyCode VarietyName postData.VarietyCode = $("#VarietyCode").val() == null ? "" : $("#VarietyCode").val(); postData.VarietyName = $("#VarietyName").val() == null ? "" : $("#VarietyName").val(); postData.TradeConfirmDateStart = $("#DateFromTradeConfirmDate").val(); postData.TradeConfirmDateEnd = $("#DateToTradeConfirmDate").val(); postData.ClearConfirmDateStart = $("#DateFromClearConfirmDate").val(); postData.ClearConfirmDateEnd = $("#DateToClearConfirmDate").val(); postData.PreLastPartDate = $("#PreLastPartDate").text(); postData.LastPartDate = $("#LastPartDate").text(); postData.TradeStatus = $("#TradeStatus").val(); postData.TagIds = $("#TagIds").val(); postData.ClientTagIds = $("#ClientTagIds").val(); postData.BookIds = $("#BookId").val(); postData.AssetIdGroupList = $("#GroupId").val(); return postData; } function SearchClick1(isSearchclick) { var listGrid = $('#listGrid1'); listGrid.jqGrid('setGridParam', { datatype: 'json' }); listGrid.appendPostData(GetPostData()); if (typeof (isSearchclick) != "undefined" && isSearchclick) { //点击搜索时默认第一页 listGrid.jqGrid('setGridParam', { page: 1 }); } listGrid.trigger('reloadGrid'); } function SearchClick(isSearchclick) { var listGrid = $('#listGrid'); listGrid.jqGrid('setGridParam', { datatype: 'json' }); listGrid.appendPostData(GetPostData()); if (typeof (isSearchclick) != "undefined" && isSearchclick) { //点击搜索时默认第一页 listGrid.jqGrid('setGridParam', { page: 1 }); } listGrid.trigger('reloadGrid'); } function OutputFinancialVoucher(typeStr) { var postData = _.assign({}, GetPostDataForVoucher()); if (pageObj.IsZhongLiang) { if (postData.ZLVoucherType) { ZLFillParameter(postData); } else { main.alert("请选择凭证类型"); return false; } } else { downLoadVoucherFile("/trade/DownloadFinancialVoucher?" + $.param(postData, true)); } } function MaintenanceClientCode() { var scrurl = "/trade/FinancialCodeMaintenance"; main.open("维护财务编码", scrurl, { area: ['850px', '800px'] }); } function downLoadVoucherFile(downloadUrlStr) { main.formOpenNewPage(downloadUrlStr);//同时处理 返回jaon和文件的结果。 } function Output(typeStr) { var postData = _.assign({}, GetPostData()); downLoadFile("/trade/DownloadFinancialSummary_GF?" + $.param(postData, true) + "&type=" + typeStr); } function OutputUnitGF(typeStr) { var postData = _.assign({}, GetPostData()); downLoadFile("/trade/DownloadFinancialUnitSummary_GF?" + $.param(postData, true) + "&type=" + typeStr); } function OutputZL() { var postData = _.assign({}, GetPostData()); main.formOpenNewPage("/trade/DownloadFinancialSummary_ZL?" + $.param(postData, true)); } function downLoadFile(downloadUrlStr) { $.ajaxSettings.async = false; $.getJSON(downloadUrlStr + "&query=true", function (res) { if (res.Success) { window.location.href = downloadUrlStr; } else { main.message(res.Msg); } }); $.ajaxSettings.async = true; } //显示子列表页面 function ShowDetailPage(typeStr) { var title = typeStr; var postData = _.assign({}, GetPostData()); $('#formNew').html(''); $('#formNew').append(''); //$('#formNew').append(''); $.each(postData, function (name, value) { $('#formNew').append(''); }); var index = layer.open({ type: 2, min: false, title: title, shadeClose: true, maxmin: true, area: ['90%', '80%'], offset :['10%','190px'], content: "FinancialDetail_GF?" + $.param(postData, true) + "&type=" + typeStr }); //最大化按钮用于跳转到新页面 var $l = $('#layui-layer' + index); var $m = $l.children('.layui-layer-setwin').find('.layui-layer-max'); var $n = $m.clone().insertAfter($m).on('click', function () { var $form = $('#formNew'); $form.submit(); layer.close(index); }); $n.prevAll().remove(); };