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

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;