Page tree

 

 

 

 

JS SDK 使用说明

 

 

Guo Jiawei

guojiawei@open-care.com

(+86) 15810028374

 

 

 

 

 

 

2020 06 05

 


 

更改 历史

主    题

 

保密说明

 

更改历史

更改日期

更改人

复核日期

复核人

更改说明

1.0

1 , 2 , 3

C

2019.01.18

Guo Jiawei

 

 

 

 

 

A

2019.02.26

Guo

Jiawei

 

 

2.12

 

 

 

2020-06-19

 

 

 

V2020 -06-19-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.1.71 sendSystemMsgWithoutTemplate               38

2.1.72 closeGlobalRequestLoading               39

2.1.73 openGlobalRequestLoading               39

2.1.74 closeGlobalRequestMsg               39

2.1.75 openGlobalRequestMsg               39

2.1.76 showPhotos               40

2.1.77 clearModalWinCtxArray               40

2.1.78 setClipboardContent               40

2.1.79 getClipboardContent               41

2.1.80 showGlobalLoading               41

2.1.81 hideGlobalLoading               41

2.1.82 getUUID               41

2.2 Window 组件通用方法               42

2.2.1 getComponentByName               42

2.2.2 setWindowModifiedStatus               42

2.2.3 goBack               42

2.2.4 getContexts               43

2.3 组件实例相关方法               43

2.3.1 getComponentType               43

2.3.2 disable               43

2.3.3 enable               43

2.3.4 setVisible               44

2.3.5 isVisible               44

2.3.6 getStyle               44

2.3.7 setStyle               45

2.3.8 getValue               45

2.3.9 setValue               46

2.4 Form 组件独有方法               46

2.4.1 getFieldsValue               46

2.4.2 validateFields               46

2.4.3 resetFields               47

2.4.4 clean               47

2.4.5 setFieldsValue               47

2.4.6 setLastSavedValues               48

2.4.7 getFieldSet               48

2.4.8 getReadonlyStyle               48

2.4.9 getEntityName               48

2.4.10 getAuthority               49

2.4.11 triggerValidationWhenSubmit               49

2.4.12 triggerFieldsValidation               50

2.4.13 cleanFieldsValidationRules               50

2.4.14 restoreFieldsValidationRules               50

2.4.15 setValidationRule               51

2.4.16 getValidationRule               52

2.4.17 setFormItemsEditable               52

2.4.18 setExcludeFormItemsEditable               52

2.4.19 setFormItemsVisible               53

2.5 FormItem 共有方法               53

2.5.1 setFormItemLabel               53

2.5.2 setEditable               54

2.5.3 setReadOnlyStyle               54

2.5.4 getEditable               54

2.5.5 getAccessable               54

2.6 Button 组件独有方法               55

2.6.1 enableLoadingState               55

2.6.2 disableLoadingState               55

2.6.3 setTitle               55

2.6.4 setBadgeContent               56

2.7 CheckboxGroup 独有方法               56

2.7.1 selectAll               56

2.7.2 deSelectAll               56

2.8 Label 组件独有方法               56

2.8.1 getContent               57

2.8.2 setValue               57

2.9 Radio 组件独有方法               57

2.9.1 chooseRadio               57

2.10 Select 组件独有方法               57

2.10.1 setValueOfFirstOption               58

2.11 Table 组件独有方法               58

2.11.1 getPagination               58

2.11.2 expandRows               59

2.11.3 collapseRows               59

2.11.4 getTableHeaderForExport               59

2.11.5 getTableConfigurationState               60

2.11.6 addColumnForHyperLink               60

2.11.7 addColumnColorMapping               60

2.11.8 setOperatorColumnVisible               61

2.11.9 setRowSelectionType               61

2.11.10 getSubTableWinInsByRowId               61

2.11.11 update               62

2.11.12 updateSubTableDataSource               62

2.11.13 setLoading               62

2.12 Tabs 组件独有方法               62

2.12.1 selectTab               63

2.12.2 getPaneCount               63

2.12.3 getActiveKey               63

2.13 TableForm 组件独有方法               63

2.13.1 setValueByDataIndex               63

2.13.2 updateValueOptionData               64

2.14 Table Calendar 组件共有方法               64

2.14.1 setDataSource               64

2.14.2 getDataSource               65

2.15 CheckboxGroup Radio Select TreeSelect Cascader 共有方法               65

2.15.1 setOptions               65

2.15.2 getOptions               65

2.15.3 removeOption               66

2.15.4 removeOptions               66

2.15.5 addOption               66

2.15.6 addOptions               67

2.15.7 getOptions               67

2.15.8 getSelectedOption               68

2.15.9 getSelectedLabel               68

2.16 Table TableForm 共有方法               68

2.16.1 hasSelectAllRecords               68

2.16.2 getSelectedRowKeys               69

2.16.3 getAuthorityData               69

2.16.4 setStyleConfigScript               69

2.16.5 setStyleHilites               70

2.16.6 getColumnsVisible               70

2.16.7 setColumnsVisible               71

2.16.8 updateColumnsVisible               71

2.16.9 setActiveRow               71

2.16.10 isSelectAll               71

2.16.11 getColumnsTitle               72

2.16.12 setColumnsTitleByDataIndex               72

2.16.13 getColumnsOptions               72

2.16.14 setColumnsOptionsByDataIndex               73

2.16.15 staticAddRow               73

2.16.16 staticDeleteRow               73

2.16.17 staticUpdateRow               73

2.16.18 setCustomColumnsOptionsByRowIdAndDataIndex               74

2.16.19 getCustomColumnsOptionsByRowIdAndDataIndex               74

2.17 Card 组件独有方法               75

2.17.1 setTitle               75

2.18 Cascader 组件独有方法               75

2.18.1 getOptions               75

2.19 Table TableForm Tree 共有方法               76

2.19.1 getSelectedRows               76

2.19.2 canSelectRecord               76

2.19.3 setSelectedRows               77

2.20 SubForm 独有方法               77

2.20.1 setRefWindowName               77

2.20.2 setCanAddState OneToMany 独有)               78

2.20.3 setEditable               78

2.20.4 getChildComponentByName               78

2.21 Form FormItem 共有方法               79

2.21.1 getEditable               79

2.22 Form FormItem SubForm 共有方法               79

2.22.1 setEditable               79

