在BPM項目中,先後臺交互功能很常見,實現的方式也有不少種數組
這個TXT裏面介紹的就是H3封裝的Action的用法mvc
//Loaded是H3封裝的前臺加載事件ide
$.MvcSheet.Loaded = function (sheetInfo) {編碼
//$.MvcSheetUI.GetElement("參數1").change(function (){});方法解析:spa
//此方法是H3中封裝的自定義的change方法,針對H3中的絕大多數控件code
//參數1:改變後觸發change方法的數據項的編碼對象
//方法前提:此方法須要寫在Loaded事件中,否則腳本會報錯「未定義change()方法」事件
//下例中,該方法的功能是,當數據項編碼爲UserId的數據項改變是,進行先後臺交互,讀出對應的code和name並賦值給表單數據項字符串
$.MvcSheetUI.GetElement("UserId").change(function (){string
//注意事項:
//一、$.MvcSheet.Action中的Data是傳入後臺的數據值,當是多個值的時候,以英文","隔開,","是在雙引號後面的如:Datas: ["{UserId}","{Day}"],
//二、前臺經過Data向後臺傳入數據值,後臺的對應方法須要定義參數列表去接收,參數列表的類型和個數需與Data中傳入參數的類型和個數一一對應且順序不能錯亂
//三、先後臺參數交互類型對應規則
//前臺傳入數據的控件類型 後臺接收的變量類型
//日期類型控件 -> 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方法返回的是一個對象
//注意事項:
//一、後臺方法能夠是有返回值的,也能夠是無返回值
//二、返回值類型能夠是對象、int、string、數組、集合等
//三、咱們推薦的是返回對象,這樣的話能夠避免些系統bug
// 執行完成後回調事件
$.MvcSheetUI.SetControlValue("code", e.Code); //Code是返回對象e的一個屬性,且Code須要和後臺定義的對象的屬性名稱保持一致
$.MvcSheetUI.SetControlValue("mvcName", e.Name); //Name是返回對象e的一個屬性,且Name須要和後臺定義的對象的屬性名稱保持一致
}
});
});
};