Groovy代码示例

代码示例

UI按钮函数的三种返回类型应用场景:

1 Map

返回值类型是 Map ,通常是和页面交互使用的 通常返回的信息需要包含 error : 是否出错 errorMessage : 出错后提示的错误信息
block : 提示异常信息后,是否阻塞保存

[ "error":true, "errorMessage":"如果失败了,提示的错误信息", "block":true ]

2 String

返回一个String类型,内容必须是一个有效的URL,点击按钮后页面跳转到该返回值对应的URL。

3 UIAction

按钮跳转到标准页面或者自定义组件的场景,需要配置返回类型为UIAction的按钮函数。

3.1 UIAction 跳转到详情页自定义组件:

Groovy:

userData = [:] //传递给自定义组件的数据键值对list
title = "title" //标题
width = 123 //宽高
maxHeight = 123 //最大高度

component { //组件的apiName
apiName = "comp_yuio8__c"
}
}

return openDialogAction

函数的context.data、context.details会作为默认参数objectData、details传递给自定义组件。

3.2 UIAction 跳转到列表页自定义组件:

Groovy:

userData = [:] //传递给自定义组件的数据键值对list
title = "title" //标题
width = 123 //宽高
maxHeight = 123 //最大高度

component { //组件的apiName
apiName = "comp_yuio8__c"
}
}

return openDialogAction

函数的conext.dataList会作为默认参数objectIds传递给自定义组件。

3.3 UIAction 跳转到标准组件:

Groovy:

//1 跳转打印模板
/**
* data 打印时需要传递的参数
  */

Map data = [
"validatePreAction":false,  //前验证必须是false
"templateId":"5e994bbfa5083d97d6ae7afa",  //指定打印模板
"dataId":"5d428ed922381800018d946c",      //数据的id
"orientation":"Landscape",                //横向还是纵向
"skipCheckButtonConditions":false         //是否跳过对象的按钮显示条件判断
]
WebAction action = WebAction.builder()
.type('print')
.data(data)
.build()

return action

//2 跳转新建页面
Map data = [
'apiname':'AccountObj',
'record_type': 'default__c'
]

WebAction action = WebAction.builder()
.type('form')
.data(data)
.build()

return action

//3 跳转新建页面并为新建页面字段设置默认值
Map recordData = [
'field_62AcX__c': "6066ec21fe5dbf0024f67e02",  //为查找关联字段赋值
'field_62AcX__c__r': "我的商品1",               //必须用此方法添加查找关联对象数据的主属性
'name':'回填'
]
Map data = [
'apiname':'object_qe3x1__c',
'record_type': 'default__c',
'data': recordData,
'details':[:]
]
WebAction action = WebAction.builder()
.type('form')
.data(data)
.build()
return action

//4 跳转到URL
UIAction uiAction = WebAction.builder()
.type('url')
.url('www.fxieoke.com')
.build()
return uiAction

//提示信息不能为空,type 是为了预留后面多种弹框提示的样式的属性, 可以为空,为空或默认塞入 default

3.4 UIAction 移动端跳转页面:

Groovy:

   AppAction app = AppAction.builder()
   .url('https://www.baidu.com')
   .build()
   return app

url为小程序组件时:

AppAction app = AppAction.builder()
   .url('ava://uipaas_custom/fs_common/pages/custom_components/index?components=[{apiName:${apiName}]') //${apiName}为组件的apiName
   .build()
   return app
2024-11-19
8 17