Files
zszq-trs/YLErpWeb/wwwroot/Scripts/app/marginRate/marginRateSwapList.js
T

313 lines
10 KiB
JavaScript

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 "<input type=\"button\" class=\"wentiEdit\" title='修改预付金率' onclick=\"MarginRateEdit('{0}')\" value=\"{1}\" /><input type=\"button\" class=\"wentiEdit\" title='删除预付金率' onclick=\"MarginRateDelete('{0}')\" value=\"{2}\" />".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: 'InitMarginRate', label: '期初预付金', index: 'InitMarginRate', formatter: percentFormat
}}, {
name: 'InitMarginRebateRate', label: '期初预付金利率', index: 'InitMarginRebateRate', formatter: percentFormat,
}, {
name: 'AddToMarginRebateRate', label: '追加预付金利率', index: 'AddToMarginRebateRate', 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()
});