在EEP WF系統中,各個Activity活動可以使用不同的表單來進行流程的簽核,就因為此,所以讓各個作業能有自己獨特的彈性與特殊的使用者畫面,但大多數的表單畫面都是很接近的,只有小小的差異就要設計成不同的表單與頁面,確實很浪費時間,因此,我們也可以透過在Activity活動中的Parameters參數來傳入同一個表單或頁面中,這樣就可以共用一個頁面,只須在這個頁面中以傳入的Parameters來做特別的控制。
Step1>
在 Customers.xoml中,將”指定客戶窗口”活動的Parameters設為 P1=SERVICE,P1代表參數名稱,SERVICE代表參數內容,可以自由設定,此參數可以在透過Web的連結頁面傳入網頁的Request的參數中,通過Requst.QueryString[“參數名稱”]取得。
Step2>
在rCustomersFL.aspx這個表單中,添加一段js的方法,來控制哪些欄位不能輸入(只有服務窗口欄位可以輸入),並在RWDDataForm的OnLoad屬性中添加該方法。
<script type="text/javascript">
function
formLoaded(data)
{
var flowRow =
JSON.parse(sessionStorage[$.getParameter('p')]);
var mode =
flowRow.NAVIGATOR_MODE;
if (flowRow.P1 == 'SERVICE' && mode == '2')
{
$('input,select,textarea', '#dfMaster').each(function () {
this.disabled = 'disabled';
});
$('#dfMaster_ServiceRole').removeAttr('disabled');
}
}
</script>
Step3>
我們以003為User進入。新增一筆0013客戶資料如下圖,新增完畢後,將資料呈上後送給005。005簽核後流程流至指定客服窗口將此資料送給007。
Step4>
以007為User登入,在「待辦事項」中找到0013的客戶資料,點擊「打開」按鈕對資料進行修改時,可以發現此時只能更改「服務窗口」,其餘欄位雖可點選但無法輸入資料。
從上面的實例中可以發現,通過傳遞參數的方法就可以在某個流程環節進行操作功能的控制,使之成為一個較具有彈性的操作流程。
Related Topics