Files
zszq-trs/YLErpWeb/Views/SwapTrade/tradeEdit.cshtml
T

620 lines
40 KiB
Plaintext

@using YLErp.Web.Models.JsModels;
@model trade
@{
ViewBag.Title = "交易信息 | 编辑";
Layout = "~/Views/Shared/_InfoLayout.cshtml";
var isAdd = Model.id == 0;
var isUseApproval = ViewBag.isUseApproval ?? false;
var canChangeClient = isAdd || Model.TradeStatus == ConsTrade.新增待确认;
var canAddNewTrader = CurUser.交易管理_新增选择交易员;
var jsClients = canChangeClient ? JsDataModel.GetClients() : Enumerable.Empty<ClientJsModel>();
var jsClient = canChangeClient && Model.ClientId > 0 ? jsClients.FirstOrDefault(n => n.id == Model.ClientId) : null;
var jsAssetUnits = JsDataModel.GetAssetUnits(CurUser);
var tradeMarginTemplates = new tradeController().GetMarginTemplates();
var tradeMarginTemplateItems = new tradeController().GetMarginTemplateItems();
var jsAssetUnit = Model.AssetId > 0 ? jsAssetUnits.FirstOrDefault(n => n.id == Model.AssetId) : null;
var assetunits = JsDataModel.GetAssetUnits(CurUser);
var jsTraders = canAddNewTrader ? JsDataModel.GetTraders(assetunits) : Enumerable.Empty<TraderJsModel>();
var jsTrader = canAddNewTrader && Model.TraderId > 0 ? jsTraders.FirstOrDefault(n => n.id == Model.TraderId) : null;
var currencys = CurrencyController.getList();
var pageObj = new
{
isAdd,
canChangeClient,
canAddNewTrader,
Trade = Model,
valuedate = valuedateBLL.ValueDate.ToString("yyyy-MM-dd"),
g_get_trade_swap_details = Model.get_trade_swap_details,
g_pay_trade_swap_details = Model.pay_trade_swap_details,
jsClient,
jsClients,
jsAssetUnit,
jsAssetUnits,
jsTrader,
jsTraders,
tradeMarginTemplates = tradeMarginTemplates,
tradeMarginTemplateItems = tradeMarginTemplateItems,
needRemark = !isAdd && valuedateBLL.SystemDate.EditTradeNeedRemark,
parentTradeId = ViewBag.ParentTradeId,
currencys = currencys,
showCCR = PS.Config.Company == CompanyEnum.国海,
isGuoTou = PS.Config.Company == CompanyEnum.国投,
isHuaAn=PS.Config.Company==CompanyEnum.华安,
generateAmendDoc = PS.Config.TradeElement.IsGenerateAmendDoc,
needSendChangeEmail = PS.Config.TradeElement.IsAmendableAfterConfirm && PS.Config.TradeElement.IsGenerateAmendDoc,
};
}
@section CSS{
<link rel="stylesheet" href="~/Style/Css/swapTradeEdit.css?v=@(HtmlUtil.JsVersion)" />
<link href="~/Style/Css/settag.css?v=@(HtmlUtil.JsVersion)" rel="stylesheet" />
}
@section JS{
<script type="text/javascript">
const page = @Json.Serialize(pageObj);
page.Trade.StartDate = page.Trade.StartDate ? page.Trade.StartDate.substr(0, 10) : "";
page.Trade.TradeDate = page.Trade.TradeDate ? page.Trade.TradeDate.substr(0, 10) : "";
page.Trade.ExerciseDate = page.Trade.ExerciseDate ? page.Trade.ExerciseDate.substr(0, 10) : "";
page.Trade.SettlementDate = page.Trade.SettlementDate ? page.Trade.SettlementDate.substr(0, 10) : "";
if(page.Trade.trade_swap.PayLot>0){
page.Trade.trade_swap.PayLot = page.Trade.trade_swap.PayLot.toFixed(otcformat.trading.notional.precision);
}
if (page.Trade.trade_swap.GetLot > 0) {
page.Trade.trade_swap.GetLot = page.Trade.trade_swap.GetLot.toFixed(otcformat.trading.notional.precision);
}
</script>
<script src="@HtmlUtil.BasicDataJs("品种","客户","簿记","交易员")"></script>
<script src="~/front/calendar?v=@(HtmlUtil.JsVersion)"></script>
<script src="~/Scripts/fast/fastVue.components.js?v=@HtmlUtil.JsVersion"></script>
<script src="~/Scripts/app/tradeHelper.js?v=@HtmlUtil.JsVersion"></script>
<script src="~/Scripts/app/trade/swapTradeEdit.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>
}
<form id="tradeEditForm">
<div class="row no-gutters">
<div class="col-auto" style="width:400px;">
<div class="yc-panel">
<div class="form-group">
<label class="formlabel half">互换类型</label>
<select v-model="trade.trade_swap.SwapType" v-on:change="changeSwapType">
<option>普通</option>
@*<option>多空组合</option>*@
</select>
</div>
<div class="form-group">
<label class="formlabel half">簿记账户</label>
<input type="hidden" name="AssetBookName" id="AssetBookName" value="@(Model.AssetBookName)" />
<input type="text" name="AssetId" id="AssetId" value="@(Model.AssetId)" class="text-box" />
</div>
<div class="form-group">
<label class="formlabel half">交易对手方</label>
@if (pageObj.canChangeClient)
{
<input type="hidden" name="ClientName" id="ClientName" value="@(Model.ClientName)" />
<input type="text" name="ClientId" id="ClientId" value="@(Model.ClientId)" title="@(Model.ClientName)" class="text-box" />
}
else
{
<input type="hidden" name="ClientId" id="ClientId" value="@(Model.ClientId)" />
<input type="text" name="ClientName" id="ClientName" value="@(Model.ClientName)" title="@(Model.ClientName)" readonly class="text-box" />
}
</div>
<div class="form-group">
<label class="formlabel half">交易员</label>
@if (pageObj.canAddNewTrader)
{
<input type="hidden" name="TraderName" id="TraderName" value="@(Model.TraderName)" />
<input type="text" name="TraderId" id="TraderId" value="@(Model.TraderId)" class="text-box" />
}
else
{
<input type="hidden" name="TraderId" id="TraderId" value="@(Model.TraderId)" />
<input type="text" name="TraderName" id="TraderName" value="@(Model.TraderName)" readonly class="text-box" />
}
</div>
<div class="form-group">
<label class="formlabel half">成交日期</label>
<vue-datepicker :maxdate="maxTradeDate" :holiday="1" v-model="trade.TradeDate" v-on:input="changeTradeDate" />
</div>
<div class="form-group">
<label class="formlabel half">开始日期</label>
<vue-datepicker :maxdate="maxTradeDate" :holiday="1" v-model="trade.StartDate" />
</div>
<div class="form-group">
<label class="formlabel half">到期日期</label>
<vue-datepicker name="ExerciseDate" :holiday="1" v-model="trade.ExerciseDate" v-on:input="changeExerciseDate" />
</div>
<div class="form-group">
<label class="formlabel half">结算日期</label>
<vue-datepicker name="SettlementDate" :holiday="1" v-model="trade.SettlementDate" />
</div>
<div class="form-group">
<label class="formlabel half">名义本金</label>
<vue-number-input id="StockEqvNotional" name="StockEqvNotional" v-model="trade.StockEqvNotional" v-on:input="changeStockEqvNotional" v-bind:format="inputFormatEqvNotional" v-bind:disabled="trade.trade_swap.SwapType == '多空组合'"></vue-number-input>
</div>
@if (Model.id < 1 || PS.Config.ErpElement.CanEditTradeNumber)
{
<div class="form-group">
<label class="formlabel half">交易编号</label>
<input class="text-box" type="text" v-model="trade.TradeNumber" placeholder="留空自动生成">
</div>
}
<div id="salesCommissionCtrl"></div>
@if (pageObj.isGuoTou)
{
<div class="form-group">
<label class="formlabel half">预付金模板</label>
<input name="MarginTemplateName" id="MarginTemplateName" class="text-box" type="text">
</div>
}
@if (pageObj.showCCR)
{
<div class="form-group" id="ccr_kArea">
<label class="formlabel half">CCR指标k值</label>
<input type="text" class="input-number" id="ccr_k" name="ccr_k" value="@(Model.MetaDic.ContainsKey("ccr_k") ? Model.MetaDic["ccr_k"]:"1")" />
</div>
<div class="form-group">
<label class="formlabel half">信用风险敞口</label>
<select id="ignoreRiskExposure">
<option value="0" @((!Model.MetaDic.ContainsKey(YLErp.DBModels.Consts.ConsTradeMetaKey.ignoreRiskExposure)) || Model.MetaDic[YLErp.DBModels.Consts.ConsTradeMetaKey.ignoreRiskExposure] != "1" ? "selected" : "")>参与计算</option>
<option value="1" @(Model.MetaDic.ContainsKey(YLErp.DBModels.Consts.ConsTradeMetaKey.ignoreRiskExposure) && Model.MetaDic[YLErp.DBModels.Consts.ConsTradeMetaKey.ignoreRiskExposure] == "1" ? "selected" : "")>忽略</option>
</select>
</div>
}
@if (PS.Config.ErpElement.SecuritiesEnvironment)
{
if (!PS.Config.Is润和)
{
<div class="form-group">
<label class="formlabel half">交易场所</label>
<select v-model="viewState.Extend.TradingPlace" v-on:change="changeTradingPlace">
@foreach (var item in YLErp.DBModels.Consts.ConsReport.TradingPlaceMap)
{
<option>@item.Key</option>
}
</select>
</div>
<div class="form-group">
<label class="formlabel half">清算机构</label>
<select name="ClearingAgency" v-model="viewState.Extend.ClearingAgency" v-on:change="changeClearingAgency">
@foreach (var item in YLErp.DBModels.Consts.ConsReport.ClearingAgencyMap)
{
if (item.Key == "甲方" || item.Key == "乙方")
{
continue;
}
<option>@item.Key</option>
}
</select>
</div>
}
if (Model.id == 0 || Model.TradeStatus == ConsTrade.新增待确认)
{
<div class="form-group">
<label class="formlabel half">主协议编号</label>
<select name="MainProtocolCode" id="MainProtocolCode" v-on:change="changeMainProtocolCode">
</select>
</div>
<div class="form-group">
<label class="formlabel half">补充协议编号</label>
<select name="SupProtocolCode" id="SupProtocolCode">
</select>
</div>
}
else
{
var MainProtocolCode = Model.MetaDic.Keys.Contains("主协议编号") ? Model.MetaDic["主协议编号"] : "";
var SupProtocolCode = Model.MetaDic.Keys.Contains("补充协议编号") ? Model.MetaDic["补充协议编号"] : "";
<div class="form-group">
<label class="formlabel half">主协议编号</label>
<input name="MainProtocolCode" id="MainProtocolCode" class="text-box" type="text" value="@MainProtocolCode" readonly>
</div>
<div class="form-group">
<label class="formlabel half">补充协议编号</label>
<input name="SupProtocolCode" id="SupProtocolCode" class="text-box" type="text" value="@SupProtocolCode" readonly>
</div>
}
}
else
{
<div class="form-group">
<label class="formlabel half">中央对手方清算</label>
<select id="IsCentralClearing" v-on:change="changeIsCentralClearing">
<option value="N">否</option>
<option value="Y">是</option>
<option value="I">计划中央对手方清算</option>
</select>
</div>
<div class="form-group">
<label class="formlabel half">中央清算平台</label>
<select id="CentralClearingPaltform" v-on:change="changeCentralClearingPaltform">
@foreach (var item in YLErp.BLL.DictionaryBLL.GetList("中央清算平台", true, "", true))
{
<option value="@item.Value">@item.Text</option>
}
</select>
</div>
<div class="form-group">
<label class="formlabel half">交易平台</label>
<select id="TradingPaltform" v-on:change="changeTradingPaltform">
@foreach (var item in YLErp.BLL.DictionaryBLL.GetList("交易平台", true, "", true))
{
<option value="@item.Value">@item.Text</option>
}
</select>
</div>
}
@if (!PS.Config.Is润和)
{
<div class="form-group">
<label class="formlabel half">交易对手方角色</label>
<select name="OpponentRole" v-model="trade.OpponentRole">
<option>甲方</option>
<option>乙方</option>
</select>
</div>
}
</div>
<div class="yc-panel">
<div class="form-group">
<label class="formlabel half">浮动收益年化</label>
<select v-model="trade.trade_swap.AnnualVarIncome">
<option :value="true">是</option>
<option :value="false">否</option>
</select>
</div>
<div class="form-group">
<label class="formlabel half">年化天数</label>
<vue-number-input v-model="trade.trade_swap.AnnualDays" v-bind:format="inputFormatInteger"></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel half">计息方式</label>
<select v-model="trade.trade_swap.RateCalcMode">
<option value="11">算头算尾</option>
<option value="10">算头不算尾</option>
<option value="01">不算头算尾</option>
<option value="00">不算头不算尾</option>
</select>
</div>
<div class="form-group">
<label class="formlabel half">是否开仓时收取开仓费</label>
<select v-model="trade.trade_swap.IsTradePriceWhenOpen" v-bind:disabled="trade.trade_swap.SwapType == '多空组合'">
<option :value="true">是</option>
<option :value="false">否</option>
</select>
</div>
<div class="form-group">
<label class="formlabel half">收费基本单位</label>
<select v-model="trade.trade_swap.IsShare" v-on:change="changeBaseUnit()">
<option :value="true">按手数收费</option>
<option :value="false">按份数收费</option>
</select>
</div>
<div class="form-group">
<label class="formlabel half">计价币种</label>
<select v-model="trade.QuoteCurrency" disabled>
<option v-for="option in currencys">
{{ option.Text }}
</option>
</select>
</div>
<div class="form-group" v-show="trade.QuoteCurrency && trade.QuoteCurrency!=='CNY'">
<label class="formlabel half">汇率</label>
<input name="ExchangeRate" v-model="trade.ExchangeRate" type="number" />
</div>
<div style="height:1px"></div>
</div>
</div>
<div class="col">
<div class="row no-gutters">
<div class="col-6">
<div class="yc-panel">
<div class='form-group' style="background: #87CEFA;">
<label class='formlabel half'>交易员收取</label>
<select v-model="trade.trade_swap.IsGetFloatingProfit" v-on:change="changeIsGetFloatingProfit()" style="background: #87CEFA;">
<option :value="true">浮动收益</option>
<option :value="false">利息</option>
</select>
</div>
<div class='form-group' v-show="trade.trade_swap.IsGetFloatingProfit && trade.trade_swap.SwapType != '多空组合'">
<label class='formlabel half'>多头空头</label>
<select v-model="trade.trade_swap.GetLongShort">
<option>多头</option>
<option>空头</option>
</select>
</div>
<div class="form-group" v-show="trade.trade_swap.IsGetFloatingProfit">
<label class="formlabel half">标的代码</label>
<vue-underlying id="trade.trade_swap.GetUnderlyingCode" v-model="trade.trade_swap.GetUnderlyingCode" v-on:change="setGetUnderlyingCode" />
</div>
<div class="form-group" v-show="trade.trade_swap.IsGetFloatingProfit && trade.trade_swap.SwapType != '多空组合'">
<label class="formlabel half">期初标的价格</label>
<input id="trade_swap.GetSpotPrice" class="text-box has-popover-syn" v-on:input="changeStockEqvNotional" onkeyup="this.value=this.value.replace(/[^0-9.-]/g,'')" onblur="this.value=(/^(-?0|-?[1-9]\d*)(\.\d*)?$/.test(this.value) ? this.value : '')" type="text" value="@Model.trade_swap.GetSpotPrice" name="trade_swap.GetSpotPrice" data-meta="组合标的">
</div>
<div class="form-group" v-show="trade.trade_swap.IsGetFloatingProfit && trade.trade_swap.SwapType != '多空组合'">
<label class="formlabel half">数量</label>
<vue-number-input v-model="trade.trade_swap.GetTradeAmount" v-on:input="changeGetTradeAmount" v-bind:format="inputFormatTradeAmount"></vue-number-input>
</div>
<div class="form-group" v-show="trade.trade_swap.IsGetFloatingProfit && trade.trade_swap.SwapType != '多空组合'">
<label class="formlabel half">手数</label>
<vue-number-input v-model="trade.trade_swap.GetLot" v-on:input="changeGetLot" v-bind:format="inputFormatTradeAmount"></vue-number-input>
</div>
<div class="form-group">
<template v-if="trade.trade_swap.IsGetFloatingProfit">
<label class="formlabel half">增强收益率(年化)</label>
</template>
<template v-else>
<label class="formlabel half">互换利率(年化)</label>
</template>
<vue-number-input v-model="trade.trade_swap.GetSwapRate" v-bind:format="inputFormatSwapRate" v-on:input="blurSwapRate('Get')"></vue-number-input>
</div>
<template v-if="!trade.trade_swap.IsGetFloatingProfit">
<div class="form-group">
<label class="formlabel half">互换间隔</label>
<input type="text" min="0" class="text-box" id="GetObservationRate" name="observationRate" readonly />
<a href="javascript:;" class="yt-input-group-append" title="设置观察日" v-on:click="setObservationDates('Get')" tabindex="-1">
<i class="fa fa-pencil-square"></i>
</a>
@*<button class="btn btn-sm btn-outline-danger" type="button" v-on:click="setObservationDates('Get')">设置观察日</button>*@
</div>
</template>
<div class="form-group" v-show="!trade.trade_swap.IsGetFloatingProfit">
<label class="formlabel half">单位交易费用</label>
<template v-if="!isSingleFee">
<vue-number-input v-model="trade.trade_swap.GetUnAnnualRate" v-on:input="changeGetUnAnnualRate" v-bind:format="inputFormatSwapRate" v-bind:disabled="trade.trade_swap.SwapType == '多空组合'"></vue-number-input>
<a href="javascript:;" title="点击后切换成绝对值权利金" v-on:click="showAbsPrice" class="yt-input-group-append" tabindex="-1">%</a>
</template>
<template v-else>
<vue-number-input v-model="getNotionalSingleFee" v-on:input="changeGetSingleFee" v-bind:format="inputFormatTradeSinglePrice" v-bind:disabled="trade.trade_swap.SwapType == '多空组合'"></vue-number-input>
<a href="javascript:;" title="点击后切换成标的价格百分比" v-on:click="showPercentPrice" class="yt-input-group-append" tabindex="-1">¥</a>
</template>
</div>
<div class="form-group" v-show="!trade.trade_swap.IsGetFloatingProfit">
<label class="formlabel half">交易费用</label>
<vue-number-input v-model="trade.trade_swap.GetTradePrice" v-on:input="changeGetTradePrice" v-bind:format="inputFormatTradePrice" v-bind:disabled="trade.trade_swap.SwapType == '多空组合'"></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel half" for="GetMarginRate">初始预付金</label>
<vue-number-input v-model="trade.trade_swap.GetMarginRate" v-bind:format="inputFormatMarginRate"></vue-number-input>
</div>
<div class="form-group" style="padding-bottom: 10px;" v-show="trade.trade_swap.IsGetFloatingProfit && trade.trade_swap.SwapType == '多空组合'">
<table class="table">
<thead>
<tr>
<td>标的代码</td>
<td>多空方向</td>
<td>期初价格</td>
<td>份额</td>
<td>交易费用</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in trade.get_trade_swap_details">
<td><vue-underlying v-model="item.UnderlyingCode" v-bind:index="index" v-on:change="changeGetUnderlying" style="width: 100px !important;"></vue-underlying></td>
<td>
<select v-model="item.LongShort" style="width: 52px !important;">
<option>多头</option>
<option>空头</option>
</select>
</td>
<td><vue-number-input v-model="item.SpotPrice" v-bind:format="inputFormatDouble2" v-on:input="sumStockEqvNotional(true)" style="width: 72px !important;" /></td>
<td><vue-number-input v-model="item.Notional" v-bind:format="inputFormatDouble2" v-on:input="sumStockEqvNotional(true)" style="width: 72px !important;" /></td>
<td><vue-number-input v-model="item.TradePrice" v-bind:format="inputFormatTradePrice" v-on:input="sumTradePrice(true)" style="width: 72px !important;" /></td>
<td><a v-on:click="deleteItem(index, true)" style="color: red;">删除</a></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="5">
<a v-on:click="deleteAll(true)" style="margin: 10px; color: red;">删除所有</a>
<a v-on:click="add(true)" style="margin: 10px; color: red;">新增</a>
</td>
</tr>
</tfoot>
</table>
</div>
</div>
</div>
<div class="col-6">
<div class="yc-panel">
<div class='form-group' style="background: #87CEFA;">
<label class='formlabel half'>交易员支付</label>
<select v-model="trade.trade_swap.IsPayFloatingProfit" v-on:change="changeIsPayFloatingProfit()" style="background: #87CEFA;">
<option :value="true">浮动收益</option>
<option :value="false">利息</option>
</select>
</div>
<div class='form-group' v-show="trade.trade_swap.IsPayFloatingProfit && trade.trade_swap.SwapType != '多空组合'">
<label class='formlabel half'>多头空头</label>
<select v-model="trade.trade_swap.PayLongShort">
<option>多头</option>
<option>空头</option>
</select>
</div>
<div class="form-group" v-show="trade.trade_swap.IsPayFloatingProfit">
<label class="formlabel half">标的代码</label>
<vue-underlying id="trade.trade_swap.PayUnderlyingCode" v-model="trade.trade_swap.PayUnderlyingCode" v-on:change="setPayUnderlyingCode" />
</div>
<div class="form-group" v-show="trade.trade_swap.IsPayFloatingProfit && trade.trade_swap.SwapType != '多空组合'">
<label class="formlabel half">期初标的价格</label>
<input id="trade_swap.PaySpotPrice" class="text-box has-popover-syn" v-on:input="changeStockEqvNotional" onkeyup="this.value=this.value.replace(/[^0-9.-]/g,'')" onblur="this.value=(/^(-?0|-?[1-9]\d*)(\.\d*)?$/.test(this.value) ? this.value : '')" type="text" value="@Model.trade_swap.PaySpotPrice" name="trade_swap.PaySpotPrice" data-meta="组合标的2">
</div>
<div class="form-group" v-show="trade.trade_swap.IsPayFloatingProfit && trade.trade_swap.SwapType != '多空组合'">
<label class="formlabel half">数量</label>
<vue-number-input v-model="trade.trade_swap.PayTradeAmount" v-on:input="changePayTradeAmount" v-bind:format="inputFormatTradeAmount"></vue-number-input>
</div>
<div class="form-group" v-show="trade.trade_swap.IsPayFloatingProfit && trade.trade_swap.SwapType != '多空组合'">
<label class="formlabel half">手数</label>
<vue-number-input v-model="trade.trade_swap.PayLot" v-on:input="changePayLot" v-bind:format="inputFormatTradeAmount"></vue-number-input>
</div>
<div class="form-group">
<template v-if="trade.trade_swap.IsPayFloatingProfit">
<label class="formlabel half">增强收益率(年化)</label>
</template>
<template v-else>
<label class="formlabel half">互换利率(年化)</label>
</template>
<vue-number-input v-model="trade.trade_swap.PaySwapRate" v-bind:format="inputFormatSwapRate" v-on:input="blurSwapRate('Pay')"></vue-number-input>
</div>
<template v-if="!trade.trade_swap.IsPayFloatingProfit">
<div class="form-group">
<label class="formlabel half">互换间隔</label>
<input type="text" min="0" class="text-box" id="PayObservationRate" name="observationRate" readonly />
<a href="javascript:;" class="yt-input-group-append" title="设置观察日" v-on:click="setObservationDates('Pay')" tabindex="-1">
<i class="fa fa-pencil-square"></i>
</a>
@*<button class="btn btn-sm btn-outline-danger" type="button" v-on:click="setObservationDates('Pay')">设置观察日</button>*@
</div>
</template>
<div class="form-group" v-show="!trade.trade_swap.IsPayFloatingProfit">
<label class="formlabel half">单位交易费用</label>
<template v-if="!isSingleFee">
<vue-number-input v-model="trade.trade_swap.PayUnAnnualRate" v-on:input="changePayUnAnnualRate" v-bind:format="inputFormatSwapRate" v-bind:disabled="trade.trade_swap.SwapType == '多空组合'"></vue-number-input>
<a href="javascript:;" title="点击后切换成绝对值权利金" v-on:click="showAbsPrice" class="yt-input-group-append" tabindex="-1">%</a>
</template>
<template v-else>
<vue-number-input v-model="payNotionalSingleFee" v-on:input="changePaySingleFee" v-bind:format="inputFormatTradeSinglePrice" v-bind:disabled="trade.trade_swap.SwapType == '多空组合'"></vue-number-input>
<a href="javascript:;" title="点击后切换成标的价格百分比" v-on:click="showPercentPrice" class="yt-input-group-append" tabindex="-1">¥</a>
</template>
</div>
<div class="form-group" v-show="!trade.trade_swap.IsPayFloatingProfit">
<label class="formlabel half">交易费用</label>
<vue-number-input v-model="trade.trade_swap.PayTradePrice" v-on:input="changePayTradePrice" v-bind:format="inputFormatTradePrice" v-bind:disabled="trade.trade_swap.SwapType == '多空组合'"></vue-number-input>
</div>
<div class="form-group">
<label class="formlabel half" for="PayMarginRate">初始预付金</label>
<vue-number-input v-model="trade.trade_swap.PayMarginRate" v-bind:format="inputFormatMarginRate"></vue-number-input>
</div>
<div class="form-group" style="padding-bottom: 10px;" v-show="trade.trade_swap.IsPayFloatingProfit && trade.trade_swap.SwapType == '多空组合'">
<table class="table">
<thead>
<tr>
<td>标的代码</td>
<td>多空方向</td>
<td>期初价格</td>
<td>份额</td>
<td>交易费用</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<tr v-for="(item, index) in trade.pay_trade_swap_details">
<td><vue-underlying v-model="item.UnderlyingCode" v-bind:index="index" v-on:change="changePayUnderlying" style="width: 100px !important;"></vue-underlying></td>
<td>
<select v-model="item.LongShort" style="width: 52px !important;">
<option>多头</option>
<option>空头</option>
</select>
</td>
<td><vue-number-input v-model="item.SpotPrice" v-bind:format="inputFormatDouble2" v-on:input="sumStockEqvNotional(false)" style="width: 72px !important;" /></td>
<td><vue-number-input v-model="item.Notional" v-bind:format="inputFormatDouble2" v-on:input="sumStockEqvNotional(false)" style="width: 72px !important;" /></td>
<td><vue-number-input v-model="item.TradePrice" v-bind:format="inputFormatTradePrice" v-on:input="sumTradePrice(false)" style="width: 72px !important;" /></td>
<td><a v-on:click="deleteItem(index, false)" style="color: red;">删除</a></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="5">
<a v-on:click="deleteAll(false)" style="margin: 10px; color: red;">删除所有</a>
<a v-on:click="add(false)" style="margin: 10px; color: red;">新增</a>
</td>
</tr>
</tfoot>
</table>
@*<div style="text-align: center; margin-bottom: 10px;">
<a v-on:click="deleteAll(false)" style="margin: 10px; color: red;">删除所有</a>
<a v-on:click="add(false)" style="margin: 10px; color: red;">新增</a>
</div>*@
</div>
</div>
</div>
</div>
<div class="row no-gutters">
<div class="col">
<div class="yc-panel mt-0">
<div class='form-group'>
<label class='formlabel mb-1' for='Comments'>交易备注</label>
<textarea v-model="trade.Comments" class='text-box text-left' style="width:834px;margin-left:0px;" rows='3' id='Comments'></textarea>
</div>
</div>
</div>
</div>
<div class="row no-gutters">
<div class="col">
<div class="yc-panel mt-0">
<div class='form-group'>
<label class='formlabel mb-1'>标签</label>
<div class="tag-context" style="border: 1px solid #bbb; width: 834px; display: inline-block; line-height: 36px; background-color: white;">
@if ((List<YLErp.Models.Tag.TagDto>)ViewBag.ModelTags != null && ((List<YLErp.Models.Tag.TagDto>)ViewBag.ModelTags).Any())
{
foreach (var tag in (List<YLErp.Models.Tag.TagDto>)ViewBag.ModelTags)
{
<span class="tag-item" data-id="@tag.Id" data-name="@tag.Name"><span class="tag-text" data-value="@tag.Id">@tag.Name</span><span class="tag-remove" onclick="DeleteTag('@tag.Name')">x</span></span>
}
}
<span class="tag-add">+</span>
</div>
</div>
</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>
<div class="text-center">
@if (isUseApproval)
{
<button class="btn btn-primary" type="button" v-on:click="submit('pass')">审批通过</button>
<button class="btn btn-primary" type="button" v-on:click="submit('reject')">拒绝</button>
}
else
{
<button class="btn btn-primary " type="button" v-on:click="savetrade">保存</button>
<button class="btn btn-primary " type="button" onclick="layer.closeMe();">关闭</button>
}
</div>
</div>
</div>
</form>
@await Html.PartialAsync("/Views/Pricing/_SyntheticPrice.cshtml")
@await Html.PartialAsync("/Views/trade/_part/SalesCommission.cshtml", new SalesCommissionModel() { Disabled = false, ViewType = "互换" })
<div id="extendInfo" style="display:none">
<div class="search-group">
<textarea style="width: 580px;height: 160px;margin: 10px;resize: none;" id="editRemarks"></textarea>
</div>
</div>