2.23 Tabs Collapse 组件共有方法               79

2.23.1 setPanelVisible               79

2.23.2 getPanelVisible               80

2.23.3 setPanelTitle               80

2.23.4 getPanelTitle               80

2.23.5 setPanelVisibleAndActivate               80

2.23.6 addPane               81

2.24 Steps 组件独有方法               81

2.24.1 getAllSteps               81

2.24.2 setAllSteps               82

2.25 Drawer 组件独有方法               82

2.25.1 showDrawer               83

2.25.2 hideDrawer               83

2.26 FileViewer 组件独有方法               83

2.26.1 showFileViewer               83

2.26.2 hideFileViewer               84

2.27 ComplexSelect 组件独有方法               84

2.27.1 setOptionsWithSearchId               84

2.28 Progress 组件独有方法               84

2.28.1 setContentTemplate               84

2.28.2 setShowInfo               85

2.28.3 setPercent               85

2.28.4 setStrokeColor               85

2.28.5 setStrokeWidth               86

2.28.6 setType               86

2.28.7 updateMultipleProperties               86

2.29 Dashboard 组件独有方法               87

2.29.1 updateProperties               87

2.30 Collapse 组件独有方法               87

2.30.1 activeKeyPanel               87

2.30.2 setActivePanel               88

2.31 List 组件独有方法               88

2.31.1 setData               88

2.31.2 setDataSource               88

2.31.3 getData               89

2.31.4 getDataSource               89

2.32 ColorPicker 组件独有方法               90

2.32.1 getColor               90

2.32.2 openPanel               91

2.32.3 closePanel               91

2.33 SearchInput 组件独有方法               91

2.33.1 getValueInfo               92

3 其他               94


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.queryWithFilters( "OcUser", [{fieldName: "age", fieldValue: 23, operator: ">=" }],

function(response) {}, function() {});

2.1.29           getOne

         说明:

OC.getOne(entityName, entityInstId, fieldSet, responseHandler, exHandler) 通用查询接口,获取 1 条数据。

         语法:

OC.getOne(entityName, entityInstId, fieldSet, responseHandler, exHandler);

         参数:

entityName: string 必须 要查询的 entity

entityInstId: string 必须 要查询的 entity 实例的 id

fieldSet: string 必须 要查询的字段

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

 

         返回:

         实例:

OC.getOne( "OcUser", "xxx", '{name, sex, age}', function(response) {}, function() {});

2.1.30           delete

         说明:

OC.delete(entityName, entityInstIds, responseHandler, exHandler) 通用删除接口。

         语法:

OC.delete(entityName, entityInstIds, responseHandler, exHandler);

         参数:

entityName: string 必须 要查询的 entity

entityInstIds: array 必须 要删除的 entity 实例的 id 组成的数组

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

 

         返回:

         实例:

OC.delete( "OcUser",["xxx"], function(response) {}, function() {});

2.1.31           batchSave

         说明:

OC.batchSave(entityName, data, responseHandler, exHandler) 通用批量保存接口。

         语法:

OC.batchSave(entityName, data, responseHandler, exHandler);

         参数:

entityName: string 必须 要查询的 entity

data: array 必须 要保存的数据,详情见举例。

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

 

         返回:

         实例:

var data= [{

            "customerFinalExamInfo": "b709d017-4137-4fbe-a542-893d91232cac",

            "baseConclusionOcId": "0024ee13-5b4c-4378-b9d6-1fcba6e75eaa",

            "proposal": "",

            "proposalContent": ""

        }, {

            "customerFinalExamInfo": "b709d017-4137-4fbe-a542-893d91232cac",

            "baseConclusionOcId": "00bab3f2-d95f-49f5-b828-39b48c336ce4",

            "conclusionSevereDegreeLevel": "10",

            "proposal": "",

            "proposalContent": ""

        }

    ]

OC.batchSave( "OcUser", data , function(response) {}, function() {});

2.1.32           getCurrentTopWindow

         说明:

OC.getCurrentTopWindow() 获取当前窗口中的 top window

         语法:

OC.getCurrentTopWindow();

         参数:

         返回:

         实例:

var topWindow = OC.getCurrentTopWindow();

2.1.33           setEntityNamesForRefresh

         说明:

OC.setEntityNamesForRefresh(entityNames) 刷新指定 entityName 的数据。

         语法:

OC.setEntityNamesForRefresh(entityNames);

         参数:

entityNames array 必须  要刷新数据的 entityName 组成的数组

         返回:

         实例:

OC.setEntityNamesForRefresh([ "OcUser", "OcProduct" ]);

2.1.34           manipulateFormFieldsValue

         说明:

OC.manipulateFormFieldsValue(fieldValues) 格式化 formValues

         语法:

OC.manipulateFormFieldsValue(fieldValues);

         参数:

fieldValues json 格式数据 必须  要格式化的 formValues

         返回:

json 格式数据

         实例:

var fieldValues = {name: "", age: 23, sex: "M", role: undefined };

var newFieldValues = OC.manipulateFormFieldsValue(fieldValues);

// 得到的新数据: {name: null , age: 23, sex: "M", role: null }

2.1.35           startProcessByKey

         说明:

OC.startProcessByKey( processDefinitionKey , entities, variables, responseHandler, exHandler) 通过流程定义 key 启动流程

         语法:

OC.startProcessByKey(processDefinitionKey, entities, variables, responseHandler, exHandler);

         参数:

processDefinitionKey: string 必须 流程定义 id

entities array 必须 entityName entity 实例信息

variables: json 格式的数据或者 null 必须 其他参数

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

         实例:

var entities = [

           {

               "entityName":"com.open_care.sys.OcUser",

               "entityInstId":{

                      "ctxType":"cmp",

                      "ctxValue":"input1"

                 }

            }

        ];

var variables = [

            {

                "name": "aaaaa",

                "value": {

                      "ctxType":"cmp",

                      "ctxValue":"input1"

                 }

            }

        ];

OC.startProcessByKey( "xxx", entities , variables, function(response) {}, function() {});

2.1.36           completeTask

         说明:

OC.completeTask(taskId, variables, responseHandler, exHandler) 完成任务

         语法:

OC.completeTask(taskId, variables, responseHandler, exHandler);

         参数:

taskId: string 必须 任务 id

variables: json 格式的数据或者 null 必须 其他参数

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

