张名锐
|
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 |
|
hjhan
|
74c434bdd8
|
fix(swaptrade): 修复重输/重贴原值后回车不触发计算、粘贴不标记REV的静默失效
- swapPricePrecisionHelper: onKeydown 回车时无条件派发 input+enter,
不再依赖仅值变化才触发的原生 change;onPaste 粘贴即派发 input 标 REV;
onChange 不再派发 enter(改由 onKeydown 唯一派发,避免重复计算)
- 新增 fe-tests/swapPriceInput.component.test.js 回归守卫(6 用例,
回退旧版即变红,锁定该 QA 高优 Bug 修复)
- bundle/bundleV2: otcDebug 调试开关改为 localStorage 持久化 +
URL ?otcdebug=1 触发,便于排查价格计算链路
|
2026-07-31 09:07:08 +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
|
6b32f254b1
|
test(fe): 阶段0止血——pre-commit守卫+postSafe+jest.config+CI脚本+otcformat精度修复
|
2026-07-29 22:33:45 +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
|
c912f274fd
|
[EQD-6838] 修正前端 bundle 重建:bundle.css 历史乱码清理 + ps1 换行符统一 LF
- bundle.css: 清理 5 处历史 UTF-8 替换字符(锟斤拷)乱码注释,与重建脚本生成结果一致
- rebuild-bundles.ps1: 拼接分隔符由 CRLF 改为 LF,并归一化输入 CRLF->LF,
使 Windows 自动生成产物与仓库内已提交(LF)制品逐字节一致
|
2026-07-29 17:57:01 +08:00 |
|
hjhan
|
4bebcf7fcb
|
fix(bundle): bundle.js 纳入 ENTER 事件改动并移除 ZWNBSP;MyJs.js 剥离 BOM [EQD-6838]
|
2026-07-29 16:32:15 +08:00 |
|
hjhan
|
6911b9d758
|
revert: 禁用 BuildBundlerMinifier 并还原原始可用 bundle 产物,恢复测试环境
- 现象:上一提交接入 BuildBundlerMinifier 后,Jenkins 构建按 bundleconfig.json 重建的
bundle 与原始可用版本不一致(dayjs 插件顺序错乱、且 bundleconfig.json 缺少 moment.js
等多文件),导致 bundle.js 加载即抛 dayjs_plugin_isoWeek is not defined,整页脚本崩溃
(jqGrid/main/otcformat 等全局未定义)。
- 本次先恢复可用性:
1. 还原 8 个原始可用 bundle 产物(b9f2bd14 版本: jquery.js/bundle.js/vue.js/bundle.css/
bundleV2.css/bundleV2.js/bundle.min.css/bundleV2.min.css) 重新纳入版本库,Jenkins 原样部署。
2. 移除 YLErpWeb.csproj 的 BuildBundlerMinifier 包,避免构建时再用错乱 config 覆盖还原产物。
3. 还原 .gitignore 中 bundle 忽略段,使产物重新被跟踪。
- 后续(待讨论):修正 bundleconfig.json 的输入顺序与文件集(对齐原始可用顺序 + 补 moment.js
等),再重新启用自动构建,届时 fastVue.base.js 的 enter 改动会被正确打包。
- 注:本提交还原的是 enter 修复前的可用基线(页面可用,回车触发计算器仍待第二步解决)。
|
2026-07-29 15:57:38 +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
|
7fc4babc28
|
fix(fast): 重建 bundle.js 纳入 ENTER 事件改动 + 新增 enter 链路单测
- 根因:页面(_MainLayout)加载的是 bundle.js(由 bundleconfig.json 打包 fastVue.base.js 等生成),
而非原始 fastVue.base.js;源码树 bundle.js 是改动前的陈旧构建产物(tracked in git),
导致测试环境部署拿到缺 _enterFired/$emit('enter') 的版本,回车不触发计算器($emit('enter') 未被发出)。
- 修复:按 bundleconfig.json 输入顺序重建 bundle.js(minify:false=顺序拼接),diff 仅 10 行,
重建后含完整 enter 链路(_enterFired/isEnter/$emit('enter')),与源码 fastVue.base.js 一致。
- 新增 fastVue.enter.test.js(jsdom+jQuery):覆盖 numberInput 底层 Enter→_enterFired→onchange(isEnter) 与
vueNumberInput 组件 $emit('input')+$emit('enter') 分发,9 项全过;定位期单测证明代码逻辑本身正确,
问题在构建/部署产物陈旧。
|
2026-07-29 15:22:06 +08:00 |
|
张名锐
|
0755233ab6
|
fix(swap): 统一处理【名义本金】数值精度舍入问题
- 在多个位置添加 Math.Round 函数确保金额计算精度
- 新增 NormalizeNotionalValues 方法统一处理 UnwindData 中的名义本金舍入
- 修复交易平仓时 StockEqvNotional 扣减计算的精度问题
- 解决持仓数据 PosiNotionalValue 的精度舍入处理
- 修复前端页面显示格式化问题
- 添加单元测试验证名义本金舍入逻辑正确性
|
2026-07-22 13:05:49 +08:00 |
|
hjhan
|
94827eb6b6
|
fix(fast): 修复 numberInput 粘贴路径 percent 字段 ×100,并补 Jest 粘贴回归单测
- fastVue.base.js: __onInput 粘贴分支原把显示值当模型值传入 setValue 导致 percent 字段 ×100;
改为先按 __change 同款口径(去千分位逗号 + 按 percent/append:'%'/append:'‱' 除法)解析为模型值再回显,
使 DOM/显示/模型三者一致;键盘输入路径不变
- 重新生成 Statics/bundles/*.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 11:29:14 +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
|
2a5e338b50
|
fix(fast): 修复 numberInput 粘贴路径 percent 字段 ×100,并补 Jest 粘贴回归单测
- fastVue.base.js: __onInput 粘贴分支原把显示值当模型值传入 setValue 导致 percent 字段 ×100;
改为按 __change 同款口径先解析为模型值再回显,键盘输入路径不变
- 重新生成 Statics/bundles/bundle.js(fastVue.base.js 被合并进此 bundle,页面实际加载该文件,
改源文件不生效必须重生成 bundle)
- 新增 numberInput.paste.test.js 覆盖 percent:true/append:%/append:‱/普通数字 4 类字段的 Ctrl+V 粘贴
- fe-tests package.json 增加 jest-environment-jsdom、jquery 依赖
|
2026-07-15 11:08:25 +08:00 |
|
锦麟 王
|
8b5a69fd10
|
更新交易流程和审批条件文本
|
2026-07-14 14:57:46 +08:00 |
|
锦麟 王
|
c4293ed523
|
优化审批流程逻辑,支持复杂分支条件
|
2026-07-10 17:00:13 +08:00 |
|
锦麟 王
|
fb59c6180a
|
支持审批流程中的分支网关和节点触发条件
|
2026-07-07 15:47:17 +08:00 |
|
吴方海
|
4f8b68a90f
|
jquery升级
|
2025-05-19 15:44:20 +08:00 |
|
吴方海
|
43ab6d2e85
|
jquery升级到3.5.1
|
2025-05-19 13:45:19 +08:00 |
|
tangyunhao
|
296029eaa2
|
TRS-ZS-259管理端-互换簿记预设-阶梯费率页面,筛选项:生效日期控件字体太小
|
2025-04-23 15:27:42 +08:00 |
|
吴方海
|
f9d8a256a6
|
从山证v2.3.0拷贝
|
2024-05-09 14:06:26 +08:00 |
|