240 lines
9.6 KiB
JavaScript
240 lines
9.6 KiB
JavaScript
|
|
var g_grid = {};
|
|
var query_data = {};
|
|
|
|
var getColModelGrid = function () {
|
|
function DoubleFormat(cellValue, options, rowObject) {
|
|
return cellValue ? cellValue.toFixed(2) : "0.00";
|
|
}
|
|
function StrikeFormatter(cellValue, options, rowObject) {
|
|
if (rowObject.IsMoneynessOption === "是") {
|
|
var num = new Number(rowObject.Strike) * 100;
|
|
return num.toFixed(2) + "%";
|
|
} else {
|
|
return rowObject.Strike.toFixed(2);
|
|
}
|
|
}
|
|
return [
|
|
{ name: 'id', hidden: true, optionHide: true },
|
|
{ name: 'TradeCashId', hidden: true, optionHide: true, key: true },
|
|
{ name: 'IsMoneynessOption', hidden: true, optionHide: true },
|
|
{ name: 'EncryptId', hidden: true, optionHide: true },
|
|
{ name: 'TradeNumber', label: '交易编号', width: 150 },
|
|
{ name: 'TraderName', label: '交易员', width: 150 },
|
|
{ name: 'AssetBookName', label: '簿记账户', width: 150 },
|
|
{ name: 'ClientName', label: '交易对手方', width: 160 },
|
|
{ name: 'TradeDate', label: '交易日期', width: 90, formatter: 'date', sortable: true },
|
|
{ name: 'StartDate', label: '开始日期', width: 90, formatter: 'date', sortable: true },
|
|
{ name: 'ExerciseDate', label: '到期日期', width: 90, formatter: 'date', sortable: true },
|
|
{ name: 'SettlementDate', label: '结算日期', width: 90, formatter: 'date', sortable: true },
|
|
{ name: 'CloseDate', label: '了结日期', width: 90, formatter: 'date', sortable: true },
|
|
{ name: 'CloseSeq', label: '了结序号', width: 70 },
|
|
{ name: 'CloseType', label: '了结方式', width: 70 },
|
|
{ name: 'SwapType', label: '互换类型', width: 70 },
|
|
{ name: 'OriginalStockEqvNotional', label: '成交名义本金', width: 100, formatter: DoubleFormat },
|
|
{ name: 'StockEqvNotional', label: '持仓名义本金', width: 100, formatter: DoubleFormat },
|
|
{ name: 'CloseStockEqvNotional', label: '了结名义本金', width: 100, formatter: DoubleFormat },
|
|
{ name: 'OriginalNotional', label: '成交数量', width: 70, formatter: DoubleFormat },
|
|
{ name: 'Notional', label: '持仓数量', width: 70, formatter: DoubleFormat },
|
|
{ name: 'UnWindNotional', label: '了结数量', width: 70, formatter: DoubleFormat },
|
|
{ name: 'UnderlyingCode', label: '标的代码', width: 60 },
|
|
{ name: 'UnderlyingName', label: '标的名称', width: 120 },
|
|
{ name: 'SpotPrice', label: '期初标的价格', width: 85, formatter: Format6 },
|
|
{ name: 'TradeCommission', label: '开仓费用', width: 85, formatter: DoubleFormat },
|
|
{ name: 'OpenPrice', label: '开仓标的价格(费后)', width: 120, formatter: Format6 },
|
|
{ name: 'ClosePrice', label: '了结标的价格(费后)', width: 120, formatter: Format6 },
|
|
{ name: 'UnwindFee', label: '平仓费用', width: 85, formatter: DoubleFormat },
|
|
{ name: 'UnwindPrice', label: '了结标的价格', width: 85, formatter: Format6 },
|
|
{ name: 'FloatIncome', label: '浮动收益(结算货币)', width: 120, formatter: DoubleFormat },
|
|
{ name: 'FixedIncome', label: '固定收益(结算货币)', width: 120, formatter: DoubleFormat },
|
|
{ name: 'Amount', label: '了结金额(结算货币)', width: 120, formatter: DoubleFormat },
|
|
{ name: 'QuoteRealizedPnl', label: '实现盈亏', width: 70, formatter: DoubleFormat },
|
|
{ name: 'RealizedPnl', label: '实现盈亏(结算货币)', width: 120, formatter: DoubleFormat },
|
|
{ name: 'QuoteCurrency', label: '计价货币', width: 70 },
|
|
{ name: 'CloseCurrencyRate', label: '结算汇率', width: 70 },
|
|
{ name: 'OpenCurrencyRate', label: '开仓汇率', width: 70 },
|
|
];
|
|
};
|
|
|
|
var colModelGrid = getColModelGrid();
|
|
|
|
$(function () {
|
|
var PostData = {};
|
|
$(".datepicker").datepicker({
|
|
changeMonth: true,
|
|
changeYear: true,
|
|
showButtonPanel: true,
|
|
showOtherMonths: true,
|
|
selectOtherMonths: true
|
|
});
|
|
|
|
grid = jQuery('#listGrid').jqGrid({
|
|
cmTemplate: {
|
|
width: 80,
|
|
align: 'center',
|
|
sortable: false
|
|
},
|
|
url: '/swapTrade/AjaxGetMultiCloseList',
|
|
datatype: 'json',
|
|
multiselect: true,
|
|
height: 'auto',
|
|
width: '96%',
|
|
autowidth: false,
|
|
shrinkToFit: false,
|
|
viewrecords: true,
|
|
jsonReader: { repeatitems: false },
|
|
mtype: 'POST',
|
|
postData: PostData,
|
|
afterInsertRow: AfterInsertRow,
|
|
onSelectRow: rowclick,
|
|
ondblClickRow: rowdblclick,
|
|
colModel: colModelGrid,
|
|
pager: jQuery('#pagerGrid'),
|
|
pagerpos: 'left',
|
|
rowNum: 20,
|
|
rowList: [20, 30, 50, 200, 10000],
|
|
loadComplete: gridComplete,
|
|
onPaging: onJqgridPaging,
|
|
grouping: true
|
|
});
|
|
|
|
function keyEnter(event) {
|
|
try {
|
|
var e = event ? event : (window.event ? window.event : null);
|
|
if (e.keyCode === 13) {
|
|
SearchClick(true);
|
|
}
|
|
} catch (e) {
|
|
//
|
|
}
|
|
}
|
|
|
|
document.onkeydown = keyEnter;
|
|
|
|
let underlyingCtrl = new tradeHelper.UnderlyingSelectCtrl('#UnderlyingId')
|
|
.setFlag(tradeHelper.UnderlyingSelectFlag.OtcTrade);
|
|
|
|
$(window).resize();
|
|
});
|
|
|
|
function Format6(cellValue, options, rowObject) {
|
|
return cellValue ? cellValue.toFixed(6) : "0.000000";
|
|
}
|
|
|
|
function gridComplete() {
|
|
var jgrid = $(this);
|
|
$(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover" });
|
|
main.setcolumnChooser(jgrid, page.configcolumn_data);
|
|
var newHeight = $(window).height() - 350;
|
|
$(".ui-jqgrid .ui-jqgrid-bdiv").css("cssText", "height: " + newHeight + "px!important;");
|
|
$('.ui-jqgrid-bdiv', '#gbox_listGrid').floatingScroll();
|
|
}
|
|
|
|
function rowdblclick(rowid) {
|
|
var rowData = $(this).getRowData(rowid);
|
|
if (rowData.EncryptId) {
|
|
starttradeView(rowData.EncryptId, rowData.TradeType);
|
|
}
|
|
}
|
|
|
|
function starttradeView(id) {
|
|
var srcurl = "/trade/TradeView/?enid=" + id + "&checkBtn=1";
|
|
main.open("查看交易", srcurl);
|
|
}
|
|
|
|
function reloadtrade() {
|
|
//重新加载
|
|
SearchClick();
|
|
}
|
|
|
|
function SearchClick(isSearchclick) {
|
|
var listGrid = $('#listGrid');
|
|
listGrid.appendPostData({ TradeNumber: $("#TradeNumber").val() });
|
|
listGrid.appendPostData({
|
|
TraderNames: !$("#TraderName").val() ? "" : $("#TraderName").val().join(",")
|
|
});
|
|
listGrid.appendPostData({ AssetIds: !$("#AssetId").val() ? "" : $("#AssetId").val().join(",") });
|
|
listGrid.appendPostData({ AssetIdGroupList: $("#GroupId").val() });
|
|
listGrid.appendPostData({ ClientIds: !$("#ClientId").val() ? "" : $("#ClientId").val().join(",") });
|
|
listGrid.appendPostData({ TradeDateStart: $("#DateFromTradeDate").val() });
|
|
listGrid.appendPostData({ TradeDateEnd: $("#DateToTradeDate").val() });
|
|
listGrid.appendPostData({ ExerciseDateStart: $("#DateFromExerciseDate").val() });
|
|
listGrid.appendPostData({ ExerciseDateEnd: $("#DateToExerciseDate").val() });
|
|
listGrid.appendPostData({ UnwindDateStart: $("#DateFromUnwindDate").val() });
|
|
listGrid.appendPostData({ UnwindDateEnd: $("#DateToUnwindDate").val() });
|
|
listGrid.appendPostData({ UnWindType: $("#UnWindType").val() });
|
|
listGrid.appendPostData({ UnderlyingName: $("#UnderlyingName").val() });
|
|
listGrid.appendPostData({ UnderlyingIds: !$("#UnderlyingId").val() ? "" : $("#UnderlyingId").val().join(",") });
|
|
|
|
var reqTradeStatus = !$("#TradeStatus").val() ? page.AllTradeStatus : $("#TradeStatus").val().join(",");
|
|
if (!reqTradeStatus) {
|
|
reqTradeStatus = page.AllTradeStatus;
|
|
}
|
|
|
|
listGrid.appendPostData({ TradeStatus: reqTradeStatus });
|
|
listGrid.appendPostData({ UnWindTimes: $("#UnWindTimes").val() });
|
|
|
|
query_data = listGrid.jqGrid('getPostData');
|
|
if (isSearchclick) {
|
|
//点击搜索时默认第一页
|
|
listGrid.jqGrid('setGridParam', { page: 1 });
|
|
}
|
|
listGrid.trigger('reloadGrid');
|
|
}
|
|
|
|
function showcolumnChooser() {
|
|
var jgrid = jQuery('#listGrid');
|
|
main.showcolumnChooser(jgrid, page.configcolumn_data);
|
|
}
|
|
|
|
function exportTrade() {
|
|
|
|
main.GetSortedGridObjs = function (ggrid) {
|
|
var rowIds = ggrid.jqGrid('getGridParam', 'selarrrow');
|
|
var rowDatas = ggrid.getRowData();
|
|
if (main.isEmpty(rowIds)) {
|
|
return [];
|
|
}
|
|
var ors = $.grep(rowDatas,
|
|
function (ele, index) {
|
|
return rowIds.some(function (rowId) { return rowId === ele.TradeCashId; });
|
|
});
|
|
|
|
ors.forEach(function (item, index) {
|
|
if (item !== null) {
|
|
Object.keys(item).forEach(function (key) {
|
|
const regex = /#=(.*?)#/g;
|
|
var result = regex.exec(item[key]);
|
|
if (result) {
|
|
item[key] = result[1];
|
|
}
|
|
});
|
|
}
|
|
});
|
|
|
|
return ors;
|
|
};
|
|
|
|
var dateTemp = new Date().Format("yyyyMMddhhmmss");
|
|
var fileName = "互换交易了结记录导出_" + dateTemp;
|
|
main.toExcel("listGrid", fileName, "xls", null, null, [
|
|
{
|
|
colName: "交易编号",
|
|
formatter: "text"
|
|
}]);
|
|
return;
|
|
}
|
|
|
|
function exportUnwindMultiFactors() {
|
|
var jgrid = jQuery('#listGrid');
|
|
var ids = jgrid.jqGrid('getGridParam', 'selarrrow');
|
|
var postData = jgrid.jqGrid('getPostData');
|
|
var url = "/swapTrade/UnwindMultiFactorsExport?" + $.param(postData, true);
|
|
if (ids.length > 0) {
|
|
var TradeCashIds = ids.join(",");
|
|
url = url + "&TradeCashIds=" + TradeCashIds;
|
|
}
|
|
else {
|
|
}
|
|
window.open(url);
|
|
} |