feat(swaptrade): 实现收益结算审批页面期末价格回显功能

- 在incomeSwapTrade.js中修改TradingAmountAvg赋值逻辑,区分普通打开和审批打开场景
- 新增resolveIncomeTradingAmountAvg函数处理审批回显和普通默认值的不同逻辑
- 审批打开时保留已提交的期末全价,普通打开时使用期初全价作为默认值
- 统一债券价格×100缩放到界面百分比显示格式
- 添加单元测试验证审批回显和普通打开的功能差异
This commit is contained in:
张名锐
2026-07-17 13:17:28 +08:00
parent 4f23ad9c0f
commit 7fac6e13a8
3 changed files with 27 additions and 3 deletions
+11
View File
@@ -24,6 +24,17 @@ describe('回归守卫:曾出 bug 的纯函数', () => {
expect(SwapCalc.deriveTradingAmountAvg(1.02, 100)).toBe(102);
});
test('收益结算审批回显提交的期末价格', () => {
expectClose(
SwapCalc.resolveIncomeTradingAmountAvg(0.98, 0.80, 100, true),
80,
'债券审批应把已提交相对价0.80还原为界面值80');
expectClose(
SwapCalc.resolveIncomeTradingAmountAvg(0.98, 0.80, 100, false),
98,
'普通打开仍以期初全价98作为默认期末价');
});
// 3c5f25a5FloatPnlSum 必须保留 2 位小数
test('calcFloatPnlSum 保留 2 位 (守卫 3c5f25a5)', () => {
expectClose(SwapCalc.calcFloatPnlSum(100.456, 1, 0.5, 0), 101.96, '100.456+1+0.5=101.956→101.96');