Files
zszq-trs/YLErpWeb/wwwroot/Scripts/app/trade/tradeDayConfirmList.js
T
hjhan fdc0331407 cleanup(trade): 收敛 IsGuoJun 死分支并删除失去调用方的 guojun 报表函数
国联下 PS.Config.IsGuoJun 恒为 false,以下分支只走 else 侧:
- tradeDayConfirmList.cshtml: IsGuoJun if/else 收敛为 sendReport() 单行
- maturityDateReport.cshtml: 发送结算确认书按钮的 if/else 收敛为 SendEmailSettleBill()
- maturityDateReport.cshtml: _chooseContractType 的三元收敛为 "sendReport()"

随之失去全部调用方的死函数一并删除(大小写不敏感全仓检索确认无其它引用,
包括无 window["xxx"] 之类的动态调用):
- tradeDayConfirmList.js sendReportGuojun()(713-749)
- maturityDateReport.cshtml sendReport_guojun()(913-939)

顺带清掉 percentColumnText.js 注释里对已删除文件 structure_dz.js 的引用。

注:后端 SendEmailSettleBill_Guojun / SendEmailUnwindReportGuojun 两个 Action
前端已无调用方,但属 C# 公开终结点,本次不动,留待单独决策。

净减 78 行。
2026-08-28 15:52:21 +08:00

903 lines
37 KiB
JavaScript

