Page tree

 

 

 

 

JS SDK 使用说明

 

 

Guo Jiawei

guojiawei@open-care.com

(+86) 15810028374

 

 

 

 

 

 

2020 03 21

 


 

更改 历史

主    题

 

保密说明

 

更改历史

更改日期

更改人

复核日期

复核人

更改说明

1.0

1 , 2 , 3

C

2019.01.18

Guo Jiawei

 

 

 

 

 

A

2019.02.26

Guo

Jiawei

 

 

2.12

 

 

 

2020-03-21

 

 

 

V202 0-03-21-001

 

 

 

 

 

 

 

 

说明:类型-创建(C)、修改(U)、删除(D)、增加(A).

 


              目        录

 

1 摘要               9

2 使用说明               10

2.1 Open-Care 平台通用方法               10

2.1.1 getSystemContexts               10

2.1.2 getWindowContexts               10

2.1.3 showNotificationDlg               10

2.1.4 showMessageDlg               11

2.1.5 restGetApiCall               11

2.1.6 restPostApiCall               11

2.1.7 showConfirmDlg               12

2.1.8 showModalDialog               12

2.1.9 closeModal               13

2.1.10 showDrawerDialog               13

2.1.11 closeDrawer               13

2.1.12 showWindow               14

2.1.13 createVideoPlayer               14

2.1.14 setFormValues               14

2.1.15 showWindowUseWindowNameAsLocationPath               15

2.1.16 sendMessageByMsgConfig               15

2.1.17 sendSystemMsg               15

2.1.18 sendSMSMsg               16

2.1.19 sendEmailMsg               16

2.1.20 downloadFile               17

2.1.21 execGraphQL               17

2.1.22 execGroovyScript               17

2.1.23 goBack               18

2.1.24 save               18

2.1.25 updateDataSource               18

2.1.26 getDataSource               19

2.1.27 query               19

2.1.28 queryWithFilters               19

2.1.29 getOne               20

2.1.30 delete               20

2.1.31 batchSave               20

2.1.32 getCurrentTopWindow               21

2.1.33 setEntityNamesForRefresh               21

2.1.34 manipulateFormFieldsValue               22

2.1.35 startProcessByKey               22

2.1.36 completeTask               23

2.1.37 completeTaskWithEntityInfo               23

2.1.38 startProcessByKeyAndRunFirstTask               24

2.1.39 setTaskVariables               25

2.1.40 claimTask               26

2.1.41 getTaskAuditHistory               26

2.1.42 setCandidateTask               26

2.1.43 delegateTask               27

2.1.44 assignTask               27

2.1.45 setBreadcrumbNameOfCurrWindow               27

2.1.46 resolveTask               27

2.1.47 getTaskListByUserId               28

2.1.48 currentUserTaskListByKey               29

2.1.49 jpQuery               29

2.1.50 jpValue               30

2.1.51 jpParent               30

2.1.52 jpApply               31

2.1.53 setHeaderVisible               31

2.1.54 setBreadcrumbVisible               31

2.1.55 setHeaderBackground               32

2.1.56 setBreadcrumbBackground               32

2.1.57 print               32

2.1.58 getFirstLetter               33

2.1.59 logout               33

2.1.60 getSearchFormFilters               33

2.1.61 queryTable               34

2.1.62 clearTableFilterAndQueryTable               34

2.1.63 closeModal               35

2.1.64 setWindowContexts               35

2.1.65 getMoment               36

2.1.66 getRoutingLocation               36

2.1.67 eventEmit               37

2.1.68 eventOn               37

2.1.69 OC.Pinyin.getFullChars               37

2.1.70 OC.Pinyin.getCamelChars               38

2.2 Window 组件通用方法               38

2.2.1 getComponentByName               38

2.2.2 setWindowModifiedStatus               38

2.2.3 goBack               39

2.2.4 getContexts               39

2.3 组件实例相关方法               39

2.3.1 getComponentType               39

2.3.2 disable               40

2.3.3 enable               40

2.3.4 setVisible               40

2.3.5 isVisible               40

2.3.6 getStyle               41

2.3.7 setStyle               41

2.3.8 getValue               41

2.3.9 setValue               42

2.4 Form 组件独有方法               42

2.4.1 getFieldsValue               43

2.4.2 validateFields               43

2.4.3 resetFields               43

2.4.4 clean               43

2.4.5 setFieldsValue               44

2.4.6 setLastSavedValues               44

2.4.7 getFieldSet               44

2.4.8 getReadonlyStyle               44

2.4.9 getEntityName               45

