代码生成进阶
核心定位
代码生成器是 RuoYi 开发效率的「核武器」。常规的单表 CRUD 已经不能满足复杂业务场景,这里介绍三种进阶生成模式,覆盖了企业开发中最常见的复杂页面形态。
有了这些能力,一个包含主子表、审批流的复杂业务页面,从「写几天」变成「配几分钟」。
适合什么样的用户
| 场景 | 推荐模式 | 效果 |
|---|---|---|
| 订单+明细 | 主子表-标准模式 | 同一弹窗,主子表同框编辑 |
| 工单+工序 | 主子表-内嵌模式 | 列表内直接展开子表 |
| 采购订单+明细 | 主子表-ERP 模式 | 主子表独立列表,独立表单 |
| 部门树/分类树 | 树形表模式 | 自动生成树形表格 |
| 移动端页面 | uni-app 模式 | 生成适配 H5/小程序的页面 |
三种主子表生成模式
graph TB
subgraph 标准模式["模式一:标准模式"]
S1["主表列表页"]
S2["点击新增 → 弹窗"]
S3["弹窗内:主表表单 + 子表表格
在同一弹窗中编辑"] S1 --> S2 --> S3 end subgraph 内嵌模式["模式二:内嵌模式"] I1["主表列表页"] I2["展开行 → 内嵌子表
主表行下方直接显示子表"] I1 --> I2 end subgraph ERP模式["模式三:ERP 模式"] E1["主表独立列表"] E2["子表独立列表
(通过主表 ID 关联)"] E3["主表独立表单"] E4["子表独立表单"] E1 --> E2 E3 --> E4 end
在同一弹窗中编辑"] S1 --> S2 --> S3 end subgraph 内嵌模式["模式二:内嵌模式"] I1["主表列表页"] I2["展开行 → 内嵌子表
主表行下方直接显示子表"] I1 --> I2 end subgraph ERP模式["模式三:ERP 模式"] E1["主表独立列表"] E2["子表独立列表
(通过主表 ID 关联)"] E3["主表独立表单"] E4["子表独立表单"] E1 --> E2 E3 --> E4 end
各模式适用场景
| 模式 | 适用场景 | 用户体验 | 代表业务 |
|---|---|---|---|
| 标准模式 | 主子表数据量小,主表+子表需要一起填写 | ⭐⭐⭐⭐ 操作流畅 | 问卷+题目、配置+配置项 |
| 内嵌模式 | 需要快速查看子表数据,不想跳转 | ⭐⭐⭐⭐⭐ 信息密度高 | 工单+工序、任务+子任务 |
| ERP 模式 | 主子表各有独立业务逻辑,数据量大 | ⭐⭐⭐ 灵活度高 | 采购订单+明细、销售订单+明细 |
树形表代码生成
graph LR
DEPT["部门表
id / parent_id / name"] GEN["代码生成器
识别 parent_id 字段"] OUT["生成树形表格页面
el-tree + 拖拽排序"] DEPT --> GEN --> OUT
id / parent_id / name"] GEN["代码生成器
识别 parent_id 字段"] OUT["生成树形表格页面
el-tree + 拖拽排序"] DEPT --> GEN --> OUT
支持无限层级,自动生成展开/折叠、拖拽排序、新增子节点等功能。
uni-app 代码生成
为移动端生成完整的页面代码,支持:
- 列表页面(下拉刷新、上拉加载)
- 表单页面
- 详情页面
- API 请求封装
前端版本支持
| 生成目标 | Vue3 管理后台 | Vben5 | Vue2 | uni-app |
|---|---|---|---|---|
| 单表 CRUD | ✅ | ✅ | ✅ | ✅ |
| 主子表-标准 | ✅ | ✅ | ✅ | ❌ |
| 主子表-内嵌 | ✅ | ✅ | ✅ | ❌ |
| 主子表-ERP | ✅ | ✅ | ✅ | ❌ |
| 树形表 | ✅ | ✅ | ✅ | ❌ |
使用流程
- 在数据库中建好表结构
- 在「代码生成」菜单中导入表
- 配置生成选项(模块名、业务名、类名、生成模式)
- 预览并生成代码
- 将代码复制到项目中,配置菜单即可使用