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:
hjhan
2026-08-22 07:44:44 +08:00
parent 6ff068d70b
commit ef0e3b957b
2 changed files with 5 additions and 10 deletions
@@ -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;