代码生成进阶
核心定位
程式碼生成器是 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 | ✅ | ✅ | ✅ | ❌ |
| 樹形表 | ✅ | ✅ | ✅ | ❌ |
使用流程
- 在資料庫中建好表結構
- 在「程式碼生成」選單中匯入表
- 配置生成選項(模組名、業務名、類名、生成模式)
- 預覽並生成程式碼
- 將程式碼複製到專案中,配置選單即可使用