步驟二:表單細節修正
我們延續上一篇EP1,本篇文章要來微調表單上的一些功能,使其更符合操作:
我們發現
發文單位、公文類別、會簽單位、審核單位
這四個欄位尚未設定正確。
這幾個欄位不應該用輸入的方式,應該用下拉選單的方式處理。
首先[發文單位]設定,我們切換到選單上的[工具]->[系統參數資料表]
在此點選編輯內容值,我們先以人總室、資訊室、採購室、營運部、餐商部為例
我們再回到畫面中,就可以下拉選擇了
[公文類別]設定,因為牽涉到另外設計資料表格式,我們先跳過
[會簽單位一]與[審核單位一]設定,因為牽涉到公文流程[WorkFlow],必須使用群組的資料。我們設計的角色是去對應組織層級,共有五層:一般職員->科級主管->部級主管->體系主管->總經理,您也可以依照需求擴展或是縮減組織層級。
為了之後做完整演示,故新增了董事長室、總經理室、五個部門、兩個科級單位、兩個一般人員角色,每個角色底下也需要設定用戶,參考下圖:
最後需要將用戶指派到某一個角色上,一個用戶可以有多種角色,一個角色也可以有多個用戶,會是一種複雜多對多的關係。但是這部分的流程邏輯,因為有強大的icoder,都是可以處理的。
建立好資料之後,我們要到後端程式[icoder內簡稱Server端],去設定一個物件[infocommand],好讓前端程式可以撈出資料:
這個infocommand的SQL語法如下
SELECT GROUPID,GROUPNAME from GROUPS WHERE isrole = 'Y'
意即撈出角色的編號與名稱
再來我們要處理前端畫面[會簽單位一]與[審核單位一]的欄位,我希望是可以跳出視窗並且可以多重選擇,因為實務上,我要會簽的單位可能不只一個,舉例:我的公文需要同時會簽給人總室主管以及資訊部主管。
因此我們再次回到表單設計的畫面,尋找此兩欄位的設定
Types = options
RemoteName 選擇後端的infocommand
ValueField = GROUPID [欄位真正的值]
TextField = GROUPNAME [呈現的文字]
Mutiple = YES [代表可以多選]
Mode = list [會彈出視窗做選擇]
審核單位同樣原理製作
我們就得到如下的結果: