Files
X-Financial/document/development/2026-07-18/dev-logs/bugs/rule-management-permission-reference-crash.md
2026-07-20 10:30:35 +08:00

19 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 规则管理权限状态未导出导致页面崩溃
日期2026-07-18
文档路径document/development/2026-07-18/dev-logs/bugs/rule-management-permission-reference-crash.md
## 修复记录
- 15:00记录 bug 修复:进入规则管理时模板引用未定义的 `isRuleManager`,导致规则列表和操作区整页崩溃。
- Git 提交检查:`git fetch --all --prune` 成功upstream `origin/main`upstream 新提交:未发现;本地 ahead 19 条,最新为 `07241b46 fix(docker): manage local postgres in default compose``787bc3a4 feat(platform): close AI expense value loop``242d68c3 feat(approval): add task workflow and waiver decisions``28b834ed fix(approval): replay immutable action responses``4940ebc4 feat(approval): add safe risk disposition workflow``ee88a36b feat(ai): add tenant-safe hierarchical expense learning``6bdf65bc feat(expenses): add authoritative pre-review workflow``ae3f02c3 feat(expense): add persistent zero-entry receipt association`,另有 11 条。
- 原因:`useAuditViewPermissions` 内部已经计算 `isRuleManager`,但未在返回对象中暴露;`AuditView` 同时没有解构该状态,渲染权限按钮时触发未定义引用。
- 修改:权限 composable 明确返回 `isRuleManager`,视图层同步解构;新增权限状态导出与视图接线回归测试。
- 验证:容器内前端测试 `816/816` 通过Vite 生产构建成功;使用 `admin/admin` 实际进入规则管理,基础规则 8 条、风险规则列表和 MCP 服务 2 条均正常加载,页面无崩溃。
- 影响:规则管理员与系统管理员的规则操作权限可以稳定参与渲染,基础规则、风险规则和 MCP 三个页签恢复可用。
- 15:40追加修复风险规则详情操作状态未向模板暴露的问题。
- Git 提交检查:`git fetch --all --prune` 成功upstream `origin/main` 无新提交;本地 ahead 19 条,最新包括 `07241b46 fix(docker): manage local postgres in default compose``787bc3a4 feat(platform): close AI expense value loop``242d68c3 feat(approval): add task workflow and waiver decisions`,另有 16 条。
- 修改:`AuditView.js``setup()` 返回对象补齐 `riskRuleHasPublishableRevision``canEditRiskRuleDraft``canCreateRiskRuleRevision``audit-view-permissions.test.mjs` 新增模板权限暴露回归。
- 操作:在 `local-x-financial-linux` 容器内运行规则权限、风险规则详情和员工模型定向测试,并执行 Vite 生产构建与 `git diff --check`
- 验证:定向前端测试 9 项全部通过,前端全量测试 `820/820` 通过Vite 生产构建成功,差异格式检查通过。
- 影响:已发布风险规则可正常显示“创建修订版本”,未发布草稿和待发布修订也能显示对应的编辑、发布入口。