diff --git a/code/fms/.codebuddy/plans/module-management-v2-refactor_c50f14c4.md b/code/fms/.codebuddy/plans/module-management-v2-refactor_c50f14c4.md new file mode 100644 index 00000000..cc578219 --- /dev/null +++ b/code/fms/.codebuddy/plans/module-management-v2-refactor_c50f14c4.md @@ -0,0 +1,210 @@ +--- +name: module-management-v2-refactor +overview: 将 fms-vue 的 module-management 从旧表结构(category/data/query、s_field_group/s_field_view/s_field_edit/s_field_query 行模型、s_i18n 带 b_id/b_module_id)重构为《FMS新系统核心表结构设计》V2:模块类型 module/data/virtual + 模块树 b_depth/b_path,布局统一存 s_module_schema(view/edit/query) 的 b_schema_json JSON 节点,s_field 精简为 b_source_field/b_type,i18n 主键改 (b_key,b_locale),并同步更新 menu-management 的模块类型过滤。 +todos: + - id: rewrite-utils + content: 重写 module-management/utils.js:模块类型映射、view/edit/query JSON 默认结构与 stableStringify、受管 i18n 键、树 b_depth/b_path 计算;同步改 menu-management 类型过滤 + status: completed + - id: refactor-orchestrator + content: 重构 index.vue 编排层:maindata/fields/view_schema/edit_schema/query_schema/autocode/i18n 成对基线与加载/校验/diff 保存/重载、树增删移与 b_depth/b_path、按新键删除清理 + status: completed + dependencies: + - rewrite-utils + - id: refactor-basic + content: 重构 ModuleBasicPanel:新类型 module/data/virtual 与新 s_module 列及类型联动校验 + status: completed + dependencies: + - refactor-orchestrator + - id: refactor-fields + content: 重构 ModuleFieldsPanel:新 s_field 列、同步字段写 b_source_field、参与勾选改为 JSON 节点增删 + status: completed + dependencies: + - refactor-orchestrator + - id: rewrite-editor-kernel + content: 用 [subagent:code-explorer] 梳理设计器依赖后,重写 useStructureEditing 与 fieldDefaults 为 JSON 节点模型内核 + status: completed + dependencies: + - rewrite-utils + - id: rewrite-editors + content: 重写 TableDesignEditor/FormDesignEditor 及子组件消费产出 view/edit JSON,并更新 ModuleListConfigPanel/ModuleEditPanel + status: completed + dependencies: + - rewrite-editor-kernel + - id: refactor-query-i18n + content: 重构 ModuleQueryConfigPanel 为 query JSON,重构 ModuleI18nPanel 与 i18n 工具为 (b_key,b_locale) 复合键 + status: completed + dependencies: + - refactor-orchestrator + - id: update-tests + content: 用 [skill:lsp-code-analysis] 全局核对引用,更新受影响单测并运行 pnpm test/lint/build + status: completed + dependencies: + - rewrite-editors + - refactor-fields + - refactor-query-i18n +--- + +## 产品概述 + +模块管理页(左树右面板)与 V2 表结构(`FMS新系统核心表结构设计.md` + `sql/fms_core.sql`)对齐,并把 `开发规范.md` 的面板式配置页约定落实到编排层与各面板。界面外观与既有交互(树搜索/右键/拖拽、分节 Tab、字段表格、列表/表单设计器的拖拽与预览、查询条件表、自动编码预览、多语言透视表)保持不变,仅调整底层数据模型、加载与保存逻辑。 + +## 用户需求 + +- 按 V2 重构 `fms-vue/src/views/module/module-management/` 全部代码。 +- 布局配置完整迁移为 JSON:列表/表单/查询分别存 `s_module_schema` 的 `view/edit/query` 三行 `b_schema_json`,字段分组由独立表变为 JSON 节点。 +- 模块类型改为 `module / data / virtual`(category→module、query→virtual、data 不变),新增/移动节点时维护模块树 `b_depth / b_path`。 +- 同步更新 `menu-management` 中对模块类型的过滤条件。 +- 不新增 `s_relation` 面板。 + +## 核心功能 + +- 模块树:加载/搜索/展开/右键新增/删除/拖拽排序;节点承载 b_depth、b_path,并随新增与移动同步维护。 +- 基础信息:维护新 `s_module` 列(b_view_table/b_save_table/b_key_field/b_order_sql/b_query_sql/b_config_json 等)与类型联动校验。 +- 字段定义:维护新 `s_field`(b_source_field/b_name/b_i18n/b_type/b_canuse/b_xh);按查询表/视图同步字段;表单/列表/查询“参与”勾选改为在对应 JSON 中增删字段节点。 +- 界面配置:列表(view JSON,支持分组列/多级表头)、表单(edit JSON,分组+行+字段、栅格/只读/必填)、查询(query JSON,quick + 条件组)。 +- 自动编码:单条 `s_autocode` 规则与实时预览(列名已与 V2 一致)。 +- 多语言:基于 `s_i18n` 的 `(b_key, b_locale)` 复合键维护受管资源键与翻译。 +- 保存:`handleSave → beforeSave → buildSaveData → 通用保存接口 → afterSave`,按 `_org` 基线 diff,无变化不提交;切换模块保留未保存确认。 + +## 技术栈 + +- 前端:Vue 3(Composition API + ` - - - -
-cw_fee