Files
zszq-trs/YLErpWeb/wwwroot/Scripts/app/trade/swapTradeFlowListMore.js
T
2024-05-09 14:06:26 +08:00

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'] });
}