948 lines
32 KiB
JavaScript
948 lines
32 KiB
JavaScript
|
|
var g_grid = {};
|
|
var detailStatus = page.DetailStatus;
|
|
var valueDate = page.ValueDate;
|
|
var detailStatusIndex = [];
|
|
var ccemail = page.CCEmail;
|
|
|
|
var colModelGrid = (function () {
|
|
|
|
function setStructTable(rowObject) {
|
|
var structTrades = rowObject.StructureList;
|
|
var trhtml = "",
|
|
trcode = "<td>标的代码</td>",
|
|
trvarity = "<td>结构类型</td>",
|
|
trstrike = "<td>行权价</td>",
|
|
trmaturedate = "<td>到期日</td>",
|
|
trtradestatus = "<td>交易状态</td>";
|
|
if (structTrades) {
|
|
for (var i = 0; i < structTrades.length; i++) {
|
|
trcode += "<td>{0}</td>".template(structTrades[i].UnderlyingCode);
|
|
trvarity += "<td>{0}</td>".template(structTrades[i].TradeType);
|
|
trstrike += "<td>{0}</td>".template(structTrades[i].Strike);
|
|
trmaturedate += "<td>{0}</td>".template(moment(structTrades[i].MaturityDate).format("YYYY-MM-DD"));
|
|
trtradestatus += "<td>{0}</td>".template(structTrades[i].TradeStatus);
|
|
}
|
|
}
|
|
trhtml = "<tr>{0}</tr>".template(trcode);
|
|
trhtml += "<tr>{0}</tr>".template(trvarity);
|
|
trhtml += "<tr>{0}</tr>".template(trstrike);
|
|
trhtml += "<tr>{0}</tr>".template(trmaturedate);
|
|
trhtml += "<tr>{0}</tr>".template(trtradestatus);
|
|
|
|
var showTable = "<table class='table'>{0}<table>".template(trhtml);
|
|
return showTable;
|
|
}
|
|
|
|
function showTradeNumber(cellValue, options, rowObject) {
|
|
if (cellValue === "合计:") {
|
|
return cellValue;
|
|
}
|
|
|
|
return cellValue || "--";
|
|
}
|
|
|
|
function tradeTypeFormat(cellValue, options, rowObject) {
|
|
return rowObject.TradeMultipleType;
|
|
}
|
|
|
|
function buySellFormat(cellValue, options, rowObject) {
|
|
return cellValue === "买入" ? "卖出" : "买入";
|
|
}
|
|
|
|
function unwindTradeAmountFormat(cellValue, options, rowObject) {
|
|
var amount = rowObject.IsLastAction ? (rowObject.TcTradeAmount || 0) : (rowObject.TcUnwindTradeAmount || 0);
|
|
return otcformat.trading.notional(page.IsUseDisplayNotional ? amount * (rowObject.CountRatio || 1) : amount);
|
|
}
|
|
|
|
function unwindPriceFormat(cellValue, options, rowObject) {
|
|
if (rowObject.IsUsePremiumRate) {
|
|
return rowObject.TcAction == "系统操作-行权费" ?
|
|
otcformat.trading.tradeSinglePrice(Math.abs(rowObject.TcUnwindPrice))
|
|
: otcformat.trading.premiumRateP(Math.abs(rowObject.TcUnwindPricePercent));
|
|
}
|
|
else {
|
|
return otcformat.trading.tradeSinglePrice(Math.abs(rowObject.TcUnwindPrice));
|
|
}
|
|
}
|
|
|
|
function TradeSinglePriceFormat(cellValue, options, rowObject) {
|
|
if (rowObject.TradeType === "收益互换") {
|
|
return "";
|
|
}
|
|
if (rowObject.IsUsePremiumRate) {
|
|
return otcformat.trading.premiumRateP(rowObject.PremiumRate);
|
|
}
|
|
else {
|
|
return otcformat.trading.tradeSinglePrice(cellValue);
|
|
}
|
|
}
|
|
|
|
function MinusAmountFormat(cellValue, options, rowObject) {
|
|
var val = rowObject.footer ? cellValue : -cellValue;
|
|
return !val || Math.abs(val) < 1e-6 ? otcformat.trading.tradePrice(0) : otcformat.trading.tradePrice(val);
|
|
}
|
|
|
|
function strikeFormat(cellValue, options, rowObject) {
|
|
if (rowObject.TradeType === "收益互换") {
|
|
return "";
|
|
}
|
|
return otcformat.trading.umprice(cellValue);
|
|
}
|
|
|
|
function TradePriceFormat(cellValue, options, rowObject) {
|
|
return otcformat.trading.tradePrice(cellValue * -1);
|
|
}
|
|
|
|
function buySellTradePriceFormat(cellValue, options, rowObject) {
|
|
cellValue = (rowObject.BuySell == "买入" && rowObject.TradeType != "远期") ? cellValue * -1 : cellValue;
|
|
return TradePriceFormat(cellValue, options, rowObject);
|
|
}
|
|
|
|
function excerciseTypeFormat(cellValue, options, rowObject) {
|
|
if (rowObject.TradeStatus === "已到期" || rowObject.TcFinalPrice < rowObject.ActualStrike && rowObject.OptionType === "看涨"
|
|
|| rowObject.TcFinalPrice > rowObject.ActualStrike && rowObject.OptionType === "看跌") {
|
|
return "虚值到期";
|
|
}
|
|
return "实值行权";
|
|
}
|
|
|
|
//展开折叠
|
|
function expandFormat(cellValue, options, rowObject) {
|
|
var hasExpandIcon = rowObject.IsGroup == 1;
|
|
if (hasExpandIcon) {
|
|
if (detailStatus === "提前终止" || detailStatus === "到期") {
|
|
return `<a class="yl-grid-plus" href="#" ondblclick="event.stopPropagation()" onclick="toggleTcIdExpand('${options.rowId}')"><i class="fa fa-plus"></i></a>`;
|
|
}
|
|
else {
|
|
return `<a class="yl-grid-plus" href="#" ondblclick="event.stopPropagation()" onclick="toggleExpand('${options.rowId}')"><i class="fa fa-plus"></i></a>`;
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
|
|
function ShowStructFormater(cellValue, options, rowObject) {
|
|
var html;
|
|
//if (rowObject.TradeType === "结构化交易") {
|
|
// html = "<a href=\"#\" class=\"selftooltip\" style=\"z-index:10000000\" data-toggle=\"tooltip\" title=\"{1}\">{0}</a>"
|
|
// .template(cellValue, setStructTable(rowObject));
|
|
// return html;
|
|
//}
|
|
if (rowObject.TradeType === "合成价差期权") {
|
|
html =
|
|
"<a href=\"#\" class=\"selftooltip\" style=\"z-index:10000000\" data-toggle=\"tooltip\" title=\"{1}\">{0}</a>"
|
|
.template(cellValue, rowObject.SyntheticUnderlyingTipsInfo);
|
|
return html;
|
|
}
|
|
return cellValue ? cellValue : "";
|
|
}
|
|
|
|
if (detailStatus === "提前终止") {
|
|
var colEarly = [
|
|
{
|
|
name: 'rowFlag',
|
|
label: ' ',
|
|
width: 30,
|
|
optionHide: true,
|
|
formatter: expandFormat,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'TcId',
|
|
hidden: true,
|
|
key: true
|
|
}, {
|
|
name: 'EncryptId',
|
|
hidden: true
|
|
}, {
|
|
name: 'ClientName',
|
|
label: '客户名称',
|
|
index: 'OtcTradeDetail.ClientName',
|
|
width: 150,
|
|
align: 'center'
|
|
}, {
|
|
name: 'TradeNumber',
|
|
label: '交易编号',
|
|
index: 'OtcTradeDetail.TradeNumber',
|
|
width: 150,
|
|
align: 'center',
|
|
formatter: showTradeNumber
|
|
}, {
|
|
name: 'BuySell',
|
|
label: '交易方向',
|
|
index: 'OtcTradeDetail.BuySell',
|
|
width: 90,
|
|
formatter: buySellFormat,
|
|
align: 'center',
|
|
}, {
|
|
name: 'TradeDate',
|
|
label: '交易日期',
|
|
index: 'OtcTradeDetail.TradeDate',
|
|
width: 90,
|
|
align: 'center',
|
|
formatter: 'date'
|
|
}, {
|
|
name: 'ExerciseDate',
|
|
label: '到期日期',
|
|
index: 'OtcTradeDetail.ExerciseDate',
|
|
width: 100,
|
|
align: 'center',
|
|
formatter: 'date'
|
|
}, {
|
|
name: 'TradeType',
|
|
label: '期权类型',
|
|
index: 'OtcTradeDetail.TradeType',
|
|
width: 100,
|
|
align: 'center',
|
|
formatter: tradeTypeFormat
|
|
}, {
|
|
name: 'UnderlyingCode',
|
|
label: '标的代码',
|
|
index: 'OtcTradeDetail.UnderlyingCode',
|
|
width: 80,
|
|
align: 'center',
|
|
formatter: ShowStructFormater
|
|
}, {
|
|
name: 'UnderlyingAssetName',
|
|
label: '标的名称',
|
|
index: 'OtcTradeDetail.UnderlyingAssetName',
|
|
width: 80,
|
|
align: 'center'
|
|
}, {
|
|
name: 'SpotPrice',
|
|
label: '期初标的价格',
|
|
index: 'OtcTradeDetail.SpotPrice',
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter(cellValue, options, rowObject) {
|
|
return otcformat.trading.umprice(cellValue);
|
|
}
|
|
}, {
|
|
name: 'ActualStrike',
|
|
label: '执行价格',
|
|
index: 'OtcTradeDetail.ActualStrike',
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: strikeFormat
|
|
}, {
|
|
name: 'TradeSinglePrice',
|
|
label: '权利金',
|
|
index: 'OtcTradeDetail.TradeSinglePrice',
|
|
width: 100,
|
|
align: 'center',
|
|
formatter: TradeSinglePriceFormat
|
|
}, {
|
|
name: 'TradeOriginalAmount',
|
|
label: '有效数量',
|
|
index: 'OtcTradeDetail.TradeOriginalAmount',
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: otcformat.trading.notional
|
|
}, {
|
|
name: 'TradePrice',
|
|
label: '交易总额',
|
|
index: 'OtcTradeDetail.TradePrice',
|
|
width: 120,
|
|
align: 'center',
|
|
formatter: buySellTradePriceFormat,
|
|
summaryType: 'sum'
|
|
}, {
|
|
name: 'TcAction',
|
|
label: '提前终止类型',
|
|
index: 'OtcTradeDetail.TcAction',
|
|
width: 120,
|
|
align: 'center',
|
|
formatter: function (cellValue, options, rowObject) {
|
|
return cellValue === "系统操作-行权费" ? "美式行权" : "平仓";
|
|
}
|
|
}, {
|
|
name: 'TcValueDate',
|
|
label: '提前终止日期',
|
|
index: 'OtcTradeDetail.TcValueDate',
|
|
width: 100,
|
|
align: 'center',
|
|
formatter: 'date'
|
|
}, {
|
|
name: 'TcUnwindTradeAmount',
|
|
label: '提前终止数量',
|
|
index: 'OtcTradeDetail.TcUnwindTradeAmount',
|
|
width: 100,
|
|
align: 'center',
|
|
formatter: unwindTradeAmountFormat
|
|
}, {
|
|
name: 'TcFinalPrice',
|
|
label: '平仓标的价格',
|
|
index: 'OtcTradeDetail.TcFinalPrice',
|
|
width: 150,
|
|
align: 'center',
|
|
formatter(cellValue, options, rowObject) {
|
|
return otcformat.trading.umprice(cellValue);
|
|
}
|
|
|
|
}, {
|
|
name: 'TcUnwindPrice',
|
|
label: '平仓价格/行权收益',
|
|
index: 'OtcTradeDetail.TcUnwindPrice',
|
|
width: 150,
|
|
align: 'center',
|
|
formatter: unwindPriceFormat
|
|
}, {
|
|
name: 'TcAmount',
|
|
label: '提前终止总额',
|
|
index: 'OtcTradeDetail.TcAmount',
|
|
width: 120,
|
|
align: 'center',
|
|
formatter: TradePriceFormat,
|
|
sortable: false,
|
|
summaryType: 'sum'
|
|
}, {
|
|
name: 'WinLoss',
|
|
label: '实现盈亏',
|
|
index: 'OtcTradeDetail.WinLoss',
|
|
width: 120,
|
|
align: 'center',
|
|
formatter: TradePriceFormat,
|
|
sortable: false,
|
|
summaryType: 'sum'
|
|
}
|
|
];
|
|
return tradeHelper.getAmountToNotional(colEarly);
|
|
}
|
|
|
|
if (detailStatus === "到期") {
|
|
var colExpire = [
|
|
{
|
|
name: 'rowFlag',
|
|
label: ' ',
|
|
width: 30,
|
|
optionHide: true,
|
|
formatter: expandFormat,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'TcId',
|
|
hidden: true,
|
|
key: true
|
|
}, {
|
|
name: 'EncryptId',
|
|
hidden: true
|
|
}, {
|
|
name: 'ClientName',
|
|
label: '客户名称',
|
|
index: 'OtcTradeDetail.ClientName',
|
|
width: 150,
|
|
align: 'center'
|
|
}, {
|
|
name: 'TradeNumber',
|
|
label: '交易编号',
|
|
index: 'OtcTradeDetail.TradeNumber',
|
|
width: 150,
|
|
align: 'center',
|
|
formatter: showTradeNumber
|
|
}, {
|
|
name: 'BuySell',
|
|
label: '交易方向',
|
|
index: 'OtcTradeDetail.BuySell',
|
|
width: 90,
|
|
formatter: buySellFormat,
|
|
align: 'center',
|
|
}, {
|
|
name: 'TradeDate',
|
|
label: '交易日期',
|
|
index: 'OtcTradeDetail.TradeDate',
|
|
width: 90,
|
|
align: 'center',
|
|
formatter: 'date'
|
|
}, {
|
|
name: 'ExerciseDate',
|
|
label: '到期日期',
|
|
index: 'OtcTradeDetail.ExerciseDate',
|
|
width: 100,
|
|
align: 'center',
|
|
formatter: 'date'
|
|
}, {
|
|
name: 'TradeType',
|
|
label: '期权类型',
|
|
index: 'OtcTradeDetail.TradeType',
|
|
width: 100,
|
|
align: 'center',
|
|
formatter: tradeTypeFormat
|
|
}, {
|
|
name: 'UnderlyingCode',
|
|
label: '标的代码',
|
|
index: 'OtcTradeDetail.UnderlyingCode',
|
|
width: 80,
|
|
align: 'center',
|
|
formatter: ShowStructFormater
|
|
}, {
|
|
name: 'UnderlyingAssetName',
|
|
label: '标的名称',
|
|
index: 'OtcTradeDetail.UnderlyingAssetName',
|
|
width: 80,
|
|
align: 'center'
|
|
}, {
|
|
name: 'SpotPrice',
|
|
label: '期初标的价格',
|
|
index: 'OtcTradeDetail.SpotPrice',
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter(cellValue, options, rowObject) {
|
|
return otcformat.trading.umprice(cellValue);
|
|
}
|
|
}, {
|
|
name: 'ActualStrike',
|
|
label: '执行价格',
|
|
index: 'OtcTradeDetail.ActualStrike',
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: strikeFormat
|
|
}, {
|
|
name: 'TradeSinglePrice',
|
|
label: '权利金',
|
|
index: 'OtcTradeDetail.TradeSinglePrice',
|
|
width: 100,
|
|
align: 'center',
|
|
formatter: TradeSinglePriceFormat
|
|
}, {
|
|
name: 'TradeOriginalAmount',
|
|
label: '有效数量',
|
|
index: 'OtcTradeDetail.TradeOriginalAmount',
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: tradeHelper.getNotionalFormat
|
|
}, {
|
|
name: 'TradePrice',
|
|
label: '交易总额',
|
|
index: 'OtcTradeDetail.TradePrice',
|
|
width: 120,
|
|
align: 'center',
|
|
formatter: buySellTradePriceFormat,
|
|
summaryType: 'sum'
|
|
}, {
|
|
name: 'TcAction',
|
|
label: '到期状态',
|
|
index: 'OtcTradeDetail.TcAction',
|
|
width: 120,
|
|
align: 'center',
|
|
formatter: excerciseTypeFormat
|
|
}, {
|
|
name: 'TcUnwindTradeAmount',
|
|
label: '到期数量',
|
|
index: 'OtcTradeDetail.TcUnwindTradeAmount',
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: unwindTradeAmountFormat
|
|
}, {
|
|
name: 'TcFinalPrice',
|
|
label: '到期标的价格',
|
|
index: 'OtcTradeDetail.TcFinalPrice',
|
|
width: 120,
|
|
align: 'center',
|
|
formatter: otcformat.trading.umprice
|
|
}, {
|
|
name: 'TcUnwindPrice',
|
|
label: '到期收益',
|
|
index: 'OtcTradeDetail.TcUnwindPrice',
|
|
width: 150,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: unwindPriceFormat
|
|
}, {
|
|
name: 'TcAmount',
|
|
label: '到期收益总额',
|
|
index: 'OtcTradeDetail.TcAmount',
|
|
width: 120,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: TradePriceFormat,
|
|
summaryType: 'sum'
|
|
}, {
|
|
name: 'WinLoss',
|
|
label: '实现盈亏',
|
|
index: 'OtcTradeDetail.WinLoss',
|
|
width: 120,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: TradePriceFormat,
|
|
summaryType: 'sum'
|
|
}
|
|
];
|
|
return colExpire;
|
|
}
|
|
|
|
var col = [{
|
|
name: 'id',
|
|
label: 'id',
|
|
index: 'id',
|
|
hidden: true,
|
|
optionHide: true
|
|
}, {
|
|
name: 'EncryptId',
|
|
label: 'EncryptId',
|
|
index: 'EncryptId',
|
|
hidden: true,
|
|
optionHide: true
|
|
}, {
|
|
name: 'rowFlag',
|
|
label: ' ',
|
|
width: 30,
|
|
optionHide: true,
|
|
formatter: expandFormat,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'ClientName',
|
|
label: '客户名称',
|
|
index: 'OtcTradeDetail.ClientName',
|
|
width: 150,
|
|
align: 'center'
|
|
|
|
}, {
|
|
name: 'TradeNumber',
|
|
label: '交易编号',
|
|
index: 'OtcTradeDetail.TradeNumber',
|
|
width: 150,
|
|
align: 'center',
|
|
formatter: showTradeNumber
|
|
}, {
|
|
name: 'BuySell',
|
|
label: '交易方向',
|
|
index: 'OtcTradeDetail.BuySell',
|
|
width: 90,
|
|
formatter: buySellFormat,
|
|
align: 'center'
|
|
}, {
|
|
name: 'TradeDate',
|
|
label: '交易日期',
|
|
index: 'OtcTradeDetail.TradeDate',
|
|
width: 90,
|
|
align: 'center',
|
|
formatter: 'date'
|
|
}, {
|
|
name: 'ExerciseDate',
|
|
label: '到期日期',
|
|
index: 'OtcTradeDetail.ExerciseDate',
|
|
width: 100,
|
|
align: 'center',
|
|
formatter: 'date'
|
|
}, {
|
|
name: 'TradeType',
|
|
label: '期权类型',
|
|
index: 'OtcTradeDetail.TradeType',
|
|
width: 100,
|
|
align: 'center',
|
|
formatter: tradeTypeFormat
|
|
}, {
|
|
name: 'UnderlyingCode',
|
|
label: '标的代码',
|
|
index: 'OtcTradeDetail.UnderlyingCode',
|
|
width: 80,
|
|
align: 'center',
|
|
formatter: ShowStructFormater
|
|
}, {
|
|
name: 'UnderlyingAssetName',
|
|
label: '标的名称',
|
|
index: 'OtcTradeDetail.UnderlyingAssetName',
|
|
width: 80,
|
|
align: 'center'
|
|
}, {
|
|
name: 'SpotPrice',
|
|
label: '期初标的价格',
|
|
index: 'SpotPrice',
|
|
width: 100,
|
|
align: 'OtcTradeDetail.center',
|
|
sortable: false,
|
|
formatter(cellValue, options, rowObject) {
|
|
return otcformat.trading.umprice(cellValue);
|
|
}
|
|
}, {
|
|
name: 'ActualStrike',
|
|
label: '执行价格',
|
|
index: 'OtcTradeDetail.ActualStrike',
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: strikeFormat
|
|
}, {
|
|
name: 'TradeSinglePrice',
|
|
label: '权利金',
|
|
index: 'OtcTradeDetail.TradeSinglePrice',
|
|
width: 100,
|
|
align: 'center',
|
|
formatter: TradeSinglePriceFormat
|
|
}, {
|
|
name: 'TradeOriginalAmount',
|
|
label: '有效数量',
|
|
index: 'OtcTradeDetail.TradeOriginalAmount',
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: otcformat.trading.notional
|
|
}, {
|
|
name: 'TradePrice',
|
|
label: '交易总额',
|
|
index: 'OtcTradeDetail.TradePrice',
|
|
width: 120,
|
|
formatter: buySellTradePriceFormat,
|
|
align: 'center',
|
|
summaryType: 'sum'
|
|
}
|
|
];
|
|
return tradeHelper.getAmountToNotional(col);
|
|
}());
|
|
|
|
$(function () {
|
|
var PostData = {};
|
|
detailStatusIndex["成交"] = 1;
|
|
detailStatusIndex["提前终止"] = 2;
|
|
detailStatusIndex["到期"] = 3;
|
|
|
|
$("#ClientId").val((page.ClientId || '').split(','));
|
|
$("#ClientId").selectpicker('refresh')
|
|
|
|
var ttypes = page.TradeTypes;
|
|
for (var i = 0; i < ttypes.length; i++) {
|
|
$("#TradeTypes option[value='" + ttypes[i] + "']").prop("selected", true);
|
|
}
|
|
|
|
$("#TradeTypes").trigger("chosen:updated");
|
|
|
|
main.setTradeDatePicker(valueDate, "#StartDate,#EndDate");
|
|
$("#StartDate,#EndDate").datepicker("option", "maxDate", valueDate);
|
|
$("#StartDate").on("change", function () {
|
|
var startDate = $(this).val();
|
|
if (startDate && !main.isDate(startDate)) {
|
|
return;
|
|
}
|
|
$("#EndDate").datepicker("option", "minDate", startDate);
|
|
});
|
|
$("#EndDate").on("change", function () {
|
|
var endDate = $(this).val();
|
|
if (endDate && !main.isDate(endDate)) {
|
|
return;
|
|
}
|
|
$("#StartDate").datepicker("option", "maxDate", endDate);
|
|
});
|
|
|
|
$("#StartDate").val(page.StartDate || '');
|
|
$("#EndDate").val(page.EndDate || '');
|
|
$("#StartDate,#EndDate").trigger("change");
|
|
|
|
$("#StructureType").val(page.StructureType);
|
|
if (page.ParentFlag == true)
|
|
$("#ParentFlag").attr("checked", true);
|
|
else
|
|
$("#ParentFlag").attr("checked", false);
|
|
|
|
PostData.StartDate = $("#StartDate").val();
|
|
PostData.EndDate = $("#EndDate").val();
|
|
PostData.ClientId = $("#ClientId").val();
|
|
PostData.ClientIds = $("#ClientId").val() == null || typeof ($("#ClientId").val()) == 'string' ? "" : $("#ClientId").val().join();
|
|
PostData.DetailStatuses = detailStatus;
|
|
PostData.TradeTypes = $("#TradeTypes").val();
|
|
PostData.StructureType = $("#StructureType").val();
|
|
|
|
if ($("#ParentFlag").prop("checked"))
|
|
PostData.ParentFlag = true;
|
|
else
|
|
PostData.ParentFlag = false;
|
|
|
|
grid = jQuery('#listGrid').jqGrid({
|
|
url: "/trade/QueryTradeDetails",
|
|
datatype: 'json',
|
|
height: 'auto',
|
|
width: '96%',
|
|
autowidth: false,
|
|
shrinkToFit: false,
|
|
viewrecords: true,
|
|
jsonReader: { repeatitems: false },
|
|
caption: '',
|
|
mtype: 'POST',
|
|
postData: PostData,
|
|
colModel: colModelGrid,
|
|
pager: jQuery('#pagerGrid'),
|
|
pagerpos: 'left',
|
|
ondblClickRow: rowdblclick,
|
|
rowNum: 20,
|
|
rowList: [20, 30, 50, 200, 10000],
|
|
footerrow: true,
|
|
loadComplete: gridComplete,
|
|
grouping: true
|
|
});
|
|
g_grid = jQuery('#listGrid');
|
|
|
|
function keyEnter(event) {
|
|
try {
|
|
var e = event ? event : (window.event ? window.event : null);
|
|
if (e.keyCode === 13) {
|
|
SearchClick(true);
|
|
}
|
|
} catch (e) {
|
|
//
|
|
}
|
|
}
|
|
|
|
document.onkeydown = keyEnter;
|
|
try {
|
|
SetAceDropDown();
|
|
} catch (e) {
|
|
//
|
|
}
|
|
|
|
function AfterInsertRow(rowid, aData) {
|
|
}
|
|
|
|
tabSelect(detailStatusIndex[detailStatus]);
|
|
});
|
|
|
|
function rowdblclick(rowid) {
|
|
var rowData = $(this).getRowData(rowid);
|
|
var srcurl = (rowData["TradeType"].indexOf('远期') >= 0 ? "/forwardTrade/TradeView" : "/trade/tradeView") + "?enid=" + rowData["EncryptId"];
|
|
main.open("查看交易", srcurl, { area: ['1260px', '800px'] });
|
|
}
|
|
|
|
function gridComplete() {
|
|
var jgrid = $(this);
|
|
var rowNum = parseInt(jgrid.getGridParam('records'), 10);
|
|
if (rowNum > 0) {
|
|
$(".ui-jqgrid-sdiv").show();
|
|
var Sum = arguments[0].Sum || {};
|
|
var totalTradePrice = Sum.TradePriceSum || "";
|
|
var totalMinusAmount = Sum.MinusAmountSum || "";
|
|
var totalWinLoss = Sum.WinLossSum || "";
|
|
|
|
if (detailStatus === "成交") {
|
|
jgrid.footerData("set", { "TradePrice": totalTradePrice });
|
|
} else {
|
|
jgrid.footerData("set", { footer: true, 'TcAmount': totalMinusAmount, WinLoss: totalWinLoss });
|
|
}
|
|
$(".ui-jqgrid-sortable").css("text-align", "center");
|
|
|
|
var newHeight = $(window).height() - 370;
|
|
$(".ui-jqgrid .ui-jqgrid-bdiv").css("cssText", "height: " + newHeight + "px!important;");
|
|
$('.ui-jqgrid-bdiv', '#gbox_listGrid').floatingScroll();
|
|
} else {
|
|
$(".ui-jqgrid-sdiv").hide();
|
|
}
|
|
|
|
$(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover", container: "body" });
|
|
}
|
|
|
|
function reloadtrade() {
|
|
//重新加载
|
|
SearchClick();
|
|
$('#modal-edittrade').modal('hide');
|
|
}
|
|
|
|
function SearchClick(isSearchclick) {
|
|
if (main.isEmpty($("#EndDate").val())) {
|
|
main.message("请选择结束日期!");
|
|
return;
|
|
}
|
|
if ($("#EndDate").val() > page.ValueDate) {
|
|
main.message("结束日期不能大于当前系统日期!");
|
|
return;
|
|
}
|
|
if (isSearchclick === true) {
|
|
if (!$("#ClientId").val()) {
|
|
main.message("请选择客户!");
|
|
return;
|
|
}
|
|
}
|
|
if ($("#EndDate").val() < $("#StartDate").val()) {
|
|
main.message("起始日期不能大于结束日期!");
|
|
return;
|
|
}
|
|
|
|
var listGrid = $('#listGrid');
|
|
listGrid.appendPostData({ ClientId: $("#ClientId").val() != null && typeof ($("#ClientId").val()) == 'string' ? $("#ClientId").val() : "" });
|
|
listGrid.appendPostData({ ClientIds: $("#ClientId").val() == null || typeof ($("#ClientId").val()) == 'string' ? "" : $("#ClientId").val().join() });
|
|
listGrid.appendPostData({ StartDate: $("#StartDate").val() });
|
|
listGrid.appendPostData({ EndDate: $("#EndDate").val() });
|
|
listGrid.appendPostData({ TradeTypes: $("#TradeTypes").val() });
|
|
listGrid.appendPostData({ StructureType: $("#StructureType").val() });
|
|
listGrid.appendPostData({ DetailStatuses: detailStatus });
|
|
|
|
var ParentFlag = false;
|
|
if ($("#ParentFlag").prop("checked"))
|
|
ParentFlag = true;
|
|
listGrid.appendPostData({ ParentFlag: ParentFlag });
|
|
|
|
if (isSearchclick) {
|
|
//点击搜索时默认第一页
|
|
$('#listGrid').jqGrid('setGridParam', { page: 1 });
|
|
}
|
|
main.isSearching = true;
|
|
$('#listGrid').trigger('reloadGrid');
|
|
}
|
|
|
|
function tabSelect(tabIndex) {
|
|
$("#myTab").children().removeClass("active");
|
|
$("#tab" + tabIndex).addClass("active");
|
|
|
|
SearchClick(false);
|
|
}
|
|
|
|
function locationChange(tab) {
|
|
if ($("#EndDate").val() > page.ValueDate) {
|
|
main.message("结束日期不能大于当前系统日期!");
|
|
return;
|
|
}
|
|
if ($("#EndDate").val() < $("#StartDate").val()) {
|
|
main.message("起始日期不能大于结束日期!");
|
|
return;
|
|
}
|
|
var url = "/trade/TradeDetails?detailStatus=" + encodeURIComponent(tab);
|
|
|
|
var trades = ($("#TradeTypes").val() || []).join(",");
|
|
|
|
var ParentFlag = false;
|
|
if ($("#ParentFlag").prop("checked"))
|
|
ParentFlag = true;
|
|
|
|
window.location.href = url + "&clientId=" + $("#ClientId").val() + "&startDate=" + $("#StartDate").val() + "&endDate=" + $("#EndDate").val() + "&TradeTypes=" +
|
|
encodeURIComponent(trades) + "&StructureType=" + $("#StructureType").val() + "&ParentFlag=" + ParentFlag;
|
|
|
|
return;
|
|
}
|
|
|
|
function resetCC(cc) {
|
|
ccemail = cc;
|
|
}
|
|
|
|
function popDesc() {
|
|
main.open("报告备注修改", "/trade/TradeDetailsDescSet");
|
|
}
|
|
|
|
function exportReport(template, docType = 'xlsx') {
|
|
var clientIds = [];
|
|
var ids = $("#ClientId").val();
|
|
if (ids == null) {
|
|
clientIds = '';
|
|
}
|
|
else if (typeof (ids) == 'string') {
|
|
clientIds.push(ids);
|
|
} else {
|
|
clientIds = ids;
|
|
}
|
|
|
|
var ParentFlag = false;
|
|
if ($("#ParentFlag").prop("checked"))
|
|
ParentFlag = true;
|
|
|
|
if (template) {
|
|
var postData = { ClientIds: clientIds, StartDate: $("#StartDate").val(), EndDate: $("#EndDate").val(), TradeTypes: $("#TradeTypes").val(), StructureType: $("#StructureType").val(), DetailStatuses: "成交,提前终止,到期", ParentFlag: ParentFlag, template: template, fileType: docType };
|
|
}
|
|
else {
|
|
var postData = { ClientIds: clientIds, StartDate: $("#StartDate").val(), EndDate: $("#EndDate").val(), TradeTypes: $("#TradeTypes").val(), StructureType: $("#StructureType").val(), DetailStatuses: "成交,提前终止,到期", ParentFlag: ParentFlag, fileType: docType };
|
|
}
|
|
main.post("/trade/ExportTradeDetails/", postData).done(function (res) {
|
|
main.downloadFiles(res.obj);
|
|
});
|
|
}
|
|
|
|
function chooseTemplate(mailOrReport) {
|
|
if ($("#ClientId").val()) {
|
|
if (mailOrReport) {
|
|
if (typeof ($("#ClientId").val()) != 'string' && $("#ClientId").val().length > 1) {
|
|
main.alert("发送邮件不支持客户多选,请选择其中一个发送!");
|
|
return;
|
|
}
|
|
main.open("选择模板", "/trade/ChooseReportTemplate/?clientId=" + $("#ClientId").val() + "&isMail=true", { area: ['400px', '480px'] });
|
|
}
|
|
else {
|
|
main.open("选择模板", "/trade/ChooseReportTemplate/?clientId=" + $("#ClientId").val() + "&isMail=false", { area: ['400px', '480px'] });
|
|
}
|
|
}
|
|
else {
|
|
main.message("请先选择客户");
|
|
}
|
|
}
|
|
|
|
function sendReport(template, receiver, attachFiles, skip) {
|
|
|
|
var ParentFlag = false;
|
|
if ($("#ParentFlag").prop("checked"))
|
|
ParentFlag = true;
|
|
|
|
if (template) {
|
|
var postData = { ClientId: $("#ClientId").val(), StartDate: $("#StartDate").val(), EndDate: $("#EndDate").val(), TradeTypes: $("#TradeTypes").val(), StructureType: $("#StructureType").val(), DetailStatuses: "成交,提前终止,到期", ParentFlag: ParentFlag, template: template, receiver: receiver, attachFiles: attachFiles, skip: false };
|
|
if (skip && skip == true) {
|
|
postData.skip = skip;
|
|
}
|
|
main.post("/trade/SendTradeDetailsReport/", postData).done(function (res) {
|
|
if (res.obj) {
|
|
main.confirm(res.msg, function () {
|
|
sendReport(template, receiver, attachFiles, true);
|
|
});
|
|
} else {
|
|
main.downloadFiles(res.obj);
|
|
}
|
|
|
|
});
|
|
} else {
|
|
var postData = { ClientId: $("#ClientId").val(), StartDate: $("#StartDate").val(), EndDate: $("#EndDate").val(), TradeTypes: $("#TradeTypes").val(), DetailStatuses: "成交,提前终止,到期", ParentFlag: ParentFlag };
|
|
main.post("/trade/SendTradeDetailsReport/", postData).done(function (res) {
|
|
if (res.obj) {
|
|
main.confirm(res.message, function () {
|
|
sendReport(template, receiver, attachFiles, true);
|
|
});
|
|
} else {
|
|
main.downloadFiles(res.obj);
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
function toggleExpand(rowid) {
|
|
event.stopPropagation();
|
|
$(event.target).toggleClass('fa-minus');
|
|
var PostData = {};
|
|
PostData.StartDate = $("#StartDate").val();
|
|
PostData.EndDate = $("#EndDate").val();
|
|
PostData.ClientId = $("#ClientId").val();
|
|
PostData.GroupTradeId = rowid;
|
|
PostData.DetailStatuses = detailStatus;
|
|
if ($(event.target).hasClass('fa-minus')) {
|
|
main.post("/trade/QueryGroupTradeDetails", PostData).done(function (res) {
|
|
for (var i = 0; i < res.length; i++) {
|
|
jQuery('#listGrid').jqGrid('addRowData', res[i].id, res[i], 'after', rowid);
|
|
$('#' + res[i].id).find("td").addClass("ChildrenBG");
|
|
}
|
|
});
|
|
}
|
|
else {
|
|
main.post("/trade/QueryGroupTradeDetails", PostData).done(function (res) {
|
|
for (var i = 0; i < res.length; i++) {
|
|
jQuery('#listGrid').jqGrid('delRowData', res[i].id);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function toggleTcIdExpand(rowid) {
|
|
event.stopPropagation();
|
|
$(event.target).toggleClass('fa-minus');
|
|
if ($(event.target).hasClass('fa-minus')) {
|
|
main.post("/trade/AjaxGetMultiCloseGroupChildren", { TcId: rowid }).done(function (res) {
|
|
for (var i = 0; i < res.length; i++) {
|
|
jQuery('#listGrid').jqGrid('addRowData', res[i].TcId, res[i], 'after', rowid);
|
|
$('#' + res[i].TcId).find("td").addClass("ChildrenBG");
|
|
}
|
|
});
|
|
}
|
|
else {
|
|
main.post("/trade/AjaxGetMultiCloseGroupChildren", { TcId: rowid }).done(function (res) {
|
|
for (var i = 0; i < res.length; i++) {
|
|
jQuery('#listGrid').jqGrid('delRowData', res[i].TcId);
|
|
}
|
|
});
|
|
}
|
|
} |