Files
zszq-trs/YLErpWeb/wwwroot/Scripts/app/superviseReport2022/positionReport.js
T
2024-05-09 14:06:26 +08:00

862 lines
22 KiB
JavaScript

$(function () {
main.setTradeDatePicker(pageObj.valueDate, "");
$("#DateValueDate").datepicker({
changeMonth: true, changeYear: true, showButtonPanel: true, showOtherMonths: true, selectOtherMonths: true,
onSelect: function (se) {
}
});
$("#DateValueDate").val(pageObj.valueDate);
$("#DateValueDate").datepicker("option", "maxDate", pageObj.valueDate);
});
var i = 0;
var colModelGrid = [
{
name: 'ClientName',
label: '交易对手方2名称',
index: 'ClientName',
width: 200,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ClientLicenseCode',
label: '交易对手方2的统一社会信用代码',
index: 'ClientLicenseCode',
width: 200,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ClientLEI',
label: '交易对手方2的LEI',
index: 'ClientLEI',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ProtocalType',
label: '主协议类型',
index: 'ProtocalType',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ProtocolSignDateString',
label: '主协议日期',
index: 'ProtocolSignDateString',
width: 90,
sortIndex: i++,
align: 'left',
formatter: 'date',
sortable: false
}, {
name: 'IsCentralClearingPlatform',
label: '是否中央对手方清算',
index: 'IsCentralClearingPlatform',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'CentralClearingPlatform',
label: '中央清算平台名称',
index: 'CentralClearingPlatform',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'TradePlatform',
label: '交易平台',
index: 'TradePlatform',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ContractCode',
label: '交易确认书编号',
index: 'ContractCode',
width: 180,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'PositionCode',
label: '持仓编号',
index: 'PositionCode',
width: 180,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'MoreLegCode',
label: '多腿编号',
index: 'MoreLegCode',
width: 80,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'TradeDateString',
label: '交易确认日期(开仓)',
index: 'TradeDateString',
width: 110,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'StartDate',
label: '生效日',
index: 'StartDate',
width: 110,
sortIndex: i++,
align: 'left',
sortable: true,
formatter: 'date'
}, {
name: 'EndDateString',
label: '到期日',
index: 'EndDateString',
width: 110,
sortIndex: i++,
align: 'left',
formatter: 'date',
sortable: false
}, {
name: 'ClientDirection',
label: '交易对手方1方向',
index: 'ClientDirection',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'VarietyType',
label: '资产类型',
index: 'VarietyType',
width: 110,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ToolType',
label: '工具类型',
index: 'ToolType',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'UnderlyingPlate',
label: '标的资产所属板块',
index: 'UnderlyingPlate',
width: 160,
align: 'left',
sortable: false
}, {
name: 'VarietyCode',
label: '标的资产品种',
index: 'VarietyCode',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'UnderlyingCode',
label: '标的资产对应合约',
index: 'UnderlyingCode',
width: 160,
align: 'left',
sortable: false
}, {
name: 'UnderlyingInitialPrice',
label: '标的期初价格',
index: 'UnderlyingInitialPrice',
width: 160,
align: 'left',
sortable: false
}, {
name: 'UnderlyingInitialPriceCurrency',
label: '标的期初价格货币',
index: 'UnderlyingInitialPriceCurrency',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'UnderlyingInitialPriceSymbol',
label: '标的期初价格符号',
index: 'UnderlyingInitialPriceSymbol',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ExerciseMode',
label: '期权行权时间类型',
index: 'ExerciseMode',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'OptionType',
label: '期权权利类型',
index: 'OptionType',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'OptionProductStructure',
label: '期权产品结构',
index: 'OptionProductStructure',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'StrikeString',
label: '执行价格1',
index: 'StrikeString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Strike2String',
label: '执行价格2',
index: 'Strike2String',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Strike3String',
label: '执行价格3',
index: 'Strike3String',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'StrikeCurrency',
label: '执行价格货币',
index: 'StrikeCurrency',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'StrikeSymbol',
label: '执行价格符号',
index: 'StrikeSymbol',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ObserveType',
label: '观察类型',
index: 'ObserveType',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false,
formatter: GuotouFormatter
}, {
name: 'ObserveStartDateString',
label: '观察起始日',
index: 'ObserveStartDateString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false,
formatter: GuotouFormatter
}, {
name: 'ObserveEndDateString',
label: '观察结束日',
index: 'ObserveEndDateString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ObservationPeriod',
label: '观察周期',
index: 'ObservationPeriod',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ObservePeriodMultiplierString',
label: '观察周期乘数',
index: 'ObservePeriodMultiplierString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'RevenueCalculationMethod',
label: '收益计算方式',
index: 'RevenueCalculationMethod',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'GuaranteedIncomeString',
label: '保底收益',
index: 'GuaranteedIncomeString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'GuaranteedIncomeCurrency',
label: '保底收益货币',
index: 'GuaranteedIncomeCurrency',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'GuaranteedIncomeSymbol',
label: '保底收益符号',
index: 'GuaranteedIncomeSymbol',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'KnockIn',
label: '是否已敲入',
index: 'KnockIn',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ObserveAverageString',
label: '估值时已观察均价',
index: 'ObserveAverageString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ExerciseBenefitsString',
label: '行权收益1',
index: 'ExerciseBenefitsString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ExerciseBenefits2String',
label: '行权收益2',
index: 'ExerciseBenefits2String',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ExerciseBenefits3String',
label: '行权收益3',
index: 'ExerciseBenefits3String',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ExerciseBenefitsCurrency',
label: '行权收益货币',
index: 'ExerciseBenefitsCurrency',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ExerciseBenefitsSymbol',
label: '行权收益符号',
index: 'ExerciseBenefitsSymbol',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'BarriersPriceString',
label: '障碍价1',
index: 'BarriersPriceString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'BarriersPriceTouchDirection',
label: '障碍价1触碰方向',
index: 'BarriersPriceTouchDirection',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'BarriersPriceType',
label: '障碍价1类型',
index: 'BarriersPriceType',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'BarriersPrice2String',
label: '障碍价2',
index: 'BarriersPrice2String',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'BarriersPrice2TouchDirection',
label: '障碍价2触碰方向',
index: 'BarriersPrice2TouchDirection',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'BarriersPrice2Type',
label: '障碍价2类型',
index: 'BarriersPrice2Type',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'CompensationIncomeString',
label: '补偿收益1',
index: 'CompensationIncomeString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'CompensationIncome2String',
label: '补偿收益2',
index: 'CompensationIncome2String',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'CompensationIncomeCurrency',
label: '补偿收益货币',
index: 'CompensationIncomeCurrency',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'CompensationIncomeSymbol',
label: '补偿收益符号',
index: 'CompensationIncomeSymbol',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'KnockInBarrierPriceString',
label: 'SA&PA-敲入障碍价',
index: 'KnockInBarrierPriceString',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'KnockInObservationPeriod',
label: 'SA&PA-敲入观察期',
index: 'KnockInObservationPeriod',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'KnockOutBarrierPriceString',
label: 'SA&PA-敲出障碍价',
index: 'KnockOutBarrierPriceString',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'CouponBarrierPriceString',
label: 'SA&PA-Coupon障碍价',
index: 'CouponBarrierPriceString',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'CouponAnnualRateString',
label: 'SA&PA-Coupon年化收益率',
index: 'CouponAnnualRateString',
width: 180,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ForwardPriceString',
label: '远期价格',
index: 'ForwardPriceString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ForwardPriceCurrency',
label: '远期价格货币',
index: 'ForwardPriceCurrency',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ForwardPriceSymbol',
label: '远期价格符号',
index: 'ForwardPriceSymbol',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'FixedIncomeString',
label: '固定收益',
index: 'FixedIncomeString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'FixedIncomeCurrency',
label: '固定收益货币',
index: 'FixedIncomeCurrency',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'FixedIncomeSymbol',
label: '固定收益符号',
index: 'FixedIncomeSymbol',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'FloatingDirection',
label: '浮动方方向',
index: 'FloatingDirection',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'PaymentCycle',
label: '支付周期',
index: 'PaymentCycle',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'PaymentCycleMultiplierString',
label: '支付周期乘数',
index: 'PaymentCycleMultiplierString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'InitialNominalAmount',
label: '初始名义金额',
index: 'InitialNominalAmount',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'TotalClosedPositionsAmount',
label: '已平仓总名义金额',
index: 'TotalClosedPositionsAmount',
width: 120,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ForeignCurrencyRate',
label: '外汇兑人民币期初汇率',
index: 'ForeignCurrencyRate',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'InitialNominalNumber',
label: '初始名义数量',
index: 'InitialNominalNumber',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'TotalClosedPositionsNumber',
label: '已平仓总名义数量',
index: 'TotalClosedPositionsNumber',
width: 120,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'QuoteUnitEn',
label: '数量单位',
index: 'QuoteUnitEn',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false,
formatter: function (cellValue, options, rowObject) {
if (rowObject.VarietyCode == "组合标的") {
return "";
}
return cellValue;
}
}, {
name: 'IsAnnualizedNominalAmount',
label: '是否为年化名义金额',
index: 'IsAnnualizedNominalAmount',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ParticipateRateString',
label: '参与率',
index: 'ParticipateRateString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ContractValuationPrice',
label: '合约估值时标的价格',
index: 'ContractValuationPrice',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ContractPriceString',
label: '合约价值',
index: 'ContractPriceString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ValuationMethod',
label: '估值方法',
index: 'ValuationMethod',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ValuationVolatility',
label: '估值波动率',
index: 'ValuationVolatility',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ValidDays',
label: '一年有效天数',
index: 'ValidDays',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Delta',
label: 'Delta',
index: 'Delta',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Gamma',
label: 'Gamma',
index: 'Gamma',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Vega',
label: 'Vega',
index: 'Vega',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Theta',
label: 'Theta',
index: 'Theta',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Rho',
label: 'Rho',
index: 'Rho',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'DeltaCash',
label: 'Delta cash',
index: 'DeltaCash',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'GammaCash',
label: 'Gamma cash',
index: 'GammaCash',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'RiskFreeRateString',
label: '无风险利率',
index: 'RiskFreeRateString',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'DividendString',
label: '股息',
index: 'DividendString',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'SettlementMethod',
label: '结算方式',
index: 'SettlementMethod',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'LastUnWindDateString',
label: '最后结算日',
index: 'LastUnWindDateString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}
];
function GuotouFormatter(cellValue, options, rowObject) {
if (pageObj.IsGuoTou) {
if (cellValue != null && cellValue != "" && cellValue != undefined) {
return otcformat.fixed2(cellValue);
}
}
return cellValue;
}
function KIFormatter(cellValue, options, rowObject) {
if (!_.trim(cellValue)) {
return "";
}
if (pageObj.IsGuoTou) {
return otcformat.fixed2(cellValue);
}
else {
return cellValue;
}
}
function gridComplete(req) {
if (req.msg) {
return;
}
$(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover" });
$("#gview_listGrid th[id='listGrid_ClientName']").attr("title", "客户信息:ReportName")
$("#gview_listGrid th[id='listGrid_VarietyCode']").attr("title", "数据字典:标的资产分类")
$("#gview_listGrid th[id='listGrid_UnderlyingCode']").attr("title", "数据字典:标的资产后缀")
main.setcolumnChooser(jQuery('#listGrid'), pageObj.columnConfigName);
$('.ui-jqgrid-bdiv', '#gbox_listGrid').floatingScroll();
}
function reloadSupervisePositionReport() {
//重新加载
SearchClick();
}
function SearchClick(isSearchclick) {
var listGrid = $('#listGrid');
listGrid.appendPostData({ ValueDate: $("#DateValueDate").val() });
listGrid.appendPostData({ DataSource: $("#volType").val() + "," + $("#DataSource").val() });
if (typeof (isSearchclick) != "undefined" && isSearchclick) {
//点击搜索时默认第一页
listGrid.jqGrid('setGridParam', {
page: 1
});
}
listGrid.trigger('reloadGrid');
}
function exportToFile() {
var ClientId = $("#ClientId").val();
if ($("#DateValueDate").val() == null || $("#DateValueDate").val() == "" || $("#DateValueDate").val() == undefined) {
alert("请选择结算日期!");
return;
}
var option = {
url: "/supervise_report2022/SendSupervisePositionReport",
type: "POST",
data: { ValueDate: $("#DateValueDate").val(), DataSource: $("#volType").val() + "," + $("#DataSource").val() },
dataType: "json", //格式是html
success: function (res) {
if (res.success) {
window.open(res.obj);
}
else {
main.alert(res.obj);
}
},
error: function (msg) {
main.alert("后台运行错误:" + msg.msg);
}
};
main.ajax(option);
}