在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须要和后台定义的对象的属性名称保持一致
}
});
});
};