416 lines
26 KiB
Plaintext
416 lines
26 KiB
Plaintext
@using YLErp.Enums;
|
|
@model client_margin_template
|
|
|
|
@{
|
|
ViewBag.Title = "预付金模板 | 编辑";
|
|
Layout = "~/Views/Shared/_InfoLayout.cshtml";
|
|
|
|
var pageObj = new
|
|
{
|
|
isAdd = Model == null || Model.id == 0,
|
|
marginTemplates = ViewBag.MarginTemplates,
|
|
marginTemplate = ViewBag.MarginTemplate,
|
|
clientMarginTemplate = Model,
|
|
isGFSM = PS.Config.Company == CompanyEnum.广发商贸
|
|
};
|
|
}
|
|
|
|
@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 page = @Json.Serialize(pageObj);
|
|
</script>
|
|
<script src="@HtmlUtil.BasicDataJs("客户")"></script>
|
|
<script src="~/front/calendar?v=@(HtmlUtil.JsVersion)"></script>
|
|
<script src="~/Scripts/app/client/clientMarginTemplateEdit.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>
|
|
|
|
@if (pageObj.isGFSM)
|
|
{
|
|
<div class="form-group">
|
|
<label class="formlabel">客户等级</label>
|
|
<select v-model="clientMarginTemplate.ClientLevel" :disabled="isClientLevelDisabled" id="ClientLevel">
|
|
<option value="">---</option>
|
|
<option v-for="item in clientLevels" :value="item.Value">{{item.Text}}</option>
|
|
</select>
|
|
</div>
|
|
}
|
|
<div class="form-group">
|
|
<label class="formlabel">客户名称</label>
|
|
<select v-model="clientMarginTemplate.ClientId" :disabled="isClientNameDisabled" id="ClientId">
|
|
<option value="0">---</option>
|
|
<option v-for="item in clientNames" :value="item.Value">{{item.Text}}</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="formlabel">模板名称</label>
|
|
<select v-model="clientMarginTemplate.MarginTemplateId" v-on:change="changeMarginTemplate()">
|
|
<option v-for="item in marginTemplates" v-bind:value="item.id">
|
|
{{item.Name}}
|
|
</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="formlabel">适用结构</label>
|
|
<input class="text-box" v-model="marginTemplate.TradeTypes" id="suitableType" disabled />
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="formlabel">生效日期</label>
|
|
<vue-datepicker v-model="clientMarginTemplate.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">
|
|
@if (PS.Config.Company == CompanyEnum.广发商贸)
|
|
{
|
|
<template v-if="marginTemplate.RuleType == @((int)MarginRuleTypeEnum.默认预付金规则)">
|
|
<div class="form-group">
|
|
<label class="formlabel">Span涨跌幅选择</label>
|
|
<select v-model="detail.SpanConfig.SpanRateType" disabled>
|
|
<option value="@((int)DetailSpanRateTypeEnum.Span涨跌幅度)">@DetailSpanRateTypeEnum.Span涨跌幅度.ToString()</option>
|
|
<option value="@((int)DetailSpanRateTypeEnum.Span涨跌幅度2)">@DetailSpanRateTypeEnum.Span涨跌幅度2.ToString()</option>
|
|
</select>
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="formlabel">初始预付金系数</label>
|
|
<input class="text-box" v-model="detail.SpanConfig.InitialMarginFactor" disabled />
|
|
</div>
|
|
<div class="form-group">
|
|
<label class="formlabel">发生追保时系数</label>
|
|
<input class="text-box" v-model="detail.SpanConfig.CoefficientFactor" disabled/>
|
|
</div>
|
|
</template>
|
|
}
|
|
<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()">×</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> |