var _jqgridMgr; function setGridWidth($grid) { let $p = $grid.closest('.ui-jqgrid').parent() || $(".page-content"); let width = $p.width(); if ($p.is(".page-content")) { width -= 28; } $grid.jqGrid('setGridWidth', width); } function showToolName(cellValue, options, rowObject) { if (page.canEdit) { return "".template(rowObject.EncryptId, "修改", "删除"); } else { return ""; } } function percentFormat(cellValue, options, rowObject) { return cellValue ? (cellValue * 100).toFixed(2) + "%" : "0.00%"; } function MarginRateAdd() { var url = "/MarginRateSwap/MarginRateSwapEdit?type=" + _jqgridMgr.type; main.infopage("新增互换预付金率", url, { area: ['550px', '700px'] }); } function MarginRateEdit(id) { var url = "/MarginRateSwap/MarginRateSwapEdit?enid=" + id + "&type=" + _jqgridMgr.type; main.infopage("修改互换预付金率", url, { area: ['550px', '700px'] }); } function MarginRateDelete(id) { var url = "/MarginRateSwap/MarginRateSwapDelete?enid=" + id; main.post(url).done(function (res) { reload(); }); } function reload() { window.location.replace("/MarginRateSwap/MarginRateSwapList?tab=" + (_jqgridMgr.type == '多空组合' ? 2 : 1)); } function importFile() { $("#modalFileUpload").modal('show'); uploadfileInit(); $("#Content").width("680px") } function downTemplate() { window.open("../App_Docs/导入模板/互换预付金率导入模板.xlsx"); } function uploadMarginRate() { let fileName = $("#uploadfileButton").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) { $("#modalFileUpload").modal('hide'); main.alert(!data.totalNum ? '导入成功!' : "共 {0} 条数据,导入成功 {1} 条数据!".template(data.totalNum, data.successNum)); SearchClick() } else { main.alert("导入失败:" + data.msg); } } main.confirm("确定导入?", UploadFile.bind(null, { inputId: 'openFile', url: '/MarginRateSwap/ImportMagrinRate', success: success })); } function UploadFile(options) { if (!options || !options.url || !options.inputId) { throw '[UploadFile]参数错误'; } let file = $("#uploadfile").prop('files'); if (!file || !file[0]) return; file = file[0]; var formData = new FormData(); formData.append("file", file, file.name); formData.append("upload_file", true); $.ajax({ type: "POST", url: options.url, xhr: function () { var myXhr = $.ajaxSettings.xhr(); if (myXhr.upload) { myXhr.upload.addEventListener('progress', options.progressFn, false); } return myXhr; }, beforeSend() { main.waitMe("show"); }, success: options.success, error(error) { main.alert("导入失败:" + error.statusText); }, complete(result) { main.waitMe("hide"); $('#' + options.inputId).val(''); }, async: true, data: formData, cache: false, contentType: false, processData: false, timeout: 60000 }); } function SearchClick(isSearchclick) { var listGrid = $("#" + _jqgridMgr.gridId); listGrid.appendPostData({ ClientId: $("#ClientId").val() }); if (_jqgridMgr.gridId == "listGrid1") { listGrid.appendPostData({ VarietyId: $("#VarietyId").val() }); } query_data = listGrid.jqGrid('getPostData'); if (typeof isSearchclick !== "undefined" && isSearchclick) { //点击搜索时默认第一页 listGrid.jqGrid('setGridParam', { page: 1 }); } listGrid.trigger('reloadGrid'); } const jqgrid1Mgr = (new function () { const colGrid = [{ name: '', label: '操作', width: 160, formatter: showToolName, sortable: false, hidden: !page.canEdit, optionHide: !page.canEdit }, { name: 'id', hidden: true, optionHide: true }, { name: 'EncryptId', hidden: true, optionHide: true }, { name: 'ClientName', label: '客户名称', index: 'ClientId' }, { name: 'ValueDate', label: '生效日期', index: 'ValueDate', formatter: 'date' }, { name: 'SwapEndDays', label: '互换默认期限', index: 'SwapEndDays', formatter: function (cellValue, options, rowObject) { if (cellValue == null) { return ""; } return cellValue + "天"; } }, { name: 'InitMarginRate', label: '初始保证金率', index: 'InitMarginRate', formatter: percentFormat }, { name: 'MaintenanceRate', label: '维持保证金率', index: 'MaintenanceRate', formatter: percentFormat, }, { name: 'OptName', label: '操作人', index: 'OptName' }, { name: 'OptDate', label: '操作时间', index: 'OptDate', width: 90, formatter: 'date' }]; this.gridId = "listGrid1"; this.type = "普通"; function jqgrid_init() { var options = { url: '/MarginRateSwap/MarginRateSwapQuery', datatype: 'json', height: 'auto', width: '100%', autowidth: false, shrinkToFit: false, viewrecords: true, jsonReader: { repeatitems: false }, cmTemplate: { align: 'center', width: 120 }, mtype: 'POST', postData: { Type: "普通" }, colModel: colGrid, pager: $('#pagerGrid1'), pagerpos: 'left', rowNum: 20, rowList: [20, 30, 50, 200, 10000], loadComplete: gridComplete, footerrow: false }; let $grid = $('#listGrid1').jqGrid(options); setGridWidth($grid); return $grid; } var _jqgrid; this.show = function () { !_jqgrid && (_jqgrid = jqgrid_init()); $("#ProcessStatus").parents(".search-group").show(); _jqgridMgr = this; history.replaceState(null, null, '/MarginRateSwap/MarginRateSwapList?tab=1'); }; }()); const jqgrid2Mgr = (new function () { const colGrid = [{ name: '', label: '操作', width: 160, formatter: showToolName, sortable: false, hidden: !page.canEdit, optionHide: !page.canEdit }, { name: 'id', hidden: true, optionHide: true }, { name: 'EncryptId', hidden: true, optionHide: true }, { name: 'ClientName', label: '客户名称', index: 'ClientId' }, { name: 'Type', label: '类型', index: 'Type', hidden: page.isShanZheng, optionHide: page.isShanZheng }, { name: 'ValueDate', label: '生效日期', index: 'ValueDate', formatter: 'date' }, { name: 'InitMarginRate', label: '初始预付金率', index: 'InitMarginRate', formatter: percentFormat, hidden: page.isShanZheng, optionHide: page.isShanZheng }, { name: 'LongInitMarginRate', label: '多头期初预付金', index: 'LongInitMarginRate', formatter: percentFormat, hidden: !page.isShanZheng, optionHide: !page.isShanZheng }, { name: 'ShortInitMarginRate', label: '空头期初预付金', index: 'ShortInitMarginRate', formatter: percentFormat, hidden: !page.isShanZheng, optionHide: !page.isShanZheng }, { name: 'ClosePositionLine', label: '平仓线', index: 'ClosePositionLine', formatter: percentFormat, hidden: page.isShanZheng, optionHide: page.isShanZheng }, { name: 'WarningLine', label: '预警线', index: 'WarningLine', formatter: percentFormat, hidden: page.isShanZheng, optionHide: page.isShanZheng }, { name: 'OptName', label: '操作人', index: 'OptName' }, { name: 'OptDate', label: '操作时间', index: 'OptDate', width: 90, formatter: 'date' }]; this.gridId = "listGrid2"; this.type = "多空组合"; function jqgrid_init() { var options = { url: '/MarginRateSwap/MarginRateSwapQuery', datatype: 'json', height: 'auto', width: '100%', autowidth: false, shrinkToFit: false, viewrecords: true, jsonReader: { repeatitems: false }, cmTemplate: { align: 'center', width: 120 }, mtype: 'POST', postData: { Type: "多空组合" }, colModel: colGrid, pager: $('#pagerGrid2'), pagerpos: 'left', rowNum: 20, rowList: [20, 30, 50, 200, 10000], loadComplete: gridComplete, footerrow: false }; let $grid = $('#listGrid2').jqGrid(options); setGridWidth($grid); return $grid; } var _jqgrid; this.show = function () { !_jqgrid && (_jqgrid = jqgrid_init()); $("#ProcessStatus").parents(".search-group").show(); _jqgridMgr = this; history.replaceState(null, null, '/MarginRateSwap/MarginRateSwapList?tab=2'); }; }()); function tabChange() { switch (page.curTabIndex) { case "1": jqgrid1Mgr.show(); break; case "2": jqgrid2Mgr.show(); break; } } $(function () { document.onkeydown = function (event) { var e = event ? event : (window.event ? window.event : null); (e.keyCode === 13) && SearchClick(true); }; $('#myTab a').on('show.bs.tab', function () { switch ($(this).attr('href')) { case '#jqgridDiv1': $("[for=VarietyId]").parent().css("display", ""); return jqgrid1Mgr.show(); case '#jqgridDiv2': $("[for=VarietyId]").parent().css("display", "none"); return jqgrid2Mgr.show(); } }); $(window).on('resize.jqGrid', function () { setGridWidth($('#listGrid1')); setGridWidth($('#listGrid2')); }); tabChange() });