--- name: module-management-full-implementation overview: 基于新数据库结构.md和开发规范.md完整实现模块管理页面。左侧模块树+右侧7个子Tab(基本信息、字段定义、列表配置、编辑配置、查询配置、权限配置、多语言),子Tab操作按钮靠左。 todos: - id: create-service content: 创建 src/services/moduleManagement.js 服务层,封装 loadModuleTree、loadModuleConfig、saveModuleConfig、syncFields、typeFromSqlType 等方法 status: pending - id: create-main-page content: 重写 src/views/module-management/index.vue 主页面,实现左侧 FmsTree 模块树 + 右侧 a-tabs 动态Tab布局,集成数据加载与保存流程 status: pending dependencies: - create-service - id: create-basic-panel content: 使用 [skill:antdv-next] 创建 ModuleBasicPanel.vue 基本信息面板,表单编辑 b_module 字段,根据模块类型控制字段可见性 status: pending dependencies: - create-main-page - id: create-fields-panel content: 创建 ModuleFieldsPanel.vue 字段定义面板,FmsTable 展示字段列表,实现「同步字段」功能(调用 describeApi 合并视图列) status: pending dependencies: - create-main-page - id: create-list-edit-query-panels content: 创建 ModuleListConfigPanel.vue、ModuleEditConfigPanel.vue、ModuleQueryConfigPanel.vue 三个配置面板,FmsTable 展示各自数据,操作按钮靠左 status: pending dependencies: - create-main-page - id: create-group-manager content: 创建 FieldGroupManager.vue 共用分组管理组件,弹窗内管理 b_module_field_group 树形分组增删改 status: pending dependencies: - create-list-edit-query-panels - id: create-powers-i18n-panels content: 创建 ModulePowersPanel.vue 权限配置面板和 ModuleI18nPanel.vue 多语言面板,FmsTable 管理 b_module_power 和 b_i18n 数据 status: pending dependencies: - create-main-page --- ## 用户需求 根据新数据库结构.md和开发规范.md,完整实现模块管理页面。当前模块管理页面只有一个空占位(``),需要构建完整的左侧模块树+右侧子Tab布局。 ## 核心功能 ### 主页面布局 - **左侧模块树**:以树形结构展示所有模块(directory/page/data),支持选中节点后在右侧加载详情 - **右侧详情区**:使用 `a-tabs` 展示子Tab,根据选中模块的 `b_module_type` 动态显示对应Tab ### 模块类型与Tab对应关系 | 模块类型 | 可用Tab | | --- | --- | | directory | 基本信息、权限配置、多语言 | | page | 基本信息、权限配置、多语言 | | data | 基本信息、字段定义、列表配置、编辑配置、查询配置、权限配置、多语言 | ### 各子Tab功能 1. **基本信息**:编辑 `b_module` 的核心字段(b_code、b_name、b_module_type、b_route、b_viewtable、b_savetable、b_keyfield、b_orderfield、b_parent_id、b_canmenu、b_canuse、b_xh),表单保存 2. **字段定义**:展示 `b_module_field` 列表,**不可手工增删**。提供「同步字段」按钮,调用 `describeApi` 获取 `b_viewtable` 的列结构,与已有字段合并(保留已有配置、追加新列、标记已删列为不可用)。支持编辑 `b_name`、`b_type`、`b_default_value`、`b_options`、`b_canuse` 3. **列表配置**:管理 `b_module_field_list`(字段列配置)和 `b_module_field_group`(多级表头分组)。表格展示列表配置行,支持新增/删除。分组管理弹窗支持树形分组增删改 4. **编辑配置**:管理 `b_module_field_edit`(编辑属性)和 `b_module_field_group`(编辑分组)。表格展示编辑配置行,支持新增/删除。共享分组管理组件 5. **查询配置**:管理 `b_module_field_query`,表格展示查询条件配置,支持新增/删除 6. **权限配置**:管理 `b_module_power`,表格展示操作权限(b_code、b_name),支持新增/删除 7. **多语言**:管理 `b_i18n`,表格展示翻译条目(b_key、b_locale、b_value),支持新增/删除 ### 操作按钮排列 所有子Tab面板内,新增、删除、保存等操作按钮栏**靠左对齐**显示。 ### 数据保存策略 - **主表 b_module**:选中模块后直接编辑表单并保存,新增模块先调用 `nextIdApi` 获取雪花ID - **子表**(b_module_field/b_module_field_list等):新增行使用 `createTempId()` 生成临时负数ID,调用 `saveObjectApi` 统一保存变更 - **保存时**:使用 `diffRows()` 对比草稿与原始数据,通过 `tableChange()` 构建变更请求,多表变更一次提交到 `saveObjectApi` ## Tech Stack - 前端框架:Vue 3(`