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

367 lines
23 KiB
Plaintext

@using YLErp.Enums;
@model List<margin_template_v2>
@{
ViewBag.Title = "预付金模板 | 编辑";
Layout = "~/Views/Shared/_InfoLayout.cshtml";
var pageObj = new
{
marginTemplates = Model,
marginTemplate = new margin_template_v2() { RuleType = -1 },
tradeMarginTemplate = new trade_margin_template() { TradeId = ViewBag.TradeId, ValueDate = valuedateBLL.ValueDate },
latestValueDate = ViewBag.LatestValueDate
};
}
@section CSS{
<link href="~/Style/Css/margin_template_v2Edit.css?v=@(HtmlUtil.JsVersion)" rel="stylesheet" />
<style>
.search-group span {
display: inline-block;
min-width: 160px;
margin: 0 8px 0 0;
text-align: right;
vertical-align: middle;
}
.search-group a span {
text-align: left;
}
</style>
}
@section JS{
<script type="text/javascript">
//const pageVue = @Json.Serialize(Model);
const page = @Json.Serialize(pageObj);
</script>
<script src="~/front/calendar?v=@(HtmlUtil.JsVersion)"></script>
<script src="~/Scripts/app/trade/tradeMarginTemplateEdit.js?v=@HtmlUtil.JsVersion"></script>
}
<form id="marginTemplateV2Form" method="post" onsubmit="return false;">
<div class="row no-gutters">
<div class="col form-layout" style="height: 520px; overflow-y: auto;">
<div class="border">
<P>新模板信息</P>
<div class="form-group">
@Html.MyAceDropdownInput("MarginTemplateId", "模板名称", Model.Select(p => new SelectItem { Value = p.id.ToString(), Text = p.Name }).ToList(), multiple: false, appendEmptyAll: false)
</div>
<div class="form-group">
<label class="formlabel">生效日期</label>
<vue-datepicker v-model="tradeMarginTemplate.ValueDate" class="text-box"></vue-datepicker>
</div>
<div class="form-group">
<label class="formlabel">规则类型</label>
<input class="text-box" v-model="marginTemplate.MarginTypeName" disabled />
</div>
</div>
<div class="border">
<div class="form-group">
<label class="formlabel">预付金规则</label>
<input class="text-box" v-model="marginTemplate.RuleTypeName" disabled />
</div>
<div class="form-group">
<label class="formlabel">规则描述</label>
<textarea class="text-box" rows="3" style="width: 320px; text-align:left;" v-model="marginTemplate.Comments" v-bind:title="marginTemplate.Comments" disabled>
</textarea>
</div>
</div>
</div>
<div class="col form-layout" style="height: 520px; overflow-y:auto;">
<template v-for="(detail,index) in marginTemplate.Details">
<div class="border detail">
<div class="row no-gutters">
<div class="col">
<template v-if="marginTemplate.RuleType == @((int)MarginRuleTypeEnum.按固定利率) || marginTemplate.RuleType == @((int)MarginRuleTypeEnum.按浮动盈亏)">
<div class="form-group">
<label class="formlabel">持仓预付金率</label>
<vue-number-input v-model="detail.MarginRatio2" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">是否使用持仓名义本金</label>
<select v-model="detail.UsePositionStockEqvNotional" disabled>
<option value="false">否</option>
<option value="true">是</option>
</select>
</div>
</template>
<template v-if="marginTemplate.RuleType == @((int)MarginRuleTypeEnum.类香草预付金规则)">
<div class="form-group">
<label class="formlabel">初始预付金率</label>
<vue-number-input v-model="detail.MarginRatio1" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">临时预付金率1</label>
<vue-number-input v-model="detail.MarginRatio2" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">临时预付金率2</label>
<vue-number-input v-model="detail.MarginRatio3" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">临时预付金率3</label>
<vue-number-input v-model="detail.MarginRatio4" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">是否内含价值</label>
<select v-model="detail.IsIntrinsicValue" disabled>
<option value="false">否</option>
<option value="true">是</option>
</select>
</div>
</template>
<template v-if="marginTemplate.RuleType == @((int)MarginRuleTypeEnum.触发条件预付金规则1) || marginTemplate.RuleType == @((int)MarginRuleTypeEnum.触发条件预付金规则2)">
<div class="form-group">
<label class="formlabel">预付金率</label>
<vue-number-input v-model="detail.MarginRatio1" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">维持预付金率</label>
<vue-number-input v-model="detail.MarginRatio2" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">触发追保跌幅</label>
<vue-number-input v-model="detail.RedeemPriceLimit" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">是否使用行权价</label>
<select v-model="detail.IsUseStrike" disabled>
<option value="false">否</option>
<option value="true">是</option>
</select>
</div>
<div class="form-group">
<label class="formlabel">最大跌幅限制</label>
<vue-number-input v-model="detail.RedeemPriceMax" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
</template>
<template v-if="marginTemplate.RuleType == @((int)MarginRuleTypeEnum.触发条件预付金规则3)">
<div class="form-group">
<label class="formlabel">预付金比率</label>
<vue-number-input v-model="detail.MarginRatio1" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">持仓预付金比率</label>
<vue-number-input v-model="detail.MarginRatio3" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">是否使用持仓名义本金</label>
<select v-model="detail.UsePositionStockEqvNotional" disabled>
<option value="false">否</option>
<option value="true">是</option>
</select>
</div>
<div class="form-group">
<label class="formlabel">涨跌幅类型</label>
<select v-model="detail.PriceLimitType" disabled>
<option value="0">跌幅</option>
<option value="1">涨幅</option>
</select>
</div>
<div class="form-group">
<label class="formlabel">触发追保比例</label>
<vue-number-input v-model="detail.RedeemPriceLimit" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">是否使用行权价</label>
<select v-model="detail.IsUseStrike" disabled>
<option value="false">否</option>
<option value="true">是</option>
</select>
</div>
<div class="form-group">
<label class="formlabel">最大涨跌幅限制</label>
<vue-number-input v-model="detail.RedeemPriceMax" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">追加比例</label>
<vue-number-input v-model="detail.MarginRatio2" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
</template>
<template v-if="marginTemplate.RuleType == @((int)MarginRuleTypeEnum.标准SPAN)">
<div class="form-group">
<label class="formlabel">标的价格变化幅度a</label>
<select v-model="detail.IsUsePriceLimit" disabled>
<option value="true">单日标的涨跌幅配置</option>
<option value="false">无</option>
</select> * <vue-number-input v-model="detail.MarginRatio1" v-bind:format="inputFormatPercent" disabled></vue-number-input> * St
</div>
<div class="form-group">
<label class="formlabel">标的波动率变化幅度b</label>
<vue-number-input v-model="detail.MarginRatio2" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<div style="margin-left: 25px;">
当计算维持预付金时,最后与初始预付金的 <vue-number-input v-model="detail.ComparedInitialMarginRate" v-bind:format="inputFormatPercentNegative" disabled></vue-number-input> 取较大值。
</div>
</div>
</template>
<template v-if="marginTemplate.RuleType == @((int)MarginRuleTypeEnum.买入自动赎回规则1) || marginTemplate.RuleType == @((int)MarginRuleTypeEnum.卖出自动赎回规则1)">
<div class="form-group">
<label class="formlabel">x</label>
<vue-number-input v-model="detail.MarginRatio1" v-bind:format="marginTemplate.RuleType == @((int)MarginRuleTypeEnum.买入自动赎回规则1) ? inputFormatNegative : inputFormatPercentNegative" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">y</label>
<vue-number-input v-model="detail.MarginRatio2" v-bind:format="marginTemplate.RuleType == @((int)MarginRuleTypeEnum.买入自动赎回规则1) ? inputFormatNegative : inputFormatPercentNegative" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">是否取与保底金额孰小</label>
<select v-model="detail.IsNeedCompare" disabled>
<option value="false">否</option>
<option value="true">是</option>
</select>
</div>
<div class="form-group">
<div style="margin-left: 25px;">
当计算维持预付金时,最后与初始预付金的 <vue-number-input v-model="detail.ComparedInitialMarginRate" v-bind:format="inputFormatPercentNegative" disabled></vue-number-input> 取较大值。
</div>
</div>
</template>
</div>
</div>
</div>
</template>
</div>
</div>
<div class="form-buttons">
<button class="btn btn-primary" type="button" v-on:click="saveMarginTemplateV2">保存</button>
<button class="btn btn-primary" type="button" onclick="layer.closeMe()">关闭</button>
</div>
</form>
<div class="modal fade" id="myModal" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<!-- 模态框头部 -->
<div class="modal-header">
<h4 class="modal-title">参数设置</h4>
<button type="button" class="close" v-on:click="closeModal()">&times;</button>
</div>
<!-- 模态框主体 -->
<div class="modal-body">
<div class="form-group">
<label class="formlabel">生效日期</label>
<vue-datepicker v-model="detail.ValueDate" class="text-box" disabled></vue-datepicker>
</div>
<template v-if="ruleType == @((int)MarginRuleTypeEnum.按固定利率) || ruleType == @((int)MarginRuleTypeEnum.按浮动盈亏)">
<div class="form-group">
<label class="formlabel">持仓预付金率</label>
<vue-number-input v-model="detail.MarginRatio2" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">是否使用持仓名义本金</label>
<select v-model="detail.UsePositionStockEqvNotional" disabled>
<option value="false">否</option>
<option value="true">是</option>
</select>
</div>
</template>
<template v-if="ruleType == @((int)MarginRuleTypeEnum.类香草预付金规则)">
<div class="form-group">
<label class="formlabel">初始预付金率</label>
<vue-number-input v-model="detail.MarginRatio1" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">临时预付金率1</label>
<vue-number-input v-model="detail.MarginRatio2" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">临时预付金率2</label>
<vue-number-input v-model="detail.MarginRatio3" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">临时预付金率3</label>
<vue-number-input v-model="detail.MarginRatio4" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">是否内含价值</label>
<select v-model="detail.IsIntrinsicValue" disabled>
<option value="false">否</option>
<option value="true">是</option>
</select>
</div>
</template>
<template v-if="ruleType == @((int)MarginRuleTypeEnum.触发条件预付金规则1) || ruleType == @((int)MarginRuleTypeEnum.触发条件预付金规则2)">
<div class="form-group">
<label class="formlabel">预付金率</label>
<vue-number-input v-model="detail.MarginRatio1" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">维持预付金率</label>
<vue-number-input v-model="detail.MarginRatio2" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">触发追保跌幅</label>
<vue-number-input v-model="detail.RedeemPriceLimit" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">是否使用行权价</label>
<select v-model="detail.IsUseStrike" disabled>
<option value="false">否</option>
<option value="true">是</option>
</select>
</div>
<div class="form-group">
<label class="formlabel">最大跌幅限制</label>
<vue-number-input v-model="detail.RedeemPriceMax" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
</template>
<template v-if="ruleType == @((int)MarginRuleTypeEnum.触发条件预付金规则3)">
<div class="form-group">
<label class="formlabel">预付金比率</label>
<vue-number-input v-model="detail.MarginRatio1" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">持仓预付金比率</label>
<vue-number-input v-model="detail.MarginRatio3" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">是否使用持仓名义本金</label>
<select v-model="detail.UsePositionStockEqvNotional" disabled>
<option value="false">否</option>
<option value="true">是</option>
</select>
</div>
<div class="form-group">
<label class="formlabel">涨跌幅类型</label>
<select v-model="detail.PriceLimitType" disabled>
<option value="0">跌幅</option>
<option value="1">涨幅</option>
</select>
</div>
<div class="form-group">
<label class="formlabel">触发追保比例</label>
<vue-number-input v-model="detail.RedeemPriceLimit" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">是否使用行权价</label>
<select v-model="detail.IsUseStrike" disabled>
<option value="false">否</option>
<option value="true">是</option>
</select>
</div>
<div class="form-group">
<label class="formlabel">最大涨跌幅限制</label>
<vue-number-input v-model="detail.RedeemPriceMax" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel">追加比例</label>
<vue-number-input v-model="detail.MarginRatio2" v-bind:format="inputFormatPercent" disabled></vue-number-input>
</div>
</template>
</div>
</div>
</div>
</div>