本發(fā)明涉及移動辦公
技術(shù)領(lǐng)域:
:,特別涉及一種OA工作流程表單定制方法。
背景技術(shù):
::辦公自動化(OfficeAutomation,簡稱“OA”)是將現(xiàn)代化辦公和計算機網(wǎng)絡(luò)功能結(jié)合起來的一種新型的辦公方式,隨著互聯(lián)網(wǎng)的應(yīng)用越來越普及,辦公自動化也受到了廣泛的應(yīng)用。當(dāng)前市場上的OA工作流程表單定制方法,大多采用流程、表單各自單獨定制,完成后再整合方式實現(xiàn),操作繁瑣,定制過程效率低,而且上述定制過程大多需要專業(yè)的軟件工具(如flash、PC程序等),并配備比較專業(yè)人員才能完成,操作門檻高。技術(shù)實現(xiàn)要素:為了解決現(xiàn)有OA工作流程表單定制過程中操作復(fù)雜,定制效率低,操作門檻高等問題,本發(fā)明實施例提供了一種OA工作流程表單定制方法。所述技術(shù)方案如下:本發(fā)明實施例提供了一種OA工作流程表單定制方法,所述方法包括:在瀏覽器的表單編輯區(qū),通過選取預(yù)設(shè)的步驟控件來選取工作流程中,未經(jīng)編輯處理的流程步驟;通過選取預(yù)設(shè)的布局控件中的操作,來為選取的流程步驟進(jìn)行表格化處理;通過選取預(yù)設(shè)的屬性控件中的操作,為表格化處理的流程步驟中的表格元素進(jìn)行相應(yīng)的編輯處理;重復(fù)選取所述步驟控件直至選取到工作流程的最后一步,以完成工作流程表單的定制。在本發(fā)明實施例上述的OA工作流程表單定制方法中,所述步驟控件、所述布局控件、所述屬性控件均為基于超文本標(biāo)記語言(HyperTextMarkupLanguage,簡稱“Html”)5設(shè)計的控件。在本發(fā)明實施例上述的OA工作流程表單定制方法中,所述布局控件包括:一行兩列操作或者一行三列操作。在本發(fā)明實施例上述的OA工作流程表單定制方法中,所述屬性控件包括:單行文本操作、多行文本操作、下拉列表操作、多選框操作、日期選擇操作、當(dāng)前時間操作、申請人操作、部門選擇操作、當(dāng)前用戶操作、當(dāng)前部門操作、出生日期操作、現(xiàn)任職務(wù)操作、性別操作、描述操作中至少一種。在本發(fā)明實施例上述的OA工作流程表單定制方法中,所述方法還包括:對選取的所述步驟控件進(jìn)行第一屬性定制設(shè)置,所述第一屬性定制設(shè)置包括:標(biāo)題設(shè)置、選中狀態(tài)設(shè)置、經(jīng)辦人設(shè)置中至少一個。在本發(fā)明實施例上述的OA工作流程表單定制方法中,所述方法還包括:對選取的所述屬性控件進(jìn)行第二屬性定制設(shè)置,所述第二屬性定制設(shè)置包括:標(biāo)題設(shè)置、描述設(shè)置、是否必填設(shè)置、控件大小設(shè)置、字符長度設(shè)置、序號設(shè)置、默認(rèn)值設(shè)置中至少一個。在本發(fā)明實施例上述的OA工作流程表單定制方法中,所述方法還包括:對定制好的工作流程表單進(jìn)行表單設(shè)置,所述表單設(shè)置包括:流程表單的名稱設(shè)置、流程表單的描述設(shè)置、流程分類設(shè)置中至少一個。在本發(fā)明實施例上述的OA工作流程表單定制方法中,所述表單編輯區(qū)預(yù)存有工作流程的開始步驟。在本發(fā)明實施例上述的OA工作流程表單定制方法中,所述方法還包括:將定制好的工作流程表單,解析為預(yù)設(shè)格式的工作流程表單;通過預(yù)設(shè)的工作流引擎將解析后的工作流程表單存儲在數(shù)據(jù)庫中,以供員工調(diào)用。在本發(fā)明實施例上述的OA工作流程表單定制方法中,所述預(yù)設(shè)格式為可擴(kuò)展標(biāo)記語言(ExtensibleMarkupLanguage,簡稱“xml”)。本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:通過在瀏覽器的表單編輯區(qū),通過選取預(yù)設(shè)的步驟控件來選取工作流程中,未經(jīng)編輯處理的流程步驟;然后通過選取預(yù)設(shè)的布局控件中的操作,來為選取的流程步驟進(jìn)行表格化處理;然后通過選取預(yù)設(shè)的屬性控件中的操作,為表格化處理的流程步驟中的表格元素進(jìn)行相應(yīng)的編輯處理;最后通過重復(fù)選取步驟控件直至選取到工作流程的最后一步,以完成工作流程表單的定制。這樣該OA工作流程表單定制方法將流程定制和表單定制整合在一起,一步到位地實現(xiàn)了OA工作流程表單的定制,使得定制過程簡化,定制效率更高;而且該方法在瀏覽器中進(jìn)行,并配合幾個預(yù)設(shè)控件即可,免除了現(xiàn)有技術(shù)中多項專業(yè)軟件工具的使用,有效降低了定制操作門檻,實用性更強。附圖說明為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例一提供的一種OA工作流程表單定制方法流程圖;圖2是本發(fā)明實施例二提供的一種OA工作流程表單定制方法流程圖。具體實施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。實施例一本發(fā)明實施例提供了一種OA工作流程表單定制方法,參見圖1,該方法包括:步驟S11,在瀏覽器的表單編輯區(qū),通過選取預(yù)設(shè)的步驟控件來選取工作流程中,未經(jīng)編輯處理的流程步驟。在本實施例中,OA工作流程表單的定制是在瀏覽器中進(jìn)行的,并配合多個預(yù)設(shè)的控件(包括:步驟控件、布局控件、屬性控件),免除了現(xiàn)有的流程表單定制過程中各種專業(yè)軟件工具的使用,有效降低了流程表單定制操作的門檻,使其實用性更強。步驟S12,通過選取預(yù)設(shè)的布局控件中的操作,來為選取的流程步驟進(jìn)行表格化處理。需要說明的是,流程表單一般包括流程和表單兩部分,在本實施例中,通過選取預(yù)設(shè)的步驟控件,來實現(xiàn)流程步驟的選取,如果該流程步驟中存有表單,則可以通過布局控件,實現(xiàn)對該流程步驟進(jìn)行表格化處理。步驟S13,通過選取預(yù)設(shè)的屬性控件中的操作,為表格化處理的流程步驟中的表格元素進(jìn)行相應(yīng)的編輯處理。在本實施例中,通過屬性控件,來實現(xiàn)對表格化處理后的表格進(jìn)行表格元素編輯,使其形成一個完整可用的定制表格。步驟S14,重復(fù)選取步驟控件直至選取到工作流程的最后一步,以完成工作流程表單的定制。在本實施例中,通過重復(fù)選取步驟控件,可以實現(xiàn)對工作流程的定制,配合選取布局控件和屬性控件,可以實現(xiàn)對流程步驟中的表單定制,進(jìn)而實現(xiàn)整個流程表單的定制。本發(fā)明實施例通過在瀏覽器的表單編輯區(qū),通過選取預(yù)設(shè)的步驟控件來選取工作流程中,未經(jīng)編輯處理的流程步驟;然后通過選取預(yù)設(shè)的布局控件中的操作,來為選取的流程步驟進(jìn)行表格化處理;然后通過選取預(yù)設(shè)的屬性控件中的操作,為表格化處理的流程步驟中的表格元素進(jìn)行相應(yīng)的編輯處理;最后通過重復(fù)選取步驟控件直至選取到工作流程的最后一步,以完成工作流程表單的定制。這樣該OA工作流程表單定制方法將流程定制和表單定制整合在一起,一步到位地實現(xiàn)了OA工作流程表單的定制,使得定制過程簡化,定制效率更高;而且該方法在瀏覽器中進(jìn)行,并配合幾個預(yù)設(shè)控件即可,免除了現(xiàn)有技術(shù)中多項專業(yè)軟件工具的使用,有效降低了定制操作門檻,實用性更強。實施例二本發(fā)明實施例提供了一種OA工作流程表單定制方法,參見圖2,該方法包括:步驟S21,在瀏覽器的表單編輯區(qū),通過選取預(yù)設(shè)的步驟控件來選取工作流程中,未經(jīng)編輯處理的流程步驟。在本實施例中,OA工作流程表單的定制是在瀏覽器中進(jìn)行的,并配合多個預(yù)設(shè)的控件(包括:步驟控件、布局控件、屬性控件),免除了現(xiàn)有的流程表單定制過程中各種專業(yè)軟件工具的使用,有效降低了流程表單定制操作的門檻,使其實用性更強。需要說明的是,在表單編輯區(qū)預(yù)設(shè)有工作流程的開始步驟,即在定制工作流程時,只需要從第二步開始即可。在實際應(yīng)用中,可以將預(yù)設(shè)的控件設(shè)置在瀏覽器頁面左側(cè),表單編輯區(qū)設(shè)置在瀏覽器頁面中間,控件的屬性定制設(shè)置和表單設(shè)置均設(shè)置在瀏覽器頁面右側(cè)。步驟S21的具體操作說明如下:在左側(cè)步驟控件欄拖拽控件至表單編輯區(qū),只能放在開始步驟(該開始步驟為表單編輯區(qū)預(yù)設(shè)的)下,多個步驟控件之間可以隨意拖動變換位置,為了防止步驟名稱重復(fù),在默認(rèn)名稱步驟后增加一個隨機數(shù),并且默認(rèn)選中該屬性控件,同時支持步驟的刪除和屬性設(shè)置。步驟S21的具體實現(xiàn)如下:步驟控件中可以設(shè)置一個“下一步審批”元素,借助于jQueryUI的draggable拖拽事件,拖拽下一步審批步驟控件元素<divclass="dragsFirst_layoutui-draggable"type="row1line1"lang="下一步審批"title="下一步審批"><emclass="i_icoico_01"></em>下一步審批</div>根據(jù)type=row1line1,調(diào)用增加步驟控件事件,生成步驟頁面所需標(biāo)簽元素注意:在bz_id類樣式的元素中增加一個自定義jbr_name屬性,用于存放步驟的經(jīng)辦人,在Lb_name類樣式元素中增加了兩個自定義屬性(transition-下一步步驟,transition_back-回退步驟),用于存放流程流轉(zhuǎn)步驟設(shè)置。步驟S22,對選取的步驟控件進(jìn)行第一屬性定制設(shè)置,該第一屬性定制設(shè)置包括:標(biāo)題設(shè)置、選中狀態(tài)設(shè)置、經(jīng)辦人設(shè)置中至少一個。在實際應(yīng)用中,在表單編輯區(qū)域,鼠標(biāo)點擊選中步驟控件,右側(cè)屬性設(shè)置標(biāo)簽欄展開,可進(jìn)行步驟控件的標(biāo)題、選中狀態(tài)、經(jīng)辦人設(shè)置。具體地,選中狀態(tài)通過如下方式實現(xiàn):用戶勾選某一步驟,在本步驟下具有Lb_name類型的標(biāo)簽的transition屬性中增加所選步驟的名稱,同時在勾選的步驟下具有Lb_name類型的標(biāo)簽的transition_back屬性中增加當(dāng)前處于選中狀態(tài)的步驟名稱,步驟與步驟之間使用逗號分隔;用戶取消勾選某一步驟,在本步驟下具有Lb_name類型的標(biāo)簽的transition屬性中將所選步驟的名稱替換為空(處理逗號分隔),同時在取消勾選的步驟下具有Lb_name類型的標(biāo)簽的transition_back屬性中將當(dāng)前處于選中狀態(tài)的步驟名稱替換為空(處理逗號分隔)。經(jīng)辦人通過如下方式實現(xiàn):用戶點擊經(jīng)辦人增加按鈕,彈出企業(yè)用戶(type=0)、部門(type=1)、用戶組(type=2)樹形結(jié)構(gòu),勾選,點擊添加按鈕,將所選添加到右側(cè)已選列表中,然后點擊確定按鈕,在當(dāng)前處于選中狀態(tài)步驟具有bz_id類樣式的標(biāo)簽的jbr_name屬性的值改為所選辦理人,辦理人直接采用逗號分隔,組成形式如1000010049-張三-0,1000010060-研發(fā)部-1,1000010060-項目經(jīng)理-2(id-name-type)。步驟S23,通過選取預(yù)設(shè)的布局控件中的操作,來為選取的流程步驟進(jìn)行表格化處理。需要說明的是,流程表單一般包括流程和表單兩部分,在本實施例中,通過選取預(yù)設(shè)的步驟控件,來實現(xiàn)流程步驟的選取,如果該流程步驟中存有表單,則可以通過布局控件,實現(xiàn)對該流程步驟進(jìn)行表格化處理。具體地,布局控件可以包括:一行兩列操作或者一行三列操作,這樣可以實現(xiàn)各種表格類型的處理。步驟S24,通過選取預(yù)設(shè)的屬性控件中的操作,為表格化處理的流程步驟中的表格元素進(jìn)行相應(yīng)的編輯處理。在本實施例中,通過屬性控件,來實現(xiàn)對表格化處理后的表格進(jìn)行表格元素編輯,使其形成一個完整可用的定制表格。具體地,屬性控件可以包括:單行文本操作、多行文本操作、下拉列表操作、多選框操作、日期選擇操作、當(dāng)前時間操作、申請人操作、部門選擇操作、當(dāng)前用戶操作、當(dāng)前部門操作、出生日期操作、現(xiàn)任職務(wù)操作、性別操作、描述操作中至少一種。在本實施例中,單行文本操作用于流程表單中編輯少量文本,比如加班地點;多行文本操作用于流程表單中填寫大量文本信息的文本框,比如請假原因;下拉列表操作用于流程表單中的單項選擇列表,比如請假類型列表;多選框操作用于流程表單中的多項選擇,比如興趣愛好;日期選擇操作用于流程表單中時間日期的選擇的文本框,比如請假開始時間,請假結(jié)束時間等;當(dāng)前時間操作用于流程表單中加載當(dāng)前時間的文本框,比如流程表單申請時間;申請人操作用于流程表單中的申請人文本框,默認(rèn)加載當(dāng)前申請用戶;部門選擇操作用于流程表單中的部門選擇,默認(rèn)加載當(dāng)前用戶企業(yè)的所有部門;當(dāng)前用戶操作用于流程表單中加載當(dāng)前用戶的文本框,比如當(dāng)前審批人;當(dāng)前部門操作用于流程表單中加載當(dāng)前用戶所屬部門的文本框;出生日期操作用于流程表單中加載當(dāng)前用戶的出生日期的文本框;現(xiàn)任職務(wù)操作用于流程表單中加載當(dāng)前用戶的現(xiàn)任職務(wù)的文本框;性別操作用于流程表單中加載當(dāng)前用戶的性別的文本框;描述操作用于流程表單中對流程表單的某些說明文字,比如流程流轉(zhuǎn)說明。在實際應(yīng)用中,上述步驟S24的操作說明如下:在左側(cè)屬性控件欄拖拽控件至指定步驟中,放置位置可以在布局控件內(nèi),也可以是布局控件外,默認(rèn)選中該屬性控件,同時支持控件的刪除和屬性設(shè)置。上述步驟S24的實現(xiàn)說明如下:借助于JqueryUI的draggable拖拽事件,根據(jù)拖拽屬性控件的類型type不同,在頁面上生成相應(yīng)的標(biāo)簽元素,以單行文本為例:1,屬性控件區(qū)域標(biāo)簽元素<divclass="dragsdrag"type="text"lang="單行文本"title="單行文本"><emclass="i_icoico_06"></em>單行文本</div>2,拖拽至步驟控件生成的控件元素<inputname="txt201621164159181"wapid="文本框"type="text"maxLength="15"sortNumber="1"value="test"dbtype="vchar"showType="1"desc=””/>3,拖拽單行文本調(diào)用事件functionfun_text(){Time=Times();D_text=$("<input/>");D_text.attr({"type":"text","name":"txt"+Time,"wapid":"文本框","sortNumber":"1","maxlength":"30","dbtype":"vchar","showType":"1","desc":""});fun_usual("文本框");Dinpdiv.append(D_text,D_em);$(".D_inp").removeClass("D_active");Ddiv.addClass("D_active");}。步驟S25,對選取的屬性控件進(jìn)行第二屬性定制設(shè)置,該第二屬性定制設(shè)置包括:標(biāo)題設(shè)置、描述設(shè)置、是否必填設(shè)置、控件大小設(shè)置、字符長度設(shè)置、序號設(shè)置、默認(rèn)值設(shè)置中至少一個。在實際應(yīng)用,在編輯區(qū)域,鼠標(biāo)點擊選中屬性控件,右側(cè)屬性設(shè)置標(biāo)簽欄展開,可進(jìn)行標(biāo)題、描述、是否必填、控件大小、字符長度、序號、默認(rèn)值等屬性設(shè)置。需要說明的是,在本實施例的步驟S21-S25中,步驟控件、布局控件、屬性控件均為基于Html5設(shè)計的控件,使得該OA工作流程表單定制方法能夠兼容大多數(shù)的瀏覽器,使用范圍廣,實用性強。步驟S26,重復(fù)選取步驟控件直至選取到工作流程的最后一步,以完成工作流程表單的定制。在本實施例中,通過重復(fù)選取步驟控件,可以實現(xiàn)對工作流程的定制,配合選取布局控件和屬性控件,可以實現(xiàn)對流程步驟中的表單定制,進(jìn)而實現(xiàn)整個流程表單的定制。步驟S27,對定制好的工作流程表單進(jìn)行表單設(shè)置,該表單設(shè)置包括:流程表單的名稱設(shè)置、流程表單的描述設(shè)置、流程分類設(shè)置中至少一個。在實際應(yīng)用中,上述步驟S27可以通過如下方式實現(xiàn):點擊右側(cè)選項卡標(biāo)簽中的表單設(shè)置。此時可設(shè)置流程表單的名稱,描述,以及選擇流程分類,此外還可以選擇流程表單的使用人員(選擇方式和選擇流程步驟辦理人一致),在表單編輯區(qū)域的頂級標(biāo)簽增加一個jbr_name屬性,用于存儲該表單的使用人員,同時增加一個isalluser屬性,用于存儲是否選擇全部人可用,如果用戶定制時選擇使用人員,則將選擇的使用人員賦值給jbr_name屬性,人員之間用逗號隔開,如下,如果選擇全部人可用,則iaalluser=iaalluser,同時清空jbr_name屬性的值。<divclass="drops_contui-droppableui-sortable"jbr_name="1000010065-余上升-0,1000010067-吳媛媛-0,1000010063-孫冬冬-0,1000010062-封偉偉-0"isalluser="">。對于某些特定表單,提供自定義js腳本編輯框,用此腳本完成某些功能。步驟S28,將定制好的工作流程表單,解析為預(yù)設(shè)格式的工作流程表單。在本實施例中,該預(yù)設(shè)格式為xml。步驟S29,通過預(yù)設(shè)的工作流引擎將解析后的工作流程表單存儲在數(shù)據(jù)庫中,以供員工調(diào)用。在本實施例中,對于表單定義模板和流程定義模板基于XML+HTML的方式定制,對于表單模板和流程模板,通過定制html表單,然后解析成對應(yīng)的xml,通過工作流引擎保存至數(shù)據(jù)庫。具體實現(xiàn)方式如下:1,表單定義模板1.1,模板文件格式1.2,生成方法1.2.1<base>節(jié)點用于描述表單模板的基本屬性。如:id屬性表示表單的id、name屬性表示表單的名稱、desc屬性表示表單描述信息、createuser屬性表示表單的創(chuàng)建者、createtime屬性表示表單的創(chuàng)建時間、modifyuser屬性表示表單的修改者、modifytime屬性表示表單修改時間、eid表示表單的企業(yè)編號等。前端獲取流程表單的名稱和描述信息(如果是修改表單,同時獲取表單id),保存時提交給后臺,后臺獲取創(chuàng)建人和時間以及創(chuàng)建人的企業(yè)編號,生成<base>節(jié)點。1.2.2<inputs>節(jié)點<inputs>節(jié)點,主要是通過子節(jié)點<input>來對表單標(biāo)簽的屬性進(jìn)行描述或者用來保存標(biāo)簽值。獲取表單定制區(qū)域所有type=“text”的input標(biāo)簽,循環(huán)每一個標(biāo)簽,獲取標(biāo)簽中的name,wapid,type,maxsize,sortNumber,value(對應(yīng)于defaultvalue),readonly,fixedvalue,checknull屬性值,每一個標(biāo)簽拼接如下字符串(如果頁面標(biāo)簽存在,則為相應(yīng)值,否則設(shè)置為空),其中dbtype默認(rèn)為空,showType默認(rèn)為1<inputname="t1"wapid=""type="text"maxsize="15"sortNumber="1"defalutvalue="test"readonly="false"dbtype=""fixedvalue="#currenttime"showType="1"checknull="true"/>;獲取表單定制區(qū)域所有textarea的標(biāo)簽,循環(huán)每一個標(biāo)簽,獲取標(biāo)簽中的name,wapid,maxsize,sortNumber,readonly,checknull屬性值,每一個標(biāo)簽拼接如下字符串,其中dbtype默認(rèn)為空,showType默認(rèn)為5<inputname="t1"wapid="t1"type="textarea"maxsize="15"sortNumber="1"defalutvalue="test"readonly="false"dbtype=""showType="5"checknull="true"/>;獲取表單定制區(qū)域所有type=”checkbox”的標(biāo)簽,循環(huán)每一個標(biāo)簽,獲取標(biāo)簽中的name,wapid,sortNumber,readonly,checknull屬性值,每一個標(biāo)簽拼接如下字符串,其中dbtype默認(rèn)為空,showType默認(rèn)為3<inputname="t1"wapid="t1"type="checkbox"sortNumber="1"dbtype=""showType="3"groupname="csss"/>;獲取表單定制區(qū)域所有select的標(biāo)簽,循環(huán)每一個標(biāo)簽,獲取標(biāo)簽中的name,wapid,sortNumber,groupname屬性值,每一個標(biāo)簽拼接如下字符串,其中dbtype默認(rèn)為空,type默認(rèn)為select,showType默認(rèn)為4,獲取select下所有option,循環(huán)每一個option,獲取option標(biāo)簽的value和text值,拼接input中的element,value值不變,dese取text值。<inputname="t1"wapid="t1"type="select"sortNumber="1"dbtype=""showType="4"><elementdesc="1歲"value="1"/><elementdesc="2歲"value="2"/></input>;獲取表單定制區(qū)域內(nèi)所有type=label(定制時自定義type屬性值為label)的label標(biāo)簽,循環(huán)每一個標(biāo)簽,獲取標(biāo)簽的name,wapid,sortNumber屬性值,每一個標(biāo)簽拼接如下字符串,其中dbtype默認(rèn)為空,showType默認(rèn)為6,type默認(rèn)為label<inputname="t1"wapid="t1"type="label"sortNumber="1"dbtype=""showType="6"/>。1.2.3<flowpermission>節(jié)點用于描述表單控件與流程環(huán)節(jié)的對應(yīng)關(guān)系。<flowpermission>節(jié)點的子節(jié)點<inputelementname=”標(biāo)簽名稱”state_name="流程環(huán)節(jié)名稱">通過環(huán)節(jié)名稱和標(biāo)簽名稱的綁定,從而確定在流程的環(huán)節(jié)中標(biāo)簽是否可用。獲取頁面表單編輯區(qū)域所有的流程步驟標(biāo)簽(.form_viewdiv[type='row1line1']),循環(huán)每一個步驟,獲取步驟名稱statename,然后分別查詢該步驟下的所有定制的屬性控件(input[type='text']、textarea、input[type='checkbox']、select),獲取屬性控件標(biāo)簽的名稱name,循環(huán)拼接如下字符串<inputelementname="txt201605271212121"state_name="開始"/>。1.2.4<htmlform>節(jié)點只保存表單,即原始HTML源代碼,獲取表單編輯區(qū)域頁面html源代碼。1.2.5<js>節(jié)點保存自定義腳本,獲取表單設(shè)置欄中自定義腳本文本域的值。2,流程定義模板2.1模板格式2.2生成方法2.2.1<basic>節(jié)點用戶描述流程事項基本信息;前端獲取流程表單設(shè)置中流程表單名稱、描述,以及流程分類,流程表單保存時傳入后臺,生成<flowname>testflow</flowname><itemname>請假申請</itemname><itemdesc>事項描述</itemdesc><itemclass>1</itemclass>,其余屬性WEB模塊后臺系統(tǒng)自動生成。2.2.2<flow>節(jié)點用于描述流程環(huán)節(jié)定義xml文件,工作流jbpm系統(tǒng)根據(jù)此xml文件生成流程節(jié)點和流轉(zhuǎn)環(huán)節(jié)數(shù)據(jù),文件定義格式如下:獲取表單編輯區(qū)域所有的步驟控件(.form_viewdiv[type='row1line1'])下帶有類樣式Lb_name的標(biāo)簽,獲取步驟名稱(標(biāo)簽的text值),然后獲取此標(biāo)簽中的自定義屬性transition屬性(下一審批步驟)和transition_back屬性(回退審批步驟);解析transition屬性(逗號分隔),循環(huán)拼接流程下一步流轉(zhuǎn)字符串<transitionto=\""+transitions[i]+"\"name=\""+transitions[i]+"\"></transition>";解析transition_back屬性(逗號分隔),循環(huán)拼接流程回退字符串,由于jbpm不支持回退到開始所有此處特殊處理to="__back_+開始"其它的環(huán)節(jié)的回退to="上一環(huán)節(jié)名稱"name="__back_+上一環(huán)節(jié)名稱";如果當(dāng)前處理流程步驟為開始步驟,則需封裝<start-statename="開始"></start-state>,其他步驟封裝<statename="步驟21"></state>,循環(huán)結(jié)束后拼接上結(jié)束流程<end-statename="結(jié)束"></end-state>。2.2.3<itemrole>節(jié)點用于描述流程事項操作權(quán)限人員獲取(.drops_cont)標(biāo)簽下的isalluser屬性,如果不為空,則獲取jbr_name屬性,然后解析,逗號分隔每一個辦理人(10000-xx-0),循環(huán)拼接類似如下節(jié)點<role><roleid>10000</roleid><rolename>xx</rolename><roletype>0</roletype></role>;最后封裝<itemrole></itemrole>。2.2.4<staterole>節(jié)點用于描述流程步驟辦理人員之間的關(guān)系,供流程流轉(zhuǎn)過程中的辦理人選擇獲取表單編輯區(qū)域的所有步驟控件(.form_viewdiv[type='row1line1']),開始步驟除外,循環(huán)每一個步驟,首先獲取步驟名稱statename,拼接如下節(jié)點字符串:<statename>步驟名稱/statename>,然后獲取步驟控件下具有bz_id類樣式的標(biāo)簽的jbr_name屬性,跟流程使用人員的方式解析,拼接如下節(jié)點字符串<role><roleid>10000</roleid><rolename>xx</rolename><roletype>0</roletype></role>;最后封裝<staterole></staterole>。3,流程表單入庫處理Web定制模塊調(diào)用工作流引擎保存流程表單和保存流程事項的方法,先保存表單,保存成功后將響應(yīng)的表單id復(fù)制給流程定義模塊basic節(jié)點的formid屬性,再保存流程事項。本發(fā)明實施例通過在瀏覽器的表單編輯區(qū),通過選取預(yù)設(shè)的步驟控件來選取工作流程中,未經(jīng)編輯處理的流程步驟;然后通過選取預(yù)設(shè)的布局控件中的操作,來為選取的流程步驟進(jìn)行表格化處理;然后通過選取預(yù)設(shè)的屬性控件中的操作,為表格化處理的流程步驟中的表格元素進(jìn)行相應(yīng)的編輯處理;最后通過重復(fù)選取步驟控件直至選取到工作流程的最后一步,以完成工作流程表單的定制。這樣該OA工作流程表單定制方法將流程定制和表單定制整合在一起,一步到位地實現(xiàn)了OA工作流程表單的定制,使得定制過程簡化,定制效率更高;而且該方法在瀏覽器中進(jìn)行,并配合幾個預(yù)設(shè)控件即可,免除了現(xiàn)有技術(shù)中多項專業(yè)軟件工具的使用,有效降低了定制操作門檻,實用性更強。此外,該OA工作流程表單定制方法完全基于HTML5實現(xiàn),兼容市面上大多數(shù)的瀏覽器,適用范圍廣,實用性強;還支持工作流與業(yè)務(wù)系統(tǒng)分離,可作為單獨組件使用,系統(tǒng)集成簡單。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3