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

591 lines
15 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: 'MainName',
label: '报告主体名称',
index: 'MainName',
width: 200,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'MainCode',
label: '报告主体的统一社会信用代码',
index: 'MainCode',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ClientName',
label: '交易对手方名称',
index: 'ClientName',
width: 200,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ClientLicenseCode',
label: '交易对手方的统一社会信用代码',
index: 'ClientLicenseCode',
width: 160,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ContractCode',
label: '交易确认书编号',
index: 'ContractCode',
width: 200,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'TradeNumber',
label: '多腿编号',
index: 'TradeNumber',
width: 80,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'TradeDate',
label: '交易确认时间',
index: 'TradeDate',
width: 90,
sortIndex: i++,
align: 'left',
formatter: 'date',
sortable: false
}, {
name: 'PositionDate',
label: '持仓日期',
index: 'PositionDate',
width: 90,
sortIndex: i++,
align: 'left',
formatter: 'date',
sortable: false
}, {
name: 'BuySell',
label: '填报方方向',
index: 'BuySell',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'AssetTypeEn',
label: '资产类型',
index: 'AssetTypeEn',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ToolType',
label: '工具类型',
index: 'ToolType',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ExerciseMode',
label: '期权行权时间类型',
index: 'ExerciseMode',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'OptionType',
label: '期权权利类型',
index: 'OptionType',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'TradeTypeEn',
label: '产品结构',
index: 'TradeTypeEn',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ParticipateRateString',
label: '参与率',
index: 'ParticipateRateString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'IsAnnualTrade',
label: '是否为年化期权',
index: 'IsAnnualTrade',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'VarietyType',
label: '标的资产类型',
index: 'VarietyType',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'VarietyCode',
label: '标的资产品种',
index: 'VarietyCode',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
},
{
name: 'UnderlyingCode',
label: '标的资产对应合约',
index: 'UnderlyingCode',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Strike',
label: '执行价格',
index: 'Strike',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false,
formatter: GuotouFormatter
}, {
name: 'InitialSpotPrice',
label: '合约估值时标的价格',
index: 'InitialSpotPrice',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false,
formatter: otcformat.trading.umprice
}, {
name: 'PvString',
label: '合约价值',
index: 'PvString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ValuationMethod',
label: '估值方法',
index: 'ValuationMethod',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'StockEqvNotional',
label: '总名义金额',
index: 'StockEqvNotional',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'EndStockEqvNotional',
label: '已平仓总名义金额',
index: 'EndStockEqvNotional',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'PriceSymbol',
label: '价格符号',
index: 'PriceSymbol',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'QuoteCurrency',
label: '计价货币',
index: 'QuoteCurrency',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ForeignCurrencyRate',
label: '外汇对人民币汇率',
index: 'ForeignCurrencyRate',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'TradeAmount',
label: '总名义数量',
index: 'TradeAmount',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'EndTradeAmount',
label: '已平仓总名义数量',
index: 'EndTradeAmount',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'QuoteUnitEn',
label: '数量单位',
index: 'QuoteUnitEn',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Vol',
label: '估值波动率',
index: 'Vol',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'AnnualDays',
label: '一年有效天数',
index: 'AnnualDays',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Delta',
label: 'delta',
index: 'Delta',
width: 150,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Gamma',
label: 'gamma',
index: 'Gamma',
width: 150,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Vega',
label: 'vega',
index: 'Vega',
width: 150,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Theta',
label: 'theta',
index: 'Theta',
width: 150,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Rho',
label: 'rho',
index: 'Rho',
width: 150,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'DeltaCash',
label: 'delta cash',
index: 'DeltaCash',
width: 150,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'NoRiskRate',
label: '无风险利率',
index: 'NoRiskRate',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'DiscountRate',
label: '贴现率',
index: 'DiscountRate',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'GammaCash',
label: 'gamma cash',
index: 'GammaCash',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ExerciseDateString',
label: '到期日',
index: 'ExerciseDateString',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'SnowType',
label: '雪球分类',
index: 'SnowType',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'SnowStatus',
label: '雪球期权状态',
index: 'SnowStatus',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'SnowStructureInfo',
label: '雪球结构要素',
index: 'SnowStructureInfo',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'ClientType',
label: '交易对手类型',
index: 'ClientType',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'KOObservationDates',
label: '敲出观察日期',
index: 'KOObservationDates',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'KOBarrier',
label: '敲出观察价格',
index: 'KOBarrier',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'KIObservationDates',
label: '敲入观察日期',
index: 'KIObservationDates',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'KIBarrier',
label: '敲入观察价格',
index: 'KIBarrier',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false,
formatter: KIFormatter
}, {
name: 'SpotPrice',
label: '标的初始价格',
index: 'SpotPrice',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false,
formatter: GuotouFormatter
}, {
name: 'PremiumRate',
label: '期权费的费率',
index: 'PremiumRate',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'PrincipalRate',
label: '保底比例',
index: 'PrincipalRate',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'InitialMargin',
label: '期初预付金',
index: 'InitialMargin',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'PositionMargin',
label: '持仓日预付金',
index: 'PositionMargin',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'RiskYield',
label: '风险中性收益率',
index: 'RiskYield',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Coupon',
label: '红利票息率',
index: 'Coupon',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'KOCoupon',
label: '敲出票息率',
index: 'KOCoupon',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'KIPayoffType',
label: '敲入期权类型',
index: 'KIPayoffType',
width: 90,
sortIndex: i++,
align: 'left',
sortable: false
}, {
name: 'Remark',
label: '备注',
index: 'Remark',
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_VarietyType']").attr("title", "数据字典:品种类型")
$("#gview_listGrid th[id='listGrid_AssetTypeEn']").attr("title", "数据字典:资产类型")
$("#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_report/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);
}