615 lines
18 KiB
JavaScript
615 lines
18 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/TradeFlowQuery',
|
|
datatype: 'json',
|
|
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: 20,
|
|
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: 130,
|
|
align: 'left',
|
|
formatter: customButton,
|
|
hidden: !page.canEdit,
|
|
optionHide: !page.canEdit
|
|
}, {
|
|
name: 'OptDate',
|
|
label: '操作时间',
|
|
index: 'OptDate',
|
|
sortIndex: i++,
|
|
width: 160,
|
|
align: 'center',
|
|
formatter: 'datetime',
|
|
sortable: false
|
|
}, {
|
|
name: 'OptName',
|
|
label: '操作者',
|
|
index: 'OptName',
|
|
sortIndex: i++,
|
|
width: 70,
|
|
align: 'center',
|
|
sortable: false
|
|
//}, {
|
|
// name: 'Status',
|
|
// label: '合成状态',
|
|
// index: 'Status',
|
|
// sortIndex: i++,
|
|
// width: 70,
|
|
// width: 70,
|
|
// align: 'center',
|
|
}, {
|
|
name: 'CreatorName',
|
|
label: '创建者',
|
|
index: 'CreatorName',
|
|
sortIndex: i++,
|
|
width: 70,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'Number',
|
|
label: '流水编号',
|
|
index: 'Number',
|
|
sortIndex: i++,
|
|
width: 180,
|
|
width: 180,
|
|
align: 'center',
|
|
}, {
|
|
name: 'TradeNumber',
|
|
label: '交易编号',
|
|
index: 'TradeNumber',
|
|
sortIndex: i++,
|
|
width: 180,
|
|
width: 180,
|
|
align: 'center',
|
|
}, {
|
|
name: 'ClientNumber',
|
|
label: '客户编号',
|
|
index: 'ClientNumber',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'AssetUnitName',
|
|
label: '簿记账户',
|
|
index: 'AssetUnitName',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'TradeDate',
|
|
label: '交易日期',
|
|
index: 'TradeDate',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
formatter: 'date',
|
|
sortable: false
|
|
}, {
|
|
name: 'UnderlyingCode',
|
|
label: '标的代码',
|
|
index: 'UnderlyingCode',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'BuySell',
|
|
label: '买卖方向',
|
|
index: 'BuySell',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
}, {
|
|
name: 'SpotPrice',
|
|
label: '价格',
|
|
index: 'SpotPrice',
|
|
sortIndex: i++,
|
|
width: 130,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: otcformat.trading.umprice
|
|
}, {
|
|
name: 'Lots',
|
|
label: '手数',
|
|
index: 'Lots',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: otcformat.trading.notional
|
|
}, {
|
|
name: 'SingleFee',
|
|
label: '按手数收费',
|
|
index: 'SingleFee',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: SingleFeeFormat
|
|
}, {
|
|
name: 'UnAnnualRate',
|
|
label: '按名义本金收费',
|
|
index: 'UnAnnualRate',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: PremiumRateFormat
|
|
}
|
|
];
|
|
};
|
|
|
|
if (page.isZhongJin) {
|
|
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: 130,
|
|
align: 'left',
|
|
formatter: customButton,
|
|
hidden: !page.canEdit,
|
|
optionHide: !page.canEdit
|
|
}, {
|
|
name: 'OptDate',
|
|
label: '操作时间',
|
|
index: 'OptDate',
|
|
sortIndex: i++,
|
|
width: 160,
|
|
align: 'center',
|
|
formatter: 'datetime',
|
|
sortable: false
|
|
}, {
|
|
name: 'OptName',
|
|
label: '操作者',
|
|
index: 'OptName',
|
|
sortIndex: i++,
|
|
width: 70,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'Status',
|
|
label: '合成状态',
|
|
index: 'Status',
|
|
sortIndex: i++,
|
|
width: 70,
|
|
width: 70,
|
|
align: 'center',
|
|
}, {
|
|
name: 'Number',
|
|
label: '流水编号',
|
|
index: 'Number',
|
|
sortIndex: i++,
|
|
width: 180,
|
|
width: 180,
|
|
align: 'center',
|
|
}, {
|
|
name: 'AssetUnitName',
|
|
label: '簿记账户',
|
|
index: 'AssetUnitName',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'ClientNumber',
|
|
label: '客户编号',
|
|
index: 'ClientNumber',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'ClientShortName',
|
|
label: '客户简称',
|
|
index: 'ClientShortName',
|
|
sortIndex: i++,
|
|
width: 70,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'TradeDate',
|
|
label: '交易日期',
|
|
index: 'TradeDate',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
formatter: 'date',
|
|
sortable: false
|
|
}, {
|
|
name: 'StartDate',
|
|
label: '北京时间自然日',
|
|
index: 'StartDate',
|
|
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: 'SettlementDate',
|
|
label: '结算日',
|
|
index: 'SettlementDate',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
formatter: 'date',
|
|
sortable: false
|
|
}, {
|
|
name: 'UnderlyingCode',
|
|
label: '标的全称',
|
|
index: 'UnderlyingCode',
|
|
sortIndex: i++,
|
|
width: 90,
|
|
align: 'center',
|
|
sortable: false
|
|
}, {
|
|
name: 'SpotPrice',
|
|
label: '价格',
|
|
index: 'SpotPrice',
|
|
sortIndex: i++,
|
|
width: 130,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: otcformat.trading.umprice
|
|
}, {
|
|
name: 'Lots',
|
|
label: '手数',
|
|
index: 'Lots',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: otcformat.trading.notional
|
|
}, {
|
|
name: 'BuySell',
|
|
label: '买卖方向',
|
|
index: 'BuySell',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
}, {
|
|
name: 'SingleFee',
|
|
label: '按手数收费',
|
|
index: 'SingleFee',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: SingleFeeFormat
|
|
}, {
|
|
name: 'UnAnnualRate',
|
|
label: '按名义本金收费',
|
|
index: 'UnAnnualRate',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: PremiumRateFormat
|
|
}, {
|
|
name: 'ClearingAgency',
|
|
label: '清算机构',
|
|
index: 'ClearingAgency',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
}, {
|
|
name: 'IsTradePriceWhenOpen',
|
|
label: '是否开仓时收取开仓费',
|
|
index: 'IsTradePriceWhenOpen',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: boolFormater
|
|
}, {
|
|
name: 'NeedCostFee',
|
|
label: '是否收取手续费',
|
|
index: 'NeedCostFee',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: boolFormater
|
|
}, {
|
|
name: 'IsNight',
|
|
label: '是否夜盘',
|
|
index: 'IsNight',
|
|
sortIndex: i++,
|
|
width: 100,
|
|
align: 'center',
|
|
sortable: false,
|
|
formatter: boolFormater
|
|
}, {
|
|
name: 'Comments',
|
|
label: '备注',
|
|
index: 'Comments',
|
|
sortIndex: i++,
|
|
width: 120,
|
|
align: 'center',
|
|
sortable: false
|
|
}
|
|
];
|
|
};
|
|
}
|
|
|
|
var colModelGrid = getColModelGrid();
|
|
|
|
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 customButton(cellValue, options, rowObject) {
|
|
if (!page.canEdit) {
|
|
return "";
|
|
}
|
|
else {
|
|
//if (rowObject.Status === "已完成") {
|
|
// var imageHtml = "<input type=\"button\" value=\"修改\" class=\"wentiEdit\" disabled onclick=\"updatetradeflow('" + rowObject.EncryptId + "');\" />";
|
|
// imageHtml += "<input type=\"button\" value=\"删除\" class=\"wentiEdit\" disabled onclick=\"deletetradeflow('" + rowObject.EncryptId + "');\" />";
|
|
// return imageHtml;
|
|
//}
|
|
//else {
|
|
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;
|
|
//}
|
|
}
|
|
}
|
|
|
|
function updatetradeflow(encryptId) {
|
|
var srcurl = "/swapTrade/tradeFlowEdit?enid=" + encryptId;
|
|
main.infopage("修改交易流水", srcurl, { area: ['550px', '650px'] });
|
|
}
|
|
|
|
function deletetradeflow(encryptId) {
|
|
main.confirm("删除后需要重新合成该流水对应的多空组合交易,确定删除吗?", function () {
|
|
$.ajax({
|
|
type: "Post",
|
|
url: "/swapTrade/deleteTradeFlow",
|
|
data: { enid: encryptId },
|
|
success: function (data) {
|
|
showmiddlemessage(data.msg);
|
|
if (data.success == true) {
|
|
$('#listGrid').trigger('reloadGrid');
|
|
}
|
|
},
|
|
error: function (msg) {
|
|
alert("error:" + msg);
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
function boolFormater(cellValue, options, rowObject) {
|
|
var s = cellValue ? "是" : "否";
|
|
var html = "<label>{0}</label>".template(s);
|
|
return html;
|
|
}
|
|
|
|
function SingleFeeFormat(cellValue, options, rowObject) {
|
|
if (cellValue > 0) {
|
|
return otcformat.trading.tradeSinglePrice(cellValue);
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
function PremiumRateFormat(cellValue, options, rowObject) {
|
|
if (cellValue > 0) {
|
|
return otcformat.trading.premiumRateP(cellValue);
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
|
|
function addTradeFlow() {
|
|
var url = "/swapTrade/tradeFlowEdit";
|
|
main.infopage("新增交易流水", url, { area: ['550px', '50%'] });
|
|
}
|
|
|
|
function downTradeFlow() {
|
|
var dateTemp = new Date().Format("yyyyMMddhhmmss");
|
|
var fileName = "导出交易流水" + "_" + dateTemp;
|
|
main.toExcel("listGrid",
|
|
fileName,
|
|
"xls",
|
|
null,
|
|
"操作");
|
|
}
|
|
|
|
function composeTrade() {
|
|
var rowIds = main.GetGridIds($('#listGrid'));
|
|
|
|
if (rowIds.length > 0) {
|
|
main.confirm("确认为所勾选的交易流水合成交易?",
|
|
function () {
|
|
main.post("/swapTrade/composeTrade/", { ids: rowIds }).done(function (res) {
|
|
SearchClick(true);
|
|
});
|
|
}
|
|
);
|
|
}
|
|
else {
|
|
main.alert("请选择要合成的交易流水");
|
|
return;
|
|
}
|
|
}
|
|
|
|
function composeTodayTradeFlow() {
|
|
var tradeNumber = $("#TradeNumber").val();
|
|
main.post("/swapTrade/composeTodayTradeFlow/", { tradeNumber: tradeNumber }).done(function (res) {
|
|
SearchClick(true);
|
|
});
|
|
}
|
|
|
|
function reloadlist() {
|
|
//重新加载
|
|
SearchClick();
|
|
}
|
|
|
|
function SearchClick(isSearchclick) {
|
|
var listGrid = $('#listGrid');
|
|
|
|
listGrid.appendPostData({ ClientNumber: $("#ClientNumber").val() });
|
|
listGrid.appendPostData({ TradeNumber: $("#TradeNumber").val() });
|
|
listGrid.appendPostData({ UnderlyingCode: $("#UnderlyingCode").val() });
|
|
listGrid.appendPostData({ TradeDateStart: $("#DateFromTradeDate").val() });
|
|
listGrid.appendPostData({ TradeDateEnd: $("#DateToTradeDate").val() });
|
|
listGrid.appendPostData({ AssetUnitNames: $("#AssetUnitNames").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; |