天天看點

H3 BPM前背景互動方法介紹

在BPM項目中,前背景互動功能很常見,實作的方式也有很多種

這個TXT裡面介紹的就是H3封裝的Action的用法

//Loaded是H3封裝的前台加載事件

$.MvcSheet.Loaded = function (sheetInfo) {

//$.MvcSheetUI.GetElement("參數1").change(function (){});方法解析:

//此方法是H3中封裝的自定義的change方法,針對H3中的絕大多數控件

//參數1:改變後觸發change方法的資料項的編碼

//方法前提:此方法需要寫在Loaded事件中,不然腳本會報錯“未定義change()方法”

//下例中,該方法的功能是,當資料項編碼為UserId的資料項改變是,進行前背景互動,讀出對應的code和name并指派給表單資料項

$.MvcSheetUI.GetElement("UserId").change(function (){

//注意事項:

//1、$.MvcSheet.Action中的Data是傳入背景的資料值,當是多個值的時候,以英文","隔開,","是在雙引号後面的如:Datas: ["{UserId}","{Day}"],

//2、前台通過Data向背景傳入資料值,背景的對應方法需要定義參數清單去接收,參數清單的類型和個數需與Data中傳入參數的類型和個數一一對應且順序不能錯亂

//3、前背景參數互動類型對應規則

//前台傳入資料的控件類型 背景接收的變量類型

//日期類型控件 -> string(字元串)

//參與者(單人) -> string(字元串)

//參與者(多人) -> string[](字元串數組)

//短文本/長文本 -> string(字元串)

//審批意見/附件 -> string(字元串)

//整數 -> int/long/string

//長整數 -> long/string

//數值 -> float/double/string

$.MvcSheet.Action({

                        Action: "TestAction",   // 調用的背景方法名稱

                        Datas: ["{UserId}"],    // 輸入參數,格式 ["{資料項名稱}","String值","控件ID"],當包含資料項名稱時 LoadControlValue必須為true

                        LoadControlValue: true, // 是否擷取表單資料

                        PostSheetInfo: false,    // 是否擷取已經改變的表單資料

                        OnActionDone: function (e) {

//"e"是用來接收方法"TestAction"的反回值(return的值),從下面代碼可以看出,TestAction方法傳回的是一個對象

//1、背景方法可以是有傳回值的,也可以是無傳回值

//2、傳回值類型可以是對象、int、string、數組、集合等

//3、我們推薦的是傳回對象,這樣的話可以避免些系統bug

                         // 執行完成後回調事件

                                $.MvcSheetUI.SetControlValue("code", e.Code); //Code是傳回對象e的一個屬性,且Code需要和背景定義的對象的屬性名稱保持一緻

                                $.MvcSheetUI.SetControlValue("mvcName", e.Name); //Name是傳回對象e的一個屬性,且Name需要和背景定義的對象的屬性名稱保持一緻

                        }

});

  });

};

本文轉自 lwl_BPM  51CTO部落格,原文連結:http://blog.51cto.com/12438115/1924112,如需轉載請自行聯系原作者

繼續閱讀