265 lines
12 KiB
Plaintext
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()) |