JS SDK 使用说明
Guo Jiawei
guojiawei@open-care.com
(+86) 15810028374
202 2 年 0 5 月 1 9 日
更改 历史
主 题 |
|
||||||
保密说明 |
|
||||||
更改历史 |
|||||||
版 本 |
章 节 |
类 型 |
更改日期 |
更改人 |
复核日期 |
复核人 |
更改说明 |
1.0 |
1 , 2 , 3 |
C |
2019.01.18 |
Guo Jiawei |
|
|
|
|
|
A |
2019.02. 2 6 |
Guo Jiawei |
|
|
2.12 |
|
|
|
2020-10-16 |
|
|
|
V2020-10-16-001 |
|
|
A |
2021-10-11 |
Xu Yachen |
|
|
|
|
|
A |
2022-05-19 |
Guo Jiawei |
|
|
V2022-05-19-001 |
说明:类型-创建(C)、修改(U)、删除(D)、增加(A).
目 录
2.1.15 showWindowUseWindowNameAsLocationPath 17
2.1.16 sendMessageByMsgConfig 17
2.1.33 setEntityNamesForRefresh 24
2.1.34 manipulateFormFieldsValue 24
2.1.37 completeTaskWithEntityInfo 26
2.1.38 startProcessByKeyAndRunFirstTask 26
2.1.45 setBreadcrumbNameOfCurrWindow 30
2.1.48 currentUserTaskListByKey 31
2.1.54 setBreadcrumbVisible 34
2.1.56 setBreadcrumbBackground 34
2.1.60 getSearchFormFilters 36
2.1.62 clearTableFilterAndQueryTable 37
2.1.69 OC.Pinyin.getFullChars 40
2.1.70 OC.Pinyin.getCamelChars 40
2.1.71 sendSystemMsgWithoutTemplate 40
2.1.73 closeGlobalRequestLoading 41
2.1.74 openGlobalRequestLoading 41
2.1.75 closeGlobalRequestMsg 42
2.1.76 openGlobalRequestMsg 42
2.1.78 clearModalWinCtxArray 43
2.1.90 isRunningInWxMiniProgram 46
2.2.2 setWindowModifiedStatus 48
2.2.6 showPathComponentIdFromRootToCurrent 49
2.4.11 triggerValidationWhenSubmit 58
2.4.12 triggerFieldsValidation 58
2.4.13 cleanFieldsValidationRules 58
2.4.14 restoreFieldsValidationRules 59
2.4.17 setFormItemsEditable 60
2.4.18 setExcludeFormItemsEditable 61
2.10.1 setValueOfFirstOption 66
2.11.4 getTableHeaderForExport 68
2.11.5 getTableConfigurationState 69
2.11.6 addColumnForHyperLink 69
2.11.7 addColumnColorMapping 69
2.11.8 setOperatorColumnVisible 70
2.11.10 getSubTableWinInsByRowId 70
2.11.12 updateSubTableDataSource 71
2.11.14 refreshColumnOptionsByDataIndex 71
2.11.17 setTableMiniOperator 72
2.12.4 handleLoadingPaneUIByKey 73
2.12.6 removePanelAndTriggerEvent 74
2.13.2 updateValueOptionData 76
2.13.3 setCustomColumnsPrecisionByRowIdAndDataIndex 77
2.14 Table 、 Calendar 组件共有方法 77
2.15 CheckboxGroup 、 Radio 、 Select 、 TreeSelect 、 Cascader 共有方法 78
2.16 Table 、 TableForm 共有方法 82
2.16.4 setStyleConfigScript 83
2.16.8 updateColumnsVisible 84
2.16.12 setColumnsTitleByDataIndex 85
2.16.14 setColumnsOptionsByDataIndex 86
2.16.18 setCustomColumnsOptionsByRowIdAndDataIndex 87
2.16.19 getCustomColumnsOptionsByRowIdAndDataIndex 88
2.16.21 set OperationColumnWidth 88
2.19 Table 、 TableForm 、 Tree 共有方法 91
2.20.2 setCanAddState ( OneToMany 独有) 92
2.20.4 getChildComponentByName 93
2.22 Form 、 FormItem 、 SubForm 共有方法 94
2.23 Tabs 和 Collapse 组件共有方法 94
2.23.5 setPanelVisibleAndActivate 95
2.27.1 setOptionsWithSearchId 99
2.28.7 updateMultipleProperties 101
2.31.6 setGridColumnMunber 105
2.34 MSteps 组件独有方法 ( 移动端 ) 107
2.34.5 setStepTitl , setStepStatus,setStepDescription, 109
2.34.6 setStepDefaultIcon,setStepCustomizedIcon 109
1 摘要
通过提供特定功能的 SDK 接口,使平台开发者能够更加方便,快捷的进行自定义 JS 片段的开发。系统为 jsAction 提供了如下 4 个变量可直接使用:
OC: Open-Care 平台的方法入口
ocWindow: 当前 window 的实例
self: 触发该 event 的组件实例
payload: event 参数
2 使用说明
2.1 Open-Care平台通用方法
Open-Care 平台提供的通用方法,以 OC 作为前缀,具体如下:
2.1.1 getSystemContexts
说明:
OC.getSystemContexts() 方法用于获取当前系统上下文相关数据。
语法:
OC.getSystemContexts();
参数:
无
返回:
JSON 格式的系统上下文数据或者 null.
实例:
var systemContext = OC.getSystemContexts();
2.1.2 getWindowContexts
说明:
OC.getWindowContexts() 方法用于获取当前 window 上下文相关数据。 注:此方法在 refWindow 中失效,故 写在 refWindow 中的代码 请使用 ocWindow.getContexts( ) 替代。 (2019-11-26)
语法:
OC.getWindowContexts();
参数:
无
返回:
JSON 格式的 window 上下文数据或者 null.
实例:
var windowContext = OC.getWindowContexts();
2.1.3 showNotificationDlg
说明:
OC.showNotificationDlg(title, content, confirmType , callback?:function ) 用于弹出各种提示框。
2022.05.19 更新
语法:
OC.showNotificationDlg(title, content, confirmType);
参数:
title: String 提示框的标题
content: String 提示内容
confirmType: String 提示框类型,有四种类型可选: "info"|"error"|"warning"|"success" ,
callback: Function ,点击确定时的回调函数,可选
返回:
无
实例:
OC.showNotificationDlg(' 警告 ', 'XXX 警告 ', 'warning' , function() {console.log( ' callback function log ' );} );
2.1.4 showMessageDlg
说明:
OC.showMessageDlg(content, type) 用于弹出各种提示框,自动消失,无按钮。
语法:
OC.showMessageDlg(content, type);
参数:
content: String 提示内容
type: String 提示框类型,有四种类型可选: "info"|"error"|"warning"|"success"
返回:
无
实例:
OC.showMessageDlg(' 操作成功! ', 'success');
2.1.5 restGetApiCall
说明:
OC.restGetApiCall(url, uriVariables, responseHandler, exHandler) 通用 get 方法调用 restApi 。
语法:
OC.restGetApiCall(url, uriVariables, responseHandler, exHandler);
参数:
url: 必须 String restApi 的 url 地址
uriVariables: 必须 any 参数
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.restGetApiCall(
'/api/getUser',
{userId: '123'},
function(re){console.log(re)},
function(){alert('success')}
);
2.1.6 restPostApiCall
说明:
OC.restPostApiCall(url, uriVariables, requestBody , responseHandler, exHandler) 通用 post 方法调用 restApi 。
语法:
OC.restPostApiCall(url, uriVariables, requestBody, responseHandler, exHandler);
参数:
url: 必须 String restApi 的 url 地址
uriVariables: 必须 any 参数
requestBody: 必须 any 参数
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.restPostApiCall(
'/api/save /{userId} ',
{userId: '123'},
{userName: 'Jack'},
function(re){console.log(re)},
function(){alert('success')}
);
2.1.7 showConfirmDlg
说明:
OC.showConfirmDlg(title, content, onOk, onCancel) 通用 confirm 弹框。
语法:
OC.showConfirmDlg(title, content, onOk, onCancel);
参数:
title: 必须 String 弹框标题
content: 必须 String 弹框内容
onOk: 必须 确定按钮回调方法
onCancel: 可选 取消按钮回调方法
返回:
无
实例:
OC.showConfirmDlg(
' 标题 ',
' 内容 ',
function() {
alert(' 你点击了确定按钮 ');
},
function() {
alert(' 你点击了取消按钮 ');
}
);
2.1.8 showModalDialog
说明:
OC.showModalDialog(windowName, windowCtx, targetHandlingAction, modalWidth, windowTitle , showCloseButton, others) 模态框方式打开一个 window 页面。 (2021-02-03 更新 )
语法:
OC.showModalDialog(windowName, windowCtx, targetHandlingAction, modalWidth, windowTitle,showCloseButton);
参数:
windowName: 必须 String 打开的 window 的 componentName
windowCtx: 可选 any 打开的 window 的上下文
targetHandlingAction: 可选 any 触发该动作的 action 实例信息, 需要占位时,请务必使用 null
modalWidth: 可选 string|number 弹框宽度 '20%' | 200 , 需要占位时,请务必使用 null
windowTitle: 可选 string 弹窗名称,不配此项则显示引用的窗口的 title 需要占位时,请务必使用 null
showCloseButton: 可选 boolean 是否显示弹框右上角的关闭按钮,不配此项则显示关闭按钮。
others: 可选 对象 {} 其他的配置项
others 对应的定义类型: interface IOther { // 2022.05.19 更新
showMask?: boolean; // 是否显示 遮罩 层 , 默认 true
titleCanDrag?: boolean; // 标题是否可拖拽 默认 false
canFullScreen?: boolean; // 是否可全屏 默认 false
modalHeight?: number | string; // 弹框的高度 字符串 '100px' 或 '80%'
topCanDragOutScreen?: boolean; // 拖拽标题时是否允许拖拽出上边界 默认 false
rightCanDragOutScreen?: boolean; // 拖拽标题时是否允许拖拽出右边界 默认 true
bottomCanDragOutScreen?: boolean; // 拖拽标题时是否允许拖拽出下边界 默认 true
leftCanDragOutScreen?: boolean; // 拖拽标题时是否允许拖拽出左边界 默认 true
}
返回:
无
实例:
OC.showModalDialog('userInfoWindow', {userId: '123'}, null, 500, ' 自定义窗口名称 ', false, { modalHeight: '500px'}) ;
2.1.9 closeModal
说明:
OC.closeModal( ocWindow ) 关闭当前模态框。
语法:
OC.closeModal(ocWindow);
参数:
ocWindow: object 必须 当前模态框所在的 window 实例,也就是 ocWindow
返回:
无
实例:
OC.closeModal(ocWindow);
2.1.10 showDrawerDialog
说明:
OC.showDrawerDialog(windowName, windowCtx, targetHandlingAction, modalWidth,windowTitle , showCloseButton) 模态框方式打开一个 window 页面。 (2020-03-10 更新 )
语法:
OC.showDrawerDialog(windowName, windowCtx, targetHandlingAction, modalWidth,windowTitle , showCloseButton);
参数:
windowName: 必须 String 打开的 window 的 componentName
windowCtx: 可选 any 打开的 window 的上下文
targetHandlingAction: 可选 any 触发该动作的 action 实例信息, 需要占位时,请务必使用 null
modalWidth: 可选 string|number 弹框宽度 '20%' | 200,
windowTitle: 可选 string 弹窗名称,不配此项则显示引用的窗口的 title 需要占位时,请务必使用 null
showCloseButton: 可选 boolean 是否显示弹框右上角的关闭按钮,不配此项则显示关闭按钮。
返回:
无
实例:
OC.showDrawerDialog('userInfoWindow', {userId: '123'}, null, 500, ' 自定义窗口名称 ', false );
2.1.11 closeDrawer
说明:
OC.closeDrawer(ocWindow) 关闭当前 drawer 。
语法:
OC.closeDrawer(ocWindow);
参数:
ocWindow: object 必须 当前 drawer 所在的 window 实例,也就是 ocWindow
返回:
无
实例:
OC.closeDrawer(ocWindow);
2.1.12 showWindow
说明:
OC.showWindow(windowName, windowCtx, targetHandlingAction,windowTitle) 在当前窗口打开一个新的 window 页面。 (showModalDialog) (2020-03-10 更新 )
语法:
OC.showWindow(windowName, windowCtx, targetHandlingAction,windowTitle);
参数:
windowName: 必须 String 打开的 window 的 componentName
windowCtx: 可选 any 打开的 window 的上下文
targetHandlingAction: 可选 any 触发该动作的 action 实例信息, 需要占位时,请务必使用 null
windowTitle :可选 String 打开的 window 的标题
返回:
无
实例:
OC.showWindow('userInfoWindow', {userId: '123'}, null, ' 自定义窗口名称 ');
2.1.13 createVideoPlayer
说明:
OC.createVideoPlayer(config) 在当前窗口创建一个视频播放器
语法:
OC.createVideoPlayer(config);
参数:
config: 必须 Object 播放器配置信息
返回:
无
实例:
OC.createVideoPlayer({width: '640px',height:'320px',url:'http://media.w3.org/2010/05/bunny/movie.mp4'});
2.1.14 setFormValues
说明:
OC.setFormValues(window, formComponentName, allValues) 给指定 form 赋值
语法:
OC.setFormValues(window, formComponentName, allValues);
参数:
window: window 实例 必须
formComponentName: string 必须 form 组件对应的 componentName
allValues: any 必须 需要给指定 form 赋的值
返回:
无
实例:
OC.setFormValues(ocWindow, 'userInfoWindow', {data: {name: 'Jack'}, authority: {}});
2.1.15 showWindowUseWindowNameAsLocationPath
说明:
OC.showWindowUseWindowNameAsLocationPath(windowName, windowCtx, targetHandlingAction) 在当前窗口打开一个新的 window 页面,用 windowName 作为新页面的路由地址。 ( 参数同 2.1.7showModalDialog)
语法:
OC.showWindowUseWindowNameAsLocationPath(windowName, windowCtx, targetHandlingAction);
参数:
windowName: 必须 String 打开的 window 的 componentName
windowCtx: 可选 any 打开的 window 的上下文
targetHandlingAction: 可选 any 触发该动作的 action 实例信息
返回:
无
实例:
OC.showWindowUseWindowNameAsLocationPath('userInfoWindow', {userId: '123'});
2.1.16 sendMessageByMsgConfig
说明:
OC.sendMessageByMsgConfig(msgConfigKey, userIds, data, responseHandler, exHandler) 通过设置指定的消息配置,发送消息给 userIds 中指定的用户。
语法:
OC.sendMessageByMsgConfig(msgConfigKey, userIds, data, responseHandler, exHandler);
参数:
msgConfigKey: string 必须 消息配置 key
userIds array 必须 需要接收该消息的用户的 userId 组成的数组
data json 格式的数据 必须 消息配置 key 对应的消息模板中需要的数据
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.sendMessageByMsgConfig('001', ['01','02'], {message: ' 创建流程成功 '}, function(response) {}, function() {});
2.1.17 sendSystemMsg
说明:
OC.sendSystemMsg(templateKey, userIds, data, responseHandler, exHandler) 通过设置指定的消息模板发送系统消息给 userIds 中指定的用户。
语法:
OC.sendSystemMsg(templateKey, userIds, data, responseHandler, exHandler);
参数:
templateKey: string 必须 消息模板 key
userIds array 必须 需要接收该消息的用户的 userId 组成的数组
data json 格式的数据 必须 消息模板 key 对应的消息模板中需要的数据
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.sendSystemMsg('002', ['01','02'], {message: ' 创建流程成功 '}, function(response) {}, function() {});
2.1.18 sendSMSMsg
说明:
OC.sendSMSMsg(templateKey, sms, data, responseHandler, exHandler) 给指定的手机号发送短信。
语法:
OC.sendSMSMsg(templateKey, sms, data, responseHandler, exHandler);
参数:
templateKey: string 必须 消息模板 key
sms array 必须 需要接收该消息的用户的手机号组成的数组
data json 格式的数据 必须 消息模板 key 对应的消息模板中需要的数据
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.sendSMSMsg('002', ['13088888888','13266666666'], {message: ' 创建流程成功 '}, function(response) {}, function() {});
2.1.19 sendEmailMsg
说明:
OC.sendEmailMsg(templateKey, emailMsg, data, responseHandler, exHandler) 给指定的电子邮件地址发送电子邮件。
语法:
OC.sendEmailMsg(templateKey, emailMsg, data, responseHandler, exHandler);
参数:
templateKey: string 必须 消息模板 key
emailMsg: array 必须 需要接收该消息的电子邮件地址组成的数组
data: json 格式的数据 必须 消息模板 key 对应的消息模板中需要的数据
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.sendEmailMsg('002', ['test@xxx.com','132@139.com'], {message: ' 创建流程成功 '}, function(response) {}, function() {});
2.1.20 downloadFile
说明:
OC.downloadFile(filePathName, responseHandler, exHandler) 下载指定路径对应的文件。
语法:
OC.downloadFile(filePathName, responseHandler, exHandler);
参数:
filePathName: string 必须 需要下载的文件路径
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.downloadFile('/source/xxx.png', function(response) {}, function() {});
2.1.21 execGraphQL
说明:
OC.execGraphQL(gqlBody, responseHandler, exHandler) 执行指定的 GraphQL 脚本。
语法:
OC.execGraphQL(gqlBody, responseHandler, exHandler);
参数:
gqlBody: string 必须 GraphQL 脚本
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.execGraphQL('GraphQL 脚本 ', function(response) {}, function() {});
2.1.22 execGroovyScript
说明:
OC.execGroovyScript(groovyFileName, data, responseHandler, exHandler) 执行指定的 Groovy 脚本。
语法:
OC.execGroovyScript(groovyFileName, data, responseHandler, exHandler);
参数:
groovyFileName: string 必须 Groovy 脚本文件
data json 格式的数据 必须 执行 Groovy 脚本时需要的数据
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
var data = [{
"name": "admin",
"username": "admin"
}
];
OC.execGroovyScript('2018/s/b/c/save.groovy', data, function(response) {}, function() {});
2.1.23 goBack
说明:
topWindow 执行返回操作,如果是当前 window 执行返回操作,请使用 ocWindow.goBack 实现。 注:弹框 /drawer 里面关闭 弹框 /drawer 请使用 ocWindow.goBack() 或者 OC.closeModal(ocWindow) 。
语法:
OC.goBack();
参数:
无
返回:
无
实例:
OC.goBack();
2.1.24 save
说明:
OC.save(entityName, data, responseHandler, exHandler) 通用 save 接口。
语法:
OC.save(entityName, data, responseHandler, exHandler);
参数:
entityName: string 必须 执行 save 对应的 entityName
data: json 格式的数据或者 null 必须
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.save("OcUser", {name: "Jack", age: 23}, function(response){}, function() {});
2.1.25 updateDataSource
说明:
OC.updateDataSource(window, componentName, data) 更新指定窗口中指定组件的数据。
语法:
OC. updateDataSource (window, componentName, data);
参数:
window: window 实例 必须
componentName: string 必须 window 实例中需要更新数据的组件的 componentName
data: json 格式的数据 必须
返回:
无
实例:
OC.updateDataSource(ocWindow, "Table01", {name: "Jack", age: 23});
2.1.26 getDataSource
说明:
OC.getDataSource(window, componentName) 获取指定窗口中指定组件的数据。
语法:
OC.getDataSource(window, componentName);
参数:
window: window 实例 必须
componentName: string 必须 window 实例中需要更新数据的组件的 componentName
返回:
Json 格式的数据
实例:
var dataSource = OC.getDataSource(ocWindow, "Table01");
2.1.27 query
说明:
OC.query(entityName, filters, pagination, sorter, summary, fieldSet, responseHandler, exHandler) 通用查询接口。 注:此方法后续逐步取消,请使用 OC.queryTable 替代。( 2019-11-26 )
语法:
OC.query(entityName, filters, pagination, sorter, summary, responseHandler, exHandler);
参数:
entityName: string 必须 执行 query 对应的 entity
filters: any[] 必须 过滤条件
pagination: json 格式的数据 必须 分页信息
sorter : json 格式的数据或者 null 必须 排序信息
summary : json 格式的数据或者 null 必须 是否显示统计信息
fieldSet : string 或者 null 必须 要查询的字段名称
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
var dataSource = OC.query("OcUser", [{fieldName: "age", fieldValue: 23, operator: ">=" }],
{current: 1, pageSize: 10}, {age: "ascend"}, {age: "maximum"}, "{name,sex,ownorg#name}", function(response) {}, function() {});
2.1.28 queryWithFilters
说明:
OC.queryWithFilters(entityName, filters, responseHandler, exHandler) 通用无分页查询接口。
语法:
OC.queryWithFilters(entityName, filters, responseHandler, exHandler);
参数:
entityName: string 必须 执行 query 对应的 entity
filters: any[] 必须 过滤条件
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回
无
实例:
OC.queryWithFilters("OcUser", [{fieldName: "age", fieldValue: 23, operator: ">=" }],
function(response) {}, function() {});
2.1.29 getOne
说明:
OC.getOne(entityName, entityInstId, fieldSet, responseHandler, exHandler) 通用查询接口,获取 1 条数据。
语法:
OC.getOne(entityName, entityInstId, fieldSet, responseHandler, exHandler);
参数:
entityName: string 必须 要查询的 entity
entityInstId: string 必须 要查询的 entity 实例的 id
fieldSet: string 必须 要查询的字段
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.getOne("OcUser", "xxx", '{name, sex, age}', function(response) {}, function() {});
2.1.30 delete
说明:
OC.delete(entityName, entityInstIds, responseHandler, exHandler) 通用删除接口。
语法:
OC.delete(entityName, entityInstIds, responseHandler, exHandler);
参数:
entityName: string 必须 要查询的 entity
entityInstIds: array 必须 要删除的 entity 实例的 id 组成的数组
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.delete("OcUser",["xxx"], function(response) {}, function() {});
2.1.31 batchSave
说明:
OC.batchSave(entityName, data, responseHandler, exHandler) 通用批量保存接口。
语法:
OC.batchSave(entityName, data, responseHandler, exHandler);
参数:
entityName: string 必须 要查询的 entity
data: array 必须 要保存的数据,详情见举例。
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
var data= [{
"customerFinalExamInfo": "b709d017-4137-4fbe-a542-893d91232cac",
"baseConclusionOcId": "0024ee13-5b4c-4378-b9d6-1fcba6e75eaa",
"proposal": "",
"proposalContent": ""
}, {
"customerFinalExamInfo": "b709d017-4137-4fbe-a542-893d91232cac",
"baseConclusionOcId": "00bab3f2-d95f-49f5-b828-39b48c336ce4",
"conclusionSevereDegreeLevel": "10",
"proposal": "",
"proposalContent": ""
}
]
OC.batchSave("OcUser", data , function(response) {}, function() {});
2.1.32 getCurrentTopWindow
说明:
OC.getCurrentTopWindow() 获取当前窗口中的 top window 。
语法:
OC.getCurrentTopWindow();
参数:
无
返回:
无
实例:
var topWindow = OC.getCurrentTopWindow();
2.1.33 setEntityNamesForRefresh
说明:
OC.setEntityNamesForRefresh(entityNames) 刷新指定 entityName 的数据。
语法:
OC.setEntityNamesForRefresh(entityNames);
参数:
entityNames : array 必须 要刷新数据的 entityName 组成的数组
返回:
无
实例:
OC.setEntityNamesForRefresh(["OcUser", "OcProduct"]);
2.1.34 manipulateFormFieldsValue
说明:
OC.manipulateFormFieldsValue(fieldValues) 格式化 formValues 。
语法:
OC.manipulateFormFieldsValue(fieldValues);
参数:
fieldValues : json 格式数据 必须 要格式化的 formValues
返回:
json 格式数据
实例:
var fieldValues = {name: "", age: 23, sex: "M", role: undefined};
var newFieldValues = OC.manipulateFormFieldsValue(fieldValues);
// 得到的新数据: {name: null, age: 23, sex: "M", role: null}
2.1.35 startProcessByKey
说明:
OC.startProcessByKey( processDefinitionKey , entities, variables, responseHandler, exHandler) 通过流程定义 key 启动流程 。
语法:
OC.startProcessByKey(processDefinitionKey, entities, variables, responseHandler, exHandler);
参数:
processDefinitionKey: string 必须 流程定义 id
entities : array 必须 entityName 和 entity 实例信息
variables: json 格式的数据或者 null 必须 其他参数
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
var entities = [
{
"entityName":"com.open_care.sys.OcUser",
"entityInstId":{
"ctxType":"cmp",
"ctxValue":"input1"
}
}
];
var variables = [
{
"name": "aaaaa",
"value": {
"ctxType":"cmp",
"ctxValue":"input1"
}
}
];
OC.startProcessByKey("xxx", entities , variables, function(response) {}, function() {});
2.1.36 completeTask
说明:
OC.completeTask(taskId, variables, responseHandler, exHandler) 完成任务 。
语法:
OC.completeTask(taskId, variables, responseHandler, exHandler);
参数:
taskId: string 必须 任务 id
variables: json 格式的数据或者 null 必须 其他参数
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
var variables = [
{
"name": "aaaaa",
"value": {
"ctxType":"cmp",
"ctxValue":"input1"
}
}
];
OC.completeTask("xxx", variables, function(response) {}, function() {});
2.1.37 completeTaskWithEntityInfo
说明:
OC.completeTaskWithEntityInfo(taskId, variables, entities, responseHandler, exHandler) 完成任务 。
语法:
OC.completeTaskWithEntityInfo(taskId, variables, entities, responseHandler, exHandler);
参数:
taskId: string 必须 任务 id
variables: json 格式的数据或者 null 必须 其他参数
entities : array 必须 entityName 和 entity 实例信息
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
var variables = [
{
"name": "aaaaa",
"value": {
"ctxType":"cmp",
"ctxValue":"input1"
}
}
];
var entities = [
{
"entityName":"com.open_care.sys.OcUser",
"entityInstId":{
"ctxType":"cmp",
"ctxValue":"input1"
}
}
];
OC.completeTaskWithEntityInfo("xxx", variables, entities, function(response) {}, function() {});
2.1.38 startProcessByKeyAndRunFirstTask
说明:
OC.startProcessByKeyAndRunFirstTask(processDefinitionKey,entities, variables, responseHandler, exHandler) 通过流程定义 key 启动流程并执行第一个任务 。
语法:
OC.startProcessByKeyAndRunFirstTask(processDefinitionKey,entities, variables, responseHandler, exHandler);
参数:
processDefinitionKey: string 必须 流程定义 id
variables: json 格式的数据或者 null 必须 其他参数
entities : array 必须 entityName 和 entity 实例信息
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
var variables = [
{
"name": "aaaaa",
"value": {
"ctxType":"cmp",
"ctxValue":"input1"
}
}
];
var entities = [
{
"entityName":"com.open_care.sys.OcUser",
"entityInstId":{
"ctxType":"cmp",
"ctxValue":"input1"
}
}
];
OC.startProcessByKeyAndRunFirstTask("xxx", entities, variables, function(response) {}, function() {});
2.1.39 setTaskVariables
说明:
OC.setTaskVariables(taskId, variables, entities, responseHandler, exHandler) 设置任务变量 。
语法:
OC.setTaskVariables(taskId, variables, entities, responseHandler, exHandler);
参数:
taskId: string 必须 任务 id
variables: json 格式的数据或者 null 必须 其他参数
entities : array 必须 entityName 和 entity 实例信息
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
var variables = [
{
"name": "aaaaa",
"value": {
"ctxType":"cmp",
"ctxValue":"input1"
}
}
];
var entities = [
{
"entityName":"com.open_care.sys.OcUser",
"entityInstId":{
"ctxType":"cmp",
"ctxValue":"input1"
}
}
];
OC.setTaskVariables("xxx", variables, entities, function(response) {}, function() {});
2.1.40 claimTask
说明:
OC.claimTask(taskId, userId, responseHandler, exHandler) 申领任务 。
语法:
OC.claimTask(taskId, userId, responseHandler, exHandler);
参数:
taskId: string 必须 任务 id
userId: string 必须 用户 id
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.setTaskVariables("xxx", "001", function(response) {}, function() {});
2.1.41 getTaskAuditHistory
说明:
OC.getTaskAuditHistory(processInstId, responseHandler, exHandler) 获取任务执行的历史数据 。
语法:
OC.getTaskAuditHistory(processInstId, responseHandler, exHandler);
参数:
processInstId: string 必须 流程实例 id
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.getTaskAuditHistory("xxx", function(response) {}, function() {});
2.1.42 setCandidateTask
说明:
OC.setCandidateTask(taskId, userIds, responseHandler, exHandler) 分配任务给多个人 。
语法:
OC.setCandidateTask(taskId, userIds, responseHandler, exHandler);
参数:
taskId: string 必须 任务 id
userIds: array 必须 用户 id 组成的数组
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.setCandidateTask("xxx", ["001", "002"], function(response) {}, function() {});
2.1.43 delegateTask
说明:
OC.delegateTask(taskId, userId, responseHandler, exHandler) 委派任务 。
语法:
OC.delegateTask(taskId, userId, responseHandler, exHandler);
参数:
taskId: string 必须 任务 id
userId: string 必须 用户 id
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.delegateTask("xxx", "001", function(response) {}, function() {});
2.1.44 assignTask
说明:
OC.assignTask(taskId, userId, responseHandler, exHandler) 代理任务 。
语法:
OC.assignTask(taskId, userId, responseHandler, exHandler);
参数:
taskId: string 必须 任务 id
userId: string 必须 用户 id
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.assignTask("xxx", "001", function(response) {}, function() {});
2.1.45 setBreadcrumbNameOfCurrWindow
说明:
OC.setBreadcrumbNameOfCurrWindow(breadcrumbName) 动态设置面包屑 。
语法:
OC.setBreadcrumbNameOfCurrWindow(breadcrumbName);
参数:
breadcrumbName: string 必须 新的面包屑
返回:
无
实例:
OC.setBreadcrumbNameOfCurrWindow(" 新的面包屑 ");
2.1.46 resolveTask
说明:
OC.resolveTask(taskId, variables, entities, responseHandler, exHandler) 解决任务 。
语法:
OC.resolveTask(taskId, variables, entities, responseHandler, exHandler);
参数:
taskId: string 必须 任务 id
variables: json 格式的数据或者 null 必须 其他参数
entities : array 必须 entityName 和 entity 实例信息
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
var variables = [
{
"name": "aaaaa",
"value": {
"ctxType":"cmp",
"ctxValue":"input1"
}
}
];
var entities = [
{
"entityName":"com.open_care.sys.OcUser",
"entityInstId":{
"ctxType":"cmp",
"ctxValue":"input1"
}
}
];
OC.resolveTask("xxx", variables, entities, function(response) {}, function() {});
2.1.47 getTaskListByUserId
说明:
OC.getTaskListByUserId(userId, responseHandler, exHandler) 获取指定用户的任务列表 。
语法:
OC.getTaskListByUserId(userId, responseHandler, exHandler);
参数:
userId: string 必须 用户 id
responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
OC.getTaskListByUserId("001", function(response) {}, function() {});
2.1.48 currentUserTaskListByKey
说明:
OC.currentUserTaskListByKey(props) 获取指定流程指定用户的任务列表 。
语法:
OC.currentUserTaskListByKey(props);
参数:
props: json 格式数据 必须 详见举例。 responseHandler: 必须 回调方法 function(response) {}
exHandler: 可选 执行完回调方法后,执行该方法 function() {}
返回:
无
实例:
var props = {
params: {
userId: "xxxxx", // 必须 用户 ID
processDefinitionKey : "xxxxxx" // 必须 流程 id
},
requestBody: {
entityName: "xxxxx", // 必须 entityName
filters: [
{
fieldName: "xx",
fieldValue: "xx",
operator: "xx"
}
],
},
responseHandler: function(response) {}, // 必须 回调方法
exHandler:function() {} // 可选 执行完回调方法后,执行该方法
};
OC.currentUserTaskListByKey(props );
2.1.49 jpQuery
说明:
OC.jpQuery(obj, pathExpression, count) 在 obj 中匹配路径表达式查找元素。返回满足所提供的表达式的元素数组,如果没有匹配的元素,则返回空数组。如果指定,只返回前 count 个元素。
语法:
OC.jpQuery(obj: Object | Array, pathExpression: string, count?: number)
参数:
obj: Object | Array, 必选
pathExpression: string 必选 JSONPath Syntax
count: number 可选
返回:
数组
实例:
var cities = [
{ name: "London", "population": 8615246 },
{ name: "Berlin", "population": 3517424 },
{ name: "Madrid", "population": 3165235 },
{ name: "Rome", "population": 2870528 }
];
OC.jpQuery(cities, '$..name' , 3); // [ "London", "Berlin", "Madrid"]
2.1.50 jpValue
说明:
OC.jpValue(obj, pathExpression) 返回匹配路径表达式的第一个元素的值。
语法:
OC.jpValue(obj: Object | Array, pathExpression: string)
参数:
obj: Object | Array, 必选
pathExpression: string 必选 JSONPath Syntax
返回:
Any
实例:
var cities = [
{ name: "London", "population": 8615246 },
{ name: "Berlin", "population": 3517424 },
{ name: "Madrid", "population": 3165235 },
{ name: "Rome", "population": 2870528 }
];
OC.jpValue(cities, '$..[?(@.name===Berlin)]); // { name: "Berlin", "population": 3517424 }
2.1.51 jpParent
说明:
OC.jpParent(obj, pathExpression) 返回第一个匹配元素的父元素。。
语法:
OC.jpParent(obj: Object | Array, pathExpression: string)
参数:
obj: Object | Array, 必选
pathExpression: string 必选 JSONPath Syntax
返回:
Any
实例:
var cities = [
{ name: "London", "population": 8615246 },
{ name: "Berlin", "population": 3517424,
children:[{ name: "Mitte", "population": 8297},{ name: "Lichtenberg", "population": 268466}]},
{ name: "Madrid", "population": 3165235 },
{ name: "Rome", "population": 2870528 }
];
OC.jpParent(cities, '$..[?(@.name===Lichtenberg)]);
//[{ name: "Mitte", "population": 8297},{ name: "Lichtenberg", "population": 268466}]
2.1.52 jpApply
说明:
OC.jpApply(obj, pathExpression, fn); 在每个匹配元素上运行提供的函数 fn ,并用函数的返回值替换每个匹配元素。该函数接受匹配元素的值作为其唯一参数。返回一个新的 obj 副本。
语法:
OC.jpApply(obj, pathExpression, fn: (value) => any);
参数:
obj: Object | Array, 必选
pathExpression: string 必选 JSONPath Syntax
fn: 函数 必选
返回:
obj 的一个新的副本
实例:
var cities = [
{ name: "London", "population": 8615246 },
{ name: "Berlin", "population": 3517424 },
{ name: "Madrid", "population": 3165235 },
{ name: "Rome", "population": 2870528 }
];
OC.jpApply(cities, '$..[?(@.population<3500000)],function(value) { return value.toUpperCase() });
//[
{ name: "London", "population": 8615246 },
{ name: "Berlin", "population": 3517424 },
{ name: "MADRID", "population": 3165235 },
{ name: "ROME", "population": 2870528 }
]
2.1.53 setHeaderVisible
说明:
OC.setHeaderVisible(visible) theme 中 layout 设置为 sidemenu 时,设置 HeadPage 是否显示
语法:
OC.setHeaderVisible(visible) 隐藏 HeadPage
参数:
visible: boolean true | false
返回:
无
实例:
OC.setHeaderVisible(false)
2.1.54 setBreadcrumbVisible
说明:
OC.setBreadcrumbVisible(visible) 设置面包屑是否显示
语法:
OC.setBreadcrumbVisible(visible) 隐藏面包屑
参数:
visible: boolean true | false
返回:
无
实例:
OC.setBreadcrumbVisible(false)
2.1.55 setHeaderBackground
说明:
OC.setHeaderBackground(background) 设置 PageHead 背景,可以是颜色,图片,或者组合等
语法:
OC.setHeaderBackground(background)
参数:
background: string
返回:
无
实例:
OC.setHeaderBackground('red');
OC.setHeaderBackground('red url(http://www.xxx.com/xxx.jpg)');
OC.setHeaderBackground('url(http://www.xxx.com/xxx.jpg) no-repeat');
2.1.56 setBreadcrumbBackground
说明:
OC.setBreadcrumbBackground(color) 设置面包屑背景,使用方法同 2.1.51 相同
语法:
OC.setBreadcrumbBackground(color)
参数:
color: string
返回:
无
实例:
OC.setBreadcrumbBackground('red')
2.1.57 print
说明:
OC.print(originData, tpl,css) 使用自定义模板进行打印。
语法:
OC.print(originData, tpl,css)
参数:
originData: object 数据源
tpl: string HTML 模板
css:string CSS 样式
返回:
无
实例:
var orgData= {
name: ‘ 张三 ’ ,
age: 30
};
var tpl = “ <div class= ’ name ’ >{{name}}<div/><div class= ’ age ’ >{{age}}</div> ”
var css = “ .name{font-size:16px} .age{color:red} ”
OC.print(originData, tpl,css);
2.1.58 getFirstLetter
说明:
OC.getFirstLetter(str) 获取汉语拼音首字母。
语法:
OC.getFirstLetter(str);
参数:
str: string 汉语拼音字符串
返回:
首字母字符串
实例:
OC.getFirstLetter( ‘ 中华人民共和国万岁 ’ ); //ZHRMGHGWS
2.1.59 logout
说明:
OC.logout() 退出登录。
语法:
OC.logout();
参数:
无
返回:
无
实例:
OC.logout();
2.1.60 getSearchFormFilters
说明:
OC.getSearchFormFilters(searchFormIns) searchForm 获取直接可用的 filters 。
语法:
OC.getSearchFormFilters(searchFormIns) ;
参数:
searchFormIns object 必须 searchForm 的运行实例
返回:
array 详情见举例
实例:
var formIns = ocWindow.getComponentByName('searchForm');
var filters = OC.getSearchFormFilters(formIns);
filters 数据格式如下:
[
{
fieldName: 'name',
fieldValue: 'Jack',
operator: 'like'
},
{
fieldName: 'phone',
fieldValue: '158',
operator: 'like'
}
]
2.1.61 queryTable
说明:
OC.queryTable(tableIns, filters, dataConverter, responseHandler, exHandler) 执行 query 操作,并将数据赋给指定的 table 组件。
语法:
OC.queryTable(tableIns, filters, dataConverter, responseHandler, exHandler);
参数:
tableIns: object 必须 将被赋值的 table 实例
filters : array 必须 过滤条件,一般是 searchForm 中的过滤条件
dataCoverter : function 可选 对 API 返回的数据进行重新更改、赋值等操作
responseHandler : function 可选 执行 API 以后的回调函数
exHandler : function 可选 执行 responseHandler 后的回调函数
返回:
无
实例:
var formIns = ocWindow.getComponentByName('searchForm');
var filters = OC.getSearchFormFilters(formIns);
var tableIns = ocWindow.getComponentByName('table01');
function coverter(data1) {
var {data} = data1;
var newData = data.map(function(r){
r.name = 'cover_'+r.name;
return r;
});
data1.data = newData;
return data1;
}
OC.queryTable(tableIns, filters, coverter, function(data){},function(){} );
2.1.62 clearTableFilterAndQueryTable
说明:
OC.clearTableFilterAndQueryTable(tableIns, filters, dataConverter, responseHandler, exHandler) 执行 query 操作,并将数据赋给指定的 table 组件 , 同时清除 tableHeader 中原有的过滤条件。
语法:
OC.clearTableFilterAndQueryTable(tableIns, filters, dataConverter, responseHandler, exHandler);
参数:
tableIns: object 必须 将被赋值的 table 实例
filters : array 必须 过滤条件,一般是 searchForm 中的过滤条件
dataConverter : function 可选 对 API 返回的数据进行重新更改、赋值等操作
responseHandler : function 可选 执行 API 以后的回调函数
exHandler : function 可选 执行 responseHandler 后的回调函数
返回:
无
实例:
var formIns = ocWindow.getComponentByName('searchForm');
var filters = OC.getSearchFormFilters(formIns);
var tableIns = ocWindow.getComponentByName('table01');
function converter(data1) {
var {data} = data1;
var newData = data.map(function(r){
r.name = 'cover_'+r.name;
return r
});
data1.data = newData;
return data1;
}
OC. clearTableFilterAndQueryTable (tableIns, filters, converter , function(res){},function(){} );
2.1.63 closeModal
说明:
OC.closeModal(ocWindow) 关闭弹框 /drawer 。
语法:
OC.closeModal(ocWindow);
参数:
ocWindow: object 必须 弹框 /drawer 所在的 window 实例, js action 中直接使用 ocWindow 即可
返回:
无
实例:
// 关闭当前窗口(弹框 /drawer )
OC.closeModal(ocWindow);
2.1.64 setWindowContexts
说明:
设置当前 window 的上下文, 目前仅用于 topWindow ,请勿在 refWindow 中使用,例如 subForm , subTable 等
语法:
OC.setWindowContexts(contexts);
参数:
contexts: object 必须 新的 window 上下文
返回:
无
实例:
// 当前 window 上下文设为 {ocId: '001'}
var newCtxs = {ocId: '001'};
OC.setWindowContexts(newCtxs );
2.1.65 getMoment
说明:
获取 moment 实例, moment 使用文档 (2020-02-24 更新 )
语法:
OC.getMoment(); OC.getMoment(new Date('2019-11-21'));
参数:
date: Date 可选 ,无参数时,默认为系统当前时间
返回:
Moment 实例
实例:
// 获取当前日期, format: YYYY-MM-DD
var dateStr = OC.getMoment().format('YYYY-MM-DD');
// 获取 2020-02-24 所在的周的开始和结束日期, format: YYYY-MM-DD
var moment = OC.getMoment('2020-02-24');
var weekStartDate = moment.startOf('week').format('YYYY-MM-DD');
var weekEndDate = moment.endOf('week').format('YYYY-MM-DD');
// 更多例子,请查阅 moment 文档
2.1.66 getRoutingLocation
说明:
获取当前页面的路由信息。 (2020-03-10 新增 )
语法:
OC.getRoutingLocation();
参数:
无
返回:
object 具体见举例
实例:
var routingLocationInfo = OC.getRoutingLocation();
// 当前页面 url : xxx.html#/Menu94?k=123
// routingLocationInfo 值如下:
{
pathname: '/Menu94',
search: '?k=123',
hash: '',
state: ''
}
2.1.67 eventEmit
说明:
发出自定义事件,与 eventOn 配合使用。 (2020-03-12 新增 )
语法:
OC.eventEmit(eventName, params);
参数:
eventName: string 发出事件的名称,自定义,保持唯一性即可,最好有可读性,与 eventOn 中的 eventName 保持一致。
params: any
返回:
无
实例:
var params = {
ocId: '123',
}
OC.eventEmit('customer.service.center.updateCustomer', params);
OC.eventEmit('customer.service.center.updateOrderList', 'alkdjf-lkajdfk0-kadi-3498vdjd');
2.1.68 eventOn
说明:
接收自定义事件,与 eventEmit 配合使用。 (2020-03-12 新增 )
语法:
OC.eventOn(eventName, callbackFun(params) {});
参数:
eventName: string 接收事件的名称,自定义,保持唯一性即可,最好有可读性,与 eventEmit 中的 eventName 保持一致。
callbackFun: function 回调方法,参数 params 对应 eventEmit 中的 params
返回:
无
实例:
var params = {
ocId: '123',
}
OC.eventOn('customer.service.center.updateCustomer', function(params) {
// params 的值为 {ocId: '123'}
});
OC.eventOn('customer.service.center.updateOrderList', function(partyRole) {
// partyRole 的值为 'alkdjf-lkajdfk0-kadi-3498vdjd'
});
2.1.69 OC.Pinyin.getFullChars
说明:
将汉字转成拼音,每个汉字首字母大写。字符串包含的字母及符号原样返回。 (2020-03-16 新增 )
语法:
OC.Pinyin.getFullChars(charts);
参数:
charts: string 要转成拼音的汉字字符串。
返回:
string 参数对应的拼音字符串。
实例:
var pinyinStr = OC.Pinyin.getFullChars(' 你好 ');
// 你好 =>NiHao 你好 Abc => NiHaoAbc haha => haha
2.1.70 OC.Pinyin.getCamelChars
说明:
获取汉字字符串的首字母字符串,全大写。字符串包含的字母及符号原样返回。 (2020-03-16 新增 )
语法:
OC.Pinyin.getCamelChars(charts);
参数:
charts: string 要转成拼音的汉字字符串。
返回:
string 参数对应的首字母字符串。
实例:
var pinyinStr = OC.Pinyin.getCamelChars(' 你好 ');
// 你好 =>NH 你好 Abc => NHAbc haha => haha
2.1.71 sendSystemMsgWithoutTemplate
说明:
提示系统消息。 (2020-04-17 新增 )
语法:
OC.sendSystemMsgWithoutTemplate(params);
参数:
params: json 对象 消息配置信息,具体请查看举例。
返回:
无
实例:
var params = {
msgType: 'info',
title: ' 提示语标题 ',
content: ' 提示语内容 ',
};
OC.sendSystemMsgWithoutTemplate(params);
params 定义属性:
title: 必选 string
content: 必选 string
placement: 可选 enum : topLeft topRight bottomLeft bottomRight
msgType: 可选 enum: info success error warning , default: info
duration: 可选 number 显示时间,单位:毫秒,默认 5000
key: 可选, string ,可在 closeSystemMsg 中使用此值进行关闭指定的消息弹框
onClose: 可选 消息关闭时的回调方法 function(re) {} 回调里面的参数 re 就是 params
onClick: 可选 消息点击时的回调方法 function(re) {} 回调里面的参数 re 就是 params
2.1.72 closeSystemMsg
说明:
关闭指定 key 的系统消息弹框 。 2022.05.19 更新
语法:
OC. closeSystemMsg ( key );
参数:
key: String ,必须,系统弹出框时,可以设置一个 key ,可在关闭时选择指定的消息进行关闭。
返回:
无
实例:
OC. closeSystemMsg ( ‘ 01 ’ ) ;
2.1.73 closeGlobalRequestLoading
说明:
关闭全局 loading 效果。 (2020-04-17 新增 )
语法:
OC.closeGlobalRequestLoading();
参数:
无
返回:
无
实例:
OC.closeGlobalRequestLoading();
2.1.74 openGlobalRequestLoading
说明:
打开全局 loading 效果。 (2020-04-17 新增 )
语法:
OC.openGlobalRequestLoading();
参数:
无
返回:
无
实例:
OC.openGlobalRequestLoading();
2.1.75 closeGlobalRequestMsg
说明:
关闭全局 request 消息提示效果。 (2020-04-17 新增 )
语法:
OC.closeGlobalRequestMsg();
参数:
无
返回:
无
实例:
OC.closeGlobalRequestMsg();
2.1.76 openGlobalRequestMsg
说明:
打开全局 request 消息提示效果。 (2020-04-17 新增 )
语法:
OC.openGlobalRequestMsg();
参数:
无
返回:
无
实例:
OC.openGlobalRequestMsg();
2.1.77 showPhotos
说明:
显示相册效果。 请注意,此方法中,图片的 src 地址暂不支持跨域。 (2020-04-17 新增 )
语法:
OC.showPhotos(photos, firstIndex);
参数:
photos : json 必须 相册数据
firstIndex :首次展示显示第几张图片 , 默认首先显示第一张图片,序号: 0
返回:
无
实例:
var photos = [
{
src: 'xxx.jpg'
},
{
src: 'xxx.jpg'
}
];
OC.showPhotos(photos, 0);
2.1.78 clearModalWinCtxArray
说明:
清除全部弹框上下文。 (2020-04-17 新增 )
语法:
OC.clearModalWinCtxArray();
参数:
无
返回:
无
实例:
OC.clearModalWinCtxArray();
2.1.79 setClipboardContent
说明:
设置文本到粘贴板。 (2020-05-27 新增 )
语法:
OC.setClipboardContent(text);
参数:
text: string 必须
返回:
无
实例:
OC.setClipboardContent('Jack');
2.1.80 getClipboardContent
说明:
获取上次通过 setClipboardContent 设置的粘贴板的内容。 (2020-05-27 新增 )
语法:
OC.getClipboardContent();
参数:
无
返回:
text: string
实例:
var name = OC.getClipboardContent(); // 获取到的 name 的值为: Jack
2.1.81 showGlobalLoading
说明:
显示 loading 效果,此时,会自动关闭 request 自带的 loading 效果。 (2020-06-05 新增 )
语法:
OC.showGlobalLoading();
参数:
无
返回:
无
实例:
OC.showGlobalLoading(); // 显示 loading
2.1.82 hideGlobalLoading
说明:
关闭 loading 效果,此时,会自动打开 request 自带的 loading 效果。 (2020-06-05 新增 )
语法:
OC.hideGlobalLoading();
参数:
无
返回:
无
实例:
OC.hideGlobalLoading(); // 关闭 loading
2.1.83 getUUID
说明:
获取一个 uuid 字符串。 (2020-06-05 新增 )
语法:
OC.getUUID();
参数:
无
返回:
字符串
实例:
var uuid = OC.getUUID(); // 获取到一个 uuid 字符串
2.1.84 $request
说明:
通用请求接口方法。 (2020-10-16 新增 )
语法:
OC.$request(params);
参数:
见举例
返回:
无
实例:
OC.$request({
url: '/api/get/entity_test_synthesis_tabPane_01_form/101',
method: 'POST',
body: {fieldSet: ''}
},
function(response) {
console.log('$request response: ', response );
});
2.1.85 getAllParams
说明:
获取 URL 中的全部参数。 (2020-10-16 新增 )
语法:
OC.getAllParams();
参数:
无
返回:
见举例。
实例:
// url: '/api/get/entity_test_synthesis_tabPane_01_form/101?name=Jack&sex=M',
var params = OC.getAllParams();
params 的值如下:
{
name: 'Jack ',
sex: 'M '
}
2.1.86 showWebCamera
说明:
调用浏览器中的摄像头。 (2020-10-16 新增,仅支持 Chrome 和 Firefox 浏览器 )
语法:
OC.showWebCamera(params);
参数:
见举例
返回:
无
实例:
function cameraCallback(imageData) {
console.log('OC.showWebCamera callback imageData: ', imageData);
// var ins = ocWindow.getComponentByName('96s9696');
// console.log('ins: ', ins);
// ins.setImageUrl(imageData.imgData);
}
OC.showWebCamera({
callback: cameraCallback,
cameraConfig: {
title: ' 大头贴 '
}
});
2.1.87 showPictureInModal
说明:
图片放大查看。 (2021-10-11 新增 )
语法:
OC. showPictureInModal ( params );
参数:
p arams : 格式为 {url ( 图片地址, string), title( 标题, string) }
返回:
见举例。
实例:
OC.showPictureInModal ( {
url :’ https ://abc.com/pic.png’,
title:’ 标题 ’
} )
2.1.88 fullScreen
说明:
浏览器是否全屏显示(全屏后按 E SC 可退出全屏)。 (2021-10-11 新增 )
语法:
OC. fullScreen ( isFull );
参数:
isFull: bollean true | false
返回:
无
实例:
OC. fullScreen ( true )
2.1.89 onlyShowContent
说明:
是否隐藏导航和 header 。 (2021-10-11 新增 )
语法:
OC. onlyShowContent ( isOnly );
参数:
isOnly: bollean true | false
返回:
无
实例:
OC. onlyShowContent ( true )
2.1.90 isRunningInWxMiniProgram
说明:
是否运行在微信小程序中 。 2022.05.19 更新
语法:
OC. isRunningInWxMiniProgram ();
参数:
无
返回:
bollean true | false
实例:
var isRunningInWxMiniProgram = OC. isRunningInWxMiniProgram () ;// true/false
2.1.91 setSiderVisible
说明:
设置侧边是否显示 。 2022.05.19 更新
语法:
OC. setSiderVisible ( visible );
参数:
visible: Boolean 是否显示
返回:
无
实例:
OC. setSiderVisible ( false ) ;
2.1.92 setNavMenuVisible
说明:
设置导航是否显示 。 2022.05.19 更新
语法:
OC. setNavMenuVisible ( visible );
参数:
visible: Boolean 是否显示
返回:
无
实例:
OC. setNavMenuVisible ( false ) ;
2.1.93 setLayoutHeadHeight
说明:
设置 head 高度 。 2022.05.19 更新
语法:
OC. setLayoutHeadHeight ( height );
参数:
height: String ,高度,举例: ‘ 200px ’
返回:
无
实例:
OC. setLayoutHeadHeight ( ‘ 200px ’ ) ;
2.2 Window组件通用方法
Window 组件提供的通用方法,以 ocWindow 作为前缀,具体如下:
2.2.1 getComponentByName
说明:
ocWindow.getComponentByName(componentName) 方法用于通过 componentName 获取该组件的实例;
语法:
ocWindow.getComponentByName(componentName);
参数:
componentName 必须的 string 通过该字符串进行查找,具有唯一性
返回:
JSON 格式的组件实例数据或者 null
实例:
var componetInstance = ocWindow.getComponentByName('role');
2.2.2 setWindowModifiedStatus
说明:
ocWindow.setWindowModifiedStatus(status) 方法用于显式地设置当前 window 中数据的修改状态,若为已修改,离开页面则会提示是否保存数据;
语法:
ocWindow.setWindowModifiedStatus(status);
参数:
status 必须的 boolean 是否已修改
返回:
无
实例:
ocWindow.setWindowModifiedStatus(true);
2.2.3 goBack
说明:
ocWindow.goBack() 执行返回上一页操作,如果当前 window 是弹框 /drawer ,则执行关闭 弹框 /drawer 。此方法可替代 OC.closeModal 。 ( 2019-11-26 新增)
语法:
ocWindow.goBack();
参数:
无
返回:
无
实例:
ocWindow.goBack();
2.2.4 getContexts
说明:
ocWindow.getContexts() 方法用于获取当前 window 上下文相关数据。此方法可替代 OC.getWindowContexts 。 ( 2019-11-26 新增)
语法:
ocWindow.getContexts();
参数:
无
返回:
JSON 格式的 window 上下文数据或者 null.
实例:
var windowContext = ocWindow.getContexts();
2.2.5 close
说明:
ocWindow.close() 方法关闭指定的窗口。此方法在某些情况下可替代 OC.goBack() 。 ( 2020-06-28 新增)
说明:如果可以获取要关闭的 window 的实例并且此 window 是 弹框 /drawer ,则可使用 ocWindow.close() 执行关闭操作。
语法:
ocWindow.close();
参数:
无
返回:
无
实例:
ocWindow.close();
2.2.6 showPathComponentIdFromRootToCurrent
说明:
ocWindow. showPathComponentIdFromRootToCurrent ( targetComponentId ) 获取指定组件的 ComponentId 路径 。 ( 202 2 -0 5 - 19 更新 )
说明: 此方法是在做问卷相关功能时新增,其他场景暂未测试 。
语法:
ocWindow. showPathComponentIdFromRootToCurrent ( targetComponentId );
参数:
targetComponentId : String ,指定组件的 componentId
返回:
componentId 组成的数组, [string]
实例:
var componentIds = ocWindow. showPathComponentIdFromRootToCurrent ( targetComponentId );
2.2.7 showQuestion
说明:
ocWindow. showQuestion ( questionId ) 显示指定 questionId 的组件 。 ( 202 2 -0 5 - 19 更新 )
说明: 此方法是在做问卷相关功能时新增,其他场景暂未测试 。
语法:
ocWindow. showQuestion ( questionId );
参数:
questionId : String ,指定组件的 questionId
返回:
无
实例:
ocWindow. showQuestion ( questionId );
2.2.8 hideQuestion
说明:
ocWindow. hideQuestion ( questionId ) 隐藏指定 questionId 的组件 。 ( 202 2 -0 5 - 19 更新 )
说明: 此方法是在做问卷相关功能时新增,其他场景暂未测试 。
语法:
ocWindow. hideQuestion ( questionId );
参数:
questionId : String ,指定组件的 questionId
返回:
无
实例:
ocWindow. hideQuestion ( questionId );
2.2.9 setQuestionVisible
说明:
ocWindow. setQuestionVisible ( questionId, true ) 设置指定 questionId 的组件是否显示 。 ( 202 2 -0 5 - 19 更新 )
说明: 此方法是在做问卷相关功能时新增,其他场景暂未测试 。
语法:
ocWindow. setQuestionVisible ( questionId, visible );
参数:
questionId : String ,指定组件的 questionId
visible : Boolean ,是否显示
返回:
无
实例:
ocWindow. setQuestionVisible ( questionId, true );
2.2.10 g etQuestionVisible
说明:
ocWindow. g etQuestionVisible ( questionId ) 获取指定 questionId 的组件是否显示 。 ( 202 2 -0 5 - 19 更新 )
说明: 此方法是在做问卷相关功能时新增,其他场景暂未测试 。
语法:
ocWindow. g etQuestionVisible ( questionId );
参数:
questionId : String ,指定组件的 questionId
返回:
true/false Boolean
实例:
ocWindow. g etQuestionVisible ( questionId );
2.2.11 gotoQuestion
说明:
ocWindow. gotoQuestion ( targetQuestionId ) 跳转到指定 targetQuestionId 的组件 。 ( 202 2 -0 5 - 19 更新 )
说明: 此方法是在做问卷相关功能时新增,其他场景暂未测试 。
语法:
ocWindow. gotoQuestion ( targetQuestionId );
参数:
targetQuestionId : String ,指定组件的 questionId
返回:
无
实例:
ocWindow. gotoQuestion ( targetQuestionId );
2.3 组件实例相关方法
以下说明中用到的实例 : var componetInstance = ocWindow.getComponentByName('role');
2.3.1 getComponentType
说明:
componetInstance.getComponentTyp() 用于通过获取当前组件的 componentType ;
语法:
componetInstance.getComponentType();
参数:
无
返回:
string
实例:
var currentComponentType = componentInstance.getComponentType();
2.3.2 disable
说明:
componetInstance.disable() 用于将某个 formItem 组件设置为不可用状态。目前该方法只对 formItem 组件生效。
语法:
componetInstance.disable();
参数:
无
返回:
无
实例:
componetInstance.disable();
2.3.3 enable
说明:
componetInstance.enable() 用于将某个 formItem 组件设置为可用状态。目前该方法只对 formItem 组件生效。
语法:
componetInstance.enable();
参数:
无
返回:
无
实例:
componetInstance.enable();
2.3.4 setVisible
说明:
componetInstance.setVisible(boolean) 用于显示 / 隐藏某个组件。
语法:
componetInstance.setVisible(boolean);
参数:
无
返回:
无
实例:
componetInstance.setVisible(false); // 隐藏
2.3.5 isVisible
说明:
componetInstance.isVisible() 用于获取某个组件的显示状态 ( 显示 / 隐藏 ) 。
语法:
componetInstance.isVisible();
参数:
无
返回:
Boolean(true/false)
实例:
var currentComponentIsVisible = componetInstance.isVisible();
2.3.6 getStyle
说明:
componetInstance.getStyle() 用于获取某个组件的 css 配置信息。
语法:
componetInstance.getStyle();
参数:
无
返回:
JSON 格式的 css 数据 .
实例:
var currentComponentStyle = componetInstance.getStyle();
2.3.7 setStyle
说明:
componetInstance.setStyle(string) 用于获取某个组件的 css 配置信息。
语法:
componetInstance.setStyle(string);
参数:
JSON 格式的 css 字符串 .
返回:
无
实例:
var styles = '{ ¥ "color ¥ ": ¥ "red ¥ ", ¥ "background-color ¥ ": ¥ "blue ¥ "}'; componetInstance.setStyle(style);
2.3.8 getValue
说明:
componetInstance.getValue() 用于获取某个组件的 value 值。 只有表 2-4-8 中列出的组件才有该方法 。
语法:
componetInstance.getValue();
参数:
无
返回:
如下表 2-4-8 所示:
序号 |
componentType |
返回值类型 |
返回值举例 |
1 |
Form |
Json object |
{name: "Jack", age: 23,...} |
2 |
Calendar |
Array |
[{id: "123", ...}...] |
3 |
Table |
Array |
[{id: "123", ...}...] |
4 |
CheckboxGroup |
Array |
['string1', 'string2', ...] // string[] |
5 |
DatePicker |
String |
2019-01-18 |
6 |
RangePicker |
Array |
['2018-12-01', '2018-12-31'] |
7 |
Input |
String |
'hello' |
8 |
Radio |
String | Number | Boolean |
'string' | 123 | true |
9 |
RichEditor |
String |
'<p>hello</p>' |
10 |
Select |
String | Number | Boolean | Array( 多选时 ) |
'string' | 123 | true | ['string1', 'string2', ...] |
11 |
TextArea |
String |
'hello' |
12 |
Upload |
String | Array( 上传多个 ) |
'url' | ['url1', 'url2', ...] |
13 |
TimePicker |
String |
'14:15:16' |
14 |
Checkbox |
Boolean |
true | false |
15 |
TableForm |
Array |
[{id: "123", ...}...] |
16 |
SubForm |
Array|json |
[{name: "Jack", age: 23, ...}] | {name: "Jack", age: 23...} |
17 |
ColorPicker |
String |
'rgba(1, 2, 2, 1)' |
18 |
SearchInput |
String |
'Jack' |
表 2-4-8
实例:
var value = componetInstance.getValue();
2.3.9 setValue
说明:
componetInstance.setValue(any) 用于设置 formItem 组件的 value 值。只有表 2-4-9 中列出的组件包含该方法。
语法:
componetInstance.setValue(any);
参数:
根据 componentType 决定参数具体类型。详见表 2-4-9
返回:
无
实例:
var value= 'string''; componetInstance.setValue(value);
序号 |
componentType |
参数类型 |
参数举例 |
1 |
DatePicker |
String |
'2019-01-18' |
2 |
RangePicker |
Array |
['2018-12-01', '2018-12-31'] |
3 |
Input |
String |
'hello' |
4 |
Select |
String | Number | Boolean | Array( 多选时 ) |
'string' | 123 | true | ['string1', 'string2', ...] |
5 |
TextArea |
String |
'hello' |
6 |
Upload |
String | Array( 上传多个 ) |
'url' | ['url1', 'url2', ...] |
7 |
TimePicker |
String |
'14:15:16' |
8 |
Checkbox |
Boolean |
true | false |
9 |
Cascader |
Array |
['01', '0101', '010103'] |
10 |
SubForm |
Array | Json |
[{'name':'Jack','_rowid':'xxx'}] | {'name':'Jack', 'age':23} |
1 1 |
ColorPicker |
String |
'#333' | 'rgb(123, 2123, 220)' |
1 2 |
SearchInput |
String |
'Jack' |
表 2-4-9
2.4 Form组件独有方法
Form 组件本身有一些特有的方法,下面用 var formIns = ocWindow.getComponentByName('form_user'); 作为 2.4.x 中举例的实例进行说明:
2.4.1 getFieldsValue
说明:
formIns.getFieldsValue() 用于获取 Form 组件的 value 值。同
语法:
formIns.getFieldsValue();
参数:
无
返回:
Json 格式的 value 数据;
实例:
var formValues= formIns.getFieldsValue();
2.4.2 validateFields
说明:
formIns.validateFields(callbakcFuntion(errors, values){}) 用于校验当前 Form 所有组件。
语法:
formIns.validateFields(callbakcFuntion(errors, values){});
参数:
回调函数 callbakcFuntion(errors, values){}
errors: 错误信息,没有错误为 false
values: 当前 Form 的 value 值
返回:
无
实例:
formIns.validateFields(function(errors, values){if(errors) {return}; console.log(values);});
2.4.3 resetFields
说明:
formIns.resetFields() 用于重置当前 Form 所有组件的值到 defaultValue ,如果没有则重置为空。
语法:
formIns.resetFields();
参数:
无
返回:
无
实例:
formIns.resetFields();
2.4.4 clean
说明:
formIns.clean() 用于清空当前 Form 所有组件的值( defaultValue 也要被清除)。
语法:
formIns.clean();
参数:
无
返回:
无
实例:
formIns.clean();
2.4.5 setFieldsValue
说明:
formIns.setFieldsValue() 用于给当前 Form 组件赋值。
语法:
formIns.setFieldsValue();
参数:
Json 格式的数据 .
返回:
无
实例:
var values = {'name': 'Jack' ,sex: ‘ M ’ }; formIns.setFieldsValue(values);
2.4.6 setLastSavedValues
说明:
formIns.setLastSavedValues(values) 给当前 Form 组件存储最近一次执行过后端保存的数据。
语法:
formIns.setLastSavedValues(values);
参数:
Json 格式的数据 .
返回:
无
实例:
var values = {'name': 'Jack'}; formIns.setLastSavedValues(values);
2.4.7 getFieldSet
说明:
formIns.getFieldSet() 返回当前 form 需要展示的字段名称集合。
语法:
formIns.getFieldSet();
参数:
无 .
返回:
string 详情见举例
实例:
var fieldSet = formIns.getFieldSet();
fieldSet 值如下: ''{name,sex,birthday,role:{id, roleName}}"
2.4.8 getReadonlyStyle
说明:
formIns.getReadonlyStyle() 返回当前 form 不可编辑时需要展示的样式。
语法:
formIns.getReadonlyStyle();
参数:
无 .
返回:
string 详情见举例
实例:
var fieldSet = formIns.getReadonlyStyle();
fieldSet 值如下: label 或者 disable
2.4.9 getEntityName
说明:
formIns.getEntityName() 返回当前 form 配置的 entityName 。
语法:
formIns.getEntityName();
参数:
无 .
返回:
string 当前 form 配置的 entityName
实例:
var entityName= formIns.getEntityName();
2.4.10 getAuthority
说明:
formIns.getAuthority() 返回当前 form 的权限信息。
语法:
formIns.getAuthority();
参数:
无 .
返回:
json 格式的数据 详见举例
实例:
var authority = formIns.getAuthority();
authority 的值如下:
{
"_canEdit": true,
"_canDelete": true,
"sex": {
"_canEdit": false,
"_canAccess": false
},
"birthday": {
"_canEdit": false,
"_canAccess": true
},
"contacts": {
"_canEdit": false,
"_canAccess": true,
"data": [
{
"_rowid": "xxx",
"_canEdit": false,
"_canDelete": true
}
]
}
}
2.4.11 triggerValidationWhenSubmit
说明:
formIns.triggerValidationWhenSubmit() 返回当前 form 所有字段是否校验通过。 注:在 Form 中,若 form item 不可见或者 editable 为 false ,则系统会自动清除其 validation rule ,等恢复可见或者 editable 为 true 时,恢复 validation
语法:
formIns.triggerValidationWhenSubmit();
参数:
无 .
返回:
boolean true|false
实例:
var validate = formIns.triggerValidationWhenSubmit(); // validate 得到的值为 true / false
2.4.12 triggerFieldsValidation
说明:
formIns.triggerFieldsValidation(formItemNames) ,对指定的 form item name 的组件进行 validation ,如果 formItemNames 为空,则表示所有的 form item 组件(包括 SubForm)
语法:
formIns.triggerFieldsValidation(formItemNames);
参数:
formItemNames : string[] 需要校验的字段名称组成的数组
返回:
boolean true|false
实例:
var formItemNames = ['name', 'sex'];
var validate = formIns.triggerFieldsValidation(formItemNames); // validate 得到的值为 true / false
2.4.13 cleanFieldsValidationRules
说明:
formIns.cleanFieldsValidationRules(formItemNames, nowValidation) ,清除指定的 form item 的 rule 并触发 validation (2020-04-17 更新 )
语法:
formIns.cleanFieldsValidationRules(formItemNames, nowValidation);
参数:
formItemNames : string[] 需要校验的字段名称组成的数组
nowValidation?: boolean 可选 是否立即触发 validation
返回:
无
实例:
var formItemNames = ['name', 'sex'];
formIns.cleanFieldsValidationRules(formItemNames); // 清除 name , sex 两个字段的校验规则,并执行校验
2.4.14 restoreFieldsValidationRules
说明:
formIns.restoreFieldsValidationRules(formItemNames, nowValidation) ,将指定 form item 的 UIMeataData 定义的 rule 恢复并触发 validation (2020-04-17 更新 )
语法:
formIns.restoreFieldsValidationRules(formItemNames, nowValidation);
参数:
formItemNames : string[] 需要校验的字段名称组成的数组
nowValidation?: boolean 可选 是否立即触发 validation
返回:
无
实例:
var formItemNames = ['name', 'sex'];
formIns.restoreFieldsValidationRules(formItemNames); // 恢复 name , sex 两个字段的 uiMetaData 中的校验规则,并执行校验
2.4.15 setValidationRule
说明:
formIns.setValidationRule(formItemName, rules, nowValidation) ,设置指定字段的校验规则 (2020-04-17 更新 )
语法:
formIns.setValidationRule(formItemName, rules, nowValidation);
参数:
formItemName : string 指定需要校验的字段名称
nowValidation?: boolean 可选 是否立即触发 validation
rules: rule[]
rule 定义:
{
/** validation error message */
message?: React.ReactNode;
/** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */
type?: string;
/** indicates whether field is required */
required?: boolean;
/** treat required fields that only contain whitespace as errors */
whitespace?: boolean;
/** validate the exact length of a field */
len?: number;
/** validate the min length of a field */
min?: number;
/** validate the max length of a field */
max?: number;
/** validate the value from a list of possible values */
enum?: string | string[];
/** validate from a regular expression */
pattern?: RegExp;
/** transform a value before validation */
transform?: (value: any) => any;
/** custom validate function (Note: callback must be called) */
validator?: (rule: any, value: any, callback: any, source?: any, options?: any) => any;
};
返回:
无
实例:
formIns.setValidationRule('age', [{max:150, message:' 最大为 150'}], false); // 设置校验规则,但是不立即触发校验。
2.4.16 getValidationRule
说明:
formIns.getValidationRule(formItemName) ,获取指定字段的校验规则
语法:
formIns.getValidationRule(formItemName);
参数:
formItemName : string 指定需要获取校验规则的字段名称
返回:
array: rule[] rule 定义请参照 setValidationRule 方法中的 rule 定义。
实例:
formIns.setValidationRule('age');
2.4.17 setFormItemsEditable
说明:
formIns.setFormItemsEditable(formItemNames, editable) 设置指定的 formItem 是否可编辑。 注:如果在设置时, form 的 editable 属性为 false ,而组件要被设置成为 true ,则系统会首先将 form 的 editable 属性设置成 true 。
语法:
formIns.setFormItemsEditable(formItemNames, editable);
参数:
formItemNames: string[] 指定的字段名称组成的数组,数组长度为 0 时,表示全部 formItem 组件
editable: boolean 是否可编辑
返回:
无
实例:
// 将 name , sex 两个字段设为可编辑
formIns.setFormItemsEditable(['name', 'sex'], true);
2.4.18 setExcludeFormItemsEditable
说明:
formIns.setExcludeFormItemsEditable(excludeFormItemNames, editable) 设置指定 formItem 以外的 formItem 是否可编辑。 注:如果在设置时, form 的 editable 属性为 false ,而组件要被设置成为 true ,则系统会首先将 form 的 editable 属性设置成 true 。
语法:
formIns.setExcludeFormItemsEditable(excludeFormItemNames, editable);
参数:
excludeFormItemNames: string[] 指定的字段名称组成的数组
editable: boolean 是否可编辑
返回:
无
实例:
// 将除 name , sex 两个字段以外的其他字段设为可编辑
formIns.setExcludeFormItemsEditable(['name', 'sex'], true);
2.4.19 setFormItemsVisible
说明:
formIns.setFormItemsVisible (formItemNames, visible) 设置指定 formItem 组件是否可见。 注:若 formItemNames 数组为空,则表示所有的 form items 。
语法:
formIns.setFormItemsVisible (formItemNames, visible);
参数:
formItemNames: string[] 指定的字段名称组成的数组
visible: boolean 是否可编辑
返回:
无
实例:
// 隐藏 name , sex 两个字段
formIns.setFormItemsVisible (['name', 'sex'], false);
2.5 FormItem共有方法
formItem 组件 (form 中用于数据录入功能的表单组件,例如: Input , Select , TableForm 等,统一称为 formItem 组件 ) 有一些共有方法,下面用 var formIns = ocWindow.getComponentByName('formItem_test'); 作为 2.5.x 中举例的实例进行说明:
2.5.1 setFormItemLabel
说明:
formIns. setFormItemLabel (label) 用于给当前 Form 组件设置 lable 。
语法:
formIns.setFormItemLabel(label);
参数:
label: string 必须 要设置的 label
返回:
无
实例:
formItem.setFormItemLabel('testSetLabel');
2.5.2 setEditable
说明:
formIns.setEditable(editable) 用于给当前 Form 组件设置编辑权限。
语法:
formIns.setEditable(editable);
参数:
editable : boolean 必须 是否可编辑
返回:
无
实例:
formItem.setEditable(true);
2.5.3 setReadOnlyStyle
说明:
formIns.setReadOnlyStyle(readonlyComponentStyle) 用于给当前 Form 组件设置只读时的显示类型。
语法:
formIns.setReadOnlyStyle(readonlyComponentStyle);
参数:
readonlyComponentStyle : string 必须 BasedOnForm | label | disable
返回:
无
实例:
formItem.setReadOnlyStyle('label');
2.5.4 getEditable
说明:
formIns.getEditable() 获取当前 Form 组件设置编辑权限。
语法:
formIns.getEditable();
参数:
无
返回:
boolean
实例:
var editable = formItem.getEditable();
2.5.5 getAccessable
说明:
formIns. getAccessable () 获取当前 Form 组件设置是否可见。
语法:
formIns.getAccessable();
参数:
无
返回:
boolean
实例:
var accessable= formItem.getAccessable();
2.6 Button组件独有方法
Button 组件本身有一些特有的方法,下面用 var btnIns = ocWindow.getComponentByName('btn_test'); 作为 2.6.x 中举例的实例进行说明:
2.6.1 enableLoadingState
说明:
btnIns.enableLoadingState() 将当前按钮设置为 loading 状态。
语法:
btnIns.enableLoadingState();
参数:
无
返回:
无
实例:
btnIns.enableLoadingState();
2.6.2 disableLoadingState
说明:
btnIns.disableLoadingState() 将当前按钮设置为非 loading 状态。
语法:
btnIns.disableLoadingState();
参数:
无
返回:
无
实例:
btnIns.disableLoadingState();
2.6.3 setTitle
说明:
btnIns.setTitle(title) 设置当前 Button 中的显示文本。
语法:
btnIns.setTitle(title);
参数:
title: 必须 string
返回:
无
实例:
btnIns.setTitle(' 提交中 ...');
2.6.4 setBadgeContent
说明:
btnIns.setBadgeContent(title) 设置当前 Button 中的 badge 显示文本。 button 配置了显示 badge 后生效。 (2020-03-10 新增 )
语法:
btnIns.setBadgeContent(title);
参数:
title: 必须 number|string
返回:
无
实例:
btnIns.setBadgeContent(10);
2.6.5 setType
说明:
设置按钮类型。 2022.05.19 更新
语法:
btnIns. setType ( type );
参数:
type : 必须 string , 'default','primary', 'ghost', 'warning','icon','text', 'link'
返回:
无
实例:
btnIns. setType ( ‘ link ’ );
2.7 CheckboxGroup独有方法
CheckboxGroup 组件本身有一些特有的方法,下面用 var checkboxgroupIns = ocWindow.getComponentByName('checkboxGroup_test'); 作为 2.7.x 中举例的实例进行说明:
2.7.1 selectAll
说明:
checkboxgroupIns.selectAll() 全选。
语法:
checkboxgroupIns.selectAll();
参数:
无
返回:
无
实例:
checkboxgroupIns.selectAll();
2.7.2 deSelectAll
说明:
checkboxgroupIns.deSelectAll() 全不选。
语法:
checkboxgroupIns.deSelectAll();
参数:
无
返回:
无
实例:
checkboxgroupIns.deSelectAll();
2.8 Label组件独有方法
Label 组件本身有一些特有的方法,下面用 var labelIns = ocWindow.getComponentByName('label_test'); 作为 2.8.x 中举例的实例进行说明:
2.8.1 getContent
说明:
labelIns.getContent() 获取 content 的值。
语法:
labelIns.getContent();
参数:
无
返回:
String
实例:
var labelContentString = labelIns.getContent();
2.8.2 setValue
说明:
labelIns.setValue(value) 设置 content 的值。
语法:
参数:
value: string 必须
返回:
无
实例:
labelIns.setValue();
2.9 Radio组件独有方法
Radio 组件本身有一些特有的方法,下面用 var radioIns = ocWindow.getComponentByName('radio_test'); 作为 2.9.x 中举例的实例进行说明:
2.9.1 chooseRadio
说明:
radioIns.chooseRadio(radioValue) 设置 RadioGroup 的选中项(值)。
语法:
radioIns.chooseRadio(radioValue);
参数:
radioValue 必须 String | Boolean | Number
返回:
无
实例:
radioIns.chooseRadio(true);
2.10 Select组件独有方法
Select 组件本身有一些特有的方法,下面用 var selectIns = ocWindow.getComponentByName('select_test'); 作为 2.10.x 中举例的实例进行说明:
2.10.1 setValueOfFirstOption
说明:
selectIns.setValueOfFirstOption() 选中第一个选项。
语法:
selectIns.setValueOfFirstOption();
参数:
无
返回:
无
实例:
selectIns.setValueOfFirstOption();
2.10.2 refreshOptions
说明:
selectIns.refreshOptions() 刷新选项数据。 ( 2020-10-16 新增)
语法:
selectIns.refreshOptions();
参数:
无
返回:
无
实例:
selectIns.refreshOptions();
2.10.3 selectedAll
说明:
selectIns. selectedAll () 选中所有选项 。 2022.05.19 更新
语法:
selectIns. selectedAll ();
参数:
无
返回:
无
实例:
selectIns. selectedAll ();
2.11 Table组件独有方法
Table 组件本身有一些特有的方法,下面用 var tableIns = ocWindow.getComponentByName('table_test'); 作为 2.11.x 中举例的实例进行说明:
2.11.1 getPagination
说明:
tableIns.getPagination() 获取分页信息。
语法:
tableIns.getPagination();
参数:
无
返回:
Json 格式数据
实例:
var pagination = tableIns.getPagination();
pagination 的值如下:
{
"current": 1,
"onChange": function(){
},
"onShowSizeChange": function(){
},
"pageSize": 10,
"pageSizeOptions": [
10,
20,
30,
40
],
"position": "bottom",
"showQuickJumper": true,
"showSizeChanger": false
}
2.11.2 expandRows
说明:
tableIns.expandRows() 有树形结构的 table 数据时,展开所有节点。
语法:
tableIns.expandRows();
参数:
无
返回:
无
实例:
tableIns.expandRows();
2.11.3 collapseRows
说明:
tableIns.collapseRows() 有树形结构的 table 数据时,折叠所有节点。
语法:
tableIns.collapseRows();
参数:
无
返回:
无
实例:
tableIns.collapseRows();
2.11.4 getTableHeaderForExport
说明:
tableIns.getTableHeaderForExport() 获取导出的字段明细。
语法:
tableIns.getTableHeaderForExport();
参数:
无
返回:
Array 详见实例
实例:
var tableHeaderForExport= tableIns.getTableHeaderForExport();
tableHeaderForExport 的值如下:
[
{
fieldName: "name",
title: " 姓名 "
},
{
fieldName: "sex",
title: " 性别 "
}
]
2.11.5 getTableConfigurationState
说明:
tableIns.getTableConfigurationState() 获取 table 的一部分配置信息。
语法:
tableIns.getTableConfigurationState();
参数:
无
返回:
Json 详见实例
实例:
var tableConfigurationState= tableIns.getTableConfigurationState();
tableHeaderForExport 的值如下:
{
pagination: {current: 1, pageSize: 2, ...},
filters: [ {fieldName : "name" , fieldValue : "adfaf" , operator : "like"} , ... ],
sorter: {sex: "ascend", ...},
selectedRows: [{'_rowid':'123', 'name':'Jack'}, ...]
}
2.11.6 addColumnForHyperLink
说明:
tableIns.addColumnForHyperLink(columnName) 将指定列显示为超链。
语法:
tableIns.addColumnForHyperLink(columnName);
参数:
columnName: string 必须 指定列的 dataIndex (字段名称)
返回:
无
实例:
tableIns.addColumnForHyperLink('name');
2.11.7 addColumnColorMapping
说明:
tableIns.addColumnColorMapping(columnName, colorMapping) 给指定列设置指定条件的显示颜色。
语法:
tableIns.addColumnColorMapping(columnName, colorMapping);
参数:
columnName: string 必须 指定列的 dataIndex (字段名称)
colorMapping: json 格式数据, 必须, 详见举例
返回:
无
实例:
var colorMapping = {'17': 'red','27':'#00ff00'};
tableIns.addColumnColorMapping('age', colorMapping );
2.11.8 setOperatorColumnVisible
说明:
tableIns.setOperatorColumnVisible(visible) 设置操作列是否显示。
语法:
tableIns.setOperatorColumnVisible(visible);
参数:
visible: boolean 必须 操作列是否显示 true / false
返回:
无
实例:
tableIns.setOperatorColumnVisible(true); // 显示操作列
tableIns.setOperatorColumnVisible(false); // 隐藏操作列
2.11.9 setRowSelectionType
说明:
tableIns.setRowSelectionType(type) 设置 table 行的可选择类型
语法:
tableIns.setRowSelectionType(type);
参数:
type: string 必须 table 行的可选择类型 checkbox|radio|null 多选 | 单选 | 不可选
返回:
无
实例:
tableIns.setRowSelectionType('checkbox'); // 可多选
tableIns.setRowSelectionType('radio'); // 可单选
tableIns.setRowSelectionType(null); // 不可选
2.11.10 getSubTableWinInsByRowId
说明:
根据 _rowid 获取当前行打开的子 table 所在的 window 实例。 (2019-11-27 新增 )
语法:
tableIns.getSubTableWinInsByRowId(_rowid)
参数:
_rowid: string 必须 table 被打开的行的 _rowid
返回:
object window 实例
实例:
var subWindow = tableIns.getSubTableWinInsByRowId('xxxx'); // 得到子 table 所在的 window 的实例。
2.11.11 update
说明:
更新当前 table 的数据(重新请求接口)。 (2019-11-27 新增 )
语法:
tableIns.update()
参数:
无
返回:
无
实例:
tableIns.update();
2.11.12 updateSubTableDataSource
说明:
更新指定行打开的子 table 的数据(重新请求接口)。 (2019-11-27 新增 )
语法:
tableIns.updateSubTableDataSource(_rowid, componentName)
参数:
_rowid: string 必须 指定的已经打开子 table 的行的 _rowid;
componentName: string 必须 已打开的子 table 所在的 window 中指定的 table 的 componentName
返回:
无
实例:
tableIns.updateSubTableDataSource('xxx','Table01');
2.11.13 setLoading
说明:
设置 table 组件 loading 消息提示效果。 (2020-04-17 新增 )
语法:
tableIns.setLoading(true/false);
参数:
boolean 是否显示
返回:
无
实例:
tableIns.setLoading(true); // 显示 table 的 loading
tableIns.setLoading(false); // 隐藏 table 的 loading
2.11.14 refreshColumnOptionsByDataIndex
说明:
刷新 table 指定列的 options 。 (2020-10-16 新增 )
语法:
tableIns.refreshColumnOptionsByDataIndex(dataIndex);
参数:
dataIndex: string 需要刷新的列的 dataIndex
返回:
无
实例:
tableIns.refreshColumnOptionsByDataIndex('sex');
2.11.15 setTableFilters
说明:
动态设置 table 的查询条件。 (2021-10-11 新增 )
语法:
tableIns. setTableFilters ( newFilters, updateNow) ;
参数:
newFilters : any[] 必须 新的过滤条件 ;
updateNow: bollean 是否立刻更新,默认为 false
返回:
无
实例:
var newFilters = [ {fieldName : "name" , fieldValue : "adfaf" , operator : "like"} , ... ] ;
tableIns. setTableFilters ( newFilters, true ) ;
2.11.16 setRowMergeGroup
说明:
table 行进行分组合并。 (2021-10-11 新增 )
语法:
tableIns. setRowMergeGroup ( rowMergeGroup , functions) ;
参数:
rowMergeGroup : [] 必须 要合并的组 ;
functions: 回调函数
返回:
无
实例:
var ds = tableIns.getDataSource();
var rowMergeGroup = ds.map(function(item) {
return {
_rowid: item._rowid,
sunday: false,
}
});
tableIns.setRowMergeGroup(rowMergeGroup, function() {
console.log(' 回调执行 ');
});
2.11.17 setTableMiniOperator
说明:
设置 table 操作列是否简化。 (2021-10-11 新增 )
语法:
tableIns. setTableMiniOperator (boolean);
参数:
boolean 是否简化
返回:
无
实例:
tableIns. setTableMiniOperator ( true );
2.12 Tabs组件独有方法
Tabs 组件本身有一些特有的方法,下面用 var tabsIns = ocWindow.getComponentByName('tabs_test'); 作为 2.12.x 中举例的实例进行说明:
2.12.1 selectTab
说明:
tabIns.selectTab(activeKey) 设置选中的 tab 页签。
语法:
tabIns.selectTab(activeKey);
参数:
activeKey 必须 String
返回:
无
实例:
tabIns.selectTab('tab01');
2.12.2 getPaneCount
说明:
获取 tabsIns 中 tabPane 的数量。
语法:
tabsIns.getPaneCount();
参数:
无
返回:
数量 Number
实例:
tabsIns.getPaneCount();
2.12.3 getActiveKey
说明:
获取 tabsIns 中当前显示的 tabPane 的 key 。 (2020-03-10)
语法:
tabsIns.getActiveKey();
参数:
无
返回:
string
实例:
var activeKey = tabsIns.getActiveKey();
2.12.4 handleLoadingPaneUIByKey
说明:
静默加载 tabsIns 中当指定 Key 的 tabPane 。 (2020-10-16)
语法:
tabsIns.handleLoadingPaneUIByKey(key);
参数:
key: string 需要静默加载的 tabPane 的 key
返回:
无
实例:
tabsIns.handleLoadingPaneUIByKey('001');
2.12.5 removePanel
说明:
删除 tabsIns 中当指定 Key 的 tabPane 。 (2021-10-11)
语法:
tabsIns. removePanel (key);
参数:
key: string 需要静默加载的 tabPane 的 key
返回:
无
实例:
tabsIns. removePanel ('001');
2.12.6 removePanelAndTriggerEvent
说明:
删除 tabsIns 中当指定 Key 的 tabPane 并触发事件。 (2021-10-11)
语法:
tabsIns. removePanel (key);
参数:
key: string 需要静默加载的 tabPane 的 key
返回:
无
实例:
tabsIns. removePanelAndTriggerEvent ('001');
2.12.7 setAddButtonVisible
说明:
设置 T abs 组件右侧的增加按钮是否可见。 (2021-10-11)
语法:
tabsIns. setAddButtonVisible ( visible );
参数:
visible : bollean true | false
返回:
无
实例:
tabsIns. setAddButtonVisible ( false );
2.12.8 getAddButtonVisible
说明:
获取 T abs 组件右侧的增加按钮是否可见。 (2021-10-11)
语法:
tabsIns. getAddButtonVisible ();
参数:
无
返回:
true | false
实例:
tabsIns. getAddButtonVisible ();
2.12.9 setType
说明:
设置 T abs 组件的显示类型。 (2021-10-11)
语法:
tabsIns.setType(type);
参数:
type : sting 可选值: line 直线式 | card 卡片式 | borderRadius 圆角式 | editable-card 可编辑卡片式
返回:
无
实例:
// 将 T abs 组件设置为卡片式
tabsIns.setType( ‘card’ );
2.12.10 g etType
说明:
获取 T abs 组件的显示类型。 (2021-10-11)
语法:
tabsIns.getType();
参数:
无
返回:
string line | card | borderRadius | editable-card
实例:
tabsIns.getType();
2.12.11 set Editable
说明:
设置 T abs 组件是否可编辑。 (2021-10-11)
语法:
tabsIns. setEditable (editable);
参数:
editable : bollean true | false
返回:
无
实例:
tabsIns. setEditable ( true );
2.12.12 g et Editable
说明:
获取 T abs 组件是否可编辑。 (2021-10-11)
语法:
tabsIns.g etEditable ();
参数:
无
返回:
true | false
实例:
tabsIns. getEditable ();
2.13 TableForm组件独有方法
TableForm 组件本身有一些特有的方法,下面用 var tableFormIns = ocWindow.getComponentByName('tableForm_test'); 作为 2.13.x 中举例的实例进行说明:
2.13.1 setValueByDataIndex
说明:
tableFormIns.setValueByDataIndex(rowId, dataIndexName, value) 设置指定行中的指定字段的值。
语法:
tableFormIns.setValueByDataIndex(rowId, dataIndexName, value);
参数:
rowId 必须 String 需要更新的行的 rowId
dataIndexName 必须 String 需要更新的列的 dataIndex
value 必须 any
返回:
无
实例:
var rowId = payload._rowid; tableFormIns.setValueByDataIndex(rowId, 'name', 'Jack');
2.13.2 updateValueOptionData
说明:
Ins.updateValueOptionData(rowId, dataIndexName, data) 更新指定行指定字段的下拉选项。
语法:
Ins.updateValueOptionData(rowId, dataIndexName, data);
参数:
rowId: string 必须 指定行的 _rowid
dataIndexName: string 必须 指定字段的名称
data: Array // eg: [{label: ' 老师 ', value: 'teacher'}, {label: ' 学生 ', value: 'student'}]
返回:
无
实例:
var data= [{label: ' 老师 ', value: 'teacher'}, {label: ' 学生 ', value: 'student'}];
Ins.updateValueOptionData('_rowid_xxx', '', data);
2.13.3 setCustomColumnsPrecisionByRowIdAndDataIndex
说明:
设置指定行的 Input Number 组件的精度。 (202 1 -10-1 1 )
语法:
tableFormIns. setCustomColumnsPrecisionByRowIdAndDataIndex ( newPrecisionData );
参数:
newPrecisionData : [ ] 指定行的精度 // eg: 见实例中的 precisions
返回:
无
实例:
var ds = TableForm.getDataSource();
var precisions = [
{
_rowid: ds[0]._rowid,
testNumber: 0
},
{
_rowid: ds[1]._rowid,
testNumber: 1
},
]; TableForm.setCustomColumnsPrecisionByRowIdAndDataIndex(precisions);
2.13.4 showAddButton
说明:
是否展示新增按钮。 (2021-10-11 新增 )
语法:
OC. showAddButton ( visible );
参数:
visible: bollean true | false
返回:
无
实例:
OC. showAddButton ( visible );
2.14 Table、Calendar组件共有方法
Table 、 Calendar 组件有一些共有的方法,下面用 var Ins = ocWindow.getComponentByName('test'); 作为 2.14.x 中举例的实例进行说明:
2.14.1 setDataSource
说明:
Ins.setDataSource(data) 给指定的组件赋值。如果当前组件是 TableForm 组件,则此时, TableForm 组件必须是单独使用(脱离 Form 组件)。
语法:
Ins.setDataSource(data);
参数:
data: any 必须 data 包括 2 部分, data 和 authority ,详见举例
返回:
无
实例:
var data = {
data: [
{
_rowid: '123', name: 'Jack'
}
],
authority: {} ,
pagination: {current: 1,pageSize: 10, total: 90, }
};
Ins.setDataSource(data);
2.14.2 getDataSource
说明:
Ins.getDataSource() 给指定的组件赋值。
语法:
Ins.getDataSource();
参数:
无
返回:
array
实例:
var data = Ins.getDataSource();
得到的 data 如下:
[
{
_rowid: '123', name: 'Jack'
}
]
2.15 CheckboxGroup、Radio、Select、TreeSelect、Cascader共有方法
CheckboxGroup 、 Radio 、 Select 、 TreeSelect 、 Cascader 组件有一些共有的方法,下面用 var Ins = ocWindow.getComponentByName('test'); 作为 2.15.x 中举例的实例进行说明:
2.15.1 setOptions
说明:
Ins.setOptions(options) 设置选项。
语法:
Ins.setOptions(options);
参数:
options: Array // eg: [{label: ' 老师 ', value: 'teacher'}, {label: ' 学生 ', value: 'student'}]
返回:
无
实例:
var options = [{label: ' 老师 ', value: 'teacher'}, {label: ' 学生 ', value: 'student'}];
Ins.setOptions(options );
2.15.2 getOptions
说明:
获取选项。
语法:
Ins.getOptions();
参数:
无
返回:
options: Array // eg: [{label: ' 老师 ', value: 'teacher'}, {label: ' 学生 ', value: 'student'}]
实例:
var options = Ins.getOptions(options );
// options: [{label: ' 老师 ', value: 'teacher'}, {label: ' 学生 ', value: 'student'}];
2.15.3 removeOption
说明:
Ins.removeOption(optionKey) 删除一个选项。
语法:
Ins.removeOption(optionKey);
参数:
optionKey: string 必须 要删除的 options 对应的 value 值
返回:
无
实例:
Ins.removeOption('001');
2.15.4 removeOptions
说明:
selectIns.removeOption([optionKey1, optionKey2]) 删除多个选项。
语法:
selectIns.removeOption([optionKey1, optionKey2]);
参数:
optionKeys: array 必须 要删除的 options 对应的 value 值组成的数组
返回:
无
实例:
selectIns.removeOptions(['001', '002']);
2.15.5 addOption
说明:
selectIns.addOption(optionKey, optionLabel) 添加一个选项。
语法:
selectIns.addOption(optionKey, optionLabel );
参数:
optionKey: string 必须 要增加的 options 对应的 value 值
optionLabel: string 必须 要增加的 options 对应的 label 值
返回:
无
实例:
selectIns.addOption('001', ' 经理 ');
2.15.6 addOptions
说明:
selectIns.addOptions(options) 添加一些选项。
语法:
selectIns.addOption(options);
参数:
options: array 必须 要增加的 options 详见举例。
返回:
无
实例:
var newOptions = [
{
'label': 'newLabel',
'value': 'newValue1'
},
{
'label': 'newLabe2',
'value': 'newValue2'
}
];
selectIns.addOptions(newOptions);
2.15.7 getOptions
说明:
获取所有可选项 options 。 (2020-03-21 新增 )
语法:
selectIns.getOptions();
参数:
无
返回:
options: array
实例:
var options = selectIns.getOptions();
// options = [
{
'label': 'newLabel',
'value': 'newValue1'
},
{
'label': 'newLabe2',
'value': 'newValue2'
}
];
2.15.8 getSelectedOption
说明:
获取选中项的 option 。 仅适用于单选。 (2020-03-21 新增 )
语法:
selectIns.getSelectedOption();
参数:
无
返回:
option: object 被选中的 option 。
实例:
var selectedOption = selectIns.getSelectedOption();
// selectedOption ={
'label': 'newLabel',
'value': 'newValue1'
}
2.15.9 getSelectedLabel
说明:
获取选中项的 label 。 仅适用于单选。 (2020-03-21 新增 )
语法:
selectIns.getSelectedLabel();
参数:
无
返回:
label: string
实例:
var labelStr= selectIns.getSelectedLabel();
// selectedOption ={
'label': ' 男 ',
'value': 'M'
}
// labelStr = ' 男 '
2.16 Table、TableForm共有方法
Table 、 TableForm 组件有一些共有的方法,下面用 var tableIns = ocWindow.getComponentByName('test'); 作为 2.16.x 中举例的实例进行说明:
2.16.1 hasSelectAllRecords
说明:
tableIns.hasSelectAllRecords() 是否已全选。
语法:
tableIns.hasSelectAllRecords();
参数:
无
返回:
Boolean true/false
实例:
var hasSelectAllRecords= tableIns.hasSelectAllRecords();
2.16.2 getSelectedRowKeys
说明:
tableIns.getSelectedRowKeys() 获取选中的行 key( 对应一条数据中的 _rowid 字段 ) 。
语法:
tableIns.getSelectedRowKeys();
参数:
无
返回:
Array 详见实例
实例:
var selectedRowKeys= tableIns.getSelectedRowKeys();
selectedRowKeys 的值如下:
['256', '2656']
2.16.3 getAuthorityData
说明:
tableIns.getAuthorityData() 获取权限信息。
语法:
tableIns.getAuthorityData();
参数:
无
返回:
array 详见举例
实例:
var authorityData = tableIns.getAuthorityData();
authorityData 值范例:
[
{
"name": {
"_canEdit": true,
"_canAccess": false,
},
"_canEdit": true,
"_canDelete": false,
"_rowid": "256" // _rowid 必须
}
]
2.16.4 setStyleConfigScript
说明:
tableIns.setStyleConfigScript( script ) 设置行的内容显示规则的 js 脚本。
语法:
tableIns.setStyleConfigScript(script);
参数:
script: string 必须 js 脚本字符串
返回:
无
实例:
tableIns.setStyleConfigScript('if ( record.age === 27 ) { return 1;} return 0;');
2.16.5 setStyleHilites
说明:
tableIns.setStyleHilites(hilites) 设置行的内容高亮显示。
语法:
tableIns.setStyleHilites(hilites);
参数:
hilites: json 格式的数据 必须 js 详见举例
返回:
无
实例:
var hilites= " [ ¥
{ ¥
fieldName: ['age', 'name'], ¥
textColor: '#FF0000', ¥
cellBackgroundColor: '#FFFF00', ¥
textBackgroundColor: '#FFFF00', ¥
id:'1' ¥
} ¥
] ¥
";
tableIns.setStyleHilites(hilites);
2.16.6 getColumnsVisible
说明:
tableIns.getColumnsVisible() 获取所有列的显示状态。
语法:
tableIns.getColumnsVisible();
参数:
无
返回:
{name: true, age: false} 字段名称和显示状态组成的 json
实例:
var columnsVisible = tableIns.getColumnsVisible();
columnsVisible 的值如下:
{name: true, age: false}
2.16.7 setColumnsVisible
说明:
tableIns.getColumnsVisible(columnsVisible ) 设置所有列的显示状态。
语法:
tableIns.getColumnsVisible(columnsVisible );
参数:
{name: true, age: false} 字段名称和显示状态组成的 json
返回:
无
实例:
var columnsVisible = {name: true, age: false}
tableIns.setColumnsVisible(columnsVisible );
2.16.8 updateColumnsVisible
说明:
tableIns. updateColumnsVisible (columnsVisible ) 设置需要更新的列的显示状态。
语法:
tableIns.updateColumnsVisible(columnsVisible );
参数:
{name: true, age: false} 字段名称和显示状态组成的 json
返回:
无
实例:
var columnsVisible = {name: true, age: false}
tableIns.updateColumnsVisible(columnsVisible );
2.16.9 setActiveRow
说明:
tableIns.setActiveRow(record) 设置选中的行
语法:
tableIns.setActiveRow(record);
参数:
{_rowid: string}
返回:
无
实例:
// 实际运用时,一般将获取到的一条完整的数据作为参数 record , record 里面一定包含 _rowid 字段
var record= {_rowid: '101'}
tableIns.setActiveRow(record);
2.16.10 isSelectAll
说明:
tableIns.isSelectAll() 是否全选
语法:
tableIns.isSelectAll(record);
参数:
无
返回:
true/false
实例:
var isSelectAll = tableIns.isSelectAll(); // true / false
2.16.11 getColumnsTitle
说明:
tableIns.getColumnsTitle() 获取所有列的 title (2020-02-24 新增 )
语法:
tableIns.getColumnsTitle(record);
参数:
无
返回:
JSON 详见举例
实例:
var columnsTitle= tableIns.getColumnsTitle();
// columnsTitle 值为: { age: ‘ 年龄 ’ , name: ‘ 姓名 ’ , ‘ person#certNo ’ : ‘ 证件号码 ’ }
2.16.12 setColumnsTitleByDataIndex
说明:
tableIns.setColumnsTitleByDataIndex(data) 设置指定列的 title (2020-02-24 新增 )
语法:
tableIns.setColumnsTitleByDataIndex(data);
参数:
data 必须 JSON 详见举例
返回:
无
实例:
var columnsTitle = { age: ' 年龄 ' , name:' 姓名 ', 'person#certNo': ' 证件号码 '};
tableIns.setColumnsTitleByDataIndex(columnsTitle );
2.16.13 getColumnsOptions
说明:
tableIns.getColumnsOptions() 获取所有列的 options (2020-02-24 新增 )
语法:
tableIns.getColumnsOptions();
参数:
无
返回:
JSON 详见举例
实例:
var columnsOptions= tableIns.getColumnsOptions();
// columnsOptions 值为: { age: [{label: ' 女 ', value: 'F'},{label: ' 男 ', value: 'M'}] , name: []}
2.16.14 setColumnsOptionsByDataIndex
说明:
tableIns.setColumnsOptionsByDataIndex(data) 设置指定列的 options (2020-02-24 新增 )
语法:
tableIns.setColumnsOptionsByDataIndex(data);
参数:
data 必须 JSON 详见举例
返回:
无
实例:
var columnsOptions = {age: [{label: ' 女 2', value: 'F'},{label: ' 男 2', value: 'M'}] };
tableIns.setColumnsOptionsByDataIndex(columnsOptions );
2.16.15 staticAddRow
说明:
tableIns.staticAddRow(data); 增加一行数据,不主动更新数据库。 (2020-04-29 新增 )
语法:
tableIns.staticAddRow(data);
参数:
data 必须 JSON 详见举例
返回:
无
实例:
var data= {name: 'Jack', _rowid: '123'};
tableIns.staticAddRow(data);
2.16.16 staticDeleteRow
说明:
tableIns.staticDeleteRow(_rowid); 删除一行数据,不主动更新数据库。 (2020-04-29 新增 )
语法:
tableIns.staticDeleteRow(data);
参数:
_rowid 必须 string
返回:
无
实例:
tableIns.staticDeleteRow('123');
2.16.17 staticUpdateRow
说明:
tableIns.staticUpdateRow(data); 修改一行数据,覆盖式修改,不主动更新数据库。例如:当前行有 5 个字段,我只想改其中的 2 个字段,那么除了 _rowid 之外,再传需要修改的 2 个字段就行了,不需要修改的字段不用传递 (2020-04-29 新增 )
语法:
tableIns.staticUpdateRow(data);
参数:
data 必须 JSON 详见举例 data 中必须包含原数据的 _rowid 字段。
返回:
无
实例:
var data= {name: 'Jack', _rowid: '123'};
tableIns.staticUpdateRow(data);
2.16.18 setCustomColumnsOptionsByRowIdAndDataIndex
说明:
设置指定行的指定字段的 options ,覆盖式修改。例如:当前行有 5 个字段含有 options ,我只想改其中的 2 个字段,那么除了 _rowid 之外,再传需要修改的 2 个字段就行了,不需要修改的字段不用传递 (2020-06-10 新增 )
语法:
tableIns.setCustomColumnsOptionsByRowIdAndDataIndex(data);
参数:
data 必须 Array 详见举例 , data 中必须包含原数据的 _rowid 字段。
返回:
无
实例:
var customOptions = [
{
_rowid: '001',
sex: [{' 男 ': 'M'},{' 女 ': 'F'}],
role: [{' 经理 ': '002'},{' 部长 ': '001'}]
},
{
_rowid: '002',
sex: [{' 男 ': 'M'},{' 女 ': 'F'},{' 不限 ': 'U'}],
role: [{' 主任 ': '003'},{' 部长 ': '001'}]
},
];
tableIns.setCustomColumnsOptionsByRowIdAndDataIndex(customOptions );
// 说明:第一条数据性别只有男和女,角色只有经理和部长,第二条数据性别有男,女,不限,角色有主任和部长
2.16.19 getCustomColumnsOptionsByRowIdAndDataIndex
说明:
获取当前组件所有行的 指定行的指定字段的 options (2020-06-10 新增 )
语法:
tableIns.getCustomColumnsOptionsByRowIdAndDataIndex();
参数:
无
返回:
data 必须 Array 详见举例
实例:
var allCustomColumnsOptions = tableIns.getCustomColumnsOptionsByRowIdAndDataIndex();
// allCustomColumnsOptions 的值如下:
var customOptions = [
{
_rowid: '001',
sex: [{' 男 ': 'M'},{' 女 ': 'F'}],
role: [{' 经理 ': '002'},{' 部长 ': '001'}]
},
{
_rowid: '002',
sex: [{' 男 ': 'M'},{' 女 ': 'F'},{' 不限 ': 'U'}],
role: [{' 主任 ': '003'},{' 部长 ': '001'}]
},
];
2.16.20 setColumnEditable
说明:
指定某列是否可编辑。 (2021-10-11 新增 )
语法:
tableIns. setColumnEditable ( dataIndex, enableFlag );
参数:
dataIndex: string 列名
enableFlag : boolean true | false
返回:
无
实例:
tableIns. setColumnEditable(‘sex’, false) ;
2.16.21 set OperationColumnWidth
说明:
设置操作列的宽 。 (2021-1 2 - 2 1 新增 )
语法:
tableIns.setOperationColumnWidth( columnWidth );
参数:
columnWidth : string | number 宽度
返回:
无
实例:
tableIns.setOperationColumnWidth ( ' 100px ' ) ;
tableIns.setOperationColumnWidth ( 100 ) ;
2.16.22 encryptByDES
说明:
实现 DES 加密 。 (2021-1 2 - 24 新增 )
语法:
OC.encryptByDES (message, secretKey) ;
参数:
message : string 要加密的字符串
secretKey: string 秘钥
返回:
string 加密之后的字符串
实例:
var encryptStr = OC.encryptByDES (message, secretKey) ;
2.17 Card 组件独有方法
Card 组件有一些共有的方法,下面用 var cardIns = ocWindow.getComponentByName('card'); 作为 2.17.x 中举例的实例进行说明:
2.17.1 setTitle
说明:
cardIns.setTitle(title) 设置标题。
语法:
cardIns.setTitle(title);
参数:
title: string 必须 要设置的标题
返回:
无
实例:
cardIns.setTitle(' 联系人 ');
2.17.2 s etRefWindow
说明:
cardIns. s etRefWindow ( windowComponentName ) 设置引用窗口 。 2022.05.19 更新
语法:
cardIns. s etRefWindow ( windowComponentName );
参数:
windowComponentName : string 必须 要设置的 窗口
返回:
无
实例:
cardIns. s etRefWindow (' Layout1 ');
2.17.3 removeRefWindow
说明:
cardIns. removeRefWindow () 移除引用窗口 。 2022.05.19 更新
语法:
cardIns. removeRefWindow ();
参数:
无
返回:
无
实例:
cardIns. removeRefWindow ();
2.18 Cascader 组件独有方法
Cascader 组件有一些共有的方法,下面用 var cascaderIns = ocWindow.getComponentByName(cascader); 作为 2.18.x 中举例的实例进行说明:
2.18.1 getOptions
说明:
cascaderIns.getOptions() 获取下拉选项数据。
语法:
cascaderIns.getOptions();
参数:
无
返回:
array 详见举例
实例:
var options = cascaderIns.getOptions();
options 的值如下:
[
{
"label": " 北京市 ",
"value": "01",
"children": [
{
"label": " 海淀区 ",
"value": "0101"
}
]
}
]
2.19 Table、TableForm、Tree 共有方法
Table 、 TableForm 、 Tree 组件有一些共有的方法,用 var Ins = ocWindow.getComponentByName("test"); 作为 2.19.x 中举例的实例进行说明:
2.19.1 getSelectedRows
说明:
Ins.getSelectedRows() 获取选中的行。
语法:
Ins.getSelectedRows();
参数:
无
返回:
Array 详见实例
实例:
var selectedRows= Ins.getSelectedRows();
selectedRows 的值如下:
[
{
"name": "Jack",
"id": "123",
"_rowid": "256"
},
{
"name": "Jim",
"id": "1223",
"_rowid": "2656"
}
]
2.19.2 canSelectRecord
说明:
tableIns.canSelectRecord() 是否可以勾选行。
语法:
tableIns.canSelectRecord();
参数:
无
返回:
Boolean true/false
实例:
var canSelectRecord = tableIns.canSelectRecord();
2.19.3 setSelectedRows
说明:
tableIns.setSelectedRows(selectedRows) 设置 table 选中行。
语法:
tableIns.setSelectedRows(selectedRows);
参数:
Array 详见实例
返回:
无
实例:
var selectedRows = [
{
"name": "Jack",
"id": "123",
"_rowid": "256" // _rowid 必须
},
{
"name": "Jim",
"id": "1223",
"_rowid": "2656"
}
];
tableIns.setSelectedRows(selectedRows);
2.20 SubForm 独有方法
SubForm 组件本身有一些特有的方法,用 var subFormIns = ocWindow.getComponentByName("SubForm"); 作为 2.20.x 中举例的实例进行说明:
2.20.1 setRefWindowName
说明:
subFormIns. setRefWindowName (refWindowName) 重置 SubForm 引用的 window 。
语法:
subFormIns.setRefWindowName(refWindowName);
参数:
refWindowName: string 必须 SubForm 要引用的 window 的 componentName
返回:
无
实例:
subFormIns.setRefWindowName("test_ref_sub_form");
2.20.2 setCanAddState(OneToMany独有)
说明:
subFormIns.setCanAddState(canAdd) 设置是否显示“添加”按钮。
语法:
subFormIns.setCanAddState(canAdd);
参数:
canAdd: boolean 必须
返回:
无
实例:
subFormIns.setCanAddState(true);
2.20.3 setEditable
说明:
subFormIns.setEditable(editable) 设置是否显示可编辑。
语法:
subFormIns.setEditable(editable);
参数:
canAdd: boolean 必须
返回:
无
实例:
subFormIns.setEditable(true);
2.20.4 getChildComponentByName
说明:
subFormIns.getChildComponentByName( componentName , index) 获取 subForm 组件中某个 Form 中的某个组件。
语法:
subFormIns.getChildComponentByName(componentName, index);
参数:
componentName: string 必须 组件名称
index: number // OneToOne ,不需要此参数, OneToMany ,必须
返回:
要获取的组件的实例
实例:
OneToMany : subFormIns.getChildComponentByName("form2_input4", 2);
OneToOne : subFormIns.getChildComponentByName("form2_input4");
2.21 Form、FormItem共有方法
Form 、 FormItem 组件有一些共有的方法,用 var formIns = ocWindow.getComponentByName("test"); 作为 2.21.x 中举例的实例进行说明:
2.21.1 getEditable
说明:
formIns.getEditable() 获取当前 Form 组件设置编辑权限。
语法:
formIns.getEditable();
参数:
无
返回:
boolean
实例:
var editable = formItem.getEditable();
2.22 Form、FormItem、SubForm共有方法
Form 、 FormItem 、 SubForm 组件有一些共有的方法,用 var formIns = ocWindow.getComponentByName("test"); 作为 2.22.x 中举例的实例进行说明:
2.22.1 setEditable
说明:
formIns.setEditable(editable) 用于给当前 Form 组件设置编辑权限。
语法:
formIns.setEditable(editable);
参数:
editable : boolean 必须 是否可编辑
返回:
无
实例:
formItem.setEditable(true);
2.23 Tabs和Collapse组件共有方法
Tabs 和 Collapse 组件有一些共有的方法,用 var tabsIns = ocWindow.getComponentByName("Tabs"); 作为 2.23.x 中举例的实例进行说明:
2.23.1 setPanelVisible
说明:
tabsIns.setPanelVisible(key, visible) 设置某个 tabPane 是否显示。
语法:
tabsIns.setPanelVisible("contact", false);
参数:
key: string 必须 要操作的 tabPane 的 key
visible: boolean 必须 // true 显示 | false 隐藏
返回:
无
实例:
tabsIns.setPanelVisible("contact", false);
2.23.2 getPanelVisible
说明:
tabsIns.getPanelVisible(key) 获取某个 tabPane 是否显示。
语法:
tabsIns.getPanelVisible("contact");
参数:
key: string 必须 要操作的 tabPane 的 key
返回:
无
实例:
var isVisible = tabsIns.getPanelVisible("contact"); // isVisible 的值为 true 或者 false
2.23.3 setPanelTitle
说明:
tabsIns.setPanelTitle(key, title) 设置某个 tabPane 的显示标题。
语法:
tabsIns.setPanelTitle("contact", " 新标题 ");
参数:
key: string 必须 要操作的 tabPane 的 key
title: string 必须 新标题
返回:
无
实例:
tabsIns.setPanelTitle("contact", " 新标题 ");
2.23.4 getPanelTitle
说明:
tabsIns.getPanelTitle(key) 获取某个 tabPane 的显示标题。
语法:
tabsIns.getPanelTitle("contact");
参数:
key: string 必须 要操作的 tabPane 的 key
返回:
无
实例:
var title = tabsIns.getPanelTitle("contact");
2.23.5 setPanelVisibleAndActivate
说明:
设置某个页签是否显示,如果设置为显示,则同时打开该页签。
语法:
tabsIns.setPanelVisibleAndActivate(key, visible);
参数:
key : 必须 String 要操作的页签的 key
visible :必须 boolean 是否显示
返回:
无
实例:
tabsIns.setPanelVisibleAndActivate('tabsPane001', true);
2.23.6 addPane
说明:
为 tabsIns 增加一个 tab 页签。
语法:
tabsIns.addPane({key,title,componentName,refWindowName,refWindowComponentName});
参数:
key -- 新增 tab 页签唯一标识 必须 String
title -- 新增 tab 页签标题 必须 String
componentName -- 新增 tab 页签唯一组件名 必须 String
refWindowName -- 新增 tab 页签引用窗口名称 必须 String
refWindowComponentName -- 新增 tab 页签引用窗口名称唯一组件名 必须 String
返回:
无
实例:
tabsIns.addPane(
{key: 'Tabs.TabPane 3 ' ,title:'Tabs.TabPane3',componentName:'Tabs.TabPane3',refWindowName:'OCUserList',refWindowComponentName:'OCUserList3'});
2.24 Steps组件独有方法
Steps 组件本身有一些特有的方法,用 var stepsIns = ocWindow.getComponentByName("Steps"); 作为 2.24.x 中举例的实例进行说明:
2.24.1 getAllSteps
说明:
stepsIns.getAllSteps() 获取所有 steps 数据。
语法:
stepsIns.getAllSteps();
参数:
无
返回:
array 详见举例
实例:
var steps = stepsIns.getAllSteps();
steps 详情如下:
[
{
"title": " 步骤 1",
"description": " 步骤 1 描述 ",
"icon": "",
"status": ""
},
{
"title": " 步骤 2",
"description": " 步骤 2 描述 ",
"icon": "",
"status": ""
}
]
2.24.2 setAllSteps
说明:
stepsIns.setAllSteps(steps) 设置新的 steps 数据。
语法:
stepsIns.setAllSteps(steps);
参数:
array 详见举例
返回:
无
实例:
var steps = [
{
"title": " 步骤 1",
"description": " 步骤 1 描述 ",
"icon": "",
"status": ""
},
{
"title": " 步骤 2",
"description": " 步骤 2 描述 ",
"icon": "",
"status": ""
}
] ;
stepsIns.setAllSteps(steps );
2.25 Drawer组件独有方法
Drawer 组件本身有一些特有的方法,用 var drawerIns = ocWindow.getComponentByName("Drawer"); 作为 2.25.x 中举例的实例进行说明:
2.25.1 showDrawer
说明:
显示一个 Drawer 组件。
语法:
drawerIns.showDrawer();
参数:
无
返回:
无
实例:
drawerIns.showDrawer();
2.25.2 hideDrawer
说明:
隐藏一个 Drawer 组件。
语法:
drawerIns.hideDrawer();
参数:
无
返回:
无
实例:
drawerIns.hideDrawer();
2.26 FileViewer组件独有方法
FileViewer 组件本身有一些特有的方法,用 var fileViewerIns= ocWindow.getComponentByName("FileViewer"); 作为 2.26.x 中举例的实例进行说明:
2.26.1 showFileViewer
说明:
显示要预览的文件,目前支持 image , pdf
语法:
fileViewerIns.showFileViewer({ fileType, filePath, showInDrawer });
参数:
fileType -- 文件类型 ‘ image ’ | ‘ pdf ’ 必填
filePath -- 文件路径 String 必填
showInDrawer -- 是否在 Drawer 中显示 Boolean 选填
返回:
无
实例:
var config ={fileType:'image',filePath: ’ http://open-care/images/1.png ’ ,showInDrawer:true}
fileViewerIns.showFileViewer(config);
2.26.2 hideFileViewer
说明:
隐藏已经预览的文件
语法:
fileViewerIns.hideFileViewer();
参数:
无
返回:
无
实例:
fileViewerIns.hideFileViewer();
2.27 ComplexSelect组件独有方法
ComplexSelect 组件本身有一些特有的方法,用 var cIns= ocWindow.getComponentByName("CSelect"); 作为 2.27.x 中举例的实例进行说明:
2.27.1 setOptionsWithSearchId
说明:
设置新的下拉选项
语法:
cIns.setOptionsWithSearchId(options);
参数:
options : array 选项数组,详见举例
返回:
无
实例:
var options = [ {
label: ' 我是 Jack',
value: '1', ¥
name:'Jack',
sex:' 男 ',
age: '27',
mobile:'13434562345',
}];
cIns.setOptionsWithSearchId(options)
2.28 Progress组件独有方法
Progress 组件本身有一些特有的方法,用 var pIns= ocWindow.getComponentByName("CProgress"); 作为 2.28.x 中举例的实例进行说明:
2.28.1 setContentTemplate
说明:
设置显示内容的模板
语法:
pIns.setContentTemplate(scripts);
参数:
scripts : string javascript 片段组成的字符串,其中当前进度值 percent 可直接使用,详见举例。
返回:
无
实例:
var scripts = "return percent + '%'";
pIns.setContentTemplate(scripts);
2.28.2 setShowInfo
说明:
设置是否显示进度数值或状态图标
语法:
pIns.setShowInfo(visible);
参数:
visible : boolean true | false
返回:
无
实例:
pIns.setShowInfo(true);
2.28.3 setPercent
说明:
设置当前进度条的值(所占的百分比,不包含百分号 % )
语法:
pIns.setPercent(percent);
参数:
percent : number 0-100
返回:
无
实例:
// 使用 2.29.1 中设置的模板,则显示为 25.5%
pIns.setPercent(25.5);
2.28.4 setStrokeColor
说明:
设置当前进度的颜色
语法:
pIns.setStrokeColor(color);
参数:
color : string 颜色值
返回:
无
实例:
// 使用 2.29.1 中设置的模板,则显示为 25.5%
pIns.setStrokeColor('red');
2.28.5 setStrokeWidth
说明:
设置进度条的宽度,进度条的类型为 line 时,单位是 px ,类型为 circle 和 dashboard 时,单位是画布宽度的百分比。
语法:
pIns.setStrokeWidth(width);
参数:
width : number 数值
返回:
无
实例:
pIns.setStrokeWidth(10);
2.28.6 setType
说明:
设置进度条的显示类型。
语法:
pIns.setType(type);
参数:
type : sting 可选值: line 直线型 | circle 圆环形 | dashboard 仪表盘
返回:
无
实例:
// 将进度条设置为圆环形
pIns.setType('circle');
2.28.7 updateMultipleProperties
说明:
同时设置多个属性。当需要同时设置 2.29.1-2.29.6 中的 2 个或者 2 个以上的属性时,请使用该方法。
语法:
pIns.updateMultipleProperties(props);
参数:
props : json 格式的数据格式,详见举例
返回:
无
实例:
// 同时设置多个属性
var props = {
percent: 50, // 百分比
format: "return percent + '%'", // 显示内容的模板
showInfo: true, // 是否显示进度数值或状态图标
strokeColor: "red", // 进度条颜色
strokeWidth: 10, // 进度条宽度
type: "line" // 显示类型
};
pIns.updateMultipleProperties(props);
2.29 Dashboard组件独有方法
Dashboard 组件本身有一些特有的方法,用 var dIns= ocWindow.getComponentByName("CDashboard"); 作为 2.29.x 中举例的实例进行说明:
2.29.1 updateProperties
说明:
同时设置多个属性。
语法:
pIns.updateProperties(props);
参数:
props : json 格式的数据格式,详见举例
返回:
无
实例:
// 同时设置多个属性
var props = {
data: [{value: 30}], // 当前值
circleBackgroundColor: "red", // 进度条背景颜色
progressColor : "yellow", // 进度条颜色
lineWidth: 10, // 圆环宽度
pointerStyle: { // 指针的样式
color: "blue", // 指针的颜色
stroke: "yellow", // 指针中心圆形的填充色
lineWidth: 5 // 指针的宽度
}
};
pIns.updateProperties(props);
2.30 Collapse组件独有方法
Collapse 组件本身有一些特有的方法,用 var pIns= ocWindow.getComponentByName("collapse"); 作为 2.30.x 中举例的实例进行说明:
2.30.1 activeKeyPanel
说明:
设置要打开的 panel 。
语法:
参数:
key: string 要打开的 panel 的 key
返回:
无
实例:
pIns.activeKeyPanel("panel01");
2.30.2 setActivePanel
说明:
设置要打开的 panel ,可以是单个或者多个。
语法:
pIns.setActivePanel(key);
参数:
key: string|string[] 要打开的 panel 的 key 或者多个 key 组成的数组
返回:
无
实例:
pIns.setActivePanel("panel01");
pIns.activeKeyPanel(["panel01", "panel02"]);
2.31 List 组件独有方法
List 组件本身有一些特有的方法,用 var ListIns= ocWindow.getComponentByName("List1"); 作为 2.31.x 中举例的实例进行说明:
2.31.1 setData
说明:
设置新数据。 (2020-03-10 新增 )
语法:
ListIns.setData(data);
参数:
data: array 具体请看举例。
返回:
无
实例:
var data = [
{
_rowid: "11",
ocId: "11",
name: "Jack",
age: 12
}
];
ListIns.setData(data);
2.31.2 setDataSource
说明:
设置新数据和分页信息。 (2020-03-10 新增 )
语法:
ListIns.setDataSource(dataSource );
参数:
dataSource : object 具体请看举例。
返回:
无
实例:
var dataSource = {
data: [
{
_rowid: "11",
ocId: "11",
name: "Jack",
age: 12
}
],
pagination: {
current: 1,
pageSize: 20,
total: 10
}
}
ListIns.setDataSource(dataSource );
2.31.3 getData
说明:
获取 List 数据。 (2020-03-10 新增 )
语法:
ListIns.getData();
参数:
无
返回:
data: array 具体请看举例。
实例:
var data = ListIns.setData(data);
data 值如下:
[
{
_rowid: "11",
ocId: "11",
name: "Jack",
age: 12
}
]
2.31.4 getDataSource
说明:
获取新数据和分页信息。 (2020-03-10 新增 )
语法:
ListIns.getDataSource();
参数:
无
返回:
data: object 具体请看举例。
实例:
var dataSource = ListIns.getDataSource();
dataSource 值如下:
{
data: [
{
_rowid: "11",
ocId: "11",
name: "Jack",
age: 12
}
],
pagination: {
current: 1,
pageSize: 20,
total: 10
}
}
2.31.5 setGridVisible
说明:
设置是否显示为 Grid 。 2022.05.19 更新
语法:
ListIns. setGridVisible ( visible );
参数:
visible: Boolean
返回:
无
实例:
ListIns. setGridVisible ( true );
2.31.6 setGridColumnMunber
说明:
设置 Grid 显示为几列 。 2022.05.19 更新
语法:
ListIns. setGridColumnMunber ( columnNumber );
参数:
columnNumber: Number 显示列数
返回:
无
实例:
ListIns. setGridColumnMunber ( 3 );
2.32 ColorPicker 组件独有方法
ColorPicker 组件本身有一些特有的方法,用 var CPIns= ocWindow.getComponentByName("ColorPicker"); 作为 2.32.x 中举例的实例进行说明:
2.32.1 getColor
说明:
获取颜色信息,包括 rgb, hex 等。 (2020-05-27 新增 )
语法:
CPIns.getColor();
参数:
无
返回:
data: JSON 具体请看举例。
实例:
var colorInfo = CPIns.getColor();
colorInfo 值如下:
{
hex: "#f30707",
hsl: {
h: 0,
s: 0.9449576971700865,
l: 0.490139195,
a: 1
},
hsv: {
h: 0,
s: 0.9717,
v: 0.9533,
a: 1
},
oldHue: 0,
rgb: {
r: 243,
g: 7,
b: 7,
a: 1
},
source: "hsv"
}
2.32.2 openPanel
说明:
打开选色面板。 (2020-05-27 新增 )
语法:
CPIns.openPanel();
参数:
无
返回:
无
实例:
CPIns.openPanel();
2.32.3 closePanel
说明:
关闭选色面板。 (2020-05-27 新增 )
语法:
CPIns.closePanel();
参数:
无
返回:
无
实例:
CPIns.closePanel();
2.33 SearchInput 组件独有方法
ColorPicker 组件本身有一些特有的方法,用 var SIIns= ocWindow.getComponentByName("SearchInput"); 作为 2.33.x 中举例的实例进行说明:
2.33.1 getValueInfo
说明:
获取已经选中的行的详细信息。 (2020-05-27 新增 )
语法:
SIIns.getValueInfo();
参数:
无
返回:
JSON 格式的数据
实例:
var recordInfo = SIIns.getValueInfo();
recordInfo 详情:
{
_rowid: "123",
name: "Jack",
sex: "M",
age: 12
}
2.33.2 handleFocus
说明:
聚焦到所选搜索框。 (202 1 - 1 0- 11 新增 )
语法:
SIIns. handleFocus ();
参数:
无
返回:
无
实例:
var SearchInput1 = ocWindow.getComponentByName('SearchInput1');
SearchInput1 . handleFocus ();
2.34 MSteps 组件独有方法(移动端)
MSteps 组件本身有一些特有的方法,用 var MStepsIns= ocWindow.getComponentByName("MSteps"); 作为 2.34.x 中举例的实例进行说明:
2.34.1 getAllSteps
说明:
获取已有的所有 steps 数据。 (2020-10-16 新增 )
语法:
MStepsIns.getAllSteps();
参数:
无
返回:
JSON 格式的数据
实例:
var allSteps= MStepsIns.getAllSteps();
allSteps 详情:
[ {
_rowid: "123",
description: "Jack",
status: "M",
title: 12 ,
iconType: "M"
} ]
2.34.2 setAllSteps
说明:
设置所有 steps 数据。 (2020-10-16 新增 )
语法:
MStepsIns.setAllSteps(steps);
参数:
steps ,详见举例。
返回:
无
实例:
var allSteps = [ {
_rowid: "123",
description: "Jack",
status: "wait",
title: " 标题 " ,
iconType: " default " ,
icon: " user "
} ];
MStepsIns.setAllSteps(allSteps );
2.34.3 getStep
说明:
获取指定序号的 step 数据。 (2020-10-16 新增 )
语法:
MStepsIns.getStep(index);
参数:
index: number 序号
返回:
JSON 格式的数据,见举例
实例:
var step0= MStepsIns.getStep(1);
step 详情:
{
_rowid: "123",
description: "Jack",
status: "wait",
title: " 标题 " ,
iconType: " default " ,
icon: " user "
}
2.34.4 setStep
说明:
设置指定序号的 step 数据。 (2020-10-16 新增 )
语法:
MStepsIns.setStep(step, index);
参数:
step: JSON 格式的数据,见举例
index: number 序号
返回:
无
实例:
var step = {
_rowid: "123",
description: "Jack",
status: "wait",
title: " 标题 " ,
iconType: " default " ,
icon: " user "
}
// 更新第一个步骤的数据
MStepsIns.setStep(step, 0);
2.34.5 setStepTitl,setStepStatus,setStepDescription,
2.34.6 setStepDefaultIcon,setStepCustomizedIcon
说明:
设置指定序号的 step 的 Title 。 (2020-10-16 新增 )
语法:
MStepsIns.setStepTitle(title, index);
参数:
title: string
index: number 序号
返回:
无
实例:
// 更新第一个步骤的标题
MStepsIns.setStepTitle( " 已完成 " , 0);
// 更新第一个步骤的状态
MStepsIns.setStepStatus( " success " , 0);
// 更新第一个步骤的描述
MStepsIns.setStepDescription( " 已完成 " , 0);
// 更新第一个步骤的默认 icon
MStepsIns.setStepDefaultIcon( " user " , 0);
// 更新第一个步骤的自定义 icon
MStepsIns.setStepCustomizedIcon( " http://xxx.png " , 0);
2.35 MListView 组件独有方法(移动端)
MListView 组件本身有一些特有的方法,用 var MLVins= ocWindow.getComponentByName("MListView"); 作为 2.35.x 中举例的实例进行说明:
2.35.1 setDataSource
说明:
给组件设置数据,全量更新。 (2020-10-16 新增 )
语法:
MLVins.setDataSource(dataSource);
参数:
JSON 格式数据,具体见详情
返回:
无
实例:
var dataSource = {
data: [
{
" name " : " Jack " ,
" sex " : " M " ,
" _rowid " : " xxxxx "
}
],
authority: []
};
MLVins.setDataSource(dataSource);
2.35.2 setValue
说明:
给组件设置数据,全量更新。 (2020-10-16 新增 )
语法:
MLVins.setValue(dataSource);
参数:
JSON 格式数据,具体见详情
返回:
无
实例:
var value= [
{
" name " : " Jack " ,
" sex " : " M " ,
" _rowid " : " xxxxx "
}
];
MLVins.setValue(value);
2.36 Tree
Tree 组件本身有一些特有的方法,用 var TreeIns= ocWindow.getComponentByName("Tree1"); 作为 2.36.x 中举例的实例进行说明:
2.36.1 setCheckedKeys
说明:
(受控)选中复选框的树节点(注意:父子节点有关联,如果传入父节点 key ,则子节点自动选中;相应当子节点 key 都传入,父节点也自动选中。当设置 checkable 和 checkStrictly ,它是一个有 checked 和 halfChecked 属性的对象,并且父子节点的选中与否不再关联。 (2020-12-01 新增 )
语法:
TreeIns.setCheckedKeys(keys);
参数:
keys: string[] 或者 {checked: string[],halfChecked: string[]}
返回:
无
实例:
var keys = [ " 01 " , " 02 " , " 03 " ]; 或者 var keys = { checked: [ " 01 " , " 02 " ], halfChecked: [ " 03 " , " 04 " ]}
TreeIns.setCheckedKeys(keys);
2.37 Col
Col 组件本身有一些特有的方法,用 var Col Ins= ocWindow.getComponentByName(" Col 1"); 作为 2.3 7 .x 中举例的实例进行说明:
2.37.1 getSpan
说明:
获取 Col 组件的 span 。 (202 1 -1 2 - 21 新增 )
语法:
Col Ins. getSpan ();
参数:
无
返回:
number
实例:
var colSpan = Col Ins. getSpan (); // colSpan 的值为 [0, 24] 之间的整数
2.37.2 setSpan
说明:
设置 Col 组件的 span 。 (202 1 -1 2 - 21 新增 )
语法:
Col Ins. setSpan ( colSpan );
参数:
colSpan: number 0-24 之间的整数
返回:
无
实例:
Col Ins. getSpan ( 12 );
3 其他
暂无