719 lines
17 KiB
JavaScript
719 lines
17 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);
|
|
});
|
|
|
|
var i = 0;
|
|
var colModelGrid = [
|
|
{
|
|
name: 'ValueDate',
|
|
label: '持仓日期',
|
|
index: 'ValueDate',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: 'date'
|
|
}, {
|
|
name: 'GroupCode',
|
|
label: '集团机构代码',
|
|
index: 'GroupCode',
|
|
width: 120,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'OrgName',
|
|
label: '部门名称',
|
|
index: 'OrgName',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'AssetCode',
|
|
label: '资产代码',
|
|
index: 'AssetCode',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'PrtflCode',
|
|
label: '投组代码',
|
|
index: 'PrtflCode',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'CmbCode',
|
|
label: '组合代码',
|
|
index: 'CmbCode',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'OptPrftTypeCd',
|
|
label: '期权收益类型代码',
|
|
index: 'OptPrftTypeCd',
|
|
width: 120,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'CallPutCd',
|
|
label: '看涨看跌代码',
|
|
index: 'CallPutCd',
|
|
width: 120,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'OtcDeriType',
|
|
label: '场外衍生品类型',
|
|
index: 'OtcDeriType',
|
|
width: 120,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'OptStructName',
|
|
label: '结构类型',
|
|
index: 'OptStructName',
|
|
width: 120,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'CfrmAchvNo',
|
|
label: '交易确认书编号',
|
|
index: 'CfrmAchvNo',
|
|
width: 160,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'Cutp',
|
|
label: '对手方',
|
|
index: 'Cutp',
|
|
width: 200,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'RelpFlag',
|
|
label: '关联方标志',
|
|
index: 'RelpFlag',
|
|
width: 100,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'RgtDutyCd',
|
|
label: '权利义务代码',
|
|
index: 'RgtDutyCd',
|
|
width: 120,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'BgnDt',
|
|
label: '开始日期',
|
|
index: 'BgnDt',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'ExprDt',
|
|
label: '到期日期',
|
|
index: 'ExprDt',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'TgtCd',
|
|
label: '标的代码',
|
|
index: 'TgtCd',
|
|
width: 160,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'TgtName',
|
|
label: '标的名称',
|
|
index: 'TgtName',
|
|
width: 160,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'TgtExchCd',
|
|
label: '标的交易所代码',
|
|
index: 'TgtExchCd',
|
|
width: 160,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'TgtAstTypeCd',
|
|
label: '标的资产类型代码',
|
|
index: 'TgtAstTypeCd',
|
|
width: 200,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'ValidHedgFlag',
|
|
label: '有效对冲标志',
|
|
index: 'ValidHedgFlag',
|
|
width: 160,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'HedgTypeCd',
|
|
label: '对冲类型代码',
|
|
index: 'HedgTypeCd',
|
|
width: 160,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'CtrNomnVal',
|
|
label: '合约名义本金',
|
|
index: 'CtrNomnVal',
|
|
width: 160,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: StockEqvNotional
|
|
}, {
|
|
name: 'RealNomnVal',
|
|
label: '真实名义本金',
|
|
index: 'RealNomnVal',
|
|
width: 160,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: StockEqvNotional
|
|
}, {
|
|
name: 'InsmScal',
|
|
label: '投资规模',
|
|
index: 'InsmScal',
|
|
width: 120,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: fixed2
|
|
}, {
|
|
name: 'PrtcRate',
|
|
label: '参与率',
|
|
index: 'PrtcRate',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: fixed4
|
|
}, {
|
|
name: 'TgtBpPrc',
|
|
label: '标的期初价格',
|
|
index: 'TgtBpPrc',
|
|
width: 120,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: Umprice
|
|
}, {
|
|
name: 'Share',
|
|
label: '份数',
|
|
index: 'Share',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: Notional
|
|
}, {
|
|
name: 'PremFix',
|
|
label: '权利金',
|
|
index: 'PremFix',
|
|
width: 120,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: TradePrice
|
|
}, {
|
|
name: 'ExerMod',
|
|
label: '行权方式',
|
|
index: 'ExerMod',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'BpObsvDay',
|
|
label: '期初观察日',
|
|
index: 'BpObsvDay',
|
|
width: 120,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'EpObsvDay',
|
|
label: '期末观察日',
|
|
index: 'EpObsvDay',
|
|
width: 120,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'ObsvFreq',
|
|
label: '观察频率',
|
|
index: 'ObsvFreq',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'ExecPricRati2',
|
|
label: '执行价格比例1',
|
|
index: 'ExecPricRati2',
|
|
width: 160,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: UmpricePR
|
|
}, {
|
|
name: 'ExecPricRati1',
|
|
label: '执行价格比例2',
|
|
index: 'ExecPricRati1',
|
|
width: 160,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: UmpricePR
|
|
}, {
|
|
name: 'ExecPric2',
|
|
label: '执行价格1',
|
|
index: 'ExecPric2',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: Umprice
|
|
}, {
|
|
name: 'ExecPric1',
|
|
label: '执行价格2',
|
|
index: 'ExecPric1',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: Umprice
|
|
}, {
|
|
name: 'ExecPric3',
|
|
label: '执行价格3',
|
|
index: 'ExecPric3',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: Umprice
|
|
}, {
|
|
name: 'ExecPric4',
|
|
label: '执行价格4',
|
|
index: 'ExecPric4',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: Umprice
|
|
}, {
|
|
name: 'BarriPricRati2',
|
|
label: '低障碍价格比例',
|
|
index: 'BarriPricRati2',
|
|
width: 160,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: UmpricePR
|
|
}, {
|
|
name: 'BarriPricRati1',
|
|
label: '高障碍价格比例',
|
|
index: 'BarriPricRati1',
|
|
width: 160,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: UmpricePR
|
|
}, {
|
|
name: 'BarriPric2',
|
|
label: '障碍价格1',
|
|
index: 'BarriPric2',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: Umprice
|
|
}, {
|
|
name: 'BarriPric1',
|
|
label: '障碍价格2',
|
|
index: 'BarriPric1',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: Umprice
|
|
}, {
|
|
name: 'HighrThanExecPrcPrftRate',
|
|
label: '高于执行价格收益率',
|
|
index: 'HighrThanExecPrcPrftRate',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: fixed4
|
|
}, {
|
|
name: 'LowrThanExecPrcPrftRate',
|
|
label: '低于执行价格收益率',
|
|
index: 'LowrThanExecPrcPrftRate',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: fixed4
|
|
}, {
|
|
name: 'KnockInPrftRate',
|
|
label: '敲入收益率',
|
|
index: 'KnockInPrftRate',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: fixed4
|
|
}, {
|
|
name: 'KnockOutPrftRate',
|
|
label: '敲出收益率',
|
|
index: 'KnockOutPrftRate',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: fixed4
|
|
}, {
|
|
name: 'RangePrft',
|
|
label: '区间收益',
|
|
index: 'RangePrft',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: fixed4
|
|
}, {
|
|
name: 'CrrcCd',
|
|
label: '货币代码',
|
|
index: 'CrrcCd',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'MaktVal',
|
|
label: '市值',
|
|
index: 'MaktVal',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: TradePrice
|
|
}, {
|
|
name: 'Delta',
|
|
label: 'Delta',
|
|
index: 'Delta',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: greek
|
|
}, {
|
|
name: 'Vega',
|
|
label: 'Vega',
|
|
index: 'Vega',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: greek
|
|
}, {
|
|
name: 'Gamma',
|
|
label: 'Gamma',
|
|
index: 'Gamma',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: greek
|
|
}, {
|
|
name: 'RiskFreeRate',
|
|
label: '无风险利率',
|
|
index: 'RiskFreeRate',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: fixed4
|
|
}, {
|
|
name: 'DividRate',
|
|
label: '连续股息率',
|
|
index: 'DividRate',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: fixed4
|
|
}, {
|
|
name: 'Volat',
|
|
label: '波动率',
|
|
index: 'Volat',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: Volatility
|
|
}, {
|
|
name: 'CurCrdtRiskExps',
|
|
label: '当前信用风险敞口',
|
|
index: 'CurCrdtRiskExps',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: greek
|
|
}, {
|
|
name: 'PotntCrdtRiskExps',
|
|
label: '潜在信用风险敞口',
|
|
index: 'PotntCrdtRiskExps',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false,
|
|
formatter: greek
|
|
}, {
|
|
name: 'RptDt',
|
|
label: '填报日期',
|
|
index: 'RptDt',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}, {
|
|
name: 'RptPsn',
|
|
label: '填报人',
|
|
index: 'RptPsn',
|
|
width: 90,
|
|
sortIndex: i++,
|
|
align: 'left',
|
|
sortable: false
|
|
}
|
|
];
|
|
|
|
function gridComplete(req) {
|
|
if (req.msg) {
|
|
main.alert(req.msg)
|
|
} else {
|
|
$("#listGrid").footerData("set", {
|
|
ValueDate: "合计", CtrNomnVal: req.Sum.SumCtrNomnVal, RealNomnVal: req.Sum.SumRealNomnVal, InsmScal: req.Sum.SumInsmScal, PrtcRate: req.Sum.SumPrtcRate, MaktVal: req.Sum.SumMaktVal
|
|
});
|
|
}
|
|
$(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover" });
|
|
main.setcolumnChooser(jQuery('#listGrid'), pageObj.columnConfigName);
|
|
}
|
|
|
|
function greek(cellValue, options, rowObject) {
|
|
if (cellValue) {
|
|
return otcformat.trading.greek(cellValue);
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
function Volatility(cellValue, options, rowObject) {
|
|
if (cellValue) {
|
|
return otcformat.trading.Volatility(cellValue);
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
function TradePrice(cellValue, options, rowObject) {
|
|
if (cellValue) {
|
|
return otcformat.trading.TradePrice(cellValue);
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
function fixed4(cellValue, options, rowObject) {
|
|
if (cellValue) {
|
|
return otcformat.fixed4(cellValue);
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
function fixed2(cellValue, options, rowObject) {
|
|
if (cellValue) {
|
|
return otcformat.fixed2(cellValue);
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
function Umprice(cellValue, options, rowObject) {
|
|
if (cellValue) {
|
|
return otcformat.trading.Umprice(cellValue);
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
function UmpricePR(cellValue, options, rowObject) {
|
|
if (cellValue) {
|
|
return otcformat.trading.UmpricePR(cellValue);
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
function Notional(cellValue, options, rowObject) {
|
|
if (cellValue) {
|
|
return otcformat.trading.Notional(cellValue);
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
function StockEqvNotional(cellValue, options, rowObject) {
|
|
if (cellValue) {
|
|
return otcformat.trading.StockEqvNotional(cellValue);
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
function reloadSuperviseTodayReport() {
|
|
//重新加载
|
|
SearchClick();
|
|
}
|
|
|
|
function SearchClick(isSearchclick) {
|
|
var listGrid = $('#listGrid');
|
|
|
|
listGrid.appendPostData({ ValueDate: $("#DateValueDate").val(), DataSource: $("#DataSource").val() });
|
|
|
|
if (typeof (isSearchclick) != "undefined" && isSearchclick) {
|
|
//点击搜索时默认第一页
|
|
listGrid.jqGrid('setGridParam', {
|
|
page: 1
|
|
});
|
|
}
|
|
listGrid.trigger('reloadGrid');
|
|
}
|
|
|
|
function exportToFile() {
|
|
if ($("#DateValueDate").val() == null || $("#DateValueDate").val() == "" || $("#DateValueDate").val() == undefined) {
|
|
alert("请选择结算日期!");
|
|
return;
|
|
}
|
|
|
|
var option = {
|
|
url: "/supervise_report/SendSupervise_OtcOption",
|
|
type: "POST",
|
|
data: { ValueDate: $("#DateValueDate").val(), DataSource: $("#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);
|
|
}
|
|
|
|
function importToSystem() {
|
|
var htmlContent = `
|
|
<div style="padding:5px">
|
|
<span>文件:</span >
|
|
<input type="file" accept=".xlsx" id="uploadfile" style="display: none" onchange=uploadChange() >
|
|
<input style="width:90%; height: 28px; text-align: left;" type="button" id="uploadfileButton" onclick="uploadfile.click();" value="请选择..." />
|
|
<div style="margin: 5px; float: right;">
|
|
<input type="button" class="btn btn-primary" onclick="upload()" value="上传文件">
|
|
</div>
|
|
</div>`;
|
|
main.open2("期权数据导入",
|
|
htmlContent,
|
|
{
|
|
area: ["400px", "130px"],
|
|
zIndex: 1000
|
|
});
|
|
}
|
|
|
|
function uploadChange() {
|
|
$('#uploadfileButton').val($('#uploadfile').val());
|
|
}
|
|
|
|
function upload() {
|
|
if (!$("#uploadfile").get(0).value.length) {
|
|
main.alert("请选择要上传的文件!");
|
|
return;
|
|
}
|
|
var fd = new FormData();
|
|
/*上传的文件file*/
|
|
fd.append("file", $("#uploadfile").get(0).files[0]);
|
|
$.ajax({
|
|
url: "/supervise_report/ImportSupervise_OtcOption",
|
|
type: "POST",
|
|
processData: false,
|
|
contentType: false,
|
|
data: fd,
|
|
success: function (res) {
|
|
if (!res.success) {
|
|
main.alert(res.msg);
|
|
} else {
|
|
$("#uploadfile").val("");
|
|
$("#uploadfileButton").val("");
|
|
layer.closeAll();
|
|
main.message(res.msg);
|
|
}
|
|
},
|
|
beforeSend(jqXHR) {
|
|
main.waitMe(true);
|
|
},
|
|
complete(jqXHR, textStatus) {
|
|
main.waitMe(false);
|
|
}
|
|
});
|
|
}
|