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

703 lines
33 KiB
Plaintext

@model TradeViewModel
@{
ViewBag.Title = "远期交易|查看";
Layout = "~/Views/Shared/_InfoLayout.cshtml";
var generateAmendDoc = PS.Config.TradeElement.IsGenerateAmendDoc;
var needSendChangeEmail = PS.Config.TradeElement.IsAmendableAfterConfirm && PS.Config.TradeElement.IsGenerateAmendDoc;
var tradeModel = Model.Trade;
var forwardModel = tradeModel.trade_forward;
var canBackTrade = CurUser.交易管理_交易回退 && !Model.IsFromPositionReport
&& (tradeModel.TradeStatus == ConsTrade.确认成交 || ConsTrade.TradeCompleteStatus.Contains(tradeModel.TradeStatus));
var salesNames = String.Join(",", Model.SalesCommission.Select(n => n.SalesmanName).ToArray());
var pageObj = new
{
buttonStr = YLErp.PS.Config.Company == CompanyEnum.天风 ? "交易录入" : "交易特批",
Trade = tradeModel,
};
tradeModel.TradeUnit = PS.Config.IsUseDisplayNotional ? (tradeModel.QuoteUnit == "500千克" ? "半吨" : "吨") : tradeModel.TradeUnit;
}
@section CSS{
<link href="~/Style/Css/tradeView.css" rel="stylesheet" />
<link href="~/Style/Css/settag.css?v=@(HtmlUtil.JsVersion)" rel="stylesheet" />
<style>
.tdRight {
font-weight: 100 !important
}
</style>
}
@section JS{
<script type="text/javascript">
var Trade = @Html.Raw(tradeModel.ToJson());
var unWindTradeCashList = @Html.Raw((Model.unWindTradeCashList == null || Model.unWindTradeCashList.Count==0)?"null": Model.unWindTradeCashList.ToJson());
var maturityTradeCash = @Html.Raw(Model.maturityTradeCash ==null?"null": Model.maturityTradeCash.ToJson());
var g_generateAmendDoc = @(generateAmendDoc ? "true" : "false");
var g_needSendChangeEmail = @(needSendChangeEmail ? "true" : "false");
var page = @Json.Serialize(pageObj);
</script>
<script src="~/Scripts/app/trade/forwardTradeview.js?v=@(HtmlUtil.JsVersion)"></script>
<script src="~/Scripts/app/trade/settag.js?v=@HtmlUtil.JsVersion" type="text/javascript"></script>
<script type="text/javascript">
const HasEditTagPermission = @Json.Serialize(CurUser.系统管理.标签编辑权限);
</script>
<script type="text/javascript">
$(function () {
setIsView(true);
});
</script>
}
<div class="toolbarDiv">
@if (!Model.IsOnlyCloseButton)
{
if (tradeModel.ValidState != "InValid" && (tradeModel.TradeStatus == "新增待确认" || tradeModel.TradeStatus == "修改待确认") && CurUser.交易管理_交易新增)
{
@MyControls.Btn("确认交易", "confirmTrade('" + tradeModel.id + "')")
}
if ((tradeModel.CanEdit() && !Model.IsFromPositionReport && CurUser.交易管理_交易编辑)
|| (ConsTrade.已拒绝 == tradeModel.TradeStatus && !Model.IsFromPositionReport && tradeModel.TraderId == CurUser.UserId))
{
@MyControls.Btn("修改", "editTrade('" + tradeModel.EncryptId + "');")
}
else if (tradeModel.TradeStatus == ConsTrade.已执行 || tradeModel.TradeStatus == ConsTrade.已平仓 || tradeModel.TradeStatus == ConsTrade.已到期 || (tradeModel.TradeStatus == ConsTrade.确认成交 && tradeModel.HasPartialUnWind == 1))
{
@MyControls.Btn("修改备注", string.Format("editTradeRemarkInfo('{0}','{1}')", tradeModel.EncryptId, tradeModel.TradeType))
}
if (tradeModel.CanDelete() && (!Model.IsFromPositionReport) && CurUser.交易管理_交易删除)
{
@MyControls.Btn("删除", "deletetrade('" + tradeModel.EncryptId + "');")
}
if (canBackTrade && CurUser.交易管理_交易回退)
{
@MyControls.Btn("交易回退", "backTrade('" + tradeModel.EncryptId + "')")
}
if (tradeModel.TradeStatus == ConsTrade.审批中 && CurUser.交易管理_交易新增)
{
@MyControls.Btn("撤回", string.Format("tradewithdraw({0})", tradeModel.id))
}
else if (tradeModel.TradeStatus == ConsTrade.平仓待复核 && CurUser.交易管理_交易平仓)
{
@MyControls.Btn("撤回", string.Format("traderevoke({0},{1})", tradeModel.id, 0))
}
else if (tradeModel.TradeStatus == ConsTrade.行权待复核 && CurUser.交易管理_交易行权)
{
@MyControls.Btn("撤回", string.Format("traderevoke({0},{1})", tradeModel.id, 1))
}
}
@if (CurUser.交易管理_交易操作历史)
{
@MyControls.Btn("操作历史", "tradeOperationHistory('" + tradeModel.EncryptId + "')")
}
<button class="btn btn-primary" type="button" onclick="closetradeWindow(@(!string.IsNullOrWhiteSpace(Context.Request.Query["abstract"])?1:0));">关闭</button>
<div style="display:inline-block;float:right;">
@if (!Model.IsOnlyCloseButton)
{
if (tradeModel.CanConfirm() && CurUser.交易管理_交易新增)
{
@MyControls.Btn("确认交易", "confirmTrade('" + tradeModel.id + "')")
}
if (tradeModel.TradeStatus == ConsTrade.提前终止拒绝 && CurUser.交易管理_交易平仓)
{
@MyControls.Btn("提前终止放弃", "terminationBackToConfirmed('" + tradeModel.EncryptId + "')")
}
if (tradeModel.CanUnwind() && CurUser.交易管理_交易平仓)
{
@MyControls.Btn("平仓", string.Format("unWind('{0}','{1}',{2})", tradeModel.EncryptId, tradeModel.TradeType, Model.IsShowReCheckClose.ToString().ToLower()))
}
if (CurUser.交易管理_交易资金维护)
{
@MyControls.Btn("预付金成本", "viewMarginCost('" + tradeModel.EncryptId + "','" + tradeModel.TradeNumber + "')")
}
}
</div>
</div>
<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 (Model.tradeMarginTemplates != null && Model.tradeMarginTemplates.Any())
{
<li class="nav-item">
<a class="nav-link" href="#tradeMarginTemplatesInfo" data-toggle="tab">预付金模板</a>
</li>
}
</ul>
</div>
<div class="tab-content" style="padding-top:10px;">
<div id="baseInfo" class="tab-pane in active">
<table class="table table-bordered">
<tr>
<td class="tdRight">结构类型</td>
<td>@(tradeModel.StructureType != null ? tradeModel.StructureType : tradeModel.TradeType)</td>
<td class="tdRight">标的类型</td>
<td>@(tradeModel.UnderlyingAssetClass)</td>
</tr>
@if (PS.Config.ErpElement.ForwardTradePriceModel == YLErp.Configuration.Enums.ForwardTradePriceModel.HOOK_PRICE)
{
<tr>
<td class="tdRight">标的代码</td>
<td>@(tradeModel.UnderlyingCode)</td>
<td class="tdRight">标的名称</td>
<td>@(tradeModel.UnderlyingAssetName)</td>
</tr>
if (!PS.Config.Is润和)
{
<tr>
<td class="tdRight">挂钩标的代码</td>
<td>@(tradeModel.BasisUnderlyingCode)</td>
<td class="tdRight">基差</td>
<td>@(string.IsNullOrWhiteSpace(tradeModel.BasisUnderlyingCode) ? "" : tradeModel.BasisGap.ToString())</td>
</tr>
}
}
else
{
<tr>
<td class="tdRight">标的1代码</td>
<td>@(tradeModel.UnderlyingCode)</td>
<td class="tdRight">标的2代码</td>
<td>@(tradeModel.BasisUnderlyingCode)</td>
</tr>
<tr>
<td class="tdRight">标的1名称</td>
<td>@(tradeModel.UnderlyingAssetName)</td>
<td class="tdRight">标的2名称</td>
<td>@(ViewBag.Underlying2Name)</td>
</tr>
var spotInfo = tradeModel.MetaDic.ContainsKey("期初信息") ? JsonHelper.Deserialize<string[]>(tradeModel.MetaDic["期初信息"]) : null;
<tr>
<td class="tdRight">标的1价格</td>
<td>@(spotInfo?.Length > 0 ? spotInfo[0] : "")</td>
<td class="tdRight">标的2价格</td>
<td>@(spotInfo?.Length > 1 ? spotInfo[1] : "")</td>
</tr>
}
<tr>
<td class="tdRight">交易编号</td>
<td>@(tradeModel.TradeNumber)</td>
<td class="tdRight">交易状态</td>
<td>@(tradeModel.TradeStatus)</td>
</tr>
<tr>
<td class="tdRight">客户名称</td>
<td>@(tradeModel.ClientName)</td>
<td class="tdRight">交易员</td>
<td>@(tradeModel.TraderName)</td>
</tr>
<tr>
<td class="tdRight">簿记账户</td>
<td>@(tradeModel.AssetBookName)</td>
<td class="tdRight">成交日期</td>
<td>@(tradeModel.TradeDate.OtcFormatDate())</td>
</tr>
@if (PS.Config.Is润和)
{
<tr>
<td class="tdRight">到期日期</td>
<td>@(tradeModel.ExerciseDate.OtcFormatDate())</td>
<td class="tdRight">买卖方向</td>
<td>@(tradeModel.BuySell)</td>
</tr>
}
else
{
<tr>
<td class="tdRight">到期日期</td>
<td>@(tradeModel.ExerciseDate.OtcFormatDate())</td>
<td class="tdRight">结算日期</td>
<td>@(tradeModel.SettlementDate.OtcFormatDate())</td>
</tr>
if (PS.Config.Is浙期 && tradeModel.ActualExerciseDate != null)
{
<tr>
<td class="tdRight">实际到期日期</td>
<td>@(tradeModel.ActualExerciseDate.OtcFormatDate())</td>
<td class="tdRight"></td>
<td></td>
</tr>
}
<tr>
<td class="tdRight">买卖方向</td>
<td>@(tradeModel.BuySell)</td>
<td class="tdRight">多空方向</td>
<td>@tradeModel.OptionType</td>
</tr>
}
<tr>
<td class="tdRight">持仓数量</td>
<td>@(tradeModel.TradeAmount.OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional))</td>
<td class="tdRight">手数</td>
<td>@(tradeModel.Lots.OtcFormatNotional())</td>
</tr>
<tr>
<td class="tdRight">交割价格</td>
<td> @(tradeModel.Strike.OtcFormatUmPrice())</td>
<td class="tdRight">开仓费用</td>
<td> @(forwardModel.OpenCommission.OtcFormatMoney())</td>
</tr>
<tr>
<td class="tdRight">期初标的价格</td>
<td> @(tradeModel.SpotPrice.OtcFormatUmPrice())</td>
@if (tradeModel.StructureType == "掉期")
{
<td class="tdRight">掉期价值</td>
}
else
{
<td class="tdRight">远期价值</td>
}
<td> @(forwardModel.ForwardValue.OtcFormatMoney())</td>
</tr>
@if (!PS.Config.Is润和)
{
<tr>
<td class="tdRight"> 开仓总费用 </td>
<td> @((tradeModel.TradePrice).OtcFormatMoney()) </td>
<td class="tdRight"> 年化预付金成本 </td>
<td> @(forwardModel.AnnualMarginRate.OtcFormatPercent()) </td>
</tr>
<tr>
<td class="tdRight"> 年化仓储成本 </td>
<td> @(forwardModel.AnnualStoragePrice.OtcFormatMoney()) </td>
<td class="tdRight"> 无风险利率 </td>
<td> @(tradeModel.NoRiskRate.OtcFormatPercent()) </td>
</tr>
}
<tr>
<td class="tdRight">是否有效</td>
<td>@ConsGlobal.GetValidDesc(tradeModel.ValidState)</td>
@if (Model.showInitialMargin)
{
<td class="tdRight">初始预付金</td>
<td>@(tradeModel.InitialMargin.OtcFormatMoney())</td>
}
else
{
<td class="tdRight"></td>
<td></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>
}
@if (!PS.Config.Is润和)
{
<tr>
<td class="tdRight">预付金模板</td>
<td>@tradeModel.MarginTemplateName</td>
<td class="tdRight">预付金算法</td>
<td>@(YLErp.Helpers.EnumHelper.GetDescriptionByName<MarginTypeEnum>(tradeModel.MarginType))</td>
</tr>
<tr>
<td class="tdRight">初始预付金率</td>
<td>@((tradeModel.MarginType <= MarginTypeEnum.NONE && PS.Config.Company != CompanyEnum.华安) ? "" : tradeModel.MarginRate.OtcFormat(OtcFormatFlag.marginRateP))</td>
<td class="tdRight">持仓预付金率</td>
<td>@((tradeModel.MarginType == MarginTypeEnum.FIXED || tradeModel.MarginType == MarginTypeEnum.FLOATP || tradeModel.MarginType == MarginTypeEnum.FLOAT) ? tradeModel.PositionMarginRate.OtcFormat(OtcFormatFlag.marginRateP) : "")</td>
</tr>
}
@if (!string.IsNullOrEmpty(tradeModel.QuoteCurrency) && tradeModel.QuoteCurrency != "CNY")
{
<tr>
<td class="tdRight">计价币种</td>
<td>@tradeModel.QuoteCurrency</td>
<td class="tdRight">汇率</td>
<td>@(tradeModel.MetaDic.ContainsKey("ExchangeRate") ? tradeModel.MetaDic["ExchangeRate"] : "")</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.Company == CompanyEnum.国海)
{
tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.CCR_K, out var ccr_k);
tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.ignoreRiskExposure, out var ignoreRiskExposure);
<tr>
<td class="tdRight">CCR指标k值</td>
<td>@ccr_k</td>
<td class="tdRight">信用风险敞口</td>
<td>@(ignoreRiskExposure != "1" ? "参与计算" : "忽略")</td>
</tr>
}
@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 (!PS.Config.Is润和 || !forwardModel.ObservationDates.IsNullOrWhiteSpace())
{
if (!forwardModel.ObservationDates.IsNullOrWhiteSpace())
{
<tr>
<td class="tdRight">观察信息</td>
<td>
@{
var colInfos = "['日期']";
@MyControls.Btn("查看", string.Format("showObservationInfos('{0}',{1},'{2}')", "观察信息", colInfos, forwardModel.ObservationDates))
}
</td>
<td class="tdRight">观察频率</td>
@{
tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.kiObservationRate, out var kiObservationDate);
}
<td>@(!string.IsNullOrEmpty(kiObservationDate) ? "每" + kiObservationDate.Replace('D', '天').Replace('W', '周').Replace('M', '月').Replace('Y', '年') : "")</td>
</tr>
}
<tr>
@if (!PS.Config.Is润和)
{
<td class="tdRight">交易对手方</td>
<td>@(tradeModel.OpponentRole ?? "乙方")</td>
}
else
{
<td class="tdRight"></td>
<td></td>
}
<td class="tdRight"></td>
<td></td>
</tr>
}
@if (!PS.Config.Is润和)
{
<tr>
<td class="tdRight">是否补偿远期价值</td>
<td>
@{
var supplyValue = "";
if (tradeModel.MetaDic.ContainsKey("IsSupplyForwardValue"))
{
if (tradeModel.MetaDic["IsSupplyForwardValue"] == "1")
{
supplyValue = "补偿";
}
else if (tradeModel.MetaDic["IsSupplyForwardValue"] == "-1")
{
supplyValue = "支付";
}
else
{
supplyValue = "否";
}
}
else
{
supplyValue = "补偿";
}
}
@supplyValue
</td>
@if (!PS.Config.ErpElement.SecuritiesEnvironment)
{
<td class="tdRight">中央对手方清算</td>
<td>
@{
tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.IsCentralClearing, out var isCentralClearing);
}
@(isCentralClearing == "Y" ? "是" : "否")
</td>
}
else
{
<td class="tdRight"></td>
<td></td>
}
</tr>
}
@if (!PS.Config.Is润和 && !PS.Config.ErpElement.SecuritiesEnvironment)
{
<tr>
<td class="tdRight">中央清算平台</td>
<td>
@{
tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.CentralClearingPaltform, out var centralClearingPaltform);
}
@centralClearingPaltform
</td>
<td class="tdRight">交易平台</td>
<td>
@{
tradeModel.MetaDic.TryGetValue(YLErp.DBModels.Consts.ConsTradeMetaKey.TradingPaltform, out var tradingPaltform);
}
@tradingPaltform
</td>
</tr>
}
<tr>
<td class="tdRight">备注</td>
<td colspan="4">
@if (Model != null)
{
if (tradeModel.RemarkInfo != null && tradeModel.RemarkInfo.StartsWith("http://"))
{
<a href="@(tradeModel.RemarkInfo)" style="text-decoration:underline;" target="_blank">@(tradeModel.RemarkInfo)</a>
}
else
{
@(tradeModel.RemarkInfo)
}
}
</td>
</tr>
@if (CurUser.交易管理_交易标签查看权限)
{
<tr>
<td class="tdRight">标签</td>
<td colspan="4">
<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>
@{
var sulist = YLErp.DBModels.Helpers.TradeHelper.GetSyntheticPriceModel(tradeModel)?.SuList;
if (sulist != null)
{
var suItems = sulist.Select(n => n.UnderlyingCode + "," + n.Price.ToString("F3")).Concat(new string[] { null, null }).ToArray();
<table class="table table-bordered table-exotic">
@for (var i = 0; i < suItems.Length; i += 2)
{
if ((suItems[i]) == null)
{
break;
}
<tr>
<td class="tdRight">标的@(i + 1)</td>
<td>@(suItems[i])</td>
<td class="tdRight">标的@(i + 2)</td>
<td>@(suItems[i + 1])</td>
</tr>
if ((suItems[i + 1]) == null)
{
break;
}
}
</table>
}
}
</div>
@if (Model.unWindTradeCashList != null && Model.unWindTradeCashList.Any())
{
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>
<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.OtcFormatUmPrice())</td>
</tr>
<tr>
<td class="tdRight">行权标的价格</td>
<td>@(tradeCash.FinalPrice.OtcFormatUmPrice())</td>
<td class="tdRight">实现盈亏</td>
<td>@(tradeCash.WinLoss)</td>
</tr>
<tr>
<td class="tdRight">行权收益</td>
<td>@(tradeCash.SingleWinPrice.OtcFormatMoney())</td>
<td></td>
<td></td>
</tr>
</table>
}
else
{
<table class="table table-bordered">
<tr>
<td class="tdRight">提前终止序号</td>
<td>@(index++)</td>
<td class="tdRight">每手平仓费用</td>
<td>@(tradeCash.UnwindPrice.OtcFormatUmPrice())</td>
</tr>
<tr>
<td class="tdRight">平仓日期</td>
<td>@(tradeCash.ValueDate.OtcFormatDate())</td>
<td class="tdRight">平仓数量</td>
<td>@(tradeCash.UnwindTradeAmount.OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional))</td>
</tr>
<tr>
<td class="tdRight">平仓标的价格</td>
<td>@(tradeCash.FinalPrice.OtcFormatUmPrice())</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 maturityTradeCash = Model.maturityTradeCash;
<div id="maturityInfo" class="tab-pane">
<table class="table table-bordered">
<tr>
<td class="tdRight">到期日期</td>
<td>@(tradeModel.ExerciseDate.OtcFormatDate())</td>
<td class="tdRight">到期数量</td>
<td>@(maturityTradeCash.TradeAmount.OtcFormatNotional(tradeModel.CountRatio, PS.Config.IsUseDisplayNotional))</td>
</tr>
<tr>
<td class="tdRight">到期标的价格</td>
<td>@(maturityTradeCash.FinalPrice.OtcFormatUmPrice())</td>
<td class="tdRight">收益总额</td>
<td>@(maturityTradeCash.Amount.OtcFormatMoney())</td>
</tr>
<tr>
<td class="tdRight">到期收益</td>
<td>@(maturityTradeCash.SingleWinPrice.OtcFormatMoney())</td>
<td class="tdRight">实现盈亏</td>
<td>@(maturityTradeCash.WinLoss)</td>
</tr>
</table>
</div>
}
@if (Model.tradeMarginTemplates != null && Model.tradeMarginTemplates.Any())
{
<div id="tradeMarginTemplatesInfo" class="tab-pane">
<table class="table table-bordered">
<tr>
<th>模板名称</th>
<th>预付金规则</th>
<th>规则类型</th>
<th>生效日期</th>
<th>操作时间</th>
<th>规则说明</th>
</tr>
@foreach (var tradeMarginTemplate in Model.tradeMarginTemplates)
{
<tr>
<td>@(tradeMarginTemplate.MarginTemplateName)</td>
<td>@(tradeMarginTemplate.MarginRuleTypeName)</td>
<td>@(tradeMarginTemplate.MarginTypeName)</td>
<td>@(tradeMarginTemplate.ValueDate.ToString("yyyy-MM-dd"))</td>
<td>@(tradeMarginTemplate.OptDate)</td>
<td>@(tradeMarginTemplate.Comments)</td>
</tr>
}
</table>
</div>
}
</div>
</div>
<div class="row" id="hidsearchtag" style="display:none;">
<div class="tag-search">
<div class="keyword-div">
</div>
<div class="selectlist">
</div>
</div>
</div>
<div id="hidhastags" style="display:none;">
<ul>
@if (((List<sys_tag>)ViewBag.TagList) != null && ((List<sys_tag>)ViewBag.TagList).Any())
{
foreach (var tag in (List<sys_tag>)ViewBag.TagList)
{
<li data-id="@tag.id">@tag.Name</li>
}
}
</ul>
<span class="js-li-none-tip" style="display:none;">没有可选择的标签,可按Enter键新增</span>
</div>
@if (!string.IsNullOrWhiteSpace(Context.Request.Query["abstract"]))
{
@await Html.PartialAsync("/Views/trade/_part/TradeAbstractInfo.cshtml", Model.Trade)
}