2.4.10 getAuthority               45

2.4.11 triggerValidationWhenSubmit               46

2.4.12 triggerFieldsValidation               46

2.4.13 cleanFieldsValidationRules               46

2.4.14 restoreFieldsValidationRules               47

2.4.15 setValidationRule               47

2.4.16 getValidationRule               48

2.4.17 setFormItemsEditable               48

2.4.18 setExcludeFormItemsEditable               49

2.4.19 setFormItemsVisible               49

2.5 FormItem 共有方法               49

2.5.1 setFormItemLabel               49

2.5.2 setEditable               50

2.5.3 setReadOnlyStyle               50

2.5.4 getEditable               50

2.5.5 getAccessable               50

2.6 Button 组件独有方法               51

2.6.1 enableLoadingState               51

2.6.2 disableLoadingState               51

2.6.3 setTitle               51

2.6.4 setBadgeContent               52

2.7 CheckboxGroup 独有方法               52

2.7.1 selectAll               52

2.7.2 deSelectAll               52

2.8 Label 组件独有方法               53

2.8.1 getContent               53

2.8.2 setValue               53

2.9 Radio 组件独有方法               53

2.9.1 chooseRadio               53

2.10 Select 组件独有方法               54

2.10.1 setValueOfFirstOption               54

2.11 Table 组件独有方法               54

2.11.1 getPagination               54

2.11.2 expandRows               55

2.11.3 collapseRows               55

2.11.4 getTableHeaderForExport               55

2.11.5 getTableConfigurationState               56

2.11.6 addColumnForHyperLink               56

2.11.7 addColumnColorMapping               56

2.11.8 setOperatorColumnVisible               57

2.11.9 setRowSelectionType               57

2.11.10 getSubTableWinInsByRowId               57

2.11.11 update               58

2.11.12 updateSubTableDataSource               58

2.12 Tabs 组件独有方法               58

2.12.1 selectTab               58

2.12.2 getPaneCount               59

2.12.3 getActiveKey               59

2.13 TableForm 组件独有方法               59

2.13.1 setValueByDataIndex               59

2.13.2 updateValueOptionData               60

2.14 Table Calendar 组件共有方法               60

2.14.1 setDataSource               60

2.14.2 getDataSource               60

2.15 CheckboxGroup Radio Select TreeSelect Cascader 共有方法               61

2.15.1 setOptions               61

2.15.2 getOptions               61

2.15.3 removeOption               62

2.15.4 removeOptions               62

2.15.5 addOption               62

2.15.6 addOptions               62

2.15.7 getOptions               63

2.15.8 getSelectedOption               63

2.16 Table TableForm 共有方法               64

2.16.1 hasSelectAllRecords               64

2.16.2 getSelectedRowKeys               64

2.16.3 getAuthorityData               64

2.16.4 setStyleConfigScript               65

2.16.5 setStyleHilites               65

2.16.6 getColumnsVisible               66

2.16.7 setColumnsVisible               66

2.16.8 updateColumnsVisible               66

2.16.9 setActiveRow               67

2.16.10 isSelectAll               67

2.16.11 getColumnsTitle               67

2.16.12 setColumnsTitleByDataIndex               67

2.16.13 getColumnsOptions               68

2.16.14 setColumnsOptionsByDataIndex               68

2.17 Card 组件独有方法               68

2.17.1 setTitle               68

2.18 Cascader 组件独有方法               69

2.18.1 getOptions               69

2.19 Table TableForm Tree 共有方法               69

2.19.1 getSelectedRows               69

2.19.2 canSelectRecord               70

2.19.3 setSelectedRows               70

2.20 SubForm 独有方法               71

2.20.1 setRefWindowName               71

2.20.2 setCanAddState OneToMany 独有)               71

2.20.3 setEditable               71

2.20.4 getChildComponentByName               72

2.21 Form FormItem 共有方法               72

2.21.1 getEditable               72

2.22 Form FormItem SubForm 共有方法               72

2.22.1 setEditable               72

2.23 Tabs Collapse 组件共有方法               73

2.23.1 setPanelVisible               73

2.23.2 getPanelVisible               73

2.23.3 setPanelTitle               73

2.23.4 getPanelTitle               74

2.23.5 setPanelVisibleAndActivate               74

2.23.6 addPane               74

2.24 Steps 组件独有方法               75

2.24.1 getAllSteps               75

2.24.2 setAllSteps               75

2.25 Drawer 组件独有方法               76

2.25.1 showDrawer               76

2.25.2 hideDrawer               76

