用于执行自定义按钮触发逻辑
例:用户点击客户下的延期按钮,弹出界面,输入申请延期时间,触发审批,通过后,可以延迟相应的公海回收时间。
按钮函数的三种返回类型应用场景:
Map
返回值类型是 Map ,通常是和页面交互使用的 通常返回的信息需要包含 error : 是否出错 errorMessage : 出错后提示的错误信息 block : 提示异常信息后,是否阻塞保存
[ "error":true, "errorMessage":"如果失败了,提示的错误信息", "block":true ]
String
返回一个String类型,内容必须是一个有效的URL,点击按钮后页面跳转到该返回值对应的URL。
UIAction
按钮跳转到标准页面或者自定义组件的场景,需要配置返回类型为UIAction的按钮函数。
UIAction 跳转到详情页自定义组件:
UIAction openDialogAction = OpenDialogAction.build{ userData = [:] //传递给自定义组件的数据键值对list title = "title" //标题 width = 123 //宽高 maxHeight = 123 //最大高度 component { //组件的apiName apiName = "comp_yuio8__c" } } return openDialogAction
函数的context.data、context.details会作为默认参数objectDate、details传递给自定义组件。
UIAction 跳转到列表页自定义组件:
UIAction openDialogAction = OpenDialogAction.build{ userData = [:] //传递给自定义组件的数据键值对list title = "title" //标题 width = 123 //宽高 maxHeight = 123 //最大高度 component { //组件的apiName apiName = "comp_yuio8__c" } } return openDialogAction
函数的conext.dataList会作为默认参数objectIds传递给自定义组件。
UIAction 跳转到标准组件:
//1 跳转打印模板 /** * data 打印时需要传递的参数 */ UIAction uiAction = WebAction.build(){ data = [ 'validatePreAction':false, //前验证必须是false 'templateId':"5e994bbfa5083d97d6ae7afa", //指定打印模板 "dataId":"5d428ed922381800018d946c", //数据的id "orientation":"Landscape" //横向还是纵向 ] type = 'print' //具体组件的细分类型 } return uiAction //2 跳转新建页面 UIAction action = WebAction.build() { type = 'form' data = [apiname: 'AccountObj', record_type: 'default__c'] } return action