var g_grid = {}; var query_data = {}; $(function () { var PostData = {}; if (observationDate) { $("#DateValueDate").val(observationDate); PostData.ValueDate = observationDate; } if (settleDate) { $("#DateFromExerciseDate").val(settleDate); $("#DateToExerciseDate").val(settleDate); PostData.ExerciseDateStart = settleDate; PostData.ExerciseDateEnd = settleDate; } $(".datepicker").datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, showOtherMonths: true, selectOtherMonths: true }); grid = jQuery('#listGrid').jqGrid({ cmTemplate: { width: 80, align: 'center', sortable: false }, url: '/swapTrade2/TradeQuery', 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; $("#CheckboxAll").click(function () { //setall selAllGrid(); }); }); var hideObj = { clientWidth: 160 }; var i = 0; var getColModelGrid = function () { var col = [ { 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: 'OptDate', label: '操作时间', index: 'OptDate', sortIndex: i++, width: 160, align: 'center', sortable: true, formatter: 'datetime' }, { name: 'OptName', label: '操作者', index: 'OptName', sortIndex: i++, width: 70, align: 'center' }, { name: 'Comments', label: '备注', index: 'Comments', sortIndex: i++, width: 110, align: 'center', formatter: function (cellValue, options, rowObject) { if (cellValue && cellValue.startsWith("http://")) { return "{0}".template(cellValue); } return cellValue == null ? "" : cellValue; } } , { name: 'AssetBookName', label: '簿记账户', index: 'AssetBookName', sortIndex: i++, width: 110, align: 'center' }, { name: 'TradeStatus', label: '交易状态', index: 'TradeStatus', sortIndex: i++, width: 70, align: 'center' }, { name: 'TradeNumber', label: '交易编号', index: 'TradeNumber', sortIndex: i++, width: 240, align: 'center', formatter: ShowStructFormater }, { name: 'ContractCode', label: '确认书编号', index: 'ContractCode', sortIndex: i++, width: 240, align: 'center', hidden: true, formatter: ShowStructFormater }, { name: 'TradeDate', label: '交易日期', index: 'TradeDate', sortIndex: i++, width: 90, align: 'center', sortable: true, formatter: 'date' }, { name: 'StartDate', label: '开始日期', index: 'StartDate', sortIndex: i++, width: 90, align: 'center', sortable: true, formatter: 'date' }, { name: 'ExerciseDate', label: '到期日期', index: 'ExerciseDate', sortIndex: i++, width: 90, align: 'center', sortable: true, formatter: 'date' }, { name: 'TradeType', label: '结构类型', index: 'TradeType', sortIndex: i++, width: 70, align: 'center' }, { name: 'StructureType', label: '互换类型', index: 'StructureType', sortIndex: i++, width: 160, align: 'center' }, { name: 'UnderlyingCode', label: '标的代码', index: 'UnderlyingCode', sortIndex: i++, width: 90, align: 'center' }, { name: 'OriginalStockEqvNotional', label: '名义本金', index: 'OriginalStockEqvNotional', sortIndex: i++, width: 100, align: 'center', sortable: true, formatter: otcformat.trading.StockEqvNotional }, { name: 'ClientName', label: '交易对手方', index: 'ClientName', sortIndex: i++, width: hideObj.clientWidth, align: 'center' }, { name: 'TradeAmount', label: '持仓数量', width: 100, sortIndex: i++, align: 'center', sortable: false, formatter: otcformat.trading.notional }, { name: 'TraderName', label: '交易员', index: 'TraderName', sortIndex: i++, width: 100, align: 'center' } ]; return col; }; var colModelGrid = getColModelGrid(); function ShowStructFormater(cellValue, options, rowObject) { return cellValue || ''; } function CommissionFormatter(cellValue, options, rowObject) { if (rowObject.SalesCommission.Commission) { if (rowObject.SalesCommission.CommissionFixed == false) { return otcformat.trading.premiumRateP(rowObject.SalesCommission.Commission); } else { return otcformat.trading.umprice(rowObject.SalesCommission.Commission); } } else { if (rowObject.SalesCommission.Commission === 0) { return otcformat.trading.umprice(0); } else { return ""; } } } function exportUnwindSwapTrade() { var url = "/swaptrade/UnwindSwapTradeExport"; downLoadFile(url); } function downLoadFile(downloadUrlStr) { window.open(downloadUrlStr); } function gridComplete() { var jgrid = $(this); var rowIds = jgrid.jqGrid('getDataIDs'); for (var i = 0; i < rowIds.length; i++) { var rowId = rowIds[i]; var rowdata = jgrid.getRowData(rowId); if (rowdata.ExerciseDate == page.systemDate && (rowdata.TradeStatus != "已平仓" && rowdata.TradeStatus != "已到期")) { $('#' + rowIds[i]).addClass("ExerciseDateBg"); } //else if (rowdata['trade_swap.GetSwapTimeAndRate'].indexOf(page.systemDate) > -1 || rowdata['trade_swap.PaySwapTimeAndRate'].indexOf(page.systemDate) > -1) { // $('#' + rowIds[i]).addClass("SwapDateBg"); //} if (rowdata.TradeStatus == "已平仓" && rowdata.UnwindDate == page.systemDate) { $('#' + rowIds[i]).addClass("UnwindTradeBg"); } } main.setcolumnChooser(jgrid, page.configcolumn_data_hhjyss); $(".selftooltip").tooltip({ html: true, show: 50000, trigger: "hover" }); var newHeight = $(window).height() - 430; $(".ui-jqgrid .ui-jqgrid-bdiv").css("cssText", "height: " + newHeight + "px!important;"); $('.ui-jqgrid-bdiv', '#gbox_listGrid').floatingScroll(); } function customButton(cellValue, options, rowObject) { var imageHtml = ""; return imageHtml; } function rowdblclick(rowid) { var rowData = $(this).getRowData(rowid); if (rowData.EncryptId) { starttradeView(rowData.EncryptId); } } function startAddtrade() { //layer.open({ // type: 2, // title: "新增互换交易", // shadeClose: false, // shade: 0.4, // area: ['80%', '80%'], // content: "/swapTrade2/TradeEdit/0" //}); main.open("新增互换交易", "/swapTrade2/TradeEdit/0", {area:["95%",'90%']}); } function starttradeView(id) { var srcurl = "/swapTrade2/TradeView/?enid=" + id + "&checkBtn=1"; main.open("查看交易", srcurl); } function reloadtrade() { //重新加载 SearchClick(); } function confirmAllSelect() { var selectedIds = jQuery('#listGrid').jqGrid('getGridParam', 'selarrrow'); if (selectedIds.length < 1) { main.message("请选择需确认的交易"); return; } var confirmFunc = function (additionalProcessing) { var ggrid = jQuery('#listGrid'); var rowIds = ggrid.jqGrid('getGridParam', 'selarrrow'); var ors = []; for (var i = 0; i < rowIds.length; i++) { var or = ggrid.getRowData(rowIds[i]).id; ors.push(or); } var pData = { tradeids: ors.join(",") }; pData.IsSkipCheck = true; if (!main.isEmpty(additionalProcessing)) { pData.additionalProcessing = additionalProcessing; } main.post("/trade/tradeConfirm", pData).done(function (data) { //错误是打印错误提示 if (!data.success) { main.message(data.msg); return; } SearchClick(true); }); }; ///批量结算 main.confirm("确认所有选中交易?", confirmFunc); } function importTrade() { main.open("互换交易导入", "/SwapTrade/SwapTradeUpload", { area: ['800px', '600px'] }); } function downTemplate() { if (page.company == "山西") { window.open("../App_Docs/导入模板/互换交易数据导入模板.xlsx"); } } function SearchClick(isSearchclick) { var listGrid = $('#listGrid'); listGrid.appendPostData({ TradeNumber: $("#TradeNumber").val() }); listGrid.appendPostData({ AssetIds: $("#AssetId").val() }); listGrid.appendPostData({ AssetIdGroupList: $("#GroupId").val() }); listGrid.appendPostData({ ClientIds: $("#ClientId").val() }); listGrid.appendPostData({ TradeDateStart: $("#DateFromTradeDate").val() }); listGrid.appendPostData({ TradeDateEnd: $("#DateToTradeDate").val() }); listGrid.appendPostData({ StartDateStart: $("#DateFromStartDate").val() }); listGrid.appendPostData({ StartDateEnd: $("#DateToStartDate").val() }); listGrid.appendPostData({ TradeStatus: $("#TradeStatus").val() }); listGrid.appendPostData({ TradeIds: $("#TraderName").val() }); listGrid.appendPostData({ ExerciseDateStart: $("#DateFromExerciseDate").val() }); listGrid.appendPostData({ ExerciseDateEnd: $("#DateToExerciseDate").val() }); listGrid.appendPostData({ ValueDate: $("#DateValueDate").val() }); query_data = listGrid.jqGrid('getPostData'); if (typeof isSearchclick !== "undefined" && isSearchclick) { //点击搜索时默认第一页 listGrid.jqGrid('setGridParam', { page: 1 }); } listGrid.trigger('reloadGrid'); } function openTradeConfirmList() { window.open("tradeConfirmList", "_blank"); } function exportSubmit(url) { var $form = $('#exportForm').html(''); $form.attr("action", url) $form.submit(); } 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; } function showcolumnChooser() { var jgrid = jQuery('#listGrid'); main.showcolumnChooser(jgrid, page.configcolumn_data_hhjyss); } function selAllGrid() { var checkAll = $("#CheckboxAll").prop("checked"); $("#cb_listGrid").click(); var cbGridClick = $("#cb_listGrid").prop("checked"); if (checkAll !== cbGridClick) { $("#cb_listGrid").click(); } } function GetSelAll() { var listGrid = $('#listGrid'); return { IsSelAll: $("#CheckboxAll").prop("checked"), PostData: listGrid.getPostData() }; } function getSelectTradeIds() { return main.GetGridIds($('#listGrid')); } function GetGridObjs() { return main.GetGridObjs($('#listGrid')); } function downTemplate() { if (page.company == "山西") { window.open("../App_Docs/导入模板/互换交易数据导入模板.xlsx"); } } function approvalList() { var grid = $("#listGrid"); var selRow = grid.jqGrid('getGridParam', 'selarrrow'); if (selRow.length == 0) { main.message("请勾选要匹配的交易"); return; } if (selRow.length > 1) { main.message("请仅勾选一条交易操作"); return; } var trade = grid.getRowData(selRow[0]); main.open("审批记录", "/trade/InterfaceApprovalRecord?type=1&code=" + trade.TradeNumber, { area: ["1200px", "600px"] }); } //ESC $(document).keyup(function (event) { switch (event.keyCode) { case 27: window.parent.layer.closeAll(); $(".jconfirm-open").addClass("hide");//关闭取消分组弹层 } }); $(".three-wrap-gtja #AssetId").prev().addClass("Bookkeeping-account"); $(".three-wrap-gtja #TraderName").prev().addClass("Trader-account"); $(".morebtn").click(function (e) { $(".hidediv").toggle(); }); function exportTradeChoose() { layer.open({ type: 1, title: "导出交易", shadeClose: false, shade: 0.4, area: ['300px', '240px'], content: $('#exportTpl').html() }); } function exportTrade() { var dateTemp = new Date().Format("yyyyMMddhhmmss"); var fileName = "互换交易导出" + dateTemp; main.toExcel("listGrid", fileName, "xls"); } function showImport() { layer.open({ type: 1, title:"互换日终估值导入", area: ['60%', '60%'], fixed: false, //不固定 maxmin: true, content: $("#importEod") }); } function importEodFile() { let fileName = $("#openFile").val(); if (!fileName) { return main.alert("请选择要导入的文件!"); } let index = fileName.lastIndexOf("."); let fileEx = index > 0 ? fileName.substr(index).toLowerCase() : ''; if (fileEx !== '.xlsx') { return main.alert("只能上传.xlsx类型的文件!"); } function success(data) { if (data.success) { main.alert(!data.totalNum ? '导入成功!' : "共 {0} 条数据,导入成功 {1} 条数据!".template(data.totalNum, data.successNum)); } else { main.alert("导入失败:" + data.message); } } var url = "/trs_hub_api/valuationEndOfDay/import"; main.confirm("确定导入?", UploadFile.bind(null, { inputId: 'openFile', url: url, success: success })); } function importClose() { layer.closeAll(); } window.reloadData = reloadtrade;