function ShowNotionalFormater(cellValue, options, rowObject) { return otcformat.trading.umprice(rowObject.swap_flow_event.Quantity); } function ShowTradeStatusFormater(cellValue, options, rowObject) { return cellValue == 0 ? "已平仓" : "部分平仓"; } function gridComplete() { $(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover" }); } function showToolName(cellValue, options, rowObject) { var html = "" .template(rowObject.trade.EncryptId, "查看", rowObject.trade.TradeType); if (rowObject.ContractDocUrl != undefined && rowObject.ContractDocUrl != null && rowObject.ContractDocUrl != "") { html += "" .template(rowObject.ContractDocUrl, "下载"); } else { html += "" .template("下载"); } //var disabled = pageData.canGenerate == true ? "" : "disabled"; //html += "" // .template(rowObject.swap_flow_event.EncryptId, rowObject.swap_flow_event.PayDate, "修改支付日期", disabled); return html; } //下载清算确认书 function DownLoadDoc(res) { window.open(res); } function closeModifyDateModal() { $('#myModal').modal('hide'); } function saveModifyPayDate() { var id = $("#hidflowId").val(); var payDate = $("#payDateInput").val(); if (payDate == "" || payDate == undefined) { main.alert("请选择支付日期"); return; } main.post("/swaptrade2/UpdatePayDate/", { Id: id, PayDate: payDate }, { success: function (resp) { if (resp.success) { main.message("更新成功"); } else { main.alert("更新失败"); } $('#myModal').modal('hide'); SearchClick(); } }); } //修改支付日期 function ModifyPayDate(id, oldPayDate) { $("#myModal").modal("show"); $("#hidflowId").val(id); $("#payDateInput").val(oldPayDate.replace(" 00:00:00","")); $("#payDateInput").datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, showOtherMonths: true, selectOtherMonths: true }); } function GenetateEndBillByReqDate() { var jgrid = jQuery('#listGrid'); var flowEventIds = main.GetGridIds(jgrid); if (flowEventIds.length === 0) { main.message("请选择交易"); return; } main.confirm("请确认支付日期是否正确,如果正确请点击【确认】继续生成确认书,否则点击【取消】修改支付时间后再继续", function () { var htmlContent = '
' + '
' + '' + '
' + '' + '' + '
' + '
' + '
'; GenerateSettleBills("DOC", flowEventIds); }); //main.open2("生成结算确认书", // htmlContent, // { // area: ["300px", "165px"], // btn: ['生成', '取消'], // yes: function (index, layero) { // /*var docType = $('input[name="docType"]:checked').val();*/ // GenerateSettleBills("DOC", flowEventIds); // }, // 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 GenerateSettleBills(docType, flowEventIds) { var confirmBookPostData = { flowEventIds: flowEventIds, docType: docType }; main.post("/swaptrade2/GJGenerateSettleBillByFlowEventIds/", confirmBookPostData, { success: function (resp) { if (resp.success) { main.downloadFiles(resp.obj); } else { main.alert(resp.msg.replace("\r\n", "
")); main.downloadFiles(resp.obj); } reloadtrade(); parent.layer.closeAll(); } }); } function starttradeView(id) { main.open("查看交易", "/swaptrade2/tradeView/?enid=" + id + "&isOnlyCloseButton=true", { area: ['90%', '90%'] }); } function reloadtrade() { //重新加载 SearchClick(); $('#modal-edittrade').modal('hide'); } function SendEmailEitherReport() { var jgrid = jQuery('#listGrid'); var flowEventIds = main.GetGridIds(jgrid); var selIds = []; for (var i= 0; i < flowEventIds.length;i++) { var rowData = $("#listGrid").jqGrid('getRowData', flowEventIds[i]); if (rowData && rowData["trade.StructureType"]!="多空组合") { selIds.push(flowEventIds[i]); } } if (flowEventIds.length === 0) { main.message("请选择交易"); return; } if (selIds.length === 0) { main.message("请选择普通交易"); return; } var url = "/trs_hub_api/swap/email/settle/batchSend"; var postData = { swapFlowEventIds: selIds } $.ajax({ type: "post", url: url, data: JSON.stringify(postData), dataType: "json", contentType:"application/json", success: function (res) { if (res.success) { main.message("发送成功"); } else { main.message(res.message); } }, beforeSend(jqXHR) { main.waitMe(true); }, complete(jqXHR, textStatus) { main.waitMe(false); } }); } function SearchClick(isSearchclick) { var listGrid = $('#listGrid'); listGrid.appendPostData({ TradeNumber: $("#TradeNumber").val() }); listGrid.appendPostData({ ClientIds: $("#ClientId").val() == null ? "" : $("#ClientId").val().join() }); listGrid.appendPostData({ AssetIds: ($("#AssetId").val() || []).join() }); listGrid.appendPostData({ AssetIdGroupList: $("#GroupId").val() }); listGrid.appendPostData({ TraderNames: $("#TraderName").val() == null ? "" : $("#TraderName").val().join(",") }); listGrid.appendPostData({ UnderlyingIds: $("#UnderlyingId").val() == null ? "" : $("#UnderlyingId").val().join() }); listGrid.appendPostData({ BuySell: $("#BuySell").val() }); listGrid.appendPostData({ StartDateStart: $("#DateFromStartDate").val() }); listGrid.appendPostData({ StartDateEnd: $("#DateToStartDate").val() }); listGrid.appendPostData({ UnWindDateStart: $("#DateFromUnWindDate").val() }); listGrid.appendPostData({ UnWindDateEnd: $("#DateToUnWindDate").val() }); listGrid.appendPostData({ Comments: $("#Comments").val() }); listGrid.appendPostData({ ExerciseDateStart: $("#DateFromExerciseDate").val() }); listGrid.appendPostData({ ExerciseDateEnd: $("#DateToExerciseDate").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 flowEventIds = main.GetGridIds(jgrid); var tip = "下载" + startDate + "至" + endDate + "的结算确认书"; batchDownload(startDate, endDate, clientIds, flowEventIds, ["DOCX"]); var htmlContent = '
' + '
' + '
' + '' + '' + ''; // main.open2("批量下载结算确认书", // htmlContent + '
', // { // 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, flowEventIds: tradeCashIdList, docpdf: docpdf, IsSeal: isSeal }; // if (pageData.IsAutoSealAndUploadFiles) { // confirmBookPostData.SealResults = $("#SealResults").val(); // //confirmBookPostData.SealDateStart = $("#DateFromSealDate").val(); // //confirmBookPostData.SealDateEnd = $("#DateToSealDate").val(); // } // openWindowWithPost("/swaptrade2/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 batchDownload(startDate, endDate, clientIds, flowEventIds, docpdf) { var confirmBookPostData = { TradeDateStart: startDate, TradeDateEnd: endDate, ClientIds: clientIds, flowEventIds: flowEventIds, docpdf: docpdf }; openWindowWithPost("/swaptrade2/BatchDownLoadDoc/", confirmBookPostData); parent.layer.closeAll(); } function BatchDelDoc() { var jgrid = jQuery('#listGrid'); var flowEventIds = main.GetGridIds(jgrid); if (flowEventIds.length == 0) { main.msg("未选择任何项"); return; } var confirmBookDelPostData = { flowEventIds: flowEventIds }; main.confirm("确认重置选定的结算确认书吗?", function () { main.post("/swaptrade2/BatchDelDoc/", confirmBookDelPostData, { success: function (resp) { if (resp.success) { main.message("重置成功"); reloadtrade(); } else { main.alert(resp.msg); } } }); }); } 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(""); } else { this.changeCode(encryptId, $(inputSelect).val(), function () { $(button).html(""); $(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.colModels = [ { name: 'trade.id', label: 'trade.id', index: 'trade.id', width: 1, align: 'left', hidden: true }, { name: 'id', label: 'id', index: 'swap_flow_event.id', width: 1, align: 'left', hidden: true }, { name: 'swap_flow_event.EventId', label: 'swap_flow_event.EventId', index: 'swap_flow_event.EventId', width: 1, align: 'left', hidden: true }, { name: 'trade.EncryptId', label: 'EncryptId', index: 'trade.EncryptId', 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: 300, formatter: showToolName }, { name: 'swap_position.PosiQuantity', label: '交易状态', index: 'swap_position.PosiQuantity', width: 70, align: 'left', formatter: ShowTradeStatusFormater }, { name: 'swap_flow_event.UnwindDate', label: '平仓日期', index: 'swap_flow_event.UnwindDate', width: 80, align: 'left', formatter: 'date' }, { name: 'swap_flow_event.PayDate', label: '支付日期', index: 'swap_flow_event.PayDate', width: 80, align: 'left', formatter: 'date' }, { name: 'trade.TradeNumber', label: '交易编号', index: 'trade.TradeNumber', width: 240, align: 'left' }, { 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 += ""; } html += ""; } else { html = ""; } return html; } }, { name: 'trade.ClientName', label: '客户名称', index: 'trade.ClientName', width: 180, align: 'left' }, { name: 'swap_flow_event.Quantity', label: '份额', index: 'swap_flow_event.Quantity', width: 150, align: 'left', formatter: ShowNotionalFormater }, { name: 'swap_flow_event.TradingAmountAvg', label: '结算价', index: 'swap_flow_event.TradingAmountAvg', width: 150, align: 'left', formatter: otcformat.trading.umprice }, { name: 'swap_event.unwindData.SwapCloseAmount', label: '了结总额', index: 'swap_event.unwindData.SwapCloseAmount', width: 150, align: 'left', formatter: otcformat.trading.StockEqvNotional, sortable: false, }, { name: 'trade.TradeDate', label: '交易日期', index: 'trade.TradeDate', width: 90, align: 'left', formatter: 'date' }, { name: 'swap_flow_event.UnderlyingCode', label: '标的代码', index: 'swap_flow_event.UnderlyingCode', width: 120, align: 'left' }, { name: 'trade.StructureType', label: '结构类型', index: 'trade.StructureType', width: 110, align: 'left', formatter: function (cellvalue, options, rowObject) { return rowObject.trade.StructureType; } }, { 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.AssetBookName', label: '簿记账户', index: 'trade.AssetBookName', width: 100, 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: 'swap_flow_event.OptTime', label: '交易操作时间', index: 'trade_cash.OptTime', width: 150, align: 'left', formatter: 'datetime' }, { 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: 100, align: 'left', formatter: 'date' }] }()); function __initJqGrid() { var PostData = { UnWindDateStart: pageData.curDate, UnWindDateEnd: pageData.curDate, ValidState: $("#ValidState").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: '/swaptrade2/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); } __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); });