实例:

var variables = [

            {

                "name": "aaaaa",

                "value": {

                      "ctxType":"cmp",

                      "ctxValue":"input1"

                 }

            }

        ];

OC.completeTask( "xxx" , variables, function(response) {}, function() {});

2.1.37           completeTaskWithEntityInfo

         说明:

OC.completeTaskWithEntityInfo(taskId, variables, entities, responseHandler, exHandler) 完成任务

         语法:

OC.completeTaskWithEntityInfo(taskId, variables, entities, responseHandler, exHandler);

         参数:

taskId: string 必须 任务 id

variables: json 格式的数据或者 null 必须 其他参数

entities array 必须 entityName entity 实例信息

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

实例:

var variables = [

            {

                "name": "aaaaa",

                "value": {

                      "ctxType":"cmp",

                      "ctxValue":"input1"

                 }

            }

        ];

var entities = [

           {

               "entityName":"com.open_care.sys.OcUser",

               "entityInstId":{

                      "ctxType":"cmp",

                      "ctxValue":"input1"

                 }

            }

        ];

 

OC.completeTaskWithEntityInfo( "xxx" , variables, entities, function(response) {}, function() {});

2.1.38           startProcessByKeyAndRunFirstTask

         说明:

OC.startProcessByKeyAndRunFirstTask(processDefinitionKey,entities, variables,  responseHandler, exHandler) 通过流程定义 key 启动流程并执行第一个任务  

         语法:

OC.startProcessByKeyAndRunFirstTask(processDefinitionKey,entities, variables,  responseHandler, exHandler);

         参数:

processDefinitionKey: string 必须 流程定义 id

variables: json 格式的数据或者 null 必须 其他参数

entities array 必须 entityName entity 实例信息

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

实例:

var variables = [

            {

                "name": "aaaaa",

                "value": {

                      "ctxType":"cmp",

                      "ctxValue":"input1"

                 }

            }

        ];

var entities = [

           {

               "entityName":"com.open_care.sys.OcUser",

               "entityInstId":{

                      "ctxType":"cmp",

                      "ctxValue":"input1"

                 }

            }

        ];

 

OC.startProcessByKeyAndRunFirstTask( "xxx" , entities, variables, function(response) {}, function() {});

2.1.39           setTaskVariables

         说明:

OC.setTaskVariables(taskId, variables, entities, responseHandler, exHandler) 设置任务变量  

         语法:

OC.setTaskVariables(taskId, variables, entities, responseHandler, exHandler);

         参数:

taskId: string 必须 任务 id

variables: json 格式的数据或者 null 必须 其他参数

entities array 必须 entityName entity 实例信息

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

实例:

var variables = [

            {

                "name": "aaaaa",

                "value": {

                      "ctxType":"cmp",

                      "ctxValue":"input1"

                 }

            }

        ];

var entities = [

           {

               "entityName":"com.open_care.sys.OcUser",

               "entityInstId":{

                      "ctxType":"cmp",

                      "ctxValue":"input1"

                 }

            }

        ];

 

OC.setTaskVariables( "xxx" , variables, entities, function(response) {}, function() {});

2.1.40           claimTask

         说明:

OC.claimTask(taskId, userId, responseHandler, exHandler) 申领任务  

         语法:

OC.claimTask(taskId, userId, responseHandler, exHandler);

         参数:

taskId: string 必须 任务 id

userId: string 必须 用户 id

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

实例:

OC.setTaskVariables( "xxx" , "001" , function(response) {}, function() {});

2.1.41           getTaskAuditHistory

         说明:

OC.getTaskAuditHistory(processInstId, responseHandler, exHandler) 获取任务执行的历史数据  

         语法:

OC.getTaskAuditHistory(processInstId, responseHandler, exHandler);

         参数:

processInstId: string 必须 流程实例 id

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

实例:

OC.getTaskAuditHistory( "xxx" , function(response) {}, function() {});

2.1.42           setCandidateTask

         说明:

OC.setCandidateTask(taskId, userIds, responseHandler, exHandler) 分配任务给多个人  

         语法:

OC.setCandidateTask(taskId, userIds, responseHandler, exHandler);

         参数:

taskId: string 必须 任务 id

userIds: array 必须 用户 id 组成的数组

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

实例:

OC.setCandidateTask( "xxx" , ["001", "002"], function(response) {}, function() {});

2.1.43           delegateTask

         说明:

OC.delegateTask(taskId, userId, responseHandler, exHandler) 委派任务  

         语法:

OC.delegateTask(taskId, userId, responseHandler, exHandler);

         参数:

taskId: string 必须 任务 id

userId: string 必须 用户 id

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

实例:

OC.delegateTask( "xxx" , "001", function(response) {}, function() {});

2.1.44           assignTask

         说明:

OC.assignTask(taskId, userId, responseHandler, exHandler) 代理任务  

         语法:

OC.assignTask(taskId, userId, responseHandler, exHandler);

         参数:

taskId: string 必须 任务 id

userId: string 必须 用户 id

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

实例:

OC.assignTask( "xxx" , "001", function(response) {}, function() {});

2.1.45           setBreadcrumbNameOfCurrWindow

         说明:

OC.setBreadcrumbNameOfCurrWindow(breadcrumbName) 动态设置面包屑  

         语法:

OC.setBreadcrumbNameOfCurrWindow(breadcrumbName);

         参数:

breadcrumbName: string 必须 新的面包屑

         返回:

实例:

OC.setBreadcrumbNameOfCurrWindow( " 新的面包屑 " );

2.1.46           resolveTask

         说明:

OC.resolveTask(taskId, variables, entities, responseHandler, exHandler) 解决任务  

         语法:

OC.resolveTask(taskId, variables, entities, responseHandler, exHandler);

         参数:

taskId: string 必须 任务 id

variables: json 格式的数据或者 null 必须 其他参数

entities array 必须 entityName entity 实例信息

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

实例:

var variables = [

            {

                "name": "aaaaa",

                "value": {

                      "ctxType":"cmp",

                      "ctxValue":"input1"

                 }

            }

        ];

var entities = [

           {

               "entityName":"com.open_care.sys.OcUser",

               "entityInstId":{

                      "ctxType":"cmp",

                      "ctxValue":"input1"

                 }

            }

        ];

 

OC.resolveTask( "xxx" , variables, entities, function(response) {}, function() {});