var ContractTypeCtrl;
var ReportId;
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, sendMail) {
var srcurl = "/TradeConfirmBook/confirmBookUpload/?Id=" + encryptId + "&SendMailId=" + sendMail;
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.TradeStatus', label: '交易状态', index: 'trade.TradeStatus', width: 70, align: 'left', formatter: ShowTradeStatusFormater
}, {
name: 'trade.TradeNumber', label: '交易编号', index: 'trade.TradeNumber', width: 200, align: 'left', formatter: ShowStructFormater
}, {
name: 'ConfirmContractR.ContractCode', label: '合约编号', index: 'ConfirmContractR.ContractCode', width: 200, align: 'left'
}, {
name: 'ContractCode', label: '结算确认书编号', index: 'ContractCode', width: 200, align: 'left',
formatter: function (cellValue, options, rowObject) {
var html = "";
if (cellValue) {
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.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}\',\'{1}\')"'.template(encryptId, rowObject.trade_cash.id) : "disabled"),
(stampDocumentFileName ? 'onclick="main.downloadFiles(\'{0}\')"'.template(stampDocumentFileName) : "disabled"));
if(pageData.IsAutoSealAndUploadFiles && !pageData.IsAutoSealAfterGeneratedBook) {
html = (templateHtml)
.template(
(status ? 'onclick="colModelGrid.upload(\'{0}\',\'{1}\')"'.template(encryptId, rowObject.trade_cash.id) : "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.SealDateStart = pageData.curDate;
PostData.SealDateEnd = pageData.curDate;
}
var __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
};
var grid = jQuery('#listGrid').jqGrid({
url: '/trade/endTradeOnValueDateQuery',
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 setStructTable(rowObject) {
structTrades = rowObject.SubTrades;
var trhtml = "";
var trcode = "<td>标的代码</td><td colspan='{0}'>{1}</td>".template(structTrades.length, rowObject.UnderlyingCode);
var trstrike = "<td>执行价格</td>";
var trbuysell = "<td>买卖方向</td>";
var trvarity = "<td>结构类型</td><td colspan='{0}'>{1}</td>".template(structTrades.length, rowObject.StructureType);
var trstockeqvnotional = "<td>名义本金</td><td colspan='{0}'>{1}</td>".template(structTrades.length, otcformat.trading.StockEqvNotional(new Number(rowObject.StockEqvNotional) / 10000) + "万");
var trmaturedate = "<td>到期日期</td><td colspan='{0}'>{1}</td>".template(structTrades.length, moment(rowObject.ExerciseDate).format("YYYY-MM-DD"));
if (structTrades) {
for (var i = 0; i < structTrades.length; i++) {
trstrike += "<td>{0}</td>".template(structTrades[i].IsMoneynessOption === "是" ? otcformat.trading.premiumRateP(new Number(structTrades[i].Strike)) : otcformat.trading.umprice(structTrades[i].Strike));
trbuysell += "<td>{0}</td>".template(structTrades[i].BuySell);
}
}
trhtml = "<tr>{0}</tr>".template(trcode);
trhtml += "<tr>{0}</tr>".template(trstrike);
trhtml += "<tr>{0}</tr>".template(trbuysell);
trhtml += "<tr>{0}</tr>".template(trstockeqvnotional);
trhtml += "<tr>{0}</tr>".template(trmaturedate);
trhtml += "<tr>{0}</tr>".template(trvarity);
var showTable = "<table class='table'>{0}<table>".template(trhtml);
return showTable;
}
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 == undefined || cellValue == null ? 0 : - cellValue;
}
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) {
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) {
if (pageData.IsHongYuan) {
var len = res.lastIndexOf(".");
if (len >= 0) {
res = res.substr(0, len);
}
var res2 = res + ".xlsx";
window.open(res2);
} else {
if (isExistFile(res)) {
window.open(res);
} else {
res += "x";
window.open(res);
}
}
}
//判断文件是否存在
function isExistFile(url) {
var result = false;
main.post("/TradeConfirmBook/ExistFile", { filePath: url }, { async: false }).done(function (res) {
if (res && res.obj) {
result = true;
}
});
return result;
}
function generateUnwindReport() {
var jgrid = jQuery('#listGrid');
var rowIds = jgrid.jqGrid('getGridParam', 'selarrrow');
if (pageData.IsAutoSealAndUploadFiles) {
//if (isWait) {
// if (!confirm("用印正在等待中重新生成将中断用印并重新进行自动用印(如有),是否确认操作?")) {
// return;
// }
//}
if (!confirm("重新生成将覆盖已有的交易确认书并重新进行自动用印(如有),是否确认操作?")) {
return;
}
}
if (rowIds.length === 0) {
main.message("请选择交易");
return;
}
var trades = [];
for (var i = 0; i < rowIds.length; i++) {
var record = jgrid.getRowData(rowIds[i]);
var trade = {};
trade.TradeId = record['trade.id'];
trade.TradeCashId = record['trade_cash.id']
trades.push(trade);
}
//if (pageData.IsAutoSealAndUploadFiles) {
// trades.forEach((v, i, arr) => {
// var tradeId = v;
// main.post("/trade/IsSealWaiting/", tradeId,
// {
// success: function (resp) {
// if (resp.success) {
// if (!confirm("用印正在等待中重新生成将中断用印并重新进行自动用印(如有),是否确认操作?")) {
// return;
// }
// }
// }
// });
// });
//}
var templateHtml = "";
if (pageData.selectConfirmationBookTemplate) {
var currentTemplate = "";
var postData = {
key: "结算确认书"
};
if (trades.length === 1) {
postData.tradeId = trades[0].TradeId;
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>';
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" style="margin:0">' +
'<label class="col-sm-4 control-label">文档类型</label>' +
'<div class="btn-group col-sm-8" data-toggle="buttons">' +
'<label class="btn btn-primary active" style="border:none"><input type="radio" checked name="docType" value="PDF"> PDF</label>' +
'<label class="btn btn-primary" style="border:none"><input type="radio" name="docType" value="DOC"> DOC</label>' +
'</div>' +
'</div>' +
templateHtml +
'</form>';
if (pageData.IsHongYuan) {
htmlContent = '<form class="form-horizontal" role="form" style="padding:15px 12px 5px">' +
'<div class="form-group" style="margin:0">' +
'<label class="col-sm-4 control-label">文档类型</label>' +
'<div class="btn-group col-sm-8" data-toggle="buttons">' +
'<label class="btn btn-primary active" style="border:none"><input type="radio" checked name="docType" value="PDF"> PDF</label>' +
'<label class="btn btn-primary" style="border:none"><input type="radio" name="docType" value="DOCX"> XLSX</label>' +
'</div>' +
'</div>' +
templateHtml +
'</form>';
}
main.open2("生成提前终止确认书",
htmlContent,
{
area: ["320px", "200px"],
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)) {
trades.forEach((v, i, arr) => {
postData.tradeId = v.TradeId;
main.post("/trade/SetTradeMeta", postData, { waitMe: false, async: false });
})
}
}
var unwindPostData = { trades: trades, docType: docType };
//if (pageData.IsAutoSealAndUploadFiles) {
// unwindPostData.sealResults = $("#SealResults").val();
//}
main.post("/trade/GJGenerateUnwindReport/",
unwindPostData,
{
success: function (resp) {
if (resp.success) {
main.downloadFiles(resp.obj);
} else {
main.alert(resp.msg.replace("\r\n", "<br/>"));
}
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 sentMail(id) {
ReportId = id;
var clientIds = $("#ClientId").val();
ContractTypeCtrl.changeContractType(clientIds);
$("#modalChooseContractType").modal('show');
}
function SendEmailUnwindReport() {
ReportId = "";
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 = [];
if (ReportId) {
ids.push(ReportId);
} else {
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/SendEmailUnwindReport", data).done(function (data) {
});
})
}
else {
main.post("/trade/SendEmailUnwindReport", 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 downloadUnwindReports() {
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 = $("#Seal").val() == '是' ? true : false;
var confirmBookPostData = { TradeDateStart: startDate, TradeDateEnd: endDate, ClientIds: clientIds, TradeIds: null, TradeCashIds: tradeCashIdList, DocType: "提前终止确认书", 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);
}
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 (resp) {
if (resp.success) {
SearchClick(true);
}
});
} else {
main.alert("用印前请先生成确认书!");
}
});
}
function BatchSealContracts(){
var jgrid = jQuery('#listGrid');
console.log(jgrid);
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 (res) {
if (res.success) {
SearchClick(true);
}
});
} else {
main.alert("用印前请先生成确认书!");
}
});
}