用于执行自定义按钮触发逻辑
例:用户点击客户下的延期按钮,弹出界面,输入申请延期时间,触发审批,通过后,可以延迟相应的公海回收时间。


按钮函数的三种返回类型应用场景:
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








