diff --git a/code/fms/.codebuddy/plans/fix-i18n-auto-generate-on-edit_2a35d5e3.md b/code/fms/.codebuddy/plans/fix-i18n-auto-generate-on-edit_2a35d5e3.md new file mode 100644 index 00000000..4a191368 --- /dev/null +++ b/code/fms/.codebuddy/plans/fix-i18n-auto-generate-on-edit_2a35d5e3.md @@ -0,0 +1,79 @@ +--- +name: fix-i18n-auto-generate-on-edit +overview: 修复模块管理页面:编辑模块编码/字段名/权限编码时不再实时生成多语言受管键,改为点击「保存」时根据最终草稿生成。 +todos: + - id: i18n-panel-override + content: 修改 ModuleI18nPanel 的 reconcileManagedRows 支持 itemsOverride 参数并在 defineExpose 暴露 + status: completed + - id: index-originals-i18n + content: 将 index.vue 的 i18nItems 改为基于 originals 计算,并新增基于 drafts 的 finalI18nItems + status: completed + dependencies: + - i18n-panel-override + - id: save-all-reconcile + content: 在 index.vue 的 saveAll 保存多语言前调用 i18nPanelRef.reconcileManagedRows(finalI18nItems) + status: completed + dependencies: + - index-originals-i18n + - id: verify-fmt + content: 运行 pnpm fmt:check 校验格式,核对三类受管键仅保存时生成 + status: completed + dependencies: + - save-all-reconcile +--- + +## 用户需求 + +模块管理页面编辑模块编码/字段名/权限编码时,多语言面板会实时生成受管多语言行,且使用的是草稿中尚未保存的默认值("旧值")。用户希望:只有点击「保存」时才根据最终的模块编码生成多语言,编辑过程中不要实时生成。 + +## 核心功能 + +- 编辑模块编码(基本信息面板)时,多语言面板不再实时生成/重命名受管键。 +- 编辑字段定义中的字段名、权限配置中的权限编码时,同样不再实时生成对应受管键。 +- 点击「保存」时,依据最终填写的模块编码、字段名、权限编码生成并落库多语言受管键。 + +## 影响范围 + +- 该问题由同一根因引起,覆盖「模块编码、字段定义、权限」三类受管多语言键,一次修复即可全部覆盖。 +- 仅前端修改,不涉及后端、迁移脚本、b_user_power 逻辑。 + +## 技术栈 + +- 前端:Vue 3 `