张名锐
|
c40b1ba416
|
feat(swap): 添加字符串模式支持和高精度计算功能
- 在输入组件中实现 stringMode 模式,支持字符串类型数值处理
- 添加 normalizeStringValue 函数用于标准化字符串数值格式
- 修改 calcStockEqvNotional 函数以支持高精度十进制乘积计算
- 引入 multiplyDecimal 函数处理大数相乘避免精度丢失
- 更新 swapPricePrecision 工具库以支持字符串模式和精度限制
- 添加相关测试用例验证 16 位数量的十进制乘积准确性
- 调整输入组件类型定义支持 Number 和 String 类型
- 优化数量和金额字段的精度配置和显示格式
|
2026-08-07 11:16:43 +08:00 |
|
张名锐
|
40b4e2e697
|
feat(input): 数字输入整数位数限制功能
- 在 fastVue.base.js 中实现整数位数配置选项 integerDigits
- 添加 checkIntegerDigitsInput 函数验证整数位数输入限制
- 实现 limitIntegerDigits 函数控制数值字符串中的整数位数
- 在键盘处理和粘贴事件中集成整数位数限制逻辑
- 更新掉期交易价格精度配置支持 quantityIntegerDigits 选项
- 扩展精度辅助函数支持整数位数配置和验证规则
- 添加完整的单元测试覆盖整数位数限制功能
|
2026-08-06 16:30:59 +08:00 |
|
张名锐
|
b2c4442772
|
feat(swaptrade): 利率相关 添加尾随零修剪和数值格式化功能
- 在数字输入组件中添加 trimTailZeros 配置选项
- 修改条件判断逻辑以支持尾随零修剪控制
- 为掉期交易利率添加固定精度格式化功能
- 创建 formatObservationRate 函数用于观察率数值格式化
- 在观察率输入字段中添加失焦时格式化事件处理
- 更新视图中的利率显示格式化方式
- 统一利息金额的货币格式化显示
|
2026-08-03 17:04:51 +08:00 |
|
张名锐
|
85f1bccb24
|
Merge branch 'glms/feature/1.4.2' into glms/feature/dotnumber
# Conflicts:
# YLErpWeb/App_Data/Config/otcformat.js
# YLErpWeb/Views/SwapTrade2/TradeEdit.cshtml
# YLErpWeb/wwwroot/Scripts/app/swaptrade/swapTradeEdit.js
|
2026-07-30 10:50:44 +08:00 |
|
hjhan
|
c97d7e7995
|
feat(diag): 可保留调试日志+版本可追溯机制(阶段0.5止血增强)
解决 EQD-6838 排查时硬编码版本号 v20260729a 散落3处、无法按需开关、
看不到实际加载缓存戳的问题。
层1 运行时开关(核心):
- HtmlUtil.cs 新增 GitCommit(读 AssemblyInformationalVersion,零新依赖)
- _MainLayout.cshtml 注入 window.ylotc.__diag(jsVersion+git+built)
- main.js 顶部新增 otcDebug 工具(banner+log),debug 默认 false 生产零输出
- swapTradeEdit.js / fastVue.base.js 硬编码标记改为 otcDebug.banner
- 开启方式:URL ?otcdebug=1(会话)或 localStorage.setItem('otcdebug','1')(持久)
层2 构建守卫:
- pre-commit 新增第三块 bundle 版本一致性检查(rebuild-bundles.py --verify)
- 修复 Windows python3 Store stub 不可用问题(优先用 python)
- 注:bundle 头部不注入 git sha(会随 commit 变化导致 verify 永久失败),
版本可追溯完全由运行时 __diag(后端注入)覆盖
层3 单测预防:
- 新增 diag.test.js(213测试之一),用 console spy 守卫开关行为
- 断言不再含硬编码 v20260729a + 防止第二套调试开关回归
验证:11 suites/213 tests 全绿,--verify 通过,C# 编译0错误
|
2026-07-30 10:06:21 +08:00 |
|
hjhan
|
8124bb46bb
|
chore(EQD-6838): 加版本标记日志用于排查 Jenkins 部署是否加载最新代码
在 swapTradeEdit.js 和 fastVue.base.js 开头加 console.log 版本标记。
F12 Console 看到 v20260729a 说明加载的是最新版本;
看不到说明缓存未刷新或访问的是旧页面。
|
2026-07-29 19:27:52 +08:00 |
|
hjhan
|
cee69a02eb
|
fix(EQD-6838): 修复约定2/3标识不更新的Vue响应式问题 + 组件内emit keydown + 去掉重算按钮
根因1(约定3按键不触发):
- .native 修饰符在 vue-number-input 上不可靠(jQuery在mounted中重新绑定了keydown)
- 改为在组件内部 addEventListener('keydown') + $emit('keydown')
- cshtml 从 v-on:keydown.native 改为 v-on:keydown
根因2(约定2/3标识不更新):
- bondDriverType/bondAuto/bondRev 不在后端数据中,直接赋值不触发Vue2响应式更新
- 成功分支之前用 $forceUpdate 兜底,但失败/编辑/按键分支没有
- 新增 syncBondFlags 方法,用 $set 强制触发响应式更新
- 在所有状态变更后调用:onBondPriceEdit/onBondPriceKeydown/onDpPriceInput/
calcBondForItem成功/失败/setUnderlyingCode/加载路径
其他改动:
- 去掉"重算"按钮(用户确认不再需要)
- calcBondForItem 成功分支用 syncBondFlags 替代 $forceUpdate
- 重建 bundle.js(fastVue.base.js 是 bundle 输入)
|
2026-07-29 19:20:13 +08:00 |
|
hjhan
|
14ed09d628
|
build: 接入 BuildBundlerMinifier 自动重建 bundle 产物并剥离源文件 BOM
- 根因:页面(_MainLayout 等)加载的是 bundle.js 等由 bundleconfig.json 打包的生成产物,
但 csproj 未接入 BundlerMinifier,dotnet build 不会重生它们,Jenkins 只是把 git 里
陈旧的 bundle.js 原样发布 -> 改了 fastVue.base.js 后回车不生效(部署的 bundle 仍是无
enter 的旧版)。且源文件带 UTF-8 BOM,拼接后每个 BOM 落入文件中间成为 ZWNBSP,提交
diff 充满不可见字符(历史上曾多次在产物上手工清 BOM 打补丁)。
- 修复:
1. YLErpWeb.csproj 新增 BuildBundlerMinifier(3.2.449);其 BundleMinify 目标在
BeforeCompile 自动按 bundleconfig.json 重建全部 bundle,Jenkins 构建即自动产出正确版本,
不再需要手工重建并提交 bundle.js。
2. .gitignore 忽略 8 个生成产物(jquery.js/bundle.js/vue.js/bundle.css/bundleV2.css/
bundleV2.js/bundle.min.css/bundleV2.min.css) 并 git rm --cached 取消跟踪;这些产物
永不再入版本库、永不陈旧。
3. 剥离 15 个喂给 bundle 的源文件(及 css)开头的 UTF-8 BOM,使重建产物不再含 ZWNBSP。
- 验证:本地 dotnet build -t:BundleMinify 重建后 8 个 bundle 全部 BOM=0,bundle.js 含完整
enter 链路(_enterFired/isEnter/$emit('enter'));删除 bundle.min.css 后构建可自动重建。
|
2026-07-29 15:42:35 +08:00 |
|
hjhan
|
b9f2bd14f6
|
feat(swaptrade): 债券三字段计算器交互改为回车触发并加源/AUTO/REV 三态标识
- 约定1:仅在净价/全价/收益率输入框敲回车触发计算器,失焦不触发
- 约定2:计算成功->源字段标"源"、另两字段标"AUTO";失败->保留源值、清空另两字段与标识
- 约定3:编辑某字段未回车->不联动另两字段,清源/AUTO、仅本字段标"REV"
- swapCalc.js 新增 applyBondCalcSuccess/Failure/ManualEdit 纯函数,applyBondCalcResult 第三参由 manualSet 改为 driver(跳过源字段写回)
- fastVue.base.js 新增 enter 事件区分回车/失焦,向后兼容旧的 input 行为
- TradeEdit.cshtml 三字段 input/enter 分离绑定 + 源/AUTO/REV 三态标签(去除旧铅笔图标)
- 重写 bondCalc.test.js / 更新 swapCalc.test.js 覆盖状态机;jest 68 项全过
|
2026-07-29 14:34:25 +08:00 |
|
张名锐
|
fd2a054764
|
feat(swap): 实现互换交易价格精度控制功能 init
- 添加 swapPricePrecisionHelper.js 工具类处理价格精度格式化
- 新增 swappriceprecision.js 配置文件定义各类金融产品的精度规则
- 在 EodPositionRisks.cshtml 和 SwapIncome.cshtml 中引入新的价格格式化脚本
- 替换原有的价格格式化函数为基于产品类型的动态精度控制
- 移除旧的价格验证和标准化逻辑,改用新的精度控制机制
- 添加 vue-swap-price-input 组件用于精确的价格输入控制
- 更新 Controller 中的价格处理逻辑以支持新精度格式化方式
|
2026-07-29 09:44:04 +08:00 |
|
hjhan
|
d69faaa8e8
|
fix(fast): 修复 numberInput 粘贴路径 percent 字段 ×100,并补 Jest 粘贴回归单测
- fastVue.base.js: __onInput 粘贴分支原把显示值当模型值传入 setValue 导致 percent 字段 ×100;
改为先按 __change 同款口径(去千分位逗号 + 按 percent/append:'%'/append:'‱' 除法)解析为模型值再回显,
使 DOM/显示/模型三者一致;键盘输入路径不变
- 重新生成 Statics/bundles/bundle.js:去每个输入文件头的 UTF-8 BOM(避免 bundle 中间出现 ZWN BSP 不可见字符),
页面实际加载 bundle.js(改源文件必须重生成 bundle 才生效)
- 新增 numberInput.paste.test.js 覆盖 percent:true/append:%/append:‱/普通数字 4 类字段的 Ctrl+V 粘贴(Jest+jsdom,4 passed)
- fe-tests package.json 增加 jest-environment-jsdom、jquery 依赖
|
2026-07-15 12:58:08 +08:00 |
|
hjhan
|
05826fe7d5
|
debug(fast): 为 numberInput 粘贴路径加 F12 诊断日志并清理 bundle.js 中的 BOM
- fastVue.base.js: 在 __onInput 粘贴分支和 __change 加入 console.log,
输出 raw/parsed/append/percent,便于在浏览器 F12 排查粘贴值实际走向
- 重新生成 bundle.js,并去掉每个输入文件头的 BOM,避免 bundle.js 中间出现 ZWN BSP 不可见字符
|
2026-07-15 11:08:25 +08:00 |
|
hjhan
|
ea313dc1c6
|
fix(fast): 修复 numberInput 粘贴路径 percent 字段 ×100,并补 Jest 粘贴回归单测
- fastVue.base.js: __onInput 粘贴分支原把显示值当模型值传入 setValue 导致 percent 字段 ×100;
改为按 __change 同款口径先解析为模型值再回显,键盘输入路径不变
- 新增 numberInput.paste.test.js 覆盖 percent:true/append:%/append:‱/普通数字 4 类字段的 Ctrl+V 粘贴
- fe-tests package.json 增加 jest-environment-jsdom、jquery 依赖
|
2026-07-15 10:18:26 +08:00 |
|
tengyufan
|
570d1339f1
|
fix(SwapTrade2): 到期日期默认值置空并限制不可早于成交/开始日期
- 移除新增交易时到期日期的默认值(原StartDate+14天),改为空白由用户手工填写
- 到期日期选择器增加mindate限制,不可选择早于成交日期和开始日期的日期
- 联动修正:成交日期或开始日期变化时同步刷新到期日期下限
|
2026-07-01 15:33:15 +08:00 |
|
吴方海
|
4f8b68a90f
|
jquery升级
|
2025-05-19 15:44:20 +08:00 |
|
吴方海
|
f9d8a256a6
|
从山证v2.3.0拷贝
|
2024-05-09 14:06:26 +08:00 |
|