var g_grid = {}; $(function () { if (pageObj.IsShowStockEqvNotional3) { optionColModelGrid.splice(16, 0, { name: 'StockEqvNotional3', label: '名义本金', index: 'StockEqvNotional3', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return main.formatNumber((pageObj.IsRuiDa ? cellValue * rowObject.Lots / rowObject.OriginalLots : 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 }); } if (pageObj.IsGuoHai) { optionColModelGrid.splice(17, 0, { name: 'SurvivingNominalPrincipal', label: '存续名义本金', index: 'SurvivingNominalPrincipal', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { return main.formatNumber(cellValue || '', 2); } }) forwardColModelGrid.splice(17, 0, { name: 'SurvivingNominalPrincipal', label: '存续名义本金', index: 'SurvivingNominalPrincipal', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { return main.formatNumber(cellValue || '', 2); } }) swapColModelGrid.splice(17, 0, { name: 'SurvivingNominalPrincipal', label: '存续名义本金', index: 'SurvivingNominalPrincipal', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { return main.formatNumber(cellValue || '', 2); } }) exchangeColModelGrid.splice(31, 0, { name: 'SurvivingNominalPrincipal', label: '存续名义本金', index: 'SurvivingNominalPrincipal', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { return main.formatNumber(cellValue || '', 2); } }) } setSummaryType(pageObj.SummaryType); $("#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 }); //$("#DatepreStartDate,#DateFromCurrentPeriodDate,#DateToCurrentPeriodDate,#DateFromTradeConfirmDate,#DateToTradeConfirmDate,#DateFromClearConfirmDate,#DateToClearConfirmDate").datepicker("option", "maxDate", pageObj.CurDate); $("#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 obj = { url: '/trade/FinancialSummaryQuery', 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: jQuery('#pagerGrid'), 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 AfterInsertRow(rowid, aData) { $("#tc" + rowid + ",#cc" + rowid).datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, showOtherMonths: true, selectOtherMonths: true }); } function setSummaryType(summaryType) { $("#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: '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 (cellValue) { return "完结"; } else { return "未完结"; } } }, { name: 'OptionType', label: '看涨看跌', index: 'OptionType', width: 60, align: 'left', sortable: false }, { 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) { return numberFormat(pageObj.IsRuiDa ? rowObject.Lots : cellValue); } }, { name: 'OriginalAmount', label: '有效成交数量', index: 'OriginalAmount', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { var amount = pageObj.IsRuiDa ? rowObject.TradeAmount : cellValue; return numberFormat(pageObj.IsUseDisplayNotional ? amount * (rowObject.CountRatio || 1) : amount); } }, { name: 'PositionAmount', label: '持仓数量', index: 'PositionAmount', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { var amount = pageObj.IsRuiDa && rowObject.Status ? 0 : cellValue return numberFormat(pageObj.IsUseDisplayNotional ? amount * (rowObject.CountRatio || 1) : amount); } }, { 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: 'ExerciseMode', label: '期权类型', index: 'ExerciseMode', width: 60, align: 'left', sortable: false //}, { name: 'StockEqvNotional', label: '名义本金(期初价格)', index: 'StockEqvNotional', width: 100, align: 'left', sortable: false, formatter(cellValue, options, rowObject) { return main.formatNumber(cellValue || '', 2); } //}, { // name: 'StockEqvNotional2', label: '名义本金(执行价格)', index: 'StockEqvNotional2', width: 100, align: 'left', sortable: false, // formatter(cellValue, options, rowObject) { // return main.formatNumber(cellValue || "", 2); // } }, { name: 'TradePrice', label: '开仓费用', index: 'TradePrice', width: 100, align: 'left', sortable: false, //formatter(cellValue, options, rowObject) { // return main.formatNumber(rowObject.Status ? cellValue : cellValue * rowObject.Lots / rowObject.OriginalLots); //} numberFormat }, { name: 'ClearPrice', label: '清算金额', index: 'ClearPrice', width: 100, align: 'left', sortable: false, formatter: numberFormat }, { name: 'ConfirmPnl', label: '我方期权清算盈亏', index: 'ConfirmPnl', 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: 'Pnl', label: '本期浮动盈亏', index: 'Pnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'FuturePnl', label: '期货盈亏(结算价)', index: 'FuturePnl', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { name: 'ServiceFee', label: '手续费', index: 'ServiceFee', width: 80, align: 'left', sortable: false, formatter: numberFormat }, { 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 (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) { var html = ("") .template(rowObject.TradeNumber); return html; } } ]; var swapColModelGrid = [ { name: 'ClientFullName', label: '客户全称', index: 'ClientFullName', 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 (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: numberFormat }, { name: 'OriginalAmount', label: '有效成交数量', index: 'OriginalAmount', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return numberFormat(pageObj.IsUseDisplayNotional ? cellValue * (rowObject.CountRatio || 1) : cellValue); } }, { name: 'PositionAmount', label: '持仓数量', index: 'PositionAmount', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return numberFormat(pageObj.IsUseDisplayNotional ? cellValue * (rowObject.CountRatio || 1) : cellValue); } }, { 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) { 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: 'ConfirmPnl', label: '我方期权清算盈亏', index: 'ConfirmPnl', 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: 'Pnl', label: '本期浮动盈亏', index: 'Pnl', 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 (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) { var html = ("") .template(rowObject.TradeNumber); return html; } } ]; var forwardColModelGrid = [ { name: 'ClientFullName', label: '客户全称', index: 'ClientFullName', 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 (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: numberFormat }, { name: 'OriginalAmount', label: '有效成交数量', index: 'OriginalAmount', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return numberFormat(pageObj.IsUseDisplayNotional ? cellValue * (rowObject.CountRatio || 1) : cellValue); } }, { name: 'PositionAmount', label: '持仓数量', index: 'PositionAmount', width: 100, align: 'left', sortable: false, formatter: function (cellValue, options, rowObject) { return numberFormat(pageObj.IsUseDisplayNotional ? cellValue * (rowObject.CountRatio || 1) : cellValue); } }, { 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) { 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: 'ConfirmPnl', label: '我方期权清算盈亏', index: 'ConfirmPnl', 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: 'Pnl', label: '本期浮动盈亏', index: 'Pnl', 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 (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) { var html = ("") .template(rowObject.TradeNumber); return html; } } ]; var exchangeColModelGrid = [ { 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: 'TradeDate', numberOfColumns: 12, 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); } } $(window).off('resize.jqGrid'); $(window).on('resize.jqGrid', function () { $("#listGrid").jqGrid('setGridWidth', $('#riskContent').width() - 2); }); $("#listGrid").jqGrid('setGridWidth', $('#riskContent').width() - 2); } function GetPostDataForVoucher() { var postData = {}; postData.StartDate = $("#DateFromFinTradeConfirmDate").val(); postData.EndDate = $("#DateToFinTradeConfirmDate").val(); if (pageObj.IsZhongLiang) { postData.ZLVoucherType = $("#ZLVoucherType").val(); } else { 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(); 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(); return postData; } 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 ZLFillParameter(postData) { layer.open({ type: 1, title: "", shadeClose: false, shade: 0.4, area: ['350px', '200px'], content: $('#minFillParametere').html(), btn: ['确定', '取消'], yes: function (index, layero) { var makingPerson = $("#MakingPerson").val(); var voucherNumber = $("#VoucherNumber").val(); if (!makingPerson) { main.alert("制单人不能为空"); return false; } if (!voucherNumber) { main.alert("凭证号不能为空"); return false; } postData.MakingPerson = makingPerson; postData.VoucherNumber = voucherNumber; downLoadVoucherFile("/trade/DownloadZLFinancialVoucher?" + $.param(postData, true)); layer.close(index); }, cancel: function (index, layero) { layer.close(index); } }); } function chooseCJDate() { layer.open({ type: 1, title: "", shadeClose: false, shade: 0.4, area: ['350px', '200px'], content: $('#minichooseDate').html(), btn: ['确定', '取消'], yes: function (index, layero) { OutputCJFinancialVoucher(); }, cancel: function (index, layero) { layer.close(index); } }); $(".datepicker").datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, showOtherMonths: true, selectOtherMonths: true }); var startDate = $("#DateFromFinTradeConfirmDate").val(); var maxDate2 = new Date(new Date(Date.parse(startDate.replace(/-/g, "/"))) - 24 * 60 * 60 * 1000); //起始日前一日 $("#DatepreStartDate").datepicker("option", "maxDate", maxDate2); } function OutputCJFinancialVoucher() { var postData = _.assign({}, GetPostDataForVoucher()); //弹框选择日期 var preStartDate = $("#DatepreStartDate").val(); if (!preStartDate) { main.message("日期选择有误!"); return; } postData.PreStartDate = preStartDate; postData.SummaryType = $("#voucherType").val(); downLoadVoucherFile("/trade/DownloadCJFinancialVoucher?" + $.param(postData, true)); } function downLoadVoucherFile(downloadUrlStr) { main.formOpenNewPage(downloadUrlStr);//同时处理 返回jaon和文件的结果。 } function Output(typeStr) { var postData = _.assign({}, GetPostData()); downLoadFile("/trade/DownloadFinancialSummary?" + $.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: ['98%', '80%'], content: "FinancialDetail?" + $.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(); };