422 lines
19 KiB
Plaintext
422 lines
19 KiB
Plaintext
@model TradeViewModel
|
|
|
|
@{
|
|
Layout = null;
|
|
var tradeModel = Model.Trade;
|
|
var isPremiumRate = tradeModel.IsUsePremiumRate == true;
|
|
var salesNames = String.Join(",", Model.SalesCommission.Select(n => n.SalesmanName).ToArray());
|
|
|
|
}
|
|
|
|
<div id="optionVueDiv">
|
|
<div class="tabbable">
|
|
<ul id="myTab" class="nav nav-tabs nav-main">
|
|
<li class="nav-item">
|
|
<a class="nav-link active" href="#baseInfo" data-toggle="tab">成交</a>
|
|
</li>
|
|
@if (Model.unWindTradeCashList != null && Model.unWindTradeCashList.Any())
|
|
{
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#terminationInfo" data-toggle="tab">提前终止</a>
|
|
</li>
|
|
}
|
|
@if (Model.maturityTradeCash != null)
|
|
{
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#maturityInfo" data-toggle="tab">到期</a>
|
|
</li>
|
|
}
|
|
@if (ConsTrade.TradeStatusAfterConfirmed.Contains(Model.Trade.TradeStatus))
|
|
{
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="#ClientCashinCashout" data-toggle="tab">资金记录</a>
|
|
</li>
|
|
}
|
|
</ul>
|
|
</div>
|
|
|
|
<div class="tab-content">
|
|
|
|
<div id="baseInfo" class="tab-pane in active">
|
|
<table class="table table-bordered">
|
|
<tr>
|
|
<td class="tdRight">簿记账户</td>
|
|
<td>@(tradeModel.AssetBookName)</td>
|
|
<td class="tdRight">交易员</td>
|
|
<td>@(tradeModel.TraderName)</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tdRight">交易对手方</td>
|
|
<td>@(tradeModel.ClientName)</td>
|
|
<td class="tdRight">交易编号</td>
|
|
<td>@(tradeModel.TradeNumber)</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tdRight">交易方向</td>
|
|
<td>@(tradeModel.BuySell)</td>
|
|
<td class="tdRight">期权类型</td>
|
|
<td>@(tradeModel.TradeType)</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tdRight">交易状态</td>
|
|
<td>@(tradeModel.TradeStatus)</td>
|
|
<td class="tdRight">名义本金</td>
|
|
<td>@(tradeModel.OriginalStockEqvNotionalV2.OtcFormat(OtcFormatFlag.StockEqvNotional))</td>
|
|
</tr>
|
|
@if (!string.IsNullOrEmpty(Model.OriginalStockEqvNotionalV2MultipleExchangeRate))
|
|
{
|
|
<tr>
|
|
<td class="tdRight">名义本金(结算币种)</td>
|
|
<td>@Model.OriginalStockEqvNotionalV2MultipleExchangeRate</td>
|
|
<td class="tdRight"></td>
|
|
<td></td>
|
|
</tr>
|
|
}
|
|
<tr>
|
|
<td class="tdRight">交易总额</td>
|
|
<td>@(tradeModel.TradePrice)</td>
|
|
<td class="tdRight">无风险利率</td>
|
|
<td>@(tradeModel.NoRiskRate.OtcFormatPercent())</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tdRight">成交日期</td>
|
|
<td>@(tradeModel.TradeDate.OtcFormatDate())</td>
|
|
<td class="tdRight">到期日期</td>
|
|
<td>@(tradeModel.ExerciseDate.OtcFormatDate())</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tdRight">资金类型</td>
|
|
<td>@(tradeModel.trade_cashflow.DepositType)</td>
|
|
<td class="tdRight">利率类型</td>
|
|
<td>@(tradeModel.trade_cashflow.RateType)</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tdRight">利率</td>
|
|
<td>@(tradeModel.trade_cashflow.ProfitRate.OtcFormatPercent())</td>
|
|
<td class="tdRight">计息日历规则</td>
|
|
<td>@(tradeModel.trade_cashflow.ProfitDayCount)</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tdRight">返还比例</td>
|
|
<td>@(tradeModel.trade_cashflow.DepositType == CashflowDepositTypeEnum.资金收益 ? tradeModel.trade_cashflow.PrepayRatio.OtcFormatPercent() : "")</td>
|
|
@if (!PS.Config.Is润和)
|
|
{
|
|
<td class="tdRight">交易对手方</td>
|
|
<td>@(tradeModel.OpponentRole ?? "乙方")</td>
|
|
}
|
|
else
|
|
{
|
|
<td class="tdRight"></td>
|
|
<td></td>
|
|
}
|
|
</tr>
|
|
@{
|
|
tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.ClearingAgency, out var clearingAgency);
|
|
tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.TradingPlace, out var tradingPlace);
|
|
tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.MainProtocolCode, out var mainProtocolCode);
|
|
tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.SupProtocolCode, out var supProtocolCode);
|
|
}
|
|
@if (PS.Config.ErpElement.SecuritiesEnvironment)
|
|
{
|
|
if (!PS.Config.Is润和)
|
|
{
|
|
<tr>
|
|
<td class="tdRight">交易场所</td>
|
|
<td>@(tradingPlace)</td>
|
|
<td class="tdRight">清算机构</td>
|
|
<td>@(clearingAgency)</td>
|
|
</tr>
|
|
}
|
|
<tr>
|
|
<td class="tdRight">主协议编号</td>
|
|
<td>@(mainProtocolCode)</td>
|
|
<td class="tdRight">补充协议编号</td>
|
|
<td>@(supProtocolCode)</td>
|
|
</tr>
|
|
}
|
|
@if (AppHelper.UseFutureVersion("销售提成", "V2"))
|
|
{
|
|
<tr>
|
|
<td class="tdRight">
|
|
@(PS.Config.ErpElement.SaleMode == YLErp.Configuration.Enums.SaleMode.SaleMen ? "销售员" : "客户经理")
|
|
</td>
|
|
<td>@(salesNames)</td>
|
|
<td class="tdRight">销售提成</td>
|
|
<td>@(Model.SalesCommission.FirstOrDefault()?.CommissionString())</td>
|
|
</tr>
|
|
}
|
|
<tr>
|
|
<td class="tdRight">备注</td>
|
|
<td colspan="3">@(tradeModel.RemarkInfo)</td>
|
|
</tr>
|
|
@if (CurUser.交易管理_交易标签查看权限)
|
|
{
|
|
<tr>
|
|
<td class="tdRight">标签</td>
|
|
<td colspan="3">
|
|
<div class="tag-context" style="width:100%;display:inline-block;line-height:36px;text-align:left;">
|
|
@if (Model.Tags != null && Model.Tags.Any())
|
|
{
|
|
foreach (var tag in Model.Tags)
|
|
{
|
|
<span class="tag-item" data-id="@tag.Id" data-name="@tag.Name">
|
|
<span class="tag-text" data-value="@tag.Id">@tag.Name</span>
|
|
@if (CurUser.交易管理_交易标签调整权限)
|
|
{
|
|
<span class="tag-remove" onclick="DeleteTag('@tag.Name')">x</span>
|
|
}
|
|
</span>
|
|
}
|
|
}
|
|
@if (CurUser.交易管理_交易标签调整权限)
|
|
{
|
|
<span class="tag-add">+</span>
|
|
}
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
}
|
|
</table>
|
|
|
|
@if (tradeModel.Propertys != null)
|
|
{
|
|
var i = 0;
|
|
var length = tradeModel.Propertys.Count;
|
|
var preProperty = new ExtendInfoModel();
|
|
|
|
<table class="table table-bordered table-exotic">
|
|
@foreach (var property in tradeModel.Propertys)
|
|
{
|
|
i++;
|
|
if (i % 2 == 1)
|
|
{
|
|
preProperty = property;
|
|
if (i == length)
|
|
{
|
|
<tr>
|
|
<td class="tdRight">@property.name</td>
|
|
<td>@property.value</td>
|
|
<td class="tdRight"></td>
|
|
<td></td>
|
|
</tr>
|
|
}
|
|
}
|
|
else
|
|
{
|
|
<tr>
|
|
<td class="tdRight">@preProperty.name</td>
|
|
<td>@preProperty.value</td>
|
|
<td class="tdRight">@property.name</td>
|
|
<td>@property.value</td>
|
|
</tr>
|
|
}
|
|
}
|
|
</table>
|
|
}
|
|
</div>
|
|
|
|
@if (Model.unWindTradeCashList != null)
|
|
{
|
|
var index = 1;
|
|
<div id="terminationInfo" class="tab-pane">
|
|
@foreach (var tradeCash in Model.unWindTradeCashList)
|
|
{
|
|
if (tradeCash.Action == "系统操作-行权费")
|
|
{
|
|
<table class="table table-bordered">
|
|
<tr>
|
|
<td class="tdRight">提前终止序号</td>
|
|
<td>@(index++)</td>
|
|
@if (isPremiumRate)
|
|
{
|
|
<td class="tdRight">行权比例</td>
|
|
<td>@(tradeCash.NotionalPercent.OtcFormatPercent())</td>
|
|
}
|
|
else
|
|
{
|
|
<td class="tdRight">行权数量</td>
|
|
<td>@(tradeCash.TradeAmount.OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional))</td>
|
|
}
|
|
</tr>
|
|
<tr>
|
|
<td class="tdRight">行权日期</td>
|
|
<td>@(tradeCash.ValueDate.OtcFormatDate())</td>
|
|
<td class="tdRight">收益总额</td>
|
|
<td>@(tradeCash.Amount.OtcFormatMoney())</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tdRight">行权标的价格</td>
|
|
<td>@(tradeCash.FinalPrice.OtcFormat(OtcFormatFlag.umprice))</td>
|
|
<td class="tdRight">实现盈亏</td>
|
|
<td>@(tradeCash.WinLoss)</td>
|
|
</tr>
|
|
<tr>
|
|
@if (isPremiumRate)
|
|
{
|
|
<td class="tdRight">行权收益</td>
|
|
<td>@(tradeCash.SingleWinPricePercent.OtcFormat(OtcFormatFlag.premiumRateP))</td>
|
|
}
|
|
else
|
|
{
|
|
<td class="tdRight">行权收益</td>
|
|
<td>@(tradeCash.SingleWinPrice.OtcFormat(OtcFormatFlag.tradeSinglePrice))</td>
|
|
}
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
}
|
|
else
|
|
{
|
|
<table class="table table-bordered">
|
|
<tr>
|
|
<td class="tdRight">提前终止序号</td>
|
|
<td>@(index++)</td>
|
|
@if (isPremiumRate)
|
|
{
|
|
<td class="tdRight">平仓单价</td>
|
|
<td>@(tradeCash.UnwindPricePercentRate.OtcFormatPercent())</td>
|
|
}
|
|
else
|
|
{
|
|
<td class="tdRight">平仓单价</td>
|
|
<td>@(tradeCash.UnwindPrice.OtcFormat(OtcFormatFlag.umprice))</td>
|
|
}
|
|
</tr>
|
|
<tr>
|
|
<td class="tdRight">平仓日期</td>
|
|
<td>@(tradeCash.ValueDate.OtcFormatDate())</td>
|
|
@if (isPremiumRate)
|
|
{
|
|
<td class="tdRight">平仓比例</td>
|
|
<td>@(tradeCash.UnwindPercentRate.OtcFormatPercent())</td>
|
|
}
|
|
else
|
|
{
|
|
<td class="tdRight">平仓数量</td>
|
|
<td>@(tradeCash.UnwindTradeAmount.OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional))</td>
|
|
}
|
|
</tr>
|
|
<tr>
|
|
<td class="tdRight">平仓标的价格</td>
|
|
<td>@(tradeCash.FinalPrice.OtcFormat(OtcFormatFlag.umprice))</td>
|
|
<td class="tdRight">平仓总额</td>
|
|
<td>@(tradeCash.Amount.OtcFormatMoney())</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tdRight">实现盈亏</td>
|
|
<td>@(tradeCash.WinLoss)</td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
}
|
|
}
|
|
</div>
|
|
}
|
|
|
|
@if (Model.maturityTradeCash != null)
|
|
{
|
|
var mtc = Model.maturityTradeCash;
|
|
<div id="maturityInfo" class="tab-pane">
|
|
<table class="table table-bordered">
|
|
<tr>
|
|
<td class="tdRight">到期日期</td>
|
|
<td>@(mtc.ValueDateString)</td>
|
|
@if (isPremiumRate)
|
|
{
|
|
<td class="tdRight">到期比例</td>
|
|
<td>@(mtc.NotionalPercent.OtcFormatPercent())</td>
|
|
}
|
|
else
|
|
{
|
|
<td class="tdRight">到期数量</td>
|
|
<td>@(mtc.TradeAmount.OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional))</td>
|
|
}
|
|
</tr>
|
|
<tr>
|
|
@if (isPremiumRate && mtc.Action != "系统操作-行权费")
|
|
{
|
|
<td class="tdRight">到期收益</td>
|
|
<td>@(mtc.SingleWinPricePercent.OtcFormat(OtcFormatFlag.premiumRateP))</td>
|
|
}
|
|
else
|
|
{
|
|
<td class="tdRight">到期收益</td>
|
|
<td>@(mtc.SingleWinPrice.OtcFormat(OtcFormatFlag.tradeSinglePrice))</td>
|
|
}
|
|
<td class="tdRight">实现盈亏</td>
|
|
<td>@(mtc.WinLoss)</td>
|
|
</tr>
|
|
<tr>
|
|
@if (tradeModel.TradeType == "亚式期权")
|
|
{
|
|
<td class="tdRight">到期标的价格</td>
|
|
<td>@(mtc.SpotPrice.OtcFormat(OtcFormatFlag.umprice))</td>
|
|
}
|
|
else
|
|
{
|
|
<td class="tdRight">到期标的价格</td>
|
|
<td>@(mtc.FinalPrice.OtcFormat(OtcFormatFlag.umprice))</td>
|
|
}
|
|
<td class="tdRight">收益总额</td>
|
|
<td>@(mtc.Amount.OtcFormatMoney())</td>
|
|
</tr>
|
|
@if (tradeModel.TradeType == "亚式期权")
|
|
{
|
|
<tr>
|
|
<td class="tdRight">到期标的均价</td>
|
|
<td colspan="3">@(mtc.FinalPrice.OtcFormat(OtcFormatFlag.umprice))</td>
|
|
</tr>
|
|
}
|
|
</table>
|
|
</div>
|
|
}
|
|
|
|
@if (ConsTrade.TradeStatusAfterConfirmed.Contains(Model.Trade.TradeStatus))
|
|
{
|
|
<div id="ClientCashinCashout" class="tab-pane">
|
|
<div style="display:inline;right:100px;">
|
|
@if (CurUser.交易管理_交易资金维护)
|
|
{
|
|
<button id="" class="btn btn-primary " type="button" onclick="Addentryexit(0,@Model.Trade.id);return false;">
|
|
新增
|
|
</button>
|
|
<button id="" class="btn btn-primary " type="button" onclick="setExcute();return false;">
|
|
确认
|
|
</button>
|
|
<button id="" class="btn btn-primary " type="button" onclick="setReject();return false;">
|
|
拒绝
|
|
</button>
|
|
}
|
|
</div>
|
|
<div style="min-width: 1000px;" id="entryexitEditPopInner"></div>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="modal fade" id="myCommentsModal" 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">
|
|
<lable>备注</lable>
|
|
<input v-model="Comments" />
|
|
<input hidden v-model="EncryptId" />
|
|
</div>
|
|
|
|
<!-- 模态框底部 -->
|
|
<div class="modal-footer">
|
|
<button type="button" class="btn" v-on:click="saveModal()">保存</button>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div> |