var g_grid = {}; var query_data = {}; $(function () { var PostData = {}; $(".datepicker").datepicker({ changeMonth: true, changeYear: true, showButtonPanel: true, showOtherMonths: true, selectOtherMonths: true }); grid = jQuery('#listGrid').jqGrid({ cmTemplate: { width: 80, align: 'center', sortable: false }, url: '/swapTrade/TradeFlowQuery', 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; }); var hideObj = { clientWidth: 160 }; var i = 0; var getColModelGrid = function () { return [ { 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: '', label: '操作', index: '', width: 130, align: 'left', formatter: customButton, hidden: !page.canEdit, optionHide: !page.canEdit }, { name: 'OptDate', label: '操作时间', index: 'OptDate', sortIndex: i++, width: 160, align: 'center', formatter: 'datetime', sortable: false }, { name: 'OptName', label: '操作者', index: 'OptName', sortIndex: i++, width: 70, align: 'center', sortable: false //}, { // name: 'Status', // label: '合成状态', // index: 'Status', // sortIndex: i++, // width: 70, // width: 70, // align: 'center', }, { name: 'CreatorName', label: '创建者', index: 'CreatorName', sortIndex: i++, width: 70, align: 'center', sortable: false }, { name: 'Number', label: '流水编号', index: 'Number', sortIndex: i++, width: 180, width: 180, align: 'center', }, { name: 'TradeNumber', label: '交易编号', index: 'TradeNumber', sortIndex: i++, width: 180, width: 180, align: 'center', }, { name: 'ClientNumber', label: '客户编号', index: 'ClientNumber', sortIndex: i++, width: 100, align: 'center', sortable: false }, { name: 'AssetUnitName', label: '簿记账户', index: 'AssetUnitName', sortIndex: i++, width: 90, width: 90, align: 'center', sortable: false }, { name: 'TradeDate', label: '交易日期', index: 'TradeDate', sortIndex: i++, width: 90, align: 'center', formatter: 'date', sortable: false }, { name: 'UnderlyingCode', label: '标的代码', index: 'UnderlyingCode', sortIndex: i++, width: 90, align: 'center', sortable: false }, { name: 'BuySell', label: '买卖方向', index: 'BuySell', sortIndex: i++, width: 100, align: 'center', sortable: false, }, { name: 'SpotPrice', label: '价格', index: 'SpotPrice', sortIndex: i++, width: 130, align: 'center', sortable: false, formatter: otcformat.trading.umprice }, { name: 'Lots', label: '手数', index: 'Lots', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.notional }, { name: 'SingleFee', label: '按手数收费', index: 'SingleFee', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: SingleFeeFormat }, { name: 'UnAnnualRate', label: '按名义本金收费', index: 'UnAnnualRate', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: PremiumRateFormat } ]; }; if (page.isZhongJin) { getColModelGrid = function () { return [ { 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: '', label: '操作', index: '', width: 130, align: 'left', formatter: customButton, hidden: !page.canEdit, optionHide: !page.canEdit }, { name: 'OptDate', label: '操作时间', index: 'OptDate', sortIndex: i++, width: 160, align: 'center', formatter: 'datetime', sortable: false }, { name: 'OptName', label: '操作者', index: 'OptName', sortIndex: i++, width: 70, align: 'center', sortable: false }, { name: 'Status', label: '合成状态', index: 'Status', sortIndex: i++, width: 70, width: 70, align: 'center', }, { name: 'Number', label: '流水编号', index: 'Number', sortIndex: i++, width: 180, width: 180, align: 'center', }, { name: 'AssetUnitName', label: '簿记账户', index: 'AssetUnitName', sortIndex: i++, width: 90, width: 90, align: 'center', sortable: false }, { name: 'ClientNumber', label: '客户编号', index: 'ClientNumber', sortIndex: i++, width: 100, align: 'center', sortable: false }, { name: 'ClientShortName', label: '客户简称', index: 'ClientShortName', sortIndex: i++, width: 70, align: 'center', sortable: false }, { name: 'TradeDate', label: '交易日期', index: 'TradeDate', sortIndex: i++, width: 90, align: 'center', formatter: 'date', sortable: false }, { name: 'StartDate', label: '北京时间自然日', index: 'StartDate', sortIndex: i++, width: 90, align: 'center', formatter: 'date', sortable: false }, { name: 'ExerciseDate', label: '到期日', index: 'ExerciseDate', sortIndex: i++, width: 90, align: 'center', formatter: 'date', sortable: false }, { name: 'SettlementDate', label: '结算日', index: 'SettlementDate', sortIndex: i++, width: 90, align: 'center', formatter: 'date', sortable: false }, { name: 'UnderlyingCode', label: '标的全称', index: 'UnderlyingCode', sortIndex: i++, width: 90, align: 'center', sortable: false }, { name: 'SpotPrice', label: '价格', index: 'SpotPrice', sortIndex: i++, width: 130, align: 'center', sortable: false, formatter: otcformat.trading.umprice }, { name: 'Lots', label: '手数', index: 'Lots', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: otcformat.trading.notional }, { name: 'BuySell', label: '买卖方向', index: 'BuySell', sortIndex: i++, width: 100, align: 'center', sortable: false, }, { name: 'SingleFee', label: '按手数收费', index: 'SingleFee', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: SingleFeeFormat }, { name: 'UnAnnualRate', label: '按名义本金收费', index: 'UnAnnualRate', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: PremiumRateFormat }, { name: 'ClearingAgency', label: '清算机构', index: 'ClearingAgency', sortIndex: i++, width: 100, align: 'center', sortable: false, }, { name: 'IsTradePriceWhenOpen', label: '是否开仓时收取开仓费', index: 'IsTradePriceWhenOpen', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: boolFormater }, { name: 'NeedCostFee', label: '是否收取手续费', index: 'NeedCostFee', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: boolFormater }, { name: 'IsNight', label: '是否夜盘', index: 'IsNight', sortIndex: i++, width: 100, align: 'center', sortable: false, formatter: boolFormater }, { name: 'Comments', label: '备注', index: 'Comments', sortIndex: i++, width: 120, align: 'center', sortable: false } ]; }; } var colModelGrid = getColModelGrid(); function gridComplete() { var newHeight = $(window).height() - 250; $(".ui-jqgrid .ui-jqgrid-bdiv").css("cssText", "height: " + newHeight + "px!important;"); $('.ui-jqgrid-bdiv', '#gbox_listGrid').floatingScroll(); } function customButton(cellValue, options, rowObject) { if (!page.canEdit) { return ""; } else { //if (rowObject.Status === "已完成") { // var imageHtml = ""; // imageHtml += ""; // return imageHtml; //} //else { var imageHtml = ""; imageHtml += ""; return imageHtml; //} } } function updatetradeflow(encryptId) { var srcurl = "/swapTrade/tradeFlowEdit?enid=" + encryptId; main.infopage("修改交易流水", srcurl, { area: ['550px', '650px'] }); } function deletetradeflow(encryptId) { main.confirm("删除后需要重新合成该流水对应的多空组合交易,确定删除吗?", function () { $.ajax({ type: "Post", url: "/swapTrade/deleteTradeFlow", data: { enid: encryptId }, success: function (data) { showmiddlemessage(data.msg); if (data.success == true) { $('#listGrid').trigger('reloadGrid'); } }, error: function (msg) { alert("error:" + msg); } }); }); } function boolFormater(cellValue, options, rowObject) { var s = cellValue ? "是" : "否"; var html = "".template(s); return html; } function SingleFeeFormat(cellValue, options, rowObject) { if (cellValue > 0) { return otcformat.trading.tradeSinglePrice(cellValue); } else { return ""; } } function PremiumRateFormat(cellValue, options, rowObject) { if (cellValue > 0) { return otcformat.trading.premiumRateP(cellValue); } else { return ""; } } function addTradeFlow() { var url = "/swapTrade/tradeFlowEdit"; main.infopage("新增交易流水", url, { area: ['550px', '50%'] }); } function downTradeFlow() { var dateTemp = new Date().Format("yyyyMMddhhmmss"); var fileName = "导出交易流水" + "_" + dateTemp; main.toExcel("listGrid", fileName, "xls", null, "操作"); } function composeTrade() { var rowIds = main.GetGridIds($('#listGrid')); if (rowIds.length > 0) { main.confirm("确认为所勾选的交易流水合成交易?", function () { main.post("/swapTrade/composeTrade/", { ids: rowIds }).done(function (res) { SearchClick(true); }); } ); } else { main.alert("请选择要合成的交易流水"); return; } } function composeTodayTradeFlow() { var tradeNumber = $("#TradeNumber").val(); main.post("/swapTrade/composeTodayTradeFlow/", { tradeNumber: tradeNumber }).done(function (res) { SearchClick(true); }); } function reloadlist() { //重新加载 SearchClick(); } function SearchClick(isSearchclick) { var listGrid = $('#listGrid'); listGrid.appendPostData({ ClientNumber: $("#ClientNumber").val() }); listGrid.appendPostData({ TradeNumber: $("#TradeNumber").val() }); listGrid.appendPostData({ UnderlyingCode: $("#UnderlyingCode").val() }); listGrid.appendPostData({ TradeDateStart: $("#DateFromTradeDate").val() }); listGrid.appendPostData({ TradeDateEnd: $("#DateToTradeDate").val() }); listGrid.appendPostData({ AssetUnitNames: $("#AssetUnitNames").val()}); listGrid.appendPostData({ ExerciseDateStart: $("#DateFromExerciseDate").val() }); listGrid.appendPostData({ ExerciseDateEnd: $("#DateToExerciseDate").val() }); query_data = listGrid.jqGrid('getPostData'); if (typeof isSearchclick !== "undefined" && isSearchclick) { //点击搜索时默认第一页 listGrid.jqGrid('setGridParam', { page: 1 }); } listGrid.trigger('reloadGrid'); } 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; } //ESC $(document).keyup(function (event) { switch (event.keyCode) { case 27: window.parent.layer.closeAll(); $(".jconfirm-open").addClass("hide");//关闭取消分组弹层 } }); $(".morebtn").click(function (e) { $(".hidediv").toggle(); }); window.reloadData = reloadlist;