835 lines
35 KiB
JavaScript
835 lines
35 KiB
JavaScript
var ContractTypeCtrl;
|
|
|
|
function ShowStructFormater(cellValue, options, rowObject) {
|
|
if (options.colModel.name === "trade.TradeNumber" && typeof (cellValue) === "undefined") {
|
|
return "";
|
|
}
|
|
|
|
var html;
|
|
if (rowObject.trade.TradeType === "合成价差期权") {
|
|
html =
|
|
"<a href=\"#\" class=\"selftooltip\" style=\"z-index:10000000\" data-toggle=\"tooltip\" title=\"{1}\">{0}</a>"
|
|
.template(cellValue, rowObject.trade.SyntheticUnderlyingTipsInfo);
|
|
return html;
|
|
}
|
|
return cellValue;
|
|
}
|
|
|
|
function ShowNotionalFormater(cellValue, options, rowObject) {
|
|
if (rowObject.trade.IsUsePremiumRate) {
|
|
return otcformat.trading.notional(rowObject.trade_cash.UnwindPercentRate * 100) + "%";
|
|
}
|
|
|
|
if (rowObject.trade_cash.Action === "系统操作-平仓费") {
|
|
return otcformat.trading.notional(rowObject.trade_cash.UnwindNotional);
|
|
}
|
|
else {
|
|
return otcformat.trading.notional(rowObject.trade_cash.Notional);
|
|
}
|
|
}
|
|
|
|
function StrikeFormatter(cellValue, options, rowObject) {
|
|
if (rowObject.trade.Strike) {
|
|
if (rowObject.trade.IsMoneynessOption === "是") {
|
|
return otcformat.trading.premiumRateP(rowObject.trade.Strike);
|
|
} else {
|
|
return otcformat.trading.umprice(rowObject.trade.Strike);
|
|
}
|
|
} else {
|
|
if (rowObject.trade.Strike === 0) {
|
|
return 0;
|
|
}
|
|
else {
|
|
return "";
|
|
}
|
|
}
|
|
}
|
|
|
|
function tradeCashAmountFormater(cellValue, options, rowObject) {
|
|
return cellValue ? -cellValue : 0;
|
|
}
|
|
|
|
function ShowTradeStatusFormater(cellValue, options, rowObject) {
|
|
if (rowObject.trade_cash.Action == "系统操作-平仓费") {
|
|
return "已平仓";
|
|
}
|
|
else {
|
|
return "已执行";
|
|
}
|
|
}
|
|
|
|
function unwindPriceFormat(cellValue, options, rowObject) {
|
|
if (rowObject.trade.IsUsePremiumRate) {
|
|
return rowObject.trade_cash.Action == "系统操作-行权费" ?
|
|
otcformat.trading.tradeSinglePrice(Math.abs(rowObject.trade_cash.UnwindPrice))
|
|
: otcformat.trading.premiumRateP(Math.abs(rowObject.trade_cash.UnwindPricePercentRate));
|
|
}
|
|
else {
|
|
return otcformat.trading.tradeSinglePrice(Math.abs(rowObject.trade_cash.UnwindPrice));
|
|
}
|
|
}
|
|
|
|
function gridComplete() {
|
|
$(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover" });
|
|
}
|
|
|
|
function customButton(cellValue, options, rowObject) {
|
|
var imageHtml = "<input type=\"button\" value=\"删除\" class=\"btn-warning\" onclick=\"deletetrade('" +
|
|
rowObject.trade.EncryptId +
|
|
"');\" />";
|
|
return imageHtml;
|
|
}
|
|
|
|
var g_ConfirmedState = ["已执行", "已平仓"];
|
|
|
|
function showToolName(cellValue, options, rowObject) {
|
|
var html =
|
|
"<input type=\"button\" class=\"wentiEdit\" title='查看交易信息' onclick=\"starttradeView('{0}','{2}')\" value=\"{1}\" />"
|
|
.template(rowObject.trade.EncryptId, "查看", rowObject.trade.TradeType);
|
|
|
|
if (rowObject.ContractDocUrl != undefined && rowObject.ContractDocUrl != null && rowObject.ContractDocUrl != "") {
|
|
html +=
|
|
"<input type=\"button\" class=\"wentiEdit\" title='下载结算确认书' style=\"width: 50px!important;\" onclick=\"DownLoadDoc('{0}')\" value=\"{1}\" />"
|
|
.template(rowObject.ContractDocUrl, "下载");
|
|
} else {
|
|
html +=
|
|
"<input type=\"button\" class=\"wentiEdit\" title='未生成结算确认书' disabled='disabled' style=\"width: 50px!important;\" value=\"{0}\" />"
|
|
.template("下载");
|
|
}
|
|
|
|
return html;
|
|
}
|
|
|
|
//下载清算确认书
|
|
function DownLoadDoc(res) {
|
|
window.open(res);
|
|
}
|
|
|
|
function GenetateEndBillByReqDate() {
|
|
var jgrid = jQuery('#listGrid');
|
|
var tradeCashIds = main.GetGridIds(jgrid, "trade_cash.id");
|
|
var tradeIds = main.GetGridIds(jgrid, "trade.id")
|
|
if (tradeCashIds.length === 0 && !pageData.isZhongjin) {
|
|
main.message("请选择交易");
|
|
return;
|
|
}
|
|
//if (pageData.IsAutoSealAndUploadFiles) {
|
|
// tradeIds.forEach((v, i, arr) => {
|
|
// var tradeId = v;
|
|
// main.post("/trade/IsSealWaiting/", {tradeId:tradeId} ,
|
|
// {
|
|
// success: function (resp) {
|
|
// if (resp.success) {
|
|
// if (!confirm("用印正在等待中重新生成将中断用印并重新进行自动用印(如有),是否确认操作?")) {
|
|
// return;
|
|
// }
|
|
// }
|
|
|
|
// }
|
|
// });
|
|
// });
|
|
|
|
//}
|
|
if (pageData.IsAutoSealAndUploadFiles) {
|
|
//if (isWait) {
|
|
// if (!confirm("用印正在等待中重新生成将中断用印并重新进行自动用印(如有),是否确认操作?")) {
|
|
// return;
|
|
// }
|
|
//}
|
|
if (!confirm("重新生成将覆盖已有的交易确认书并重新进行自动用印(如有),是否确认操作?")) {
|
|
return;
|
|
}
|
|
}
|
|
|
|
var templateHtml = "";
|
|
if (pageData.selectConfirmationBookTemplate) {
|
|
var currentTemplate = "";
|
|
var postData = {
|
|
key: "结算确认书"
|
|
};
|
|
if (tradeIds.length == 1) {
|
|
postData.tradeId = tradeIds[0];
|
|
main.post("/trade/GetTradeMeta", postData, { waitMe: false, async: false }).done(function (res) {
|
|
currentTemplate = res;
|
|
});
|
|
}
|
|
|
|
templateHtml = '<div class="form-group">' +
|
|
'<label class="col-sm-4 control-label">选择模板</label>' +
|
|
'<select style="width: 145px; margin-left: 14px;" data-placeholder="请选择 确认书模板" name="templateName">' +
|
|
'<option ' +
|
|
(currentTemplate === "" ? "selected" : "") +
|
|
' value="">默认</option>';
|
|
if (pageData.templateNames !== null) {
|
|
pageData.templateNames.forEach((t, i, arr) => {
|
|
templateHtml += '<option ' +
|
|
(currentTemplate !== "" && currentTemplate === t ? "selected" : "") +
|
|
' value="{0}">{0}</option>'.template(t);
|
|
});
|
|
|
|
}
|
|
templateHtml += '</select>' +
|
|
'</div>';
|
|
}
|
|
|
|
var htmlContent = '<form class="form-horizontal" role="form" style="padding:15px 12px 5px">' +
|
|
'<div class="form-group">' +
|
|
'<label class="col-sm-4 control-label">文档类型</label>' +
|
|
'<div class="btn-group col-sm-8" data-toggle="buttons">' +
|
|
'<label class="btn btn-sm btn-primary active" style="border:none"><input type="radio" checked name="docType" value="PDF"> PDF</label>' +
|
|
'<label class="btn btn-sm btn-primary" style="border:none"><input type="radio" name="docType" value="DOC"> DOC</label>' +
|
|
'</div>' +
|
|
'</div>' +
|
|
'</form>';
|
|
|
|
|
|
main.open2("生成结算确认书",
|
|
htmlContent,
|
|
{
|
|
area: pageData.selectConfirmationBookTemplate ? ["300px", "200px"] : ["300px", "165px"],
|
|
btn: ['生成', '取消'],
|
|
yes: function (index, layero) {
|
|
var docType = $('input[name="docType"]:checked').val();
|
|
|
|
if (pageData.selectConfirmationBookTemplate) {
|
|
postData.value = $('select[name="templateName"]').val();
|
|
if (_.trim(postData.value)) {
|
|
tradeIds.forEach((v, i, arr) => {
|
|
postData.tradeId = v;
|
|
main.post("/trade/SetTradeMeta", postData, { waitMe: false, async: false });
|
|
})
|
|
}
|
|
|
|
}
|
|
|
|
var confirmBookPostData = { tradeCashIds: tradeCashIds, docType: docType, startDate: $("#DateFromUnWindDate").val(), endDate: $("#DateToUnWindDate").val() };
|
|
//if (pageData.IsAutoSealAndUploadFiles) {
|
|
// confirmBookPostData.sealResults = $("#SealResults").val();
|
|
// //confirmBookPostData.SealDateStart = $("#DateFromSealDate").val();
|
|
// //confirmBookPostData.SealDateEnd = $("#DateToSealDate").val();
|
|
//}
|
|
main.post("/trade/GJGenerateSettleBillByTradeCashIds/", confirmBookPostData, {
|
|
success: function (resp) {
|
|
if (resp.success) {
|
|
main.downloadFiles(resp.obj);
|
|
} else {
|
|
main.alert(resp.msg.replace("\r\n", "<br/>"));
|
|
main.downloadFiles(resp.obj);
|
|
}
|
|
reloadtrade();
|
|
parent.layer.closeAll();
|
|
}
|
|
});
|
|
|
|
|
|
},
|
|
cancel: function (index, layero) {
|
|
parent.layer.closeAll();
|
|
},
|
|
success: function (layero, index) {
|
|
$(".btn-group").on("click",
|
|
".btn",
|
|
function (event) {
|
|
$('input[name="docType"]:checked').prop("checked", false);
|
|
$(this).children("input").prop("checked", true);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function rowclick(id) {
|
|
|
|
}
|
|
|
|
function starttradeView(id, tradeType) {
|
|
if (tradeType.indexOf("远期") >= 0) {
|
|
var srcurl = "/forwardtrade/tradeView/?enid=" + id + "&isOnlyCloseButton=true";
|
|
main.open("查看远期交易", srcurl, { area: ['1260px', '800px'] });
|
|
}
|
|
else {
|
|
var srcurl = "/trade/tradeView/?enid=" + id + "&isOnlyCloseButton=true";
|
|
main.open("查看交易", srcurl, { area: ['1260px', '800px'] });
|
|
}
|
|
}
|
|
|
|
function reloadtrade() {
|
|
//重新加载
|
|
SearchClick();
|
|
$('#modal-edittrade').modal('hide');
|
|
}
|
|
|
|
function SendEmailEitherReport() {
|
|
var clientIds = $("#ClientId").val();
|
|
ContractTypeCtrl.changeContractType(clientIds);
|
|
$("#modalChooseContractType").modal('show');
|
|
}
|
|
|
|
function sendReport() {
|
|
var clientIds = $("#ClientId").val() == null ? "" : $("#ClientId").val().join(",");
|
|
var contractTypes = ContractTypeCtrl.getValue();
|
|
var data = { UnWindDateStart: $("#DateFromUnWindDate").val(), UnWindDateEnd: $("#DateToUnWindDate").val(), ClientIds: clientIds, receiver: contractTypes };
|
|
|
|
if (pageData.IsAutoSealAndUploadFiles) {
|
|
data.SealResults = $("#SealResults").val();
|
|
//data.SealDateStart = $("#DateFromSealDate").val();
|
|
//data.SealDateEnd = $("#DateToSealDate").val();
|
|
}
|
|
var jgrid = jQuery('#listGrid');
|
|
var rowIds = jgrid.jqGrid('getGridParam', 'selarrrow');
|
|
var ids = [];
|
|
for (var i = 0; i < rowIds.length; i++) {
|
|
var rowObjs = jgrid.getRowData();
|
|
for (var j = 0; j < rowObjs.length; j++) {
|
|
if (rowObjs[j]["trade_cash.id"] == rowIds[i]) {
|
|
ids.push(rowObjs[j]["trade_cash.id"]);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (ids.length == 0) {
|
|
if (data.UnWindDateStart == undefined || data.UnWindDateStart == null || data.UnWindDateStart == ""
|
|
|| data.UnWindDateEnd == undefined || data.UnWindDateEnd == null || data.UnWindDateEnd == "") {
|
|
showmiddlemessage("发送清算确认书需要选择确切的实际终止日区间!");
|
|
return;
|
|
}
|
|
}
|
|
else { data.TradeCashIds = ids.join(","); }
|
|
if (ids.length == 0 && clientIds == "") {
|
|
main.confirm("确定发送所有提前终止确认书?可选择客户名称单个发送", function () {
|
|
main.post("/trade/SendEmailEitherReport", data).done(function (data) {
|
|
});
|
|
})
|
|
}
|
|
else {
|
|
main.post("/trade/SendEmailEitherReport", data).done(function (data) {
|
|
});
|
|
}
|
|
$("#modalChooseContractType").modal('hide');
|
|
}
|
|
|
|
function SearchClick(isSearchclick) {
|
|
var listGrid = $('#listGrid');
|
|
|
|
listGrid.appendPostData({ TradeNumber: $("#TradeNumber").val() });
|
|
listGrid.appendPostData({ ClientIds: $("#ClientId").val() == null ? "" : $("#ClientId").val().join() });
|
|
listGrid.appendPostData({ ClientName: $("#ClientName").val() });
|
|
listGrid.appendPostData({ AssetIds: ($("#AssetId").val() || []).join() });
|
|
listGrid.appendPostData({ AssetIdGroupList: $("#GroupId").val() });
|
|
listGrid.appendPostData({
|
|
TraderNames: $("#TraderName").val() == null ? "" : $("#TraderName").val().join(",")
|
|
});
|
|
//listGrid.appendPostData({ AssetType: $("#AssetType").val() });
|
|
listGrid.appendPostData({
|
|
UnderlyingIds: $("#UnderlyingId").val() == null ? "" : $("#UnderlyingId").val().join()
|
|
});
|
|
listGrid.appendPostData({ UnderlyingAssetClass: $("#UnderlyingAssetClass").val() });
|
|
listGrid.appendPostData({ TradeDateStart: $("#DateFromTradeDate").val() });
|
|
listGrid.appendPostData({ TradeDateEnd: $("#DateToTradeDate").val() });
|
|
listGrid.appendPostData({ BuySell: $("#BuySell").val() });
|
|
listGrid.appendPostData({ StartDateStart: $("#DateFromStartDate").val() });
|
|
listGrid.appendPostData({ StartDateEnd: $("#DateToStartDate").val() });
|
|
listGrid.appendPostData({ MaturityDateStart: $("#DateFromMaturityDate").val() });
|
|
listGrid.appendPostData({ MaturityDateEnd: $("#DateToMaturityDate").val() });
|
|
listGrid.appendPostData({ TradePrice: $("#TradePrice").val() });
|
|
|
|
var reqTradeStatus = $("#TradeStatus").val() == null
|
|
? ""
|
|
: $("#TradeStatus").val().join(",");
|
|
|
|
listGrid.appendPostData({ TradeStatus: reqTradeStatus });
|
|
listGrid.appendPostData({ OptName: $("#OptName").val() });
|
|
listGrid.appendPostData({ OptDateStart: $("#DateFromOptDate").val() });
|
|
listGrid.appendPostData({ OptDateEnd: $("#DateToOptDate").val() });
|
|
listGrid.appendPostData({ ValidState: $("#ValidState").val() });
|
|
listGrid.appendPostData({ TradeTypes: $("#TradeTypes").val().join(",") });
|
|
listGrid.appendPostData({ Comments: $("#Comments").val() });
|
|
listGrid.appendPostData({ ExerciseDateStart: $("#DateFromExerciseDate").val() });
|
|
listGrid.appendPostData({ ExerciseDateEnd: $("#DateToExerciseDate").val() });
|
|
listGrid.appendPostData({ UnWindDateStart: $("#DateFromUnWindDate").val() });
|
|
listGrid.appendPostData({ UnWindDateEnd: $("#DateToUnWindDate").val() });
|
|
listGrid.appendPostData({ ExerciseMode: $("#ExerciseMode").val() });
|
|
|
|
if (pageData.IsAutoSealAndUploadFiles) {
|
|
listGrid.appendPostData({ SealResults: $("#SealResults").val() });
|
|
listGrid.appendPostData({ SealDateStart: $("#DateFromSealDate").val() });
|
|
listGrid.appendPostData({ SealDateEnd: $("#DateToSealDate").val() });
|
|
|
|
}
|
|
|
|
if (typeof (isSearchclick) != "undefined" && isSearchclick) {
|
|
//点击搜索时默认第一页
|
|
listGrid.jqGrid('setGridParam', { page: 1 });
|
|
}
|
|
listGrid.trigger('reloadGrid');
|
|
}
|
|
|
|
function BatchDownLoadDoc() {
|
|
var startDate = $("#DateFromUnWindDate").val();
|
|
var endDate = $("#DateToUnWindDate").val();
|
|
var clientIds = $("#ClientId").val();
|
|
|
|
var jgrid = jQuery('#listGrid');
|
|
var tradeCashIdList = main.GetGridIds(jgrid, "trade_cash.id")
|
|
tradeids = tradeCashIdList.join(",");
|
|
|
|
var tip = "下载" + startDate + "至" + endDate + "的结算确认书";
|
|
if (tradeids) { tip = "下载所有已勾选的结算确认书"; }
|
|
|
|
var htmlContent = '<form class="form-horizontal" role="form" style="padding:15px 12px 5px">' +
|
|
'<div class="form-group">' +
|
|
'<label style="padding:10px 12px 10px">' + tip + '</label><br />' +
|
|
'<label class="col-sm-5 control-label">文档类型</label>' +
|
|
'<label class="btn btn-sm btn-primary" style="border:none"><input type="checkbox" checked name="docType" value="PDF"> PDF</label>' +
|
|
'<label class="btn btn-sm btn-primary" style="border:none"><input type="checkbox" checked name="docType" value="DOCX"> DOC</label>';
|
|
|
|
if (pageData.IsZheQi) {
|
|
htmlContent += '<br/><label class="col-sm-5 control-label">下载用印文件</label>' +
|
|
'<select id="Seal" style="margin-top:5px;"><option>是</option><option>否</option></select>';
|
|
}
|
|
main.open2("批量下载结算确认书",
|
|
htmlContent + '</div></form>',
|
|
{
|
|
area: ["400px", "250px"],
|
|
btn: ['下载', '取消'],
|
|
yes: function (index, layero) {
|
|
var docpdf = [];
|
|
$('input[name="docType"]:checked').each(function (i) {
|
|
docpdf.push($(this).val())
|
|
})
|
|
var isSeal = $("#SingleBookSeal").val() == '是' ? true : false;
|
|
var confirmBookPostData = { TradeDateStart: startDate, TradeDateEnd: endDate, ClientIds: clientIds, TradeIds: null, TradeCashIds: tradeCashIdList, docpdf: docpdf, IsSeal: isSeal };
|
|
if (pageData.IsAutoSealAndUploadFiles) {
|
|
confirmBookPostData.SealResults = $("#SealResults").val();
|
|
//confirmBookPostData.SealDateStart = $("#DateFromSealDate").val();
|
|
//confirmBookPostData.SealDateEnd = $("#DateToSealDate").val();
|
|
}
|
|
openWindowWithPost("/trade/BatchDownLoadDoc/", confirmBookPostData);
|
|
parent.layer.closeAll();
|
|
},
|
|
cancel: function (index, layero) {
|
|
parent.layer.closeAll();
|
|
},
|
|
success: function (layero, index) {
|
|
$(".btn-group").on("click", ".btn", function (event) {
|
|
$('input[name="docType"]:checked').prop("checked", false);
|
|
$(this).children("input").prop("checked", true);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
function openWindowWithPost(url, data) {
|
|
var form = document.createElement("form");
|
|
form.target = "_blank";
|
|
form.method = "POST";
|
|
form.action = url;
|
|
form.style.display = "none";
|
|
|
|
for (var key in data) {
|
|
if (data[key] instanceof Array) {
|
|
if (data[key].length === 0) {
|
|
var input = document.createElement("input");
|
|
input.type = "hidden";
|
|
input.name = key;
|
|
input.value = null;
|
|
form.appendChild(input);
|
|
}
|
|
else {
|
|
data[key].forEach((item, index, array) => {
|
|
var input = document.createElement("input");
|
|
input.type = "hidden";
|
|
input.name = key;
|
|
input.value = data[key][index];
|
|
form.appendChild(input);
|
|
});
|
|
}
|
|
}
|
|
else {
|
|
var input1 = document.createElement("input");
|
|
input1.type = "hidden";
|
|
input1.name = key;
|
|
input1.value = data[key];
|
|
form.appendChild(input1);
|
|
}
|
|
}
|
|
|
|
document.body.appendChild(form);
|
|
form.submit();
|
|
document.body.removeChild(form);
|
|
}
|
|
|
|
const colModelGrid = (new function () {
|
|
|
|
this.setControl = function (encryptId) {
|
|
var button = "#bt_" + encryptId;
|
|
var inputSelect = "#ip_" + encryptId;
|
|
if ($(inputSelect).prop("disabled")) {
|
|
$(inputSelect).prop("disabled", false);
|
|
$(button).prop("title", "保存结算确认书编号");
|
|
$(button).html("<i class='fa fa-floppy-o'></i>");
|
|
} else {
|
|
this.changeCode(encryptId, $(inputSelect).val(), function () {
|
|
$(button).html("<i class='fa fa-pencil-square-o'></i>");
|
|
$(inputSelect).prop("disabled", true);
|
|
$(button).prop("title", "修改结算确认书编号");
|
|
});
|
|
}
|
|
}
|
|
|
|
this.changeCode = function (encryptId, code, callback) {
|
|
var data = new FormData();
|
|
data.append("encryptId", encryptId);
|
|
data.append("ContractCode", code);
|
|
$.ajax({
|
|
type: "Post",
|
|
//async: false,
|
|
url: "/trade/UploadContractFile",
|
|
contentType: false,
|
|
processData: false,
|
|
data: data,
|
|
success: function (res) {
|
|
main.message(res.msg);
|
|
if (!res.success) {
|
|
} else {
|
|
callback();
|
|
}
|
|
},
|
|
beforeSend(jqXHR) {
|
|
main.waitMe(true);
|
|
},
|
|
complete(jqXHR, textStatus) {
|
|
main.waitMe(false);
|
|
}
|
|
});
|
|
}
|
|
|
|
this.upload = function (encryptId) {
|
|
var srcurl = "/TradeConfirmBook/confirmBookUpload/?Id=" + encryptId;
|
|
main.open("上传确认书", srcurl, {
|
|
area: ['500px', '420px'],
|
|
end: SearchClick(true)
|
|
});
|
|
};
|
|
|
|
this.ViewErrInfo = function (code) {
|
|
main.post("/trade/GetSealErrMsg/", {code:code} ,
|
|
{
|
|
success: function (resp) {
|
|
main.alert(resp.msg);
|
|
}
|
|
});
|
|
}
|
|
|
|
this.colModels = [{
|
|
name: 'trade.id', label: 'id', index: 'trade.id', width: 1, align: 'left', hidden: true
|
|
}, {
|
|
name: 'trade_cash.id', label: 'tradeCashId', index: 'trade_cash.id', width: 1, align: 'left', hidden: true
|
|
}, {
|
|
name: 'trade.IsMoneynessOption', label: 'IsMoneynessOption', index: 'trade.IsMoneynessOption', width: 1, align: 'left', hidden: true
|
|
}, {
|
|
name: 'trade.EncryptId', label: 'EncryptId', index: 'trade.EncryptId', width: 0, align: 'left', hidden: true
|
|
}, {
|
|
name: 'trade.UnderlyingId', label: 'UnderlyingId', index: 'trade.UnderlyingId', width: 0, align: 'left', hidden: true
|
|
}, {
|
|
name: 'trade.InitialSpotPrice', label: 'trade.InitialSpotPrice', index: 'InitialSpotPrice', hidden: true
|
|
}, {
|
|
name: 'trade.TradePrice', label: 'TradePrice', index: 'trade.TradePrice', width: 0, align: 'left', hidden: true
|
|
}, {
|
|
name: 'trade_contract_r.id', label: 'trade_contract_r.id', index: 'trade_contract_r.id', width: 0, align: 'left', hidden: true
|
|
},{
|
|
name: '', label: '操作', index: '', align: 'left', width: 200, formatter: showToolName
|
|
}, {
|
|
name: 'trade_cash.ExerciseWay', label: '了结方式', index: 'trade_cash.ExerciseWay', align: 'left', width: 120,
|
|
}, {
|
|
name: 'trade.TradeStatus', label: '交易状态', index: 'trade.TradeStatus', width: 70, align: 'left', formatter: ShowTradeStatusFormater
|
|
}, {
|
|
name: 'trade.TradeNumber', label: '交易编号', index: 'trade.TradeNumber', width: 240, align: 'left', formatter: ShowStructFormater
|
|
}, {
|
|
name: 'ConfirmContractR.ContractCode', label: '合约编号', index: 'ConfirmContractR.ContractCode', width: 240, align: 'left'
|
|
}, {
|
|
name: 'ContractCode', label: '结算确认书编号', index: 'ContractCode', width: 240, align: 'left',
|
|
formatter: function (cellValue, options, rowObject) {
|
|
var html = "";
|
|
if (cellValue) {
|
|
if (!pageData.isWuChan) {
|
|
html += "<a href='javascript:;' title='修改结算确认书编号' id='bt_" + rowObject.trade_contract_document?.EncryptId + "' onclick='colModelGrid.setControl(\"" + rowObject.trade_contract_document?.EncryptId + "\")' ><i class='fa fa-pencil-square-o'></i></a>";
|
|
}
|
|
html += "<input style='width: 100%;' id='ip_" + rowObject.trade_contract_document?.EncryptId + "' type='text' value='" + cellValue + "' disabled />";
|
|
} else {
|
|
html = "";
|
|
}
|
|
return html;
|
|
}
|
|
}, {
|
|
name: 'trade.ClientName', label: '客户名称', index: 'trade.ClientName', width: 180, align: 'left'
|
|
}, {
|
|
name: 'trade.Notional', label: '份额', index: 'trade.Notional', width: 120, align: 'left', formatter: ShowNotionalFormater
|
|
//}, {
|
|
// name: 'trade.Strike', label: '执行价格', index: 'trade.Strike', width: 90, align: 'left', formatter: function (cellValue, options, rowObject) {
|
|
// if (rowObject.trade.IsMoneynessOption == "是") {
|
|
// return otcformat.trading.premiumRateP(cellValue);
|
|
// }
|
|
// return otcformat.trading.umprice(cellValue);
|
|
// }
|
|
}, {
|
|
name: 'trade_cash.FinalPrice', label: '结算价', index: 'trade_cash.FinalPrice', width: 90, align: 'left', formatter: otcformat.trading.umprice
|
|
}, {
|
|
name: 'trade_cash.UnwindPrice', label: '结算收益', index: 'trade_cash.UnwindPrice', width: 90, align: 'left', formatter: unwindPriceFormat
|
|
}, {
|
|
name: 'trade_cash.Amount', label: '了结总额', index: 'trade_cash.Amount', width: 70, align: 'left', formatter: otcformat.trading.tradePrice
|
|
}, {
|
|
name: 'trade.TradeDate', label: '交易日期', index: 'trade.TradeDate', width: 90, align: 'left', formatter: 'date'
|
|
//}, {
|
|
// name: 'trade.BuySell', label: '交易方向', index: 'trade.BuySell', width: 70, align: 'left'
|
|
}, {
|
|
name: 'trade.UnderlyingCode', label: '标的代码', index: 'trade.UnderlyingCode', width: 60, align: 'left', formatter: ShowStructFormater
|
|
}, {
|
|
name: 'trade.UnderlyingAssetClass', label: '标的品种', index: 'trade.UnderlyingAssetClass', width: 70, align: 'left', hidden: true
|
|
}, {
|
|
name: 'trade.UnderlyingInstrumentType', label: '标的类型', index: 'trade.UnderlyingInstrumentType', hidden: true, width: 70, align: 'left'
|
|
}, {
|
|
name: 'trade.TradeType', label: '结构类型', index: 'trade.TradeType', width: 70, align: 'left',
|
|
formatter: function (cellvalue, options, rowObject) {
|
|
return rowObject.trade.StructureType && rowObject.trade.IsGroup != 2 ? rowObject.trade.StructureType : rowObject.trade.TradeType;
|
|
}
|
|
//}, {
|
|
// name: 'trade.OptionType', label: '看涨看跌', index: 'trade.OptionType', width: 70, align: 'left'
|
|
//}, {
|
|
// name: 'trade.ExerciseModeCn', label: '行权方式', index: 'trade.ExerciseModeCn', width: 70, align: 'left'
|
|
}, {
|
|
name: 'trade.ExerciseDate', label: '期权到期日', index: 'trade.ExerciseDate', width: 90, align: 'left', formatter: 'date'
|
|
}, {
|
|
name: 'trade.StartDate', label: '开始日期', index: 'trade.StartDate', width: 90, align: 'left', formatter: 'date'
|
|
//}, {
|
|
// name: 'trade.MaturityDate', label: '标的到期日', index: 'trade.MaturityDate', width: 90, align: 'left', formatter: 'date', hidden: true
|
|
}, {
|
|
name: 'trade_cash.HappenedDate', label: '平仓日期', index: 'trade_cash.HappenedDate', width: 90, align: 'left', formatter: 'date'
|
|
}, {
|
|
name: 'trade_cash.ValueDate', label: '结算日期', index: 'trade_cash.ValueDate', width: 90, align: 'left', formatter: 'date'
|
|
}, {
|
|
name: 'trade.AssetBookName', label: '簿记账户', index: 'trade.AssetBookName', width: 70, align: 'left'
|
|
}, {
|
|
name: 'trade.TraderName', label: '交易员', index: 'trade.TraderName', width: 70, align: 'left'
|
|
}, {
|
|
name: 'trade.Comments', label: '备注', index: 'trade.Comments', width: 140, align: 'left'
|
|
}, {
|
|
name: 'trade.OptName', label: '交易操作者', index: 'trade.OptName', width: 70, align: 'left'
|
|
}, {
|
|
name: 'trade_cash.OptDate', label: '交易操作时间', index: 'trade_cash.OptDate', width: 90, align: 'left', formatter: 'date'
|
|
}, {
|
|
name: 'trade_contract_document.OptName', label: '操作人', index: 'trade_contract_document.OptName', width: 70, align: 'left'
|
|
}, {
|
|
name: 'trade_contract_document.OptDate', label: '操作时间', index: 'trade_contract_document.OptDate', width: 90, align: 'left', formatter: 'date'
|
|
}]
|
|
|
|
if (pageData.ConfirmBookStampStatus) {
|
|
var colObj = {
|
|
name: '',
|
|
label: '用印扫描件',
|
|
index: '',
|
|
width: 250,
|
|
align: 'left',
|
|
formatter: function (cellValue, options, rowObject) {
|
|
var encryptId = "";
|
|
var stampDocumentFileName = "";
|
|
var status = "";
|
|
if (rowObject.trade_contract_document) {
|
|
encryptId = rowObject.trade_contract_document.EncryptId;
|
|
stampDocumentFileName = rowObject.trade_contract_document.StampDocumentFileName;
|
|
status = rowObject.trade_contract_document.Status;
|
|
}
|
|
var templateHtml = "";
|
|
if(pageData.IsAutoSealAndUploadFiles && !pageData.IsAutoSealAfterGeneratedBook){
|
|
templateHtml += "<input type=\"button\" class=\"wentiEdit\" {2} value=\"用印\" />";
|
|
}
|
|
templateHtml += "<input type=\"button\" class=\"wentiEdit\" {0} value=\"上传\" />" +
|
|
"<input type=\"button\" class=\"wentiEdit\" {1} value=\"下载\" />";
|
|
var html = (templateHtml)
|
|
.template(
|
|
(status ? 'onclick="colModelGrid.upload(\'{0}\')"'.template(encryptId) : "disabled"),
|
|
(stampDocumentFileName ? 'onclick="main.downloadFiles(\'{0}\')"'.template(stampDocumentFileName) : "disabled"));
|
|
if(pageData.IsAutoSealAndUploadFiles && !pageData.IsAutoSealAfterGeneratedBook) {
|
|
html = (templateHtml)
|
|
.template(
|
|
(status ? 'onclick="colModelGrid.upload(\'{0}\')"'.template(encryptId) : "disabled"),
|
|
(stampDocumentFileName ? 'onclick="main.downloadFiles(\'{0}\')"'.template(stampDocumentFileName) : "disabled"),
|
|
('onclick="SealContract(\'{0}\')"'.template(rowObject.trade_contract_r.id))
|
|
);
|
|
}
|
|
if (pageData.ConfirmBookStampStatus && status) {
|
|
html = html + (status === "草稿" ? "未用印" : status);
|
|
}
|
|
return html;
|
|
}
|
|
};
|
|
this.colModels.splice(9, 0, colObj);
|
|
}
|
|
|
|
if (pageData.IsAutoSealAndUploadFiles) {
|
|
|
|
var colObj1 = {
|
|
name: 'SealResult',
|
|
label: '电子章用印结果',
|
|
index: 'SealResult',
|
|
width: 150,
|
|
align: 'center',
|
|
formatter: function (cellValue, options, rowObject) {
|
|
if (rowObject.SealResult == "失败") {
|
|
var html = ("<span style='color:red;'>失败</span><a href='javascript:;' style='color:blue;' title='查看失败详情' onclick=\"colModelGrid.ViewErrInfo('{0}')\" ><详情></a>")
|
|
.template(rowObject.ContractCode);
|
|
return html;
|
|
}
|
|
else {
|
|
return rowObject.SealResult;
|
|
}
|
|
}
|
|
};
|
|
var colObj2 = {
|
|
name: 'SealTime',
|
|
label: '电子章用印时间',
|
|
index: 'SealTime',
|
|
width: 150,
|
|
align: 'left',
|
|
formatter: function (cellValue, options, rowObject) {
|
|
return rowObject.SealTime;
|
|
}
|
|
};
|
|
this.colModels.push(colObj1, colObj2);
|
|
}
|
|
}());
|
|
|
|
function __initJqGrid() {
|
|
|
|
var PostData = { UnWindDateStart: pageData.curDate, UnWindDateEnd: pageData.curDate, ValidState: $("#ValidState").val() };
|
|
|
|
if (pageData.IsAutoSealAndUploadFiles) {
|
|
PostData.SealResults = $("#SealResults").val();
|
|
//PostData.SealDateStart = $("#DateFromSealDate").val();
|
|
//PostData.SealDateEnd = $("#DateToSealDate").val();
|
|
}
|
|
|
|
let __jq = {
|
|
AfterInsertRow: typeof AfterInsertRow !== 'undefined' ? AfterInsertRow : void 0,
|
|
rowclick: typeof rowclick !== 'undefined' ? rowclick : void 0,
|
|
rowdblclick: typeof rowdblclick !== 'undefined' ? rowdblclick : void 0,
|
|
gridComplete: typeof gridComplete !== 'undefined' ? gridComplete : void 0,
|
|
onJqgridPaging: typeof onJqgridPaging !== 'undefined' ? onJqgridPaging : void 0
|
|
};
|
|
|
|
let grid = jQuery('#listGrid').jqGrid({
|
|
url: '/trade/EitherEndTradeReportQuery',
|
|
datatype: pageData.initEmptyView ? 'local' : 'json',
|
|
multiselect: true,
|
|
height: 'auto',
|
|
width: '90%',
|
|
autowidth: false,
|
|
shrinkToFit: false,
|
|
viewrecords: true,
|
|
jsonReader: { repeatitems: false },
|
|
cmTemplate: { align: 'center', width: 120 },
|
|
mtype: 'POST',
|
|
postData: PostData,
|
|
afterInsertRow: __jq.AfterInsertRow,
|
|
onSelectRow: __jq.rowclick,
|
|
ondblClickRow: __jq.rowdblclick,
|
|
colModel: colModelGrid.colModels,
|
|
pager: jQuery('#pagerGrid'),
|
|
pagerpos: 'left',
|
|
rowNum: 20,
|
|
rowList: [20, 30, 50, 200, 10000],
|
|
loadComplete: __jq.gridComplete,
|
|
onPaging: __jq.onJqgridPaging,
|
|
footerrow: false
|
|
});
|
|
|
|
pageData.initEmptyView && jQuery("#listGrid").jqGrid('setGridParam', { datatype: 'json' });
|
|
}
|
|
|
|
$(function () {
|
|
|
|
$(".datepicker").datepicker({
|
|
changeMonth: true,
|
|
changeYear: true,
|
|
showButtonPanel: true,
|
|
showOtherMonths: true,
|
|
selectOtherMonths: true
|
|
});
|
|
|
|
$("#DateToUnWindDate").val(pageData.curDate);
|
|
|
|
if (!pageData.initEmptyView) {
|
|
$("#DateFromUnWindDate").val(pageData.curDate);
|
|
}
|
|
|
|
if (pageData.IsAutoSealAndUploadFiles) {
|
|
$("#DateToSealDate").val(pageData.curDate);
|
|
$("#DateFromSealDate").val(pageData.curDate);
|
|
}
|
|
|
|
__initJqGrid();
|
|
|
|
document.onkeydown = function (event) {
|
|
try {
|
|
var e = event ? event : (window.event ? window.event : null);
|
|
if (e.keyCode === 13) {
|
|
SearchClick(true);
|
|
}
|
|
} catch (e) {
|
|
//
|
|
}
|
|
};
|
|
|
|
let underlyingCtrl = new tradeHelper.UnderlyingSelectCtrl('#UnderlyingId')
|
|
.setFlag(tradeHelper.UnderlyingSelectFlag.OtcTrade);
|
|
|
|
//标的品种 和 标的代码 联动
|
|
$("#UnderlyingAssetClass").change(function (obj) { changeUnderlyingAssetClass(obj); });
|
|
|
|
ContractTypeCtrl = new ContractTypeCtrl(document.getElementById('ContractTypeCtrl'))
|
|
});
|
|
|
|
function ConfirmTemplateChoose() {
|
|
window.location.href = "/client/ClientTemplateChoose";
|
|
}
|
|
|
|
function SealContract(id){
|
|
var ids = [];
|
|
ids.push(id);
|
|
|
|
main.post("/trade/IsContractGenerated/", { ids: ids,types:["结算确认书","提前终止确认书"] }).done(function (res) {
|
|
if (res.success) {
|
|
main.post("/trade/SealContracts/", { ids: ids,types:["结算确认书","提前终止确认书"] }).done(function (res) {
|
|
if (res.success) {
|
|
|
|
SearchClick(true);
|
|
}
|
|
});
|
|
}
|
|
}).fail(function(res){
|
|
|
|
});
|
|
}
|
|
|
|
function BatchSealContracts(){
|
|
var jgrid = jQuery('#listGrid');
|
|
var ids = main.GetGridIds(jgrid,"trade_contract_r.id");
|
|
if (ids.length == 0) {
|
|
main.alert("请至少选择一笔交易"); return;
|
|
}
|
|
|
|
main.post("/trade/IsContractGenerated/", { ids: ids,types:["结算确认书","提前终止确认书"] }).done(function (res) {
|
|
if (res.success) {
|
|
main.post("/trade/SealContracts/", { ids: ids,types:["结算确认书","提前终止确认书"] }).done(function (resp) {
|
|
if (resp.success) {
|
|
|
|
|
|
SearchClick(true);
|
|
}
|
|
});
|
|
}
|
|
}).fail(function(res){
|
|
|
|
});
|
|
}
|
|
|