466 lines
13 KiB
JavaScript
466 lines
13 KiB
JavaScript
var g_grid = {};
|
|
var query_data = {};
|
|
|
|
$(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/TradeFlowMoreQuery',
|
|
datatype: 'local',
|
|
multiselect: true,
|
|
height: 'auto',
|
|
width: '96%',
|
|
autowidth: false,
|
|
shrinkToFit: false,
|
|
viewrecords: true,
|
|
jsonReader: { repeatitems: false },
|
|
caption: '',
|
|
mtype: 'POST',
|
|
postData: PostData,
|
|
afterInsertRow: AfterInsertRow,
|
|
onSelectRow: rowclick,
|
|
ondblClickRow: rowdblclick,
|
|
colModel: colModelGrid,
|
|
pager: jQuery('#pagerGrid'),
|
|
pagerpos: 'left',
|
|
rowNum: 10000,
|
|
rowList: [20, 30, 50, 200, 10000],
|
|
footerrow: false,
|
|
loadComplete: gridComplete,
|
|
onPaging: onJqgridPaging,
|
|
});
|
|
|
|
function keyEnter(event) {
|
|
try {
|
|
var e = event ? event : (window.event ? window.event : null);
|
|
if (e.keyCode === 13) {
|
|
SearchClick(true);
|
|
}
|
|
} catch (e) {
|
|
//
|
|
}
|
|
}
|
|
document.onkeydown = keyEnter;
|
|
});
|
|
|
|
var hideObj = { clientWidth: 160 };
|
|
|
|
var i = 0;
|
|
var getColModelGrid = function () {
|
|
return [
|
|
{
|
|
name: 'id',
|
|
label: 'id',
|
|
index: 'id',
|
|
sortIndex: i++,
|
|
width: 70,
|
|
align: 'center',
|
|
hidden: true,
|
|
optionHide: true
|
|
}, {
|
|
name: 'EncryptId',
|
|
label: 'EncryptId',
|
|
index: 'EncryptId',
|
|
sortIndex: i++,
|
|
width: 70,
|
|
align: 'center',
|
|
hidden: true,
|
|
optionHide: true
|
|
}, {
|
|
name: '',
|
|
label: '操作',
|
|
index: '',
|
|
width: 120,
|
|
align: 'left',
|
|
formatter: customButton,
|
|
hidden: !page.canEdit,
|
|
optionHide: !page.canEdit
|
|
}, {
|
|
name: 'OptDate',
|
|
label: '操作时间',
|
|
index: 'OptDate',
|
|
sortIndex: i++,
|
|
width: 150,
|
|
align: 'center',
|
|
formatter: 'datetime',
|
|
sortable: false
|
|
}, {
|
|
name: 'OptName',
|
|
label: '操作者',
|
|
index: 'OptName',
|
|
sortIndex: i++,
|
|
width: 70,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'IsCompose',
|
|
label: '是否完成',
|
|
index: 'IsCompose',
|
|
sortIndex: i++,
|
|
width: 70,
|
|
width: 70,
|
|
align: 'center',
|
|
formatter: boolformatter
|
|
}, {
|
|
name: 'ClientNumber',
|
|
label: '客户编号',
|
|
index: 'ClientNumber',
|
|
sortIndex: i++,
|
|
width: 120,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'ClientName',
|
|
label: '客户名称',
|
|
index: 'ClientName',
|
|
sortIndex: i++,
|
|
width: 120,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'TraderName',
|
|
label: '交易员',
|
|
index: 'TraderName',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'AssetBookName',
|
|
label: '簿记账户',
|
|
index: 'AssetBookName',
|
|
sortIndex: i++,
|
|
width: 120,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'LongShort',
|
|
label: '多空方向',
|
|
index: 'LongShort',
|
|
sortIndex: i++,
|
|
width: 70,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'BuySell',
|
|
label: '交易方向',
|
|
index: 'BuySell',
|
|
sortIndex: i++,
|
|
width: 70,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'TradeNumber',
|
|
label: '交易编号',
|
|
index: 'TradeNumber',
|
|
sortIndex: i++,
|
|
width: 150,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'UnderlyingCode',
|
|
label: '标的代码',
|
|
index: 'UnderlyingCode',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'UnderlyingName',
|
|
label: '标的名称',
|
|
index: 'UnderlyingName',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'TradeDate',
|
|
label: '交易日期',
|
|
index: 'TradeDate',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
formatter: 'date',
|
|
sortable: false
|
|
}, {
|
|
name: 'ExerciseDate',
|
|
label: '到期日',
|
|
index: 'ExerciseDate',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
formatter: 'date',
|
|
sortable: false
|
|
}, {
|
|
name: 'Price',
|
|
label: '价格',
|
|
index: 'Price',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: formatter6
|
|
}, {
|
|
name: 'Notional',
|
|
label: '份额',
|
|
index: 'Notional',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: formatter6
|
|
}, {
|
|
name: 'AnnualRate',
|
|
label: '利率',
|
|
index: 'AnnualRate',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false,
|
|
}, {
|
|
name: 'CurrencyRate',
|
|
label: '汇率',
|
|
index: 'CurrencyRate',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'MargeRate',
|
|
label: '预付金率',
|
|
index: 'MargeRate',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'UnwindDate',
|
|
label: '平仓日期',
|
|
index: 'UnwindDate',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
return rowObject.BuySell == "开仓" ? "" : cellvalue.substring(0, 10);
|
|
}
|
|
}, {
|
|
name: 'UnwindPrice',
|
|
label: '平仓价格',
|
|
index: 'UnwindPrice',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: formatterUn6
|
|
}, {
|
|
name: 'UnwindNotional',
|
|
label: '平仓数量',
|
|
index: 'UnwindNotional',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: formatterUn6
|
|
}, {
|
|
name: 'TotalFee',
|
|
label: '手续费',
|
|
index: 'TotalFee',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: formatter2
|
|
}, {
|
|
name: 'FixedIncome',
|
|
label: '固定收益',
|
|
index: 'FixedIncome',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: formatterUn2
|
|
}, {
|
|
name: 'Amount',
|
|
label: '实现盈亏',
|
|
index: 'Amount',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: formatterUn2
|
|
},
|
|
];
|
|
};
|
|
|
|
var colModelGrid = getColModelGrid();
|
|
|
|
function formatter6(cellvalue, options, rowObject) {
|
|
return main.formatNumber(cellvalue, 6);
|
|
}
|
|
|
|
function formatterUn6(cellvalue, options, rowObject) {
|
|
return rowObject.BuySell == "开仓" ? "" : main.formatNumber(cellvalue, 6);
|
|
}
|
|
|
|
function formatterUn2(cellvalue, options, rowObject) {
|
|
return rowObject.BuySell == "开仓" ? "" : main.formatNumber(cellvalue);
|
|
}
|
|
|
|
function formatter2(cellvalue, options, rowObject) {
|
|
return cellvalue == null ? "" : main.formatNumber(cellvalue);
|
|
}
|
|
|
|
function gridComplete() {
|
|
var newHeight = $(window).height() - 250;
|
|
$(".ui-jqgrid .ui-jqgrid-bdiv").css("cssText", "height: " + newHeight + "px!important;");
|
|
|
|
$('.ui-jqgrid-bdiv', '#gbox_listGrid').floatingScroll();
|
|
}
|
|
|
|
function downTradeFlow() {
|
|
var dateTemp = new Date().Format("yyyyMMddhhmmss");
|
|
var fileName = "导出交易流水" + "_" + dateTemp;
|
|
main.toExcel("listGrid",
|
|
fileName,
|
|
"xls",
|
|
null,
|
|
"操作");
|
|
}
|
|
|
|
function uploadTrade() {
|
|
main.open("导入互换交易", "/swapTrade/tradeUpload", { area: ['800px', '600px'] });
|
|
}
|
|
|
|
|
|
function boolformatter(cellValue, options, rowObject) {
|
|
return cellValue ? "是" : "否";
|
|
}
|
|
|
|
|
|
function customButton(cellValue, options, rowObject) {
|
|
if (!page.canEdit) {
|
|
return "";
|
|
}
|
|
else {
|
|
if (!rowObject.IsCompose) {
|
|
var imageHtml = "<input type=\"button\" value=\"修改\" class=\"wentiEdit\" onclick=\"updatetradeflow('" + rowObject.EncryptId + "');\" />";
|
|
imageHtml += "<input type=\"button\" value=\"删除\" class=\"wentiEdit\" onclick=\"deletetradeflow('" + rowObject.EncryptId + "');\" />";
|
|
return imageHtml;
|
|
} else {
|
|
var imageHtml = "<input type=\"button\" value=\"修改\" class=\"wentiEdit\" disabled/>";
|
|
imageHtml += "<input type=\"button\" value=\"删除\" class=\"wentiEdit\" disabled/>";
|
|
return imageHtml;
|
|
}
|
|
}
|
|
}
|
|
|
|
function updatetradeflow(encryptId) {
|
|
var srcurl = "/swapTrade/tradeFlowMoreEdit?enid=" + encryptId;
|
|
main.infopage("修改交易流水", srcurl, { area: ['1000px', '700px'] });
|
|
}
|
|
|
|
function deletetradeflow(encryptId) {
|
|
main.confirm("确认删除交易流水?",
|
|
function () {
|
|
main.post("/swapTrade/tradeFlowMoreDele/", { enid: encryptId }).done(function (res) {
|
|
SearchClick(true);
|
|
});
|
|
}
|
|
);
|
|
}
|
|
|
|
function reloadlist() {
|
|
//重新加载
|
|
SearchClick(true);
|
|
}
|
|
|
|
function SearchClick(isSearchclick) {
|
|
var listGrid = $('#listGrid');
|
|
listGrid.jqGrid('setGridParam', { datatype: 'json' });
|
|
listGrid.appendPostData({ ClientNumber: $("#ClientNumber").val() });
|
|
listGrid.appendPostData({ TradeNumber: $("#TradeNumber").val() });
|
|
listGrid.appendPostData({ UnderlyingCode: $("#UnderlyingCode").val() });
|
|
listGrid.appendPostData({ BuySell: $("#BuySell").val() });
|
|
listGrid.appendPostData({ TradeDateStart: $("#DateFromTradeDate").val() });
|
|
listGrid.appendPostData({ TradeDateEnd: $("#DateToTradeDate").val() });
|
|
listGrid.appendPostData({ ExerciseDateStart: $("#DateFromExerciseDate").val() });
|
|
listGrid.appendPostData({ ExerciseDateEnd: $("#DateToExerciseDate").val() });
|
|
|
|
query_data = listGrid.jqGrid('getPostData');
|
|
if (typeof isSearchclick !== "undefined" && isSearchclick) {
|
|
//点击搜索时默认第一页
|
|
listGrid.jqGrid('setGridParam',
|
|
{
|
|
page: 1
|
|
});
|
|
}
|
|
|
|
listGrid.trigger('reloadGrid');
|
|
}
|
|
|
|
Array.prototype.contains = function (obj) {
|
|
if (this.length === 0) {
|
|
return false;
|
|
}
|
|
for (var i = 0; i < this.length; i++) {
|
|
if (this[i] === obj) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
//ESC
|
|
$(document).keyup(function (event) {
|
|
switch (event.keyCode) {
|
|
case 27:
|
|
window.parent.layer.closeAll();
|
|
$(".jconfirm-open").addClass("hide");//关闭取消分组弹层
|
|
}
|
|
});
|
|
$(".morebtn").click(function (e) {
|
|
$(".hidediv").toggle();
|
|
});
|
|
|
|
window.reloadData = reloadlist;
|
|
|
|
function flowMoreComposeTrade() {
|
|
main.confirm("确认为所有未合成交易的流水合成交易?",
|
|
function () {
|
|
main.post("/swapTrade/FlowMoreComposeTrade").done(function (res) {
|
|
SearchClick(true);
|
|
});
|
|
}
|
|
);
|
|
}
|
|
|
|
function modifyRate() {
|
|
var ggrid = jQuery('#listGrid');
|
|
var selectedIds = ggrid.jqGrid('getGridParam', 'selarrrow');
|
|
if (selectedIds.length < 1) {
|
|
main.message("请选择需修改汇率的交易");
|
|
return;
|
|
}
|
|
var ors = [];
|
|
for (var i = 0; i < selectedIds.length; i++) {
|
|
var or = ggrid.getRowData(selectedIds[i]).id;
|
|
ors.push(or);
|
|
}
|
|
var ids = ors.join(",");
|
|
var srcurl = "/swapTrade/FlowMoreModifyRate?ids=" + ids;
|
|
main.infopage("修改交易流水", srcurl, { area: ['600px', '500px'] });
|
|
}
|
|
|