2.1.47           getTaskListByUserId

         说明:

OC.getTaskListByUserId(userId, responseHandler, exHandler) 获取指定用户的任务列表  

         语法:

OC.getTaskListByUserId(userId, responseHandler, exHandler);

         参数:

userId: string 必须 用户 id

responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

实例:

OC.getTaskListByUserId( "001" , function(response) {}, function() {});

2.1.48           currentUserTaskListByKey

         说明:

OC.currentUserTaskListByKey(props) 获取指定流程指定用户的任务列表  

         语法:

OC.currentUserTaskListByKey(props);

         参数:

props: json 格式数据 必须 详见举例。 responseHandler: 必须 回调方法 function(response) {}

exHandler: 可选 执行完回调方法后,执行该方法 function() {}

         返回:

实例:

var props = {

params: {

userId: "xxxxx" , // 必须  用户 ID

processDefinitionKey : "xxxxxx"   // 必须 流程 id

},

requestBody: {

entityName: "xxxxx" ,  // 必须 entityName

filters: [

{

fieldName: "xx",

fieldValue: "xx",

operator: "xx"

}

],

},

responseHandler: function(response) {}, // 必须 回调方法

exHandler:function() {} // 可选 执行完回调方法后,执行该方法

};

OC.currentUserTaskListByKey(props );

 

2.1.49           jpQuery

         说明:

OC.jpQuery(obj, pathExpression, count) obj 中匹配路径表达式查找元素。返回满足所提供的表达式的元素数组,如果没有匹配的元素,则返回空数组。如果指定,只返回前 count 个元素。

         语法:

OC.jpQuery(obj: Object | Array, pathExpression: string, count?: number)

         参数:

obj: Object | Array, 必选

pathExpression: string 必选 JSONPath Syntax

count: number 可选

         返回:

数组

实例:

var cities = [

  { name: "London", "population": 8615246 },

  { name: "Berlin", "population": 3517424 },

  { name: "Madrid", "population": 3165235 },

  { name: "Rome",   "population": 2870528 }

];

OC.jpQuery(cities, '$..name' 3);  // [ "London", "Berlin", "Madrid"]

2.1.50           jpValue

         说明:

OC.jpValue(obj, pathExpression) 返回匹配路径表达式的第一个元素的值。

         语法:

OC.jpValue(obj: Object | Array, pathExpression: string)

         参数:

obj: Object | Array, 必选

pathExpression: string 必选 JSONPath Syntax

         返回:

Any

实例:

var cities = [

  { name: "London", "population": 8615246 },

  { name: "Berlin", "population": 3517424 },

  { name: "Madrid", "population": 3165235 },

  { name: "Rome",   "population": 2870528 }

];

