企業級自定義表單引擎解決方案(五)--自定義表單典型業務案例


這篇文章結合案例再來直觀的感受一下自定義表單的應用,純技術上的應用會比較枯燥一些,后面再對大的設計細節進行展開。

我們平時的業務絕大多數都是圍繞着單表、一對多關系、多對多關系,以及擴展開來的一對多對多、一對一、一(樹結構)對多等展開。 如果把這些關系做成自定義表單模板,則只需要幾步就能夠配置出滿足絕大多數業務場景的功能。

本文介紹從模板創建單表應用,只需要簡單三步就能夠生成一個功能比較全面的單表表單應用, 創建出來的表單包括新增、刪除、修改、批量刪除、普通查詢、高級查詢、導出Excel、導入Excel、表單驗證、數據字典管理等各種功能。

本文以人員管理做為一個案例,並從模板快速創建表單應用,講解自定義表單單表應用的定義與使用的常見功能與自定義表單的一些實現基本算法介紹。界面大概如下:

  

  自定義表單架構參考 

單表表單定義

步驟一:創建實體對象

  1. 實體對象主要是自定義表單與真實數據庫存儲之間的橋梁,在界面上管理自定義表單,相當於DBA在操作數據庫腳本一樣,但是這里的自定義表單還賦予了一些更高級的功能。
  2. 創建實體對象時,可以選擇是否為樹(自動生成通用樹結構需要的字段如PId,Code,Path等字段,並在運行時自動管理字段值,查詢里,自動構建樹結構信息); 可選擇新增、編輯、刪除審計(自動管理新增人,新增時間,修改人,修改時間,邏輯刪除數據)功能。
  3. 字段可填寫字段名稱,字段類型(不同的字段默認最常見的控件編輯和查詢,如Date字段則用日期控件編輯以及查詢,新增編輯、Excel導入自動添加字段驗證),是否為空, 是否必填(新增編輯、Excel導入等自動添加驗證必填),是否唯一,字段長度,自定義驗證,數據字典(新增編輯、Excel導入、普通查詢、高級查詢均用下拉選擇字典控件處理)。
  4. 添加完成對象后,還可以添加自定義方法,自定義方法主要為開發人員自己編寫一些特殊的業務邏輯提供接入API。

點擊查看演示

 

步驟二:選擇模板,生成自定義表單

選擇模板單表表單,填寫對象Map(模板對象名稱和新建的表單對應的對象名稱)、描述Map(模板中的一些說明文字替換為新建表單的描述文字)、 列表排除字段(哪些字段不需要自動生成)、業務分類(表單管理和視圖管理的分類信息,方便快速查詢),然后確認生成。

確認生成后,可修改任何表單定義信息,修改后,立即生效。

從模板快速創建表單基本原理------>在模板管理中,已經預定義好單表應用相關的表單、視圖、規則、控件、Wrap信息、列表查詢、表單行、表單列、表單視圖、列表視圖等自定義表單方方面面的內容。 而且根據模板自定生成表單時,后台會自動復制這些內容,並重新生成各種對象的Id,再用新生成的Id替換模板中相應字段的Id,並根據第一步定義的實體對象屬性信息, 選擇合適的控件,為表單視圖生成對應的字段並自動添加驗證規則,為列表視圖生成查詢字段、高級查詢字段、列表字段 (如:字段類型為dict,則用下拉選擇字典控件生成表單字段信息、查詢字段、列表顯示字段、高級查詢字段; 如果定義了必填,唯一,自定義驗證等,都會在不同的區域默認生成驗證表達式和唯一判斷規則等),生成完成后,將所有信息保存到數據庫同時更新緩存內容。

點擊查看演示

步驟三:配置菜單,運行表單

1. 復制新建的列表表單Id

2. 在功能模塊管理新菜單(可選擇類似新增),配置菜單,填寫表單Id到對應字段位置

3. 配置菜單訪問角色,刷新界面,即可看到自定義表單生成的內容

點擊查看演示

至此三步即可完成一個單表應用的配置,多數場景即可做為生產環境功能模塊直接使用。另外可以在界面隨時修改表單定義,修改好立即生效。接下來介紹一下生成的表單擁有的基礎功能。

單表表單功能說明

增、刪、改、批量刪除

1. 點擊新增按鈕,彈出新增信息界面,所有字段的驗證規則和使用的控件均根據第一步定義的對象屬性信息默認生成。
2. 姓名、用戶名、性別等帶紅色*符號的字段為必填
3. 性別、學歷、職稱為下拉選擇數據字典
4. 電話、郵箱為自定義驗證(內置的電話和郵箱驗證,可自行添加正則表達式)
5. 入職日期、出生年月為日期控件
6. 數據類型為string的,自動添加字段長度驗證
7. 點擊保存,判斷驗證是否通過,驗證通過后,保存數據到數據庫,刷新列表

點擊列表編輯按鈕,列表編輯,可編輯表單,表單驗證信息同上

點擊列表刪除按鈕,彈出確認是否刪除

可勾選列表數據列,勾選之后,批量刪除按鈕可用,可批量刪除數據

點擊查看演示

普通查詢、高級查詢、列表數據顯示

查詢分了普通查詢、高級查詢和隱藏查詢(多數情況是通過參數傳入到視圖中)

普通查詢,根據第一步的對象屬性自動選擇前5個類型為string、text、date、datetime的屬性做為查詢字段,並選擇默認的控件。string、text系統構造like查詢條件,如果為字典,則構造in查詢條件,date、datetime為日期區間選擇控件,系統構造between and查詢條件

高級查詢,根據第一步的對象屬性自動選擇剩余查詢字段,並選擇默認的控件。選擇高級查詢時,先選擇字段,然后選擇配置可以使用的查詢類型(等於、大於、大於等於、區間、模糊、In等),系統根據字段類型和查詢類型構造查詢控件,選擇一個查詢字段后,清空剩余可選查詢字段,另外可以修改刪除經選擇的高級查詢字段
點擊查詢,查詢列表數據

列表中,數據字典自動顯示字典顯示名稱,日期自動格式化日期顯示
另外還可自定義列字段顯示樣式

點擊查看演示

導入導出Excel

導入導出Excel也是各種管理系統常見的功能,系統根據第一步創建的對象屬性自動生成Excel模板。

模板自動構造字典下拉、必填樣式、字段格式,導入時,根據驗證規則驗證各種數據合法性

可設置導入的唯一字段或者聯合唯一字段集合,導入時,判斷Excel數據是否有重復,有重復則修改數據,無重復則新增(案例中唯一字段為用戶名)

導入結果會顯示導入成功的數據條數,還會輸出導入失敗Excel,記錄原始行號和驗證錯誤原因,提示用戶編輯之后重新導入

根據查詢條件查詢數據,導出所有滿足查詢條件的數據,輸出Excel

點擊查看演示

Excel技術實現參考

編輯表單定義

以上是根據模板自動創建出來的自定義表單,能夠滿足絕大多數業務需求。

另外,創建出來的自定義表單的方方面面均可以新增或者修改,比如列表查詢、高級查詢、列表樣式、彈出樣式、表單驗證、執行規則、控件樣式、執行自定義方法、綁定數據等等

點擊查看演示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM