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