OC.jpValue(cities, '$..[?(@.name===Berlin)]);  // { name: "Berlin", "population": 3517424 }

 

2.1.51           jpParent

         说明:

OC.jpParent(obj, pathExpression) 返回第一个匹配元素的父元素。。

         语法:

OC.jpParent(obj: Object | Array, pathExpression: string)

         参数:

obj: Object | Array, 必选

pathExpression: string 必选 JSONPath Syntax

 

         返回:

Any

实例:

var cities = [

  { name: "London", "population": 8615246 },

  { name: "Berlin", "population": 3517424,

       children:[{ name: "Mitte", "population": 8297},{ name: "Lichtenberg", "population": 268466}]},

  { name: "Madrid", "population": 3165235 },

  { name: "Rome",   "population": 2870528 }

];

OC.jpParent(cities, '$..[?(@.name===Lichtenberg)]); 

//[{ name: "Mitte", "population": 8297},{ name: "Lichtenberg", "population": 268466}]

2.1.52           jpApply

         说明:

OC.jpApply(obj, pathExpression, fn); 在每个匹配元素上运行提供的函数 fn ,并用函数的返回值替换每个匹配元素。该函数接受匹配元素的值作为其唯一参数。返回一个新的 obj 副本。

         语法:

OC.jpApply(obj, pathExpression, fn: (value) => any);

         参数:

obj: Object | Array, 必选

pathExpression: string 必选 JSONPath Syntax

fn: 函数 必选

         返回:

obj 的一个新的副本

实例:

var cities = [

  { name: "London", "population": 8615246 },

  { name: "Berlin", "population": 3517424 },

  { name: "Madrid", "population": 3165235 },

  { name: "Rome",   "population": 2870528 }

];

OC.jpApply(cities, '$..[?(@.population<3500000)],function(value) { return value.toUpperCase() }); 

//[

  { name: "London", "population": 8615246 },

  { name: "Berlin", "population": 3517424 },

  { name: "MADRID", "population": 3165235 },

  { name: "ROME", "population": 2870528 }

]

2.1.53           setHeaderVisible

         说明:

OC.setHeaderVisible(visible) theme layout 设置为 sidemenu 时,设置 HeadPage 是否显示

         语法:

OC.setHeaderVisible(visible) 隐藏 HeadPage

         参数:

visible: boolean true | false

         返回:

         实例:

OC.setHeaderVisible(false)

2.1.54           setBreadcrumbVisible

         说明:

OC.setBreadcrumbVisible(visible) 设置面包屑是否显示

         语法:

OC.setBreadcrumbVisible(visible) 隐藏面包屑

         参数:

visible: boolean true | false

         返回:

         实例:

OC.setBreadcrumbVisible(false)

2.1.55           setHeaderBackground

         说明:

OC.setHeaderBackground(background) 设置 PageHead 背景,可以是颜色,图片,或者组合等

         语法:

OC.setHeaderBackground(background)

         参数:

background: string

         返回:

         实例:

OC.setHeaderBackground('red');

OC.setHeaderBackground('red url(http://www.xxx.com/xxx.jpg)');

OC.setHeaderBackground('url(http://www.xxx.com/xxx.jpg) no-repeat');

 

2.1.56           setBreadcrumbBackground

         说明:

OC.setBreadcrumbBackground(color) 设置面包屑背景,使用方法同 2.1.51 相同

         语法:

OC.setBreadcrumbBackground(color)

         参数:

color: string

         返回:

         实例:

OC.setBreadcrumbBackground('red')

2.1.57           print

         说明:

OC.print(originData, tpl,css) 使用自定义模板进行打印。

         语法:

OC.print(originData, tpl,css)

         参数:

originData: object 数据源

tpl: string  HTML 模板

css:string  CSS 样式

         返回:

         实例:

var orgData= {

name: 张三 ,

age: 30

};

var tpl = <div class= name >{{name}}<div/><div class= age >{{age}}</div>

var css = .name{font-size:16px} .age{color:red}

OC.print(originData, tpl,css);

2.1.58           getFirstLetter

         说明:

OC.getFirstLetter(str) 获取汉语拼音首字母。

         语法:

OC.getFirstLetter(str);

参数:

str: string 汉语拼音字符串

         返回:

首字母字符串

         实例:

OC.getFirstLetter( 中华人民共和国万岁 ); //ZHRMGHGWS

2.1.59           logout

         说明:

OC.logout() 退出登录。

         语法:

OC.logout();

参数:

         返回:

         实例:

OC.logout();

2.1.60           getSearchFormFilters

         说明:

OC.getSearchFormFilters(searchFormIns) searchForm 获取直接可用的 filters

         语法:

OC.getSearchFormFilters(searchFormIns) ;

         参数:

searchFormIns object 必须 searchForm 的运行实例

         返回:

array 详情见举例

         实例:

var formIns = ocWindow.getComponentByName('searchForm');

var filters = OC.getSearchFormFilters(formIns);

filters 数据格式如下:

[

{

fieldName: 'name',

fieldValue: 'Jack',

operator: 'like'

},

{

fieldName: 'phone',

fieldValue: '158',

operator: 'like'

}

]

2.1.61           queryTable

         说明:

OC.queryTable(tableIns, filters, dataConverter, responseHandler, exHandler) 执行 query 操作,并将数据赋给指定的 table 组件。

         语法:

OC.queryTable(tableIns, filters, dataConverter, responseHandler, exHandler);

         参数:

tableIns: object 必须 将被赋值的 table 实例

filters array 必须 过滤条件,一般是 searchForm 中的过滤条件

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

         说明:

提示系统消息。 (2020-04-17 新增 )

         语法:

OC.sendSystemMsgWithoutTemplate(params);

         参数:

params: json 对象 消息配置信息,具体请查看举例。

         返回:

         实例:

var params = {

msgType: 'info',

title: ' 提示语标题 ',

content: ' 提示语内容 ',

};

OC.sendSystemMsgWithoutTemplate(params);

params 定义属性:

title: 必选 string

content: 必选 string

placement: 可选 enum topLeft  topRight  bottomLeft   bottomRight

msgType: 可选 enum:  info  success  error  warning , default: info

duration: 可选 number 显示时间,单位:毫秒,默认 5000

onClose: 可选 消息关闭时的回调方法 function(re) {} 回调里面的参数 re 就是 params

onClick: 可选 消息点击时的回调方法 function(re) {} 回调里面的参数 re 就是 params

2.1.72           closeGlobalRequestLoading

         说明:

关闭全局 loading 效果。 (2020-04-17 新增 )

         语法:

OC.closeGlobalRequestLoading();

         参数:

         返回:

         实例:

OC.closeGlobalRequestLoading();

2.1.73           openGlobalRequestLoading

         说明:

打开全局 loading 效果。 (2020-04-17 新增 )

         语法:

OC.openGlobalRequestLoading();

         参数:

         返回:

         实例:

OC.openGlobalRequestLoading();

2.1.74           closeGlobalRequestMsg

         说明:

关闭全局 request 消息提示效果。 (2020-04-17 新增 )

         语法:

OC.closeGlobalRequestMsg();

         参数:

         返回:

         实例:

OC.closeGlobalRequestMsg();

2.1.75           openGlobalRequestMsg

         说明:

打开全局 request 消息提示效果。 (2020-04-17 新增 )

         语法:

OC.openGlobalRequestMsg();

         参数:

         返回:

         实例:

OC.openGlobalRequestMsg();

2.1.76           showPhotos

         说明:

显示相册效果。 请注意,此方法中,图片的 src 地址暂不支持跨域。 (2020-04-17 新增 )

         语法:

OC.showPhotos(photos, firstIndex);

         参数:

photos json 必须 相册数据

firstIndex :首次展示显示第几张图片 , 默认首先显示第一张图片,序号: 0

         返回:

         实例:

var photos = [

{

src: 'xxx.jpg'

},

{

src: 'xxx.jpg'

}

];

OC.showPhotos(photos, 0);

2.1.77           clearModalWinCtxArray

         说明:

清除全部弹框上下文。 (2020-04-17 新增 )

         语法:

OC.clearModalWinCtxArray();

         参数:

         返回:

实例:

OC.clearModalWinCtxArray();

2.1.78           setClipboardContent

         说明:

设置文本到粘贴板。 (2020-05-27 新增 )

         语法:

OC.setClipboardContent(text);

         参数:

text: string 必须

         返回:

实例:

OC.setClipboardContent('Jack');

2.1.79           getClipboardContent

         说明:

获取上次通过 setClipboardContent 设置的粘贴板的内容。 (2020-05-27 新增 )

         语法:

OC.getClipboardContent();

         参数:

         返回:

text: string

         实例:

var name = OC.getClipboardContent(); // 获取到的 name 的值为: Jack

2.1.80           showGlobalLoading

         说明:

显示 loading 效果,此时,会自动关闭 request 自带的 loading 效果。 (2020-06-05 新增 )

         语法:

OC.showGlobalLoading();

         参数:

         返回:

         实例:

OC.showGlobalLoading(); // 显示 loading

2.1.81           hideGlobalLoading

         说明:

关闭 loading 效果,此时,会自动打开 request 自带的 loading 效果。 (2020-06-05 新增 )

         语法:

OC.hideGlobalLoading();

         参数:

         返回:

         实例:

OC.hideGlobalLoading(); // 关闭 loading

2.1.82           getUUID

         说明:

获取一个 uuid 字符串。 (2020-06-05 新增 )

         语法:

OC.getUUID();

         参数:

         返回:

字符串

         实例:

var uuid = OC.getUUID(); // 获取到一个 uuid 字符串

 

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

17

ColorPicker

String

'rgba(1, 2, 2, 1)'

18

SearchInput

String

'Jack'

2-4-8

         实例:

var value = componetInstance.getValue();

2.3.9               setValue

         说明:

componetInstance.setValue(any) 用于设置 formItem 组件的 value 值。只有表 2-4-9 中列出的组件包含该方法。

         语法:

componetInstance.setValue(any);

         参数:

根据 componentType 决定参数具体类型。详见表 2-4-9

         返回:

         实例:

var value= 'string'';  componetInstance.setValue(value);

序号

componentType

参数类型

参数举例

1

DatePicker

String

'2019-01-18'

2

RangePicker

Array

['2018-12-01', '2018-12-31']

3

Input

String

'hello'

4

Select

String | Number | Boolean | Array( 多选时 )

'string' | 123 | true | ['string1', 'string2', ...]

5

TextArea

String

'hello'

6

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}

10

ColorPicker

String

'#333' | 'rgb(123, 2123, 220)'

11

SearchInput

String

'Jack'

2-4-9

 

2.4          Form组件独有方法

Form 组件本身有一些特有的方法,下面用 var formIns = ocWindow.getComponentByName('form_user'); 作为 2.4.x 中举例的实例进行说明:

2.4.1               getFieldsValue

         说明:

formIns.getFieldsValue() 用于获取 Form 组件的 value 值。同

         语法:

formIns.getFieldsValue();

         参数:

         返回:

Json 格式的 value 数据;

         实例:

var formValues= formIns.getFieldsValue();

2.4.2               validateFields

         说明:

formIns.validateFields(callbakcFuntion(errors, values){}) 用于校验当前 Form 所有组件。

         语法:

formIns.validateFields(callbakcFuntion(errors, values){});

         参数:

回调函数 callbakcFuntion(errors, values){}

errors: 错误信息,没有错误为 false

values: 当前 Form value

         返回:

         实例:

formIns.validateFields(function(errors, values){if(errors) {return}; console.log(values);});

2.4.3               resetFields

         说明:

formIns.resetFields() 用于重置当前 Form 所有组件的值到 defaultValue ,如果没有则重置为空。

         语法:

formIns.resetFields();

         参数:

         返回:

         实例:

formIns.resetFields();

2.4.4               clean

         说明:

formIns.clean() 用于清空当前 Form 所有组件的值( defaultValue 也要被清除)。

         语法:

formIns.clean();

         参数:

         返回:

         实例:

formIns.clean();

2.4.5               setFieldsValue

         说明:

formIns.setFieldsValue() 用于给当前 Form 组件赋值。

         语法:

formIns.setFieldsValue();

         参数:

Json 格式的数据 .

         返回:

         实例:

var values = {'name': 'Jack'}; formIns.setFieldsValue(values);

2.4.6               setLastSavedValues

         说明:

formIns.setLastSavedValues(values) 给当前 Form 组件存储最近一次执行过后端保存的数据。

         语法:

formIns.setLastSavedValues(values);

         参数:

Json 格式的数据 .

         返回:

         实例:

var values = {'name': 'Jack'}; formIns.setLastSavedValues(values);

 

2.4.7               getFieldSet

         说明:

formIns.getFieldSet() 返回当前 form 需要展示的字段名称集合。

         语法:

formIns.getFieldSet();

         参数:

.

         返回:

string 详情见举例

         实例:

var fieldSet = formIns.getFieldSet();

fieldSet 值如下: ''{name,sex,birthday,role:{id, roleName}}"

2.4.8               getReadonlyStyle

         说明:

formIns.getReadonlyStyle() 返回当前 form 不可编辑时需要展示的样式。

         语法:

formIns.getReadonlyStyle();

         参数:

.

         返回:

string 详情见举例

         实例:

var fieldSet = formIns.getReadonlyStyle();

fieldSet 值如下: label 或者 disable

2.4.9               getEntityName

         说明:

formIns.getEntityName() 返回当前 form 配置的 entityName

         语法:

formIns.getEntityName();

         参数:

.

         返回:

string 当前 form 配置的 entityName

         实例:

var entityName= formIns.getEntityName();

2.4.10           getAuthority

         说明:

formIns.getAuthority() 返回当前 form 的权限信息

         语法:

formIns.getAuthority();

         参数:

.

         返回:

json 格式的数据 详见举例

         实例:

var authority = formIns.getAuthority();

authority 的值如下:

{

     "_canEdit": true,

     "_canDelete": true,

     "sex": {

          "_canEdit": false,

          "_canAccess": false

     },

     "birthday": {

          "_canEdit": false,

          "_canAccess": true

      },

"contacts": {

"_canEdit": false,

"_canAccess": true,

"data": [

{

"_rowid": "xxx",

"_canEdit": false,

"_canDelete": true

}

]

}

}

 

2.4.11           triggerValidationWhenSubmit

         说明:

formIns.triggerValidationWhenSubmit() 返回当前 form 所有字段是否校验通过。 注:在 Form 中,若 form item 不可见或者 editable false ,则系统会自动清除其 validation rule ,等恢复可见或者 editable true 时,恢复 validation

         语法:

formIns.triggerValidationWhenSubmit();

         参数:

.

         返回:

boolean  true|false

         实例:

var validate = formIns.triggerValidationWhenSubmit();  // validate 得到的值为 true / false

 

2.4.12           triggerFieldsValidation

         说明:

formIns.triggerFieldsValidation(formItemNames) ,对指定的 form item name 的组件进行 validation ,如果 formItemNames 为空,则表示所有的 form item 组件(包括 SubForm)

         语法:

formIns.triggerFieldsValidation(formItemNames);

         参数:

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

         返回:

boolean  true|false

         实例:

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

var validate = formIns.triggerFieldsValidation(formItemNames); // validate 得到的值为 true / false

2.4.13           cleanFieldsValidationRules

         说明:

formIns.cleanFieldsValidationRules(formItemNames, nowValidation) ,清除指定的 form item rule 并触发 validation  (2020-04-17 更新 )

 

         语法:

formIns.cleanFieldsValidationRules(formItemNames, nowValidation);

         参数:

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

nowValidation?: boolean 可选 是否立即触发 validation

         返回:

         实例:

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

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

2.4.14           restoreFieldsValidationRules

         说明:

formIns.restoreFieldsValidationRules(formItemNames, nowValidation) ,将指定 form item UIMeataData 定义的 rule 恢复并触发 validation (2020-04-17 更新 )

         语法:

formIns.restoreFieldsValidationRules(formItemNames, nowValidation);

         参数:

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

nowValidation?: boolean 可选 是否立即触发 validation

         返回:

         实例:

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

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

2.4.15           setValidationRule

         说明:

formIns.setValidationRule(formItemName, rules, nowValidation) ,设置指定字段的校验规则 (2020-04-17 更新 )

 

         语法:

formIns.setValidationRule(formItemName, rules, nowValidation);

         参数:

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

nowValidation?: boolean  可选 是否立即触发 validation

rules: rule[] 

rule 定义:

{

    /** validation error message */

    message?: React.ReactNode;

    /** built-in validation type, available options: https://github.com/yiminghe/async-validator#type */

    type?: string;

    /** indicates whether field is required */

    required?: boolean;

    /** treat required fields that only contain whitespace as errors */

    whitespace?: boolean;

    /** validate the exact length of a field */

    len?: number;

    /** validate the min length of a field */

    min?: number;

    /** validate the max length of a field */

    max?: number;

    /** validate the value from a list of possible values */

    enum?: string | string[];

    /** validate from a regular expression */

    pattern?: RegExp;

    /** transform a value before validation */

    transform?: (value: any) => any;

    /** custom validate function (Note: callback must be called) */

    validator?: (rule: any, value: any, callback: any, source?: any, options?: any) => any;

};

         返回:

实例:

formIns.setValidationRule('age', [{max:150, message:' 最大为 150'}], false); // 设置校验规则,但是不立即触发校验。

2.4.16           getValidationRule

         说明:

formIns.getValidationRule(formItemName) ,获取指定字段的校验规则

         语法:

formIns.getValidationRule(formItemName);

         参数:

formItemName string   指定需要获取校验规则的字段名称

         返回:

array: rule[]  rule 定义请参照 setValidationRule 方法中的 rule 定义。

实例:

formIns.setValidationRule('age');

 

 

 

2.4.17           setFormItemsEditable

         说明:

formIns.setFormItemsEditable(formItemNames, editable) 设置指定的 formItem 是否可编辑。 注:如果在设置时, form editable 属性为 false ,而组件要被设置成为 true ,则系统会首先将 form editable 属性设置成 true

 

         语法:

formIns.setFormItemsEditable(formItemNames, editable);

         参数:

formItemNames:  string[] 指定的字段名称组成的数组,数组长度为 0 时,表示全部 formItem 组件

editable:  boolean 是否可编辑

         返回:

         实例:

// name sex 两个字段设为可编辑

formIns.setFormItemsEditable(['name', 'sex'], true);

2.4.18           setExcludeFormItemsEditable

         说明:

formIns.setExcludeFormItemsEditable(excludeFormItemNames, editable) 设置指定 formItem 以外的 formItem 是否可编辑。 注:如果在设置时, form editable 属性为 false ,而组件要被设置成为 true ,则系统会首先将 form editable 属性设置成 true

         语法:

formIns.setExcludeFormItemsEditable(excludeFormItemNames, editable);

         参数:

excludeFormItemNames:  string[] 指定的字段名称组成的数组

editable:  boolean 是否可编辑

         返回:

         实例:

// 将除 name sex 两个字段以外的其他字段设为可编辑

formIns.setExcludeFormItemsEditable(['name', 'sex'], true);

2.4.19           setFormItemsVisible

         说明:

formIns.setFormItemsVisible (formItemNames, visible) 设置指定 formItem 组件是否可见。 注:若 formItemNames 数组为空,则表示所有的 form items

         语法:

formIns.setFormItemsVisible (formItemNames, visible);

         参数:

formItemNames:  string[] 指定的字段名称组成的数组

visible:  boolean 是否可编辑

         返回:

         实例:

// 隐藏 name sex 两个字段

formIns.setFormItemsVisible (['name', 'sex'], false);

 

2.5          FormItem共有方法

formItem 组件 (form 中用于数据录入功能的表单组件,例如: Input Select TableForm 等,统一称为 formItem 组件 ) 有一些共有方法,下面用 var formIns = ocWindow.getComponentByName('formItem_test'); 作为 2.5.x 中举例的实例进行说明:

 

2.5.1               setFormItemLabel

         说明:

formIns. setFormItemLabel (label) 用于给当前 Form 组件设置 lable

         语法:

formIns.setFormItemLabel(label);

         参数:

label: string  必须 要设置的 label

         返回:

         实例:

formItem.setFormItemLabel('testSetLabel');

2.5.2               setEditable

         说明:

formIns.setEditable(editable) 用于给当前 Form 组件设置编辑权限。

         语法:

formIns.setEditable(editable);

         参数:

editable boolean 必须 是否可编辑

         返回:

         实例:

formItem.setEditable(true);

2.5.3               setReadOnlyStyle

         说明:

formIns.setReadOnlyStyle(readonlyComponentStyle) 用于给当前 Form 组件设置只读时的显示类型。

         语法:

formIns.setReadOnlyStyle(readonlyComponentStyle);

         参数:

readonlyComponentStyle string 必须 BasedOnForm | label | disable

         返回:

         实例:

formItem.setReadOnlyStyle('label');

2.5.4               getEditable

         说明:

formIns.getEditable() 获取当前 Form 组件设置编辑权限。

         语法:

formIns.getEditable();

         参数:

         返回:

boolean

         实例:

var editable = formItem.getEditable();

2.5.5               getAccessable

         说明:

formIns. getAccessable () 获取当前 Form 组件设置是否可见。

         语法:

formIns.getAccessable();

         参数:

         返回:

boolean

         实例:

var accessable= formItem.getAccessable();

 

 

2.6          Button组件独有方法

Button 组件本身有一些特有的方法,下面用 var btnIns = ocWindow.getComponentByName('btn_test'); 作为 2.6.x 中举例的实例进行说明:

 

2.6.1               enableLoadingState

         说明:

btnIns.enableLoadingState() 将当前按钮设置为 loading 状态。

         语法:

btnIns.enableLoadingState();

         参数:

         返回:

         实例:

btnIns.enableLoadingState();

2.6.2               disableLoadingState

         说明:

btnIns.disableLoadingState() 将当前按钮设置为非 loading 状态。

         语法:

btnIns.disableLoadingState();

         参数:

         返回:

         实例:

btnIns.disableLoadingState();

2.6.3               setTitle

         说明:

btnIns.setTitle(title) 设置当前 Button 中的显示文本。

         语法:

btnIns.setTitle(title);

         参数:

title: 必须 string

         返回:

         实例:

btnIns.setTitle(' 提交中 ...');

2.6.4               setBadgeContent

         说明:

btnIns.setBadgeContent(title) 设置当前 Button 中的 badge 显示文本。 button 配置了显示 badge 后生效。 (2020-03-10 新增 )

         语法:

btnIns.setBadgeContent(title);

         参数:

title: 必须 number|string

         返回:

         实例:

btnIns.setBadgeContent(10);

 

2.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.11.13      setLoading

         说明:

设置 table 组件 loading 消息提示效果。 (2020-04-17 新增 )

         语法:

tableIns.setLoading(true/false);

         参数:

boolean 是否显示

         返回:

         实例:

tableIns.setLoading(true); // 显示 table loading

tableIns.setLoading(false); // 隐藏 table loading

 

 

 

 

 

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

         说明:

tableIns.staticAddRow(data); 增加一行数据,不主动更新数据库。 (2020-04-29 新增 )

         语法:

tableIns.staticAddRow(data);

         参数:

data 必须 JSON 详见举例

         返回:

         实例:

var data= {name: 'Jack', _rowid: '123'};

tableIns.staticAddRow(data);

2.16.16      staticDeleteRow

         说明:

tableIns.staticDeleteRow(_rowid); 删除一行数据,不主动更新数据库。 (2020-04-29 新增 )

         语法:

tableIns.staticDeleteRow(data);

         参数:

_rowid 必须 string

         返回:

         实例:

tableIns.staticDeleteRow('123');

2.16.17      staticUpdateRow

         说明:

tableIns.staticUpdateRow(data); 修改一行数据,覆盖式修改,不主动更新数据库。例如:当前行有 5 个字段,我只想改其中的 2 个字段,那么除了 _rowid 之外,再传需要修改的 2 个字段就行了,不需要修改的字段不用传递 (2020-04-29 新增 )

         语法:

tableIns.staticUpdateRow(data);

         参数:

data 必须 JSON 详见举例 data 中必须包含原数据的 _rowid 字段。

         返回:

         实例:

var data= {name: 'Jack', _rowid: '123'};

tableIns.staticUpdateRow(data);

2.16.18      setCustomColumnsOptionsByRowIdAndDataIndex

         说明:

设置指定行的指定字段的 options ,覆盖式修改。例如:当前行有 5 个字段含有 options ,我只想改其中的 2 个字段,那么除了 _rowid 之外,再传需要修改的 2 个字段就行了,不需要修改的字段不用传递 (2020-06-10 新增 )

         语法:

tableIns.setCustomColumnsOptionsByRowIdAndDataIndex(data);

         参数:

data 必须 Array 详见举例 , data 中必须包含原数据的 _rowid 字段。

         返回:

实例:

var customOptions = [

{

_rowid: '001',

sex: [{' ': 'M'},{' ': 'F'}],

role: [{' 经理 ': '002'},{' 部长 ': '001'}]

},

{

_rowid: '002',

sex: [{' ': 'M'},{' ': 'F'},{' 不限 ': 'U'}],

role: [{' 主任 ': '003'},{' 部长 ': '001'}]

},

];

tableIns.setCustomColumnsOptionsByRowIdAndDataIndex(customOptions );

// 说明:第一条数据性别只有男和女,角色只有经理和部长,第二条数据性别有男,女,不限,角色有主任和部长

2.16.19      getCustomColumnsOptionsByRowIdAndDataIndex

         说明:

获取当前组件所有行的 指定行的指定字段的 options (2020-06-10 新增 )

         语法:

tableIns.getCustomColumnsOptionsByRowIdAndDataIndex();

         参数:

         返回:

data 必须 Array 详见举例

实例:

var allCustomColumnsOptions = tableIns.getCustomColumnsOptionsByRowIdAndDataIndex();

// allCustomColumnsOptions 的值如下:

var customOptions = [

{

_rowid: '001',

sex: [{' ': 'M'},{' ': 'F'}],

role: [{' 经理 ': '002'},{' 部长 ': '001'}]

},

{

_rowid: '002',

sex: [{' ': 'M'},{' ': 'F'},{' 不限 ': 'U'}],

role: [{' 主任 ': '003'},{' 部长 ': '001'}]

},

];

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

}

}

