--- 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 + `