refactor(web): 收益互换平仓页(incomeSwapTrade)符号三元显式化——4处裸三元改UnwindLegSign调用
与unwindSwapTrade同款配方:interestPnlSign(利息盈亏,InterestDirection==1→+1)/payDirectionSign×2(浮动端与均价手续费方向)/positionTypeSign(多空方向,==1多头→+1)。语义逐处核对等价:本页无保证金返还本金列,不涉及marginRebatePrincipalSign反号。顺手删calcClosePnL注释死块与interestRatio注释行。SwapIncome.cshtml补unwindLegSign.js脚本序。node --check通过
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
<script src="~/front/swappriceprecision?v=@HtmlUtil.JsVersion"></script>
|
||||
<script src="~/Scripts/app/swaptrade/swapPricePrecisionHelper.js?v=@HtmlUtil.JsVersion"></script>
|
||||
<script src="~/Scripts/app/swaptrade/swapCalc.js?v=@HtmlUtil.JsVersion"></script>
|
||||
<script src="~/Scripts/app/swaptrade/unwindLegSign.js?v=@HtmlUtil.JsVersion"></script>
|
||||
<script src="~/Scripts/app/swaptrade/incomeSwapTrade.js?v=@HtmlUtil.JsVersion"></script>
|
||||
}
|
||||
<div class="pb-3" id="vueDiv">
|
||||
|
||||
@@ -190,14 +190,14 @@ const vue = new Vue({
|
||||
},
|
||||
changeInterestAmount(item) {//修改利息金额
|
||||
let InterestFee = item.InterestFee == "" ? 0 : parseFloat(item.InterestFee);
|
||||
let interestRatio = item.InterestDirection == 1 ? 1 : -1;
|
||||
let interestRatio = UnwindLegSign.interestPnlSign(item.InterestDirection);
|
||||
item.InterestClosePnL = formatSwapAmount(parseFloat(item.InterestAmount) * interestRatio + InterestFee * interestRatio);
|
||||
this.calcCloseAmount();
|
||||
},
|
||||
calcFloatClosePnl() {//计算浮动端平仓盈亏
|
||||
var thisObj = this;
|
||||
let floatRatio = thisObj.floatPosition.PayDirection == 1 ? 1 : -1;
|
||||
let longRatio = thisObj.floatPosition.PositionType == 1 ? 1 : -1;
|
||||
let floatRatio = UnwindLegSign.payDirectionSign(thisObj.floatPosition.PayDirection);
|
||||
let longRatio = UnwindLegSign.positionTypeSign(thisObj.floatPosition.PositionType);
|
||||
let TradingFee = thisObj.floatPosition.TradingFee == "" ? 0 : parseFloat(thisObj.floatPosition.TradingFee);
|
||||
let TradingFeePending = thisObj.floatPosition.TradingFeePending == "" ? 0 : parseFloat(thisObj.floatPosition.TradingFeePending);
|
||||
let DividendIn = thisObj.floatPosition.DividendIn == "" ? 0 : parseFloat(thisObj.floatPosition.DividendIn ?? 0);
|
||||
@@ -212,13 +212,8 @@ const vue = new Vue({
|
||||
thisObj.floatPosition.FloatPnlSum = SwapCalc.calcFloatPnlSum(thisObj.floatPosition.MarkClosePnl, TradingFee, TradingFeePending, DividendIn).toFixed(2);
|
||||
thisObj.calcCloseAmount();
|
||||
},
|
||||
//calcClosePnL() {//计算浮动端平仓盈亏
|
||||
// let pnl = parseFloat(this.floatPosition.ClosePnL) - parseFloat(this.floatPosition.TradingFee);
|
||||
// this.floatPosition.ClosePnL = formatSwapAmount(pnl);
|
||||
// this.calcCloseAmount();
|
||||
//},
|
||||
calcCloseAmount() {//计算平仓总额=浮动收取+利息收取-浮动支付-利息支付
|
||||
var floatRatio = this.floatPosition.PayDirection == 1 ? 1 : -1;
|
||||
var floatRatio = UnwindLegSign.payDirectionSign(this.floatPosition.PayDirection);
|
||||
var thisObj = this;
|
||||
let pnl = parseFloat(this.floatPosition.FloatPnlSum);
|
||||
let TradingFee = thisObj.floatPosition.TradingFee == "" ? 0 : parseFloat(thisObj.floatPosition.TradingFee);
|
||||
@@ -235,7 +230,6 @@ const vue = new Vue({
|
||||
thisObj.floatPosition.TradingAmountFeeAvg = deliveryPrice;
|
||||
}
|
||||
this.interestList.forEach(x => {
|
||||
//let interestRatio = x.InterestDirection == 1 ? 1 : -1;
|
||||
let interestAmount = parseFloat(x.InterestClosePnL) ;
|
||||
thisObj.deal.SwapCloseAmount = parseFloat(thisObj.deal.SwapCloseAmount) + interestAmount;
|
||||
thisObj.deal.SwapRealizedPnL = parseFloat(thisObj.deal.SwapRealizedPnL) + interestAmount;
|
||||
|
||||
Reference in New Issue
Block a user