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

224 lines
11 KiB
Plaintext

@model ObservationDatesModel
@{
Layout = "~/Views/Shared/_InfoLayout.cshtml";
}
@section CSS{
<style>
.div-group { margin: 10px 0; }
.editObsBtn { float: right; margin-right: 36px; }
.interval { width: 80px !important; }
ol > span { width: 23%; }
li > input { width: 18% !important; }
.textleft { text-align: left; }
.simpletitle { display: inline-block; }
.showDatetitle { min-width: 100px; display: inline-block; }
.datevalue { min-width: 86px; margin-right: 0.9rem; }
.absolutevalue { margin-right: 0.9rem; }
.percentvalue { }
.boolvalue { width: 70px; margin-right: 0.9rem; }
</style>
}
@section JS
{
<script>
var model = @Html.JsonSerialize(Model);
</script>
<script src="~/Scripts/app/trade/tradeObservationDates.js?v=@(HtmlUtil.JsVersion)"></script>
}
<html>
<body>
<div class="yc-panel">
<div class="row no-gutters">
<div class="col-6 mb-2">
<span>观察日间隔</span>
<input type="number" class="interval" id="ObservationNum" value="@Model.ObservationNum" min="1" oninput="ObservationChange()" />
<select id="ObservationUnit" style="width: 40px;" onchange="ObservationChange()">
@foreach (var item in GlobalData.AllTimeUnits())
{
<option value="@item.Value" @(Model.ObservationUnit == item.Value ? "selected='selected'" : "" )>@item.Text</option>
}
</select>
</div>
<div class="col-6 mb-2">
@if (!Model.ShowCloseCheck)
{
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="firstDayCheck">
<label class="custom-control-label" for="firstDayCheck">首日观察</label>
</div>
}
</div>
<div class="col-12 mb-2">
<span>报送观察频率</span>
<input type="text" id="ObservationFrequency" class="interval" value="1" />
<select id="SelObservationUnit" style="width: 140px;" onchange="ObservationChange2()">
<option value="DAIL" selected>日度</option>
<option value="WEEK">周度</option>
<option value="MNTH">月度</option>
<option value="YEAR">年度</option>
@*互换产品可以设置term*@
@if (string.IsNullOrEmpty(Model.TradeType))
{
<option value="TERM">到期支付</option>
}
@*凤凰期权、雪球期权 敲入不得设置other*@
@if (Model.TradeType == "凤凰期权" || Model.TradeType == "雪球期权")
{
if (Model.BtnId.IndexOf("#KO") >= 0)
{
<option value="OTHER">其他</option>
}
}
else
{
<option value="OTHER">其他</option>
}
</select>
</div>
@if (Model.ShowDate2OffsetControl)
{
<div class="col-6 mb-2">
<span>@(Model.Date2OffsetControlTitle == null ? "日期2计算间隔" : Model.Date2OffsetControlTitle) T +</span>
<input type="number" class="interval" id="CouponDayInterval" min="0" value="@Model.CouponDayInterval" onkeypress="return(/[\d]/.test(String.fromCharCode(event.keyCode)))" />
</div>
}
<div class="col-12"></div>
<div class="col-6 mb-2">
<span>节假日调整</span>
@{
var ObservationHolidayTypes = new[] { ("向后调整", "Following"), ("向前调整", "Previous"), ("不调整", "None") };
}
<select id="ObservationHolidayType" style="width:120px">
@foreach (var (text, value) in ObservationHolidayTypes)
{
<option value="@value" @(Model.ObservationHolidayType == value ? "selected='selected'" : "" )>@text</option>
}
</select>
</div>
<div class="col-6 mb-2">
<span>对齐规则</span>
@{
var AlignEndTypes = new[] { ("向到期日对齐", "true"), ("向开始日对齐", "false") };
}
<select id="AlignEnd" style="width: 120px;">
@foreach (var (text, value) in AlignEndTypes)
{
<option value="@value" @(Model.AlignEnd == bool.Parse(value) ? "selected='selected'" : "" )>@text</option>
}
</select>
</div>
</div>
<div class="row mt-2">
<div class="col">
<button class="btn btn-sm btn-outline-danger" onclick="GetObservationDates()">生成观察日</button>
</div>
<div class="col">
<button class="btn btn-sm btn-outline-danger" onclick="SetObservationDates()">编辑观察日</button>
</div>
</div>
<div class="div-group">
<div id="divItems" class="searchdiv" style="text-align: center;padding-left: 0px;padding-right: 0px;margin: 0px;">
<ol id="ol" class="textleft">
<span class="showDatetitle">{{dateTitle1}} </span>
<span v-if="model.ShowDate2" class="showDatetitle">{{dateTitle2}}</span>
<span v-if="model.Title1" class="simpletitle">{{model.Title1}}</span>
<span v-if="model.Title2" class="simpletitle">{{model.Title2}}</span>
<span v-if="model.Title3" class="simpletitle">{{model.Title3}}</span>
<span v-if="model.ShowCloseCheck" class='simpletitle'><input type="checkbox" id="checkAllclose" v-model="checkedall" v-on:click="checkedAll()" />是否结算</span>
<li v-for="item in observationDatesarr" style="margin-top:0px;">
<input type='text' class='field1 datevalue' v-model="item.field0" />
<input v-if="model.ShowDate2" type='text' class='field4 datevalue' v-model="item.field3" />
<template v-if="model.Title1 && !model.IsTitle1Percent">
<input type='text' class='field2 absolutevalue' v-model="item.field1" />
</template>
<template v-else-if="model.Title1">
<input type='text' class='field2 percentvalue' v-model="item.field1" />%
</template>
<template v-if="model.Title2 && model.isTitle2TrueFalse">
<select class='field3' style='width: 70px;margin-right:1rem;' v-model="item.field2"><option value="false">False</option><option value="true" select>True</option></select>
</template>
<template v-else-if="model.Title2 && !model.IsTitle2Percent">
<input type='text' class='field3 absolutevalue' v-model="item.field2" />
</template>
<template v-else-if="model.Title2">
<input type='text' class='field3 percentvalue' v-model="item.field2" />%
</template>
<template v-if="model.Title3 && !model.IsTitle2Percent">
<input type='text' class='field4 absolutevalue' v-model="item.field3" />
</template>
<template v-else-if="model.Title3">
<input type='text' class='field4 percentvalue' v-model="item.field3" />%
</template>
<input v-if="model.ShowCloseCheck" type="checkbox" name="checkclose" class='field5' v-model="item.field2" v-on:click="checkedItem()" v-bind:disabled="lastDeleteCss&&item.field0==endDate" />
<a href='#' class='delete' v-on:click="deleteobservationDatesarr(item)"><span class='glyphicon glyphicon-remove'></span></a>
</li>
</ol>
<input type="button" class="btn btn-primary" v-on:click="addnewitem();" value="添加" />
</div>
<span>备注</span>
<textarea id='Comments' rows='2' name='Comments' class="text-box w-100 h-auto text-left">@Model.Comments</textarea>
</div>
<div class="div-group" style="text-align:center;">
<button class="btn btn-primary" onclick="Confirm()">确定</button>
<button class="btn btn-primary" onclick="closeParentWindow()">取消</button>
</div>
</div>
@if (!Model.HideTips)
{
<div class="div-group" style="margin: 1rem;">
<span>说明:</span><br />
<span>1. 未设置观察日的障碍、双鲨等,默认为每个交易日都是观察日</span><br />
<span>2. 雪球凤凰的敲入观察日,不设置则默认为每个交易日</span><br />
<span>3. 报送观察周期用于交易报送所需要填报的“观察周期”“观察周期系数”字段,不影响实际观察日的生成</span><br />
<span>4. 备注信息用于观察日规律的描述,会在交易报送等其他相关页面需要展示观察日列表时展示(适用于老版报送).</span><br />
<span>&nbsp;展示逻辑为:</span><br />
<span>&nbsp;&nbsp;未设置观察日列表->每日观察</span><br />
<span>&nbsp;&nbsp;已设置观察日列表;未设置备注->展示观察日列表</span><br />
<span>&nbsp;&nbsp;已设置观察日列表;已设置备注->展示备注内容</span>
</div>
}
<input type="hidden" id="startTime" value="@Model.startTime" />
<input type="hidden" id="endTime" value="@Model.endTime" />
<input type="hidden" id="btnId" value="@Model.BtnId" />
<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">
<textarea v-model="observationDates" style="width: 100%; min-height: 300px;" v-on:paste="pasteMe($event)"></textarea>
</div>
<!-- 模态框底部 -->
<div class="modal-footer">
<button type="button" class="btn" v-on:click="saveModal()">保存</button>
</div>
</div>
</div>
</div>
</body>
</html>