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

544 lines
16 KiB
JavaScript

var g_grid = {};
var detailStatus = page.DetailStatus;
var valueDate = page.ValueDate;
var detailStatusIndex = [];
var ccemail = page.CCEmail;
$(function () {
var PostData = {};
detailStatusIndex["成交"] = 1;
detailStatusIndex["了结"] = 2;
$("#ClientId").val((page.ClientId || '').split(','));
$("#ClientId").selectpicker('refresh')
main.setTradeDatePicker(valueDate, "#StartDate,#EndDate");
$("#StartDate,#EndDate").datepicker("option", "maxDate", valueDate);
$("#StartDate").on("change", function () {
var startDate = $(this).val();
if (startDate && !main.isDate(startDate)) {
return;
}
$("#EndDate").datepicker("option", "minDate", startDate);
});
$("#EndDate").on("change", function () {
var endDate = $(this).val();
if (endDate && !main.isDate(endDate)) {
return;
}
$("#StartDate").datepicker("option", "maxDate", endDate);
});
$("#StartDate").val(page.StartDate || '');
$("#EndDate").val(page.EndDate || '');
$("#StartDate,#EndDate").trigger("change");
if (page.ParentFlag == true)
$("#ParentFlag").attr("checked", true);
else
$("#ParentFlag").attr("checked", false);
PostData.StartDate = $("#StartDate").val();
PostData.EndDate = $("#EndDate").val();
PostData.ClientId = $("#ClientId").val();
PostData.ClientIds = $("#ClientId").val() == null || typeof ($("#ClientId").val()) == 'string' ? "" : $("#ClientId").val().join();
PostData.DetailStatuses = detailStatus;
if ($("#ParentFlag").prop("checked"))
PostData.ParentFlag = true;
else
PostData.ParentFlag = false;
grid = jQuery('#listGrid').jqGrid({
url: "/trade/QueryTradeDetailsSwap",
datatype: 'json',
height: 'auto',
width: '96%',
autowidth: false,
shrinkToFit: false,
viewrecords: true,
jsonReader: { repeatitems: false },
caption: '',
mtype: 'POST',
postData: PostData,
colModel: colModelGrid,
pager: jQuery('#pagerGrid'),
pagerpos: 'left',
ondblClickRow: rowdblclick,
rowNum: 20,
rowList: [20, 30, 50, 200, 10000],
footerrow: true,
loadComplete: gridComplete,
grouping: true
});
g_grid = jQuery('#listGrid');
function keyEnter(event) {
try {
var e = event ? event : (window.event ? window.event : null);
if (e.keyCode === 13) {
SearchClick(true);
}
} catch (e) {
//
}
}
document.onkeydown = keyEnter;
try {
SetAceDropDown();
} catch (e) {
//
}
function AfterInsertRow(rowid, aData) {
}
tabSelect(detailStatusIndex[detailStatus]);
});
var colModelGrid = (function () {
function showTradeNumber(cellValue, options, rowObject) {
if (cellValue === "合计:") {
return cellValue;
}
return cellValue || "--";
}
function formatter6(cellvalue, options, rowObject) {
return main.formatNumber(cellvalue, 6);
}
function formatter2(cellvalue, options, rowObject) {
return cellvalue == null ? "" : main.formatNumber(cellvalue);
}
if (detailStatus === "了结") {
return [
{
name: 'id',
label: 'id',
index: 'id',
hidden: true,
optionHide: true
}, {
name: 'EncryptId',
label: 'EncryptId',
index: 'EncryptId',
hidden: true,
optionHide: true
}, {
name: 'TradeType',
label: '交易类型',
index: 'TradeType',
width: 80,
align: 'center',
}, {
name: 'TradeNumber',
label: '交易编号',
index: 'TradeNumber',
width: 80,
align: 'center',
formatter: showTradeNumber
}, {
name: 'PayType',
label: '收益金额支付类型',
index: 'PayType',
width: 120,
align: 'center',
sortable: false
}, {
name: 'UnderlyingCode',
label: '交易标的',
index: 'UnderlyingCode',
width: 120,
align: 'center'
}, {
name: 'TradeDate',
label: '交易起始日',
index: 'TradeDate',
width: 90,
align: 'center',
formatter: 'date'
}, {
name: 'ExerciseDate',
label: '交易到期日',
index: 'ExerciseDate',
width: 90,
align: 'center',
formatter: 'date'
}, {
name: 'Price',
label: '标的期初价格(计价货币)',
index: 'Price',
width: 150,
align: 'center',
sortable: false,
formatter: formatter6
}, {
name: 'Notional',
label: '交易数量',
index: 'Notional',
width: 100,
align: 'center',
sortable: false,
formatter: formatter6
}, {
name: 'StockEqvNotional',
label: '名义本金(计价货币)',
index: 'StockEqvNotional',
width: 120,
align: 'center',
sortable: false,
formatter: formatter2
}, {
name: 'AnnualRate',
label: '固定收益率',
index: 'AnnualRate',
width: 90,
align: 'center',
formatter: otcformat.trading.PremiumRate
}, {
name: 'UnwindPrice',
label: '期末价格(计价货币)',
index: 'UnwindPrice',
width: 120,
align: 'center',
formatter: formatter6
}, {
name: 'UnwindDate',
label: '交易终止日',
index: 'UnwindDate',
width: 90,
align: 'center',
sortable: false,
formatter: 'date'
}, {
name: 'UnwindNotional',
label: '终止数量',
index: 'UnwindNotional',
width: 100,
align: 'center',
formatter: formatter6
}, {
name: 'FloatIncome',
label: '浮动收益(结算货币)',
index: 'FloatIncome',
width: 120,
align: 'center',
sortable: false,
formatter: formatter2
}, {
name: 'FixedIncome',
label: '固定收益(结算货币)',
index: 'FixedIncome',
width: 120,
align: 'center',
sortable: false,
formatter: formatter2,
}, {
name: 'CurrencyRate',
label: '期末汇率',
index: 'CurrencyRate',
width: 80,
align: 'center',
sortable: false,
}, {
name: 'Amount',
label: '结算金额(结算货币)',
index: 'Amount',
width: 120,
align: 'center',
sortable: false,
formatter: formatter2,
}
];
}
return [{
name: 'id',
label: 'id',
index: 'id',
hidden: true,
optionHide: true
}, {
name: 'EncryptId',
label: 'EncryptId',
index: 'EncryptId',
hidden: true,
optionHide: true
}, {
name: 'TradeType',
label: '交易类型',
index: 'TradeType',
width: 80,
align: 'center',
}, {
name: 'TradeNumber',
label: '交易编号',
index: 'TradeNumber',
width: 80,
align: 'center',
formatter: showTradeNumber
}, {
name: 'PayType',
label: '收益金额支付类型',
index: 'PayType',
width: 120,
align: 'center',
sortable: false
}, {
name: 'UnderlyingCode',
label: '交易标的',
index: 'UnderlyingCode',
width: 120,
align: 'center'
}, {
name: 'TradeDate',
label: '交易起始日',
index: 'TradeDate',
width: 90,
align: 'center',
formatter: 'date'
}, {
name: 'ExerciseDate',
label: '交易到期日',
index: 'ExerciseDate',
width: 90,
align: 'center',
formatter: 'date'
}, {
name: 'Price',
label: '标的期初价格(计价货币)',
index: 'Price',
width: 150,
align: 'center',
sortable: false,
formatter: formatter6
}, {
name: 'Notional',
label: '交易数量',
index: 'Notional',
width: 100,
align: 'center',
sortable: false,
formatter: formatter6
}, {
name: 'StockEqvNotional',
label: '名义本金(计价货币)',
index: 'StockEqvNotional',
width: 120,
align: 'center',
sortable: false,
formatter: formatter2
}, {
name: 'AnnualRate',
label: '固定收益率',
index: 'AnnualRate',
width: 90,
align: 'center',
formatter: otcformat.trading.PremiumRate
}
];
}());
function rowdblclick(rowid) {
}
function gridComplete() {
var jgrid = $(this);
var rowNum = parseInt(jgrid.getGridParam('records'), 10);
if (rowNum > 0) {
$(".ui-jqgrid-sdiv").show();
var Sum = arguments[0].Sum || {};
var totalFloatIncome = Sum.FloatIncomeSum || "";
var totalFixedIncome = Sum.FixedIncomeSum || "";
var totalAmount = Sum.AmountSum || "";
if (detailStatus === "成交") {
}
else {
jgrid.footerData("set", { "FloatIncome": totalFloatIncome, "FixedIncome": totalFixedIncome, "Amount": totalAmount });
}
$(".ui-jqgrid-sortable").css("text-align", "center");
var newHeight = $(window).height() - 370;
$(".ui-jqgrid .ui-jqgrid-bdiv").css("cssText", "height: " + newHeight + "px!important;");
$('.ui-jqgrid-bdiv', '#gbox_listGrid').floatingScroll();
} else {
$(".ui-jqgrid-sdiv").hide();
}
$(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover", container: "body" });
}
function reloadtrade() {
//重新加载
SearchClick();
}
function SearchClick(isSearchclick) {
if (main.isEmpty($("#StartDate").val())) {
main.message("请选择起始日期!");
return;
}
if (main.isEmpty($("#EndDate").val())) {
main.message("请选择结束日期!");
return;
}
if ($("#EndDate").val() > page.ValueDate) {
main.message("结束日期不能大于当前系统日期!");
return;
}
if (isSearchclick === true) {
if (!$("#ClientId").val()) {
main.message("请选择客户!");
return;
}
}
if ($("#EndDate").val() < $("#StartDate").val()) {
main.message("起始日期不能大于结束日期!");
return;
}
var listGrid = $('#listGrid');
listGrid.appendPostData({ ClientId: $("#ClientId").val() != null && typeof ($("#ClientId").val()) == 'string' ? $("#ClientId").val() : "" });
listGrid.appendPostData({ ClientIds: $("#ClientId").val() == null || typeof ($("#ClientId").val()) == 'string' ? "" : $("#ClientId").val().join() });
listGrid.appendPostData({ StartDate: $("#StartDate").val() });
listGrid.appendPostData({ EndDate: $("#EndDate").val() });
listGrid.appendPostData({ DetailStatuses: detailStatus });
var ParentFlag = false;
if ($("#ParentFlag").prop("checked"))
ParentFlag = true;
listGrid.appendPostData({ ParentFlag: ParentFlag });
if (isSearchclick) {
//点击搜索时默认第一页
$('#listGrid').jqGrid('setGridParam', { page: 1 });
}
main.isSearching = true;
$('#listGrid').trigger('reloadGrid');
}
function tabSelect(tabIndex) {
$("#myTab").children().removeClass("active");
$("#tab" + tabIndex).addClass("active");
SearchClick(false);
}
function locationChange(tab) {
if ($("#EndDate").val() > page.ValueDate) {
main.message("结束日期不能大于当前系统日期!");
return;
}
if ($("#EndDate").val() < $("#StartDate").val()) {
main.message("起始日期不能大于结束日期!");
return;
}
var ParentFlag = false;
if ($("#ParentFlag").prop("checked"))
ParentFlag = true;
var url = "/trade/TradeDetailsSwap?detailStatus=" + encodeURIComponent(tab);
window.location.href = url + "&clientId=" + $("#ClientId").val() + "&startDate=" + $("#StartDate").val() + "&endDate=" + $("#EndDate").val() + "&ParentFlag=" + ParentFlag;
return;
}
function popDesc() {
main.open("报告备注修改", "/trade/TradeSwapDetailsDescSet");
}
function chooseTemplate(mailOrReport) {
if (main.isEmpty($("#StartDate").val())) {
main.message("请选择起始日期!");
return;
}
if (main.isEmpty($("#EndDate").val())) {
main.message("请选择结束日期!");
return;
}
if ($("#ClientId").val()) {
if (mailOrReport) {
if (typeof ($("#ClientId").val()) != 'string' && $("#ClientId").val().length > 1) {
main.alert("发送邮件不支持客户多选,请选择其中一个发送!");
return;
}
main.open("选择模板", "/trade/ChooseReportTemplate/?clientId=" + $("#ClientId").val() + "&isMail=true&isSwap=true", { area: ['400px', '480px'] });
}
else {
main.open("选择模板", "/trade/ChooseReportTemplate/?clientId=" + $("#ClientId").val() + "&isMail=false&isSwap=true", { area: ['400px', '480px'] });
}
}
else {
main.message("请先选择客户");
}
}
function exportReport(template) {
var clientIds = [];
var ids = $("#ClientId").val();
if (ids == null) {
clientIds = '';
}
else if (typeof (ids) == 'string') {
clientIds.push(ids);
} else {
clientIds = ids;
}
var ParentFlag = false;
if ($("#ParentFlag").prop("checked"))
ParentFlag = true;
if (template) {
var postData = { ClientIds: clientIds, StartDate: $("#StartDate").val(), EndDate: $("#EndDate").val(), DetailStatuses: "成交,了结", ParentFlag: ParentFlag, template: template };
}
else {
var postData = { ClientIds: clientIds, StartDate: $("#StartDate").val(), EndDate: $("#EndDate").val(), DetailStatuses: "成交,了结", ParentFlag: ParentFlag};
}
main.post("/trade/ExportTradeSwapDetails/", postData).done(function (res) {
main.downloadFiles(res.obj);
});
}
function sendReport(template, receiver, attachFiles, skip) {
var ParentFlag = false;
if ($("#ParentFlag").prop("checked"))
ParentFlag = true;
if (template) {
var postData = { ClientId: $("#ClientId").val(), StartDate: $("#StartDate").val(), EndDate: $("#EndDate").val(), DetailStatuses: "成交,了结", ParentFlag: ParentFlag, template: template, receiver: receiver, skip: false };
if (skip && skip == true) {
postData.skip = skip;
}
main.post("/trade/SendTradeSwapDetailsReport/", postData).done(function (res) {
if (res.obj) {
main.confirm(res.msg, function () {
sendReport(template, receiver, attachFiles, true);
});
} else {
main.downloadFiles(res.obj);
}
});
} else {
var postData = { ClientIds: $("#ClientId").val(), StartDate: $("#StartDate").val(), EndDate: $("#EndDate").val(), DetailStatuses: "成交,了结", ParentFlag: ParentFlag};
main.post("/trade/SendTradeSwapDetailsReport/", postData).done(function (res) {
if (res.obj) {
main.confirm(res.message, function () {
sendReport(template, receiver, attachFiles, true);
});
} else {
main.downloadFiles(res.obj);
}
})
}
}
function resetCC(cc) {
ccemail = cc;
}