企業級自定義表單引擎解決方案(十三)–表單模板1
.net core研發的自定義表單引擎,採用強大的規則引擎將所有的業務串聯起來的,和其他低程式碼平台是有本質的區別的,目標是完全解放繁瑣的CRUD工作。
常規的業務,在需求以及資料庫設計完成之後,可能就僅僅在介面上幾分鐘的配置就能夠完成所有的開發、測試、部署工作,完全解放繁瑣的CRUD工作。
表單模板能夠快速創建常規的業務模組,系統盡量將常規的業務功能做成模板,方便快速的創建業務模組功能,選擇一個模板之後,會將模板對應的表單、子表單、子視圖、控制項等所有自定義表單相關的定義全部自動創建出來。
模板一:單表模板(ListFormSimple_ts)
最常見的業務,即對資料庫單張表的管理,包括一個表格和編輯對話框。
示例為演示創建一個常見的用戶管理,單表數據。
示例演示
三步創建一個單表應用模組
-
步驟一,新建對象
新建對象的同時,會根據介面上的配置,生成對應的資料庫表以及相應的欄位,系統根據介面上的配置,動態拼接創建資料庫的Sql語句,執行Sql程式碼,創建資料庫物理表,具體邏輯可以查看對應的源碼。
特殊欄位說明:
用戶名必填
登錄名必填且唯一
工號為自動生成的流程號,前綴為Sprite,流水8位,採用Redis管理自增
性別、職務、職稱為數據字典
電話和郵箱為自定義驗證
聯繫地址為Text多行文本
-
步驟二,快速創建表單
快速創建表單大致邏輯: 將模組裡面的表單、視圖、規則等所有配置數據從資料庫裡面查詢到記憶體中,將列表視圖裡面的列、查詢、導入導出Excel配置以及編輯視圖裡面的行、列數據全部刪除,將資料庫里的所有數據的Id提取出來,並構造出IdMap數據字典,字典Key為原Id,Value為新生成的Id(所有數據都包含主鍵,且主鍵類型為Guid),按照配置,根據新的對象的欄位類型生成列表視圖裡面的列、導入導出Excle以及編輯視圖裡的行、列數據,其他數據全部保留,用新的Id替換原始Id值,再一起保存到資料庫,同時刷新快取,這樣,一個新的業務表單就完成了。具體邏輯可查詢開源的源碼。
表單欄位說明:
- 表單模板選擇
選擇特定的模板,這裡選擇ListFormSimple_ts,即包含一個表格和編輯對話框管理單表,表格包含新增、編輯、刪除、批量刪除、導入導出Excel、分頁、排序、查詢、高級查詢等基礎功能,編輯表單包含欄位各種驗證、默認控制項渲染等。
- 對象Map
模板其實也是一個自定義表單功能模組,對象Map即用新的對象替換模板中使用對象的地方,值為:Simple_ts:User_b
- 描述Map
替換彈窗等,介面顯示的欄位,值為:單表_模板:用戶管理
- 業務分類
業務分類方便管理,值為:用戶部門
- Item表單行
定義編輯視圖生成多少列,默認為2列,這裡定義顯示3列,值為:User_b:3
-
步驟三,配置菜單
將最外層表單Id值拷貝過來,填寫對應的欄位即可。
如此三步驟,就完成了一個常規的業務功能模組,不需要任何開發工作,完全解放CRUD工作。
目前已經開發了10個左右常規模板,後續還會陸續增加其他模板,後續再寫文章介紹其他模板。
wike文檔地址://gitee.com/kuangqifu/sprite/wikis/pages
開源地址://gitee.com/kuangqifu/sprite
體驗地址://47.108.141.193:8031 (首次載入可能有點慢,用的阿里雲最差的伺服器)
自定義表單文章地址://www.cnblogs.com/spritekuang/
流程引擎文章地址://www.cnblogs.com/spritekuang/category/834975.html (採用WWF開發,已過時,已改用Elsa實現,//www.cnblogs.com/spritekuang/p/14970992.html )