2.26 FileViewer 组件独有方法               76

2.26.1 showFileViewer               76

2.26.2 hideFileViewer               77

2.27 ComplexSelect 组件独有方法               77

2.27.1 setOptionsWithSearchId               77

2.28 Progress 组件独有方法               78

2.28.1 setContentTemplate               78

2.28.2 setShowInfo               78

2.28.3 setPercent               78

2.28.4 setStrokeColor               79

2.28.5 setStrokeWidth               79

2.28.6 setType               79

2.28.7 updateMultipleProperties               79

2.29 Dashboard 组件独有方法               80

2.29.1 updateProperties               80

2.30 Collapse 组件独有方法               80

2.30.1 activeKeyPanel               81

2.30.2 setActivePanel               81

2.31 List 组件独有方法               81

2.31.1 setData               81

2.31.2 setDataSource               82

2.31.3 getData               82

2.31.4 getDataSource               83

3 其他               85


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 中失效,故后续逐渐取消该方法,请使用 ocWindow.getContexts( ) 替代。 (2019-11-26)

         语法:

OC.getWindowContexts();

         参数:

         返回:

JSON 格式的 window 上下文数据或者 null.

         实例:

var windowContext = OC.getWindowContexts();

2.1.3               showNotificationDlg

         说明:

OC.showNotificationDlg(title, content, confirmType) 用于弹出各种提示框。

         语法:

OC.showNotificationDlg(title, content, confirmType);

         参数:

title: String 提示框的标题

content: String 提示内容

confirmType: String 提示框类型,有四种类型可选: "info"|"error"|"warning"|"success"

         返回:

         实例:

OC.showNotificationDlg(' 警告 ', 'XXX 警告 ', 'warning');

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: '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) 模态框方式打开一个 window 页面。 (2020-03-10 更新 )

         语法:

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 是否显示弹框右上角的关闭按钮,不配此项则显示关闭按钮。

         返回:

         实例:

OC.showModalDialog('userInfoWindow', {userId: '123'}, null,  500, ' 自定义窗口名称 ', false ) ;

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.query( "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 中的过滤条件

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.queryTable(tableIns, filters, converter , 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.eventEmit('customer.service.center.updateCustomer', function(params) {

// params 的值为 {ocId:  '123'}

});

OC.eventEmit('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.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.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...}

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

TimePicker

String

'14:15:16'

7

Checkbox

Boolean

true | false

8

Cascader

Array

['01', '0101', '010103']

9

SubForm

Array | Json

[{'name':'Jack','_rowid':'xxx'}] | {'name':'Jack', 'age':23}

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'}; 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) ,清除指定的 form item rule 并触发 validation

         语法:

formIns.cleanFieldsValidationRules(formItemNames);

         参数:

formItemNames string[]   需要校验的字段名称组成的数组

         返回:

         实例:

var formItemNames = ['name', 'sex'];

formIns.cleanFieldsValidationRules(formItemNames); // 清除 name sex 两个字段的校验规则,并执行校验

2.4.14           restoreFieldsValidationRules

         说明:

formIns.restoreFieldsValidationRules(formItemNames) ,将指定 form item UIMeataData 定义的 rule 恢复并触发 validation

         语法:

formIns.restoreFieldsValidationRules(formItemNames);

         参数:

formItemNames string[]   需要校验的字段名称组成的数组

         返回:

         实例:

var formItemNames = ['name', 'sex'];

formIns.restoreFieldsValidationRules(formItemNames); // 恢复 name sex 两个字段的 uiMetaData 中的校验规则,并执行校验

2.4.15           setValidationRule

         说明:

formIns.setValidationRule(formItemName, rules) ,设置指定字段的校验规则

         语法:

formIns.setValidationRule(formItemName, rules);

         参数:

formItemName string   指定需要校验的字段名称

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'}]);

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.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 的值。

         语法:

labelIns.setValue( value );

         参数:

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.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.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.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.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: {}

};

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.s etColumnsVisible (columnsVisible );

2.16.8           updateColumnsVisible

         说明:

tableIns. update ColumnsVisible (columnsVisible ) 设置需要更新的列的显示状态。

         语法:

tableIns.update ColumnsVisible (columnsVisible );

         参数:

{name: true, age: false}  字段名称和显示状态组成的 json

         返回:

         实例:

var columnsVisible = {name: true, age: false}

tableIns.update ColumnsVisible (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(record);

         参数:

         返回:

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.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.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

         语法:

pIns. activeKeyPanel (key);

         参数:

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

}

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

3         其他

暂无