Asp.Net Mvc2 OA 工作流程設計思路[圖]_實用技巧

來源:互聯網
上載者:User

回老家上班的新公司,第一個項目:OA。以前沒有做過OA,因為設計到工作流程這一塊的東西,所以自己去進行了相關的瞭解,於是有了這篇部落格(以下文字只是個人理解,高手漂過)。環境:MVC2+SQL2008

工作流程分為幾個步驟:表單(設計、解析)、流程(設計)、合并就是一個完整的工作流程。先上個一個圖:

第一步:表單

因為沒有使用圖形化設計表單,所以我們的思路是強制定義表單格式,後台解析。如圖:

上圖的HTML是強制定義的,像table>tbody>tr>td必須按照這個格式定義,雖然不靈活,但是功能也算實現了。說說思路:這個表單將解析成11個節點(申請人、申請日期、部門、假期類別、請假時間、扣薪形式、請假理由、審批人、審批日期、審批結果、審批意見)

如上圖所示,解析節點是通過[愛好]中的id擷取的,採用HtmlAgilityPack來解析,具體代碼:

SelectNodes("//table/tbody/tr/td[@id='title']")

這樣就可以知道表單的所有節點,而標題所對應的選項則用class來對應,從上圖也可以看出來(用來控製表單節點是否可以填寫項,下面會介紹)。

特殊控制項處理:譬如時間的話也是通過定義class='time'而後,通過jquery動態綁定載入。

第二步:流程,同樣通過文字形式來制定流程步驟

定義流程與表單關聯

這裡的經辦許可權是直接跟使用者關聯的,用來標識哪些人擁有該流程的辦理許可權。

接下來就是定義流程的步驟了。

上圖是一個請假流程的全部步驟,下面介紹怎麼制定這些步驟。

節點序號:用來表示當前流程為第幾步,節點名稱用來標識當前步驟名稱,是否允許附件、會簽,用來控制附件與會簽區的顯示和隱藏。下一步標識當前步驟可以流轉到哪些步驟,左邊是已經選擇好了的(可以是多個步驟,這裡考慮的是,不同的職位使用相同的流程會有特殊情況發生,譬如正常的流程是需要四步[員工填寫》經理審批》總監審批》人事備案],但是當總監請假的時候就不需要這麼多步驟[填寫表單》人事備案]),右邊是拉取當前流程下的所有步驟。不可寫欄位標識,當前步驟時,表單有哪些節點為不可以填寫,譬如:員工填寫請假申請單,流轉到經理時,那麼經理看到的表單就有員工姓名、部門等資訊不能填寫,只能填寫審批意見等節點資訊。這樣流程與表單就關聯好了,接下來就是工作流程流轉了。

第三步:工作流程流轉,類比流程流轉,建立流程

定義工作流程的名稱

點擊確認建立是,直接跳轉到流程頁面,並且在資料庫存入第一步流程的相關資訊。

然後填寫表單內容,選擇下一個步驟及經辦人就可以流轉至下一步。說明:表單內容我是把整個表單的HTML代碼全部存入資料庫,然後流程流轉時再把填寫好的表單內容存入下一步,這樣流程到下一步時,看到的表單就是最新的了。這是一個很笨的辦法,因為使用$("#表單tableID")是擷取不到表單的value值的,所有需要進行處理,擷取表單內容通過jquery直接attr(value,文本值)上去,這樣就可以把表單內容存入資料庫。

這裡還涉及到多人辦理的情況,當經辦人選擇為多人時,除非是最後一個人,否則流程不允許流轉至下一步,但是可以填寫會簽意見及修改表單,修改的表單將覆蓋當前步驟表單,至最後一個轉交至下一步,如此重複就可以實現流程流轉了。

語言群組織能不強,所有只能說成這個樣子,整個流程還是有缺陷的,表單設計和流程設計都只能使用文字的形式,可能以後會考慮更換成圖形化,還有就是不支援子流程。今天就寫這麼多了,也是最近才接觸自訂工作流程,也看過很多非常強大的工作流程,所以以後還繼續完成、改進和學習。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.