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

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()">&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>