2.32     ColorPicker 组件独有方法

ColorPicker 组件本身有一些特有的方法,用 var CPIns= ocWindow.getComponentByName("ColorPicker"); 作为 2.32.x 中举例的实例进行说明:

2.32.1           getColor

         说明:

获取颜色信息,包括 rgb, hex 等。 (2020-05-27 新增 )

         语法:

CPIns.getColor();

         参数:

         返回:

data: JSON 具体请看举例。

         实例:

var colorInfo = CPIns.getColor();

colorInfo 值如下:

{

    hex: "#f30707",

    hsl: {

        h: 0,

        s: 0.9449576971700865,

        l: 0.490139195,

        a: 1

    },

    hsv: {

        h: 0,

        s: 0.9717,

        v: 0.9533,

        a: 1

    },

    oldHue: 0,

    rgb: {

        r: 243,

        g: 7,

        b: 7,

        a: 1

    },

    source: "hsv"

}

2.32.2           openPanel

         说明:

打开选色面板。 (2020-05-27 新增 )

         语法:

CPIns.openPanel();

         参数:

         返回:

         实例:

CPIns.openPanel();

2.32.3           closePanel

         说明:

关闭选色面板。 (2020-05-27 新增 )

         语法:

CPIns.closePanel();

         参数:

         返回:

         实例:

CPIns.closePanel();

2.33     SearchInput 组件独有方法

ColorPicker 组件本身有一些特有的方法,用 var SIIns= ocWindow.getComponentByName("SearchInput"); 作为 2.33.x 中举例的实例进行说明:

2.33.1           getValueInfo

         说明:

获取已经选中的行的详细信息。 (2020-05-27 新增 )

         语法:

CPIns.getValueInfo();

         参数:

         返回:

JSON 格式的数据

         实例:

var recordInfo = CPIns.getValueInfo();

recordInfo 详情:

{

    _rowid: "123",

    name: "Jack",

    sex: "M",

    age: 12

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

3         其他

暂无