Files
zszq-trs/YLErpWeb/Views/eod_trade_value/eodExecV2.cshtml
T

277 lines
13 KiB
Plaintext

@model YLErp.Configuration.SettlementConfig
@{
ViewBag.Title = "收盘操作";
Layout = "~/Views/Shared/_MainLayout.cshtml";
var pageObj = new
{
valueDate = valuedateBLL.ValueDate.ToString("yyyy-MM-dd"),
minValueDate = valuedateBLL.ValueDate.AddYears(-5).ToString("yyyy-MM-dd"),
checkResult = new YLErp.Modules.EodModule.EodCurrencyCheckResult(),
isAutoDelaySettlement = PS.Config.IsAutoDelaySettlement,
};
var allVolTypes = SettlementViewModel.GetVolTypes();
var checkedVolTypes = Model.VolTypes.Split(',').Where(n => !string.IsNullOrWhiteSpace(n)).ToArray();
var dispaly = PS.Config.Is浙商 ? "display:none" : "";
}
@section CSS {
<link href="~/Style/Css/eodExecV2.css?v=@HtmlUtil.JsVersion" rel="stylesheet" />
}
@section JS {
<script>
const page = @Json.Serialize(pageObj);
</script>
<script src="~/Scripts/app/eod/eodExecV2.js?v=@(HtmlUtil.JsVersion)"></script>
}
<div class="yc-panel">
<div class="row">
<h6 class="float-left">异常标的预警:&nbsp;</h6>
<div class="underlycss" id="underlycss" style="">
<span id="tradeUnderly"></span>
</div>
<div class="float-right">
&nbsp;
<a href="javascript:;" onclick="checkExerciseTradeUnderly(true)"><i class="fa fa-refresh"></i></a>
上次刷新时间:<span id="updateTradeUnderlyDate"></span>
</div>
</div>
</div>
<div class="yc-panel">
<h3 class="card-title">收盘操作</h3>
<p style="color:red">(注:执行历史收盘时请务必按照顺序,连续执行到最近收盘日期,否则报表中数据可能会产生误差!)</p>
<hr />
<form id="form1" onsubmit="return false" autocomplete="off">
<div>
<span class="mr-1">&emsp;开始日期:</span>
<input type="text" class="datepicker" id="startDate" value="@(pageObj.valueDate)" name="StartDate" placeholder="请输入开始日期" autocomplete="off">
<span class="ml-3 mr-1">结束日期:</span>
<input type="text" class="datepicker" id="endDate" value="@(pageObj.valueDate)" name="EndDate" placeholder="请输入结束日期" autocomplete="off">
</div>
<div class="mt-4">
<span class="mr-1">&emsp;价格模式:</span>
<label class="mr-2"><input type="checkbox" name="PriceType" class="mr-1" value="1" @((Model.PriceType & 1) > 0 ? "checked" : "") />收盘价&emsp;&emsp;</label>
@* <label class="mr-2" style="@dispaly"><input type="checkbox" name="PriceType" class="mr-1" value="2" @((Model.PriceType & 2) > 0 ? "checked" : "") />结算价&emsp;&emsp;</label> *@
</div>
<div class="mt-4" style="@dispaly">
<span class="mr-1">波动率类型:</span>
@foreach (var item in allVolTypes)
{
var _checked = checkedVolTypes.Contains(item.Value) ? "checked" : "";
<label class="mr-2"><input type="checkbox" name="VolTypes" class="mr-1" value="@(item.Value)" @(_checked) />@(item.Text)</label>
}
</div>
@if (PS.Config.Company == CompanyEnum.国元固收)
{
<div class="mt-4">
<span class="mr-1">&emsp;定价环境:</span>
<label class="mr-2"><input type="checkbox" name="DividendRateTypes" class="mr-1" value="业务" checked disabled />业务</label>
<label class="mr-2"><input type="checkbox" name="DividendRateTypes" class="mr-1" value="采集" checked />采集</label>
</div>
}
@if (Model.SubCustomerPart)
{
<div class="mt-4">
@Html.MyAceDropdownInput("ClientIds", "选收盘客户:", ClientDataModel.GetAllOpenClient(isContainClosed: true), appendEmptyAll: false)
</div>
}
@if (Model.SupportPart)
{
<div class="mt-4 border">
<div class="small" style="color:gray">&emsp;*&nbsp;重新结算时适用</div>
<div class="m-2">
<span class="mr-1">&emsp;部分结算:</span>
<select name="PartFlag">
<option>全部</option>
<option value="场外">场外交易</option>
<option value="场内">场内交易</option>
</select>
@*<input type="text" id="selClient" name="" class="text-box" placeholder="选择客户单独结算" />*@
</div>
</div>
}
<div class="mt-4">
<span style="margin-left:100px;"></span>
@if (PS.Config.ErpElement.SupportMultiCurrency)
{
<button class="btn btn-primary" onclick="vueCheck.show()">汇率检查</button>
}
@* <button class="btn btn-primary ml-3" onclick="saveEodKnowInOut()" style="@dispaly">期权自动敲入敲出</button> *@
@if (System.Diagnostics.Debugger.IsAttached)
{
<button class="btn btn-primary ml-3" onclick="saveEodTask(true)">执行调试</button>
}
else
{
if (CurUser.结算管理_收盘操作)
{
<button class="btn btn-primary ml-3" onclick="saveEodTask()">执行</button>
}
}
</div>
</form>
<hr />
<div>
<a class="btn btn-link" href="/eod_trade_value/EodHistory" target="_blank">收盘历史</a>
@if (CurUser.结算管理_日终价格查看)
{
<a class="btn btn-link" href="/eodPrice/eodPriceList" target="_blank">日终价格管理</a>
}
@if (CurUser.结算管理_债券付息数据查看)
{
<a class="btn btn-link" href="/BondPayment/BondPaymentList" target="_blank">债券付息数据</a>
}
@if (CurUser.结算管理_结算汇率查看)
{
<a class="btn btn-link" href="/eod_currency_rate/eod_currency_rateList" target="_blank">结算汇率设置</a>
}
@if (PS.Config.Company == CompanyEnum.中金)
{
<a class="btn btn-link" href="javascript:;" onclick="checkSettlePrice()">日终价格检查</a>
}
@if (PS.Config.IsGuoJun)
{
<a class="btn btn-link" href="javascript:;" onclick="exportswap()">互换持仓明细导入</a>
}
@if (CurUser.结算管理_预付金持仓波动率设置)
{
<a class="btn btn-link" href="/trade_vol/TradeVolList" target="_blank">预付金持仓波动率设置</a>
}
</div>
</div>
<div class="yc-panel">
<div class="row">
<h3 class="col">执行报告</h3>
<div class="col-auto">
<a href="javascript:;" onclick="reportMgr.loadReport('refresh')"><i class="fa fa-refresh"></i></a>
</div>
</div>
<hr />
<div id="eodtaskReportWrap"></div>
<div class="text-right">
<a href="javascript:;" class="btn btn-link" onclick="reportMgr.loadReport('modal')">更多</a>
</div>
</div>
<div class="yc-panel">
<div class="row">
<h3 class="col">收盘历史</h3>
<div class="col-auto">
<a href="javascript:;" onclick="reloadEodHistory()"><i class="fa fa-refresh"></i></a>
</div>
</div>
<hr />
<div id="EodHistoryTableCont">
@await Html.PartialAsync("_EodHistoryTable", ViewData["EodHistory"])
</div>
<div class="text-right">
<a href="/eod_trade_value/EodHistory" target="_blank" class="btn btn-link">更多</a>
</div>
</div>
<div class="modal" tabindex="-1" id="modalEodTaskReport">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">执行报告</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" style="max-height:800px;overflow-y:auto;">
<div id="eodtaskReportWrap2"></div>
</div>
</div>
</div>
</div>
@if (PS.Config.ErpElement.SupportMultiCurrency)
{
<div class="modal" tabindex="-1" id="modalCheck" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">汇率检查</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<div class="row mb-4 no-gutters">
<label class="col-auto text-right" style="width:150px;line-height:28px;">日期:</label>
<div class="col">
<div class="input-group">
<input class="datepicker" v-model="checkDate" type="text" autocomplete="off" id="checkDate">
<div class="input-group-append">
<button class="btn btn-white yc-btn-white" v-on:click="preDate"><i class="fa fa-arrow-circle-o-left"></i></button>
<button class="btn btn-white yc-btn-white" v-on:click="nextDate"><i class="fa fa-arrow-circle-o-right"></i></button>
</div>
</div>
</div>
</div>
<div class="mb-4" v-show="checkFlag>0">
<div v-if="checkFlag===1">检查中...</div>
<div v-else-if="checkFlag===2">请求出错,请重新尝试</div>
<div v-else class="m-auto">
<table class="table table-bordered yc-table-check">
<thead>
<tr>
<th class="t1">货币对</th>
<th class="t2" v-bind:class="{t4:!checkResult.HasMissing}">{{checkResult.CurDate}}</th>
<th class="t2" v-if="checkResult.HasMissing">{{checkResult.PreDate}}</th>
</tr>
</thead>
<tbody>
<tr v-for="item in checkResult.Items">
<td class="t1">{{item.CurrencyPair}}</td>
<td class="t2" v-bind:class="{t4:!checkResult.HasMissing}">{{item.CurRate}}</td>
<td class="t2" v-if="checkResult.HasMissing">{{item.PreRate}}</td>
</tr>
<tr>
<td class="t1"></td>
<td class="t4" v-bind:colspan="checkResult.HasMissing?2:1">
<div v-if="checkResult.HasMissing">
<span v-if="checkResult.CanCopyPre">
<button type="button" class="btn btn-link btn-link-copypre" v-on:click="copyPre">点击从上日'{{checkResult.PreDate}}'复制缺失汇率</button>
</span>
<div class="text-left" v-else>上日'{{checkResult.PreDate}}'有汇率缺失,补足后可以复制汇率数据到当前日期</div>
</div>
<div v-else class="text-success">没有缺失</div>
<div class="mt-4" v-show="checkFlag>100">
<span v-show="checkFlag===101">执行复制...</span>
<span v-show="checkFlag===102">
<strong>执行复制结果:</strong>
<span>{{copyResultMsg}}</span>
</span>
<span v-show="checkFlag===103">执行复制,请求出错,请重新尝试</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="modal-footer">
<div class="m-auto">
<button type="button" class="btn btn-primary" v-on:click="executeCheck">执行检查</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
</div>
</div>
</div>
</div>
</div>
}
<form target="_blank" method="post" id="exportForm" action="">
<input type="hidden" name="" value="" />
</form>