Files
zszq-trs/YLErpWeb/Views/trade/tradeMarginTemplateList.cshtml
T
2024-05-09 14:06:26 +08:00

265 lines
12 KiB
Plaintext

@{
ViewBag.Title = "交易预付金模板列表";
Layout = "~/Views/Shared/_MainLayout.cshtml";
}
@section JS{
<script type="text/javascript">
var g_grid = {};
$(function () {
@Html.Raw(JqGridSimple.OutGrid("",true,rowNum:500,height:"500px"));
g_grid = jQuery('#listGrid');
g_grid.setGridParam("rowNum", 500);
function keyEnter(event) {
try {
var e = event ? event : (window.event ? window.event : null);
(e.keyCode == 13) && SearchClick(true);
} catch (e) { }
}
document.onkeydown = keyEnter;
g_grid.setGridParam({ url: "/trade/tradeMarginTemplateQuery" });
$(".datepicker").datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
showOtherMonths: true,
selectOtherMonths: true
});
gridComplete();
});
const MarginRuleTypeEnum = {
无预付金: "0",
按固定利率: "1",
按浮动盈亏: "2",
类香草预付金规则: "3",
自动赎回买入预付金规则: "4",
触发条件预付金规则1: "5",
触发条件预付金规则2: "6",
保底预付金规则: "7",
含赔付预付金计算规则: "8",
触发条件预付金规则3: "9",
交易所基本规则: "10",
单独计算规则: "98"
};
var colModelGrid = [{
name: 'id', label: 'id', index: 'id', width: 1, hidden: true, optionHide: true
}, {
name: '', label: '操作', index: '', width: 130, formatter: showToolName, sortable: false, optionHide: true
}, {
name: 'MarginTemplateName', label: '预付金模板', index: 'MarginTemplateName', width: 150
}, {
name: 'MarginRuleTypeName', label: '预付金规则', index: 'MarginRuleTypeName', width: 150
}, {
name: 'ValueDate', label: '最新生效日期', index: 'ValueDate', width: 120, formatter: DateFormat
}, {
name: 'EncryptTradeId', label: 'EncryptTradeId', index: 'EncryptTradeId', width: 1, hidden: true, optionHide: true
}, {
name: 'TradeId', label: 'TradeId', index: 'TradeId', width: 1, hidden: true, optionHide: true
}, {
name: 'TradeStatus', label: '交易状态', index: 'TradeStatus', width: 120
}, {
name: 'TradeNumber', label: '交易编号', index: 'TradeNumber', width: 150
}, {
name: 'ClientName', label: '交易对手方', index: 'ClientName', width: 150
}, {
name: 'TradeType', label: '结构类型', index: 'TradeType', width: 120
},
{
name: 'InitialMargin', label: '初始预付金', index: 'InitialMargin', width: 150, formatter: otcformat.trading.tradePrice
},
{
name: 'TradeDate', label: '交易日期', index: 'TradeDate', width: 110, formatter: datefomat2
},
{
name: 'ExerciseDate', label: '到期日期', index: 'ExerciseDate', width: 110, formatter: datefomat2
},
{
name: 'BuySell', label: '交易方向', index: 'BuySell', width: 80
},
{
name: 'UnWindDate', label: '交易终止日', index: 'UnWindDate', width: 110, formatter: datefomat2
}];
function DateFormat(cellValue, options, rowObject) {
if (rowObject.MarginTemplateId > 0) {
return moment(cellValue).format("YYYY-MM-DD");
}
}
function showToolName(cellValue, options, rowObject) {
var imageHtml = "<input type=\"button\" class=\"wentiEdit\" onclick=\"setTradeMarginTemplate('{0}')\" value=\"{1}\" />".template(rowObject.TradeId, "预付金配置")
return imageHtml;
}
function setTradeMarginTemplate(id) {
var editurl = "/trade/tradeMarginTemplateEdit/?tradeId=" + id;
main.infopage("设置交易预付金", editurl, { area: ['1480px', '800px'] });
}
function batchSetInitialMargin() {
var postData = {
ClientId: $("#ClientId").val(),
TradeNumber: $("#TradeNumber").val(),
MarginRuleType: $("#MarginRuleType").val(),
IsDefault: $("#IsDefault").val(),
DateFromTradeDate: $("#DateFromTradeDate").val(),
DateToTradeDate: $("#DateToTradeDate").val(),
DateFromExerciseDate: $("#DateFromExerciseDate").val(),
DateToExerciseDate: $("#DateToExerciseDate").val(),
TradeTypes: $("#TradeTypes").val(),
TradeStatus: $("#TradeStatus").val(),
DateFromUnwindDate: $("#DateFromUnwindDate").val(),
DateToUnwindDate: $("#DateToUnwindDate").val(),
BuySell: $("#BuySell").val(),
InitialMargin: $("#InitialMargin").val(),
MarginTemplate: $("#MarginTemplate").val()
};
main.post("/trade/batchSetInitialMargin", postData).done(function (res) {
SearchClick();
});
}
function reloadmargin_template(updateobj) {
var listGrid = $('#listGrid');
var rowData = listGrid.getRowData(updateobj.Id);
rowData.MarginTemplateName = updateobj.TempleteName;
rowData.MarginRuleTypeName = updateobj.RuleTypeName;
rowData.ValueDate = updateobj.ValueDate;
rowData.MarginTemplateId = updateobj.TempleteId;
rowData.InitialMargin = updateobj.InitialMargin;
listGrid.setRowData(updateobj.Id, rowData);
console.log(updateobj);
//重新加载
//SearchClick();
}
function SearchClick(isSearchclick) {
var listGrid = $('#listGrid');
UpdatePostData(listGrid);
if (typeof (isSearchclick) != "undefined" && isSearchclick) {
//点击搜索时默认第一页
listGrid.jqGrid('setGridParam', { page: 1 });
}
listGrid.trigger('reloadGrid');
}
function rowdblclick(rowid) {
var rowData = $(this).getRowData(rowid);
if (rowData.EncryptTradeId && rowData.TradeType) {
starttradeView(rowData.EncryptTradeId, rowData.TradeType);
}
}
function starttradeView(enid, tradeType) {
if (tradeType.indexOf("远期") >= 0) {
let srcurl = "/forwardtrade/tradeView/?enid=" + enid + "&isOnlyCloseButton=true";
main.open("查看远期交易", srcurl);
}
else {
let srcurl = "/trade/tradeView/?enid=" + enid + "&isOnlyCloseButton=true";
main.open("查看交易", srcurl, { area: ['1260px', '100%'], scrollbar: false });
}
}
function exportTradeMarginTemplate() {
//重新加载
SearchClick();
var listGrid = $('#listGrid');
UpdatePostData(listGrid);
listGrid.appendPostData({ page: 1 });
main.toExcel("listGrid", "交易预付金配置", "xls", null, " ,操作者,操作时间,操作");
}
function exportCurrentPageTradeMarginTemplate() {
var listGrid = $('#listGrid');
//UpdatePostData(listGrid);
//alert(listGrid.getGridParam('rowNum') );
//listGrid.appendPostData({ page: listGrid.getGridParam('page') });
//listGrid.appendPostData({ rows: listGrid.getGridParam('rowNum') });
rowIds = listGrid.jqGrid('getGridParam', 'selarrrow');
if (rowIds.length == 0) {
main.message("请选择要导出的数据");
return false;
}
main.toExcel("listGrid", "交易预付金配置", "xls", null, " ,操作者,操作时间,操作");
}
function UpdatePostData(listGrid) {
listGrid.appendPostData({ ClientId: $("#ClientId").val() });
listGrid.appendPostData({ TradeNumber: $("#TradeNumber").val() });
listGrid.appendPostData({ MarginRuleType: $("#MarginRuleType").val() });
listGrid.appendPostData({ IsDefault: $("#IsDefault").val() });
listGrid.appendPostData({ DateFromTradeDate: $("#DateFromTradeDate").val() });
listGrid.appendPostData({ DateToTradeDate: $("#DateToTradeDate").val() });
listGrid.appendPostData({ DateFromExerciseDate: $("#DateFromExerciseDate").val() });
listGrid.appendPostData({ DateToExerciseDate: $("#DateToExerciseDate").val() });
listGrid.appendPostData({ TradeTypes: $("#TradeTypes").val() });
listGrid.appendPostData({ TradeStatus: $("#TradeStatus").val() });
listGrid.appendPostData({ DateFromUnwindDate: $("#DateFromUnwindDate").val() });
listGrid.appendPostData({ DateToUnwindDate: $("#DateToUnwindDate").val() });
listGrid.appendPostData({ BuySell: $("#BuySell").val() });
listGrid.appendPostData({ InitialMargin: $("#InitialMargin").val() });
listGrid.appendPostData({ MarginTemplate: $("#MarginTemplate").val() });
}
function datefomat2(cellValue, options, rowObject) {
if (!cellValue) {
return "--";
}
else {
return cellValue.substring(0, 10);
}
}
function showcolumnChooser() {
var jgrid = jQuery('#listGrid');
main.showcolumnChooser(jgrid,"@(configcolumn_data.交易预付金配置)");
}
function gridComplete() {
main.setcolumnChooser(jQuery('#listGrid'), "@(configcolumn_data.交易预付金配置)");
}
</script>
}
<div class="searchdiv">
<div class="first-wrap-gtja">
@Html.ShortInput("TradeNumber", "交易编号")
@Html.MyAceDropdownInput("ClientId", "客户名称", ClientDataModel.GetAllClient(), false, true, null, false)
@Html.SearchDateRange("TradeDate", "交易日期:")
@Html.SearchDateRange("ExerciseDate", "到期日期:")
@{
var types = ConsTrade.OptionTradeTypes.Concat(new[] { /*"结构化交易",*/ "黑箱结构" }).ToList();
}
@Html.MyAceDropdownInput("TradeTypes", "结构类型", GlobalData.GetSelectItems(types))
@Html.MyAceDropdownInput("TradeStatus", "交易状态:", GlobalData.GetSelectItems(ConsTrade.AllTradeStatus), true)
@Html.SearchDateRange("UnwindDate", "交易终止日")
@Html.MyAceDropdownInput2("BuySell", "交易方向", GlobalData.GetSelectItems(new List<string> { "买入", "卖出" }))
@Html.MyAceDropdownInput2("InitialMargin", "初始预付金", new List<SelectItem> { new SelectItem { Value = "0", Text = "全部" }, new SelectItem { Value = "1", Text = "=0" }, new SelectItem { Value = "2", Text = "!=0" } })
@Html.MyAceDropdownInput("MarginTemplate", "预付金模板", tradeController.GetTradeMarginTemplateList())
@Html.MyAceDropdownInput2("MarginRuleType", "预付金规则", margin_template_v2Controller.GetAllRuleType())
@Html.MyAceDropdownInput2("IsDefault", "全局组合", GlobalData.GetSelectItems(new Dictionary<string, string> { { "否", "0" }, { "是", "1" } }))
<div style="width: 30px; display: inline;margin-right:50px;" onclick="showcolumnChooser();return false;">
<img src="~/Images/configure.png" />
</div>
</div>
</div>
<div class="searchdiv">
@MyControls.SearchBtn()
<button class="btn btn-primary" type="button" onclick="batchSetInitialMargin()">批量初始预付金计算</button>
<button class="btn btn-primary" type="button" onclick="exportTradeMarginTemplate()">导出</button>
<button class="btn btn-primary" type="button" onclick="exportCurrentPageTradeMarginTemplate()">导出所选数据</button>
</div>
@Html.Raw(JqGridSimple.OutTable())