Page tree

 

 

 

 

JS SDK 使用说明

 

 

Guo Jiawei

guojiawei@open-care.com

(+86) 15810028374

 

 

 

 

 

 

2025 01 21

 


 

更改 历史

主    题

 

保密说明

 

更改历史

更改日期

更改人

复核日期

复核人

更改说明

1.0

1 , 2 , 3

C

2019.01.18

Guo Jiawei

 

 

 

 

 

A

2019.02.26

Guo Jiawei

 

 

2.12

 

 

 

2020-10-16

 

 

 

V2020-10-16-001

 

 

A

2021-10-11

Xu Yachen

 

 

 

 

 

A

2022-05-19

Guo Jiawei

 

 

V2022-05-19-001

 

 

A

2022-06-08

Guo Jiawei

 

 

V2022-06-08-001

 

 

U

2022-08-17

Guo Jiawei

 

 

V2022-08-17-001

 

 

U

2023-01-04

Guo Jiawei

 

 

V2023-01-04-001

 

 

U

2024-08-01

GuoJiawei

 

 

V2024-08-01-001

 

 

U

2024-09-20

GuoJiawei

 

 

V2024-09-20-001

 

 

U

2025-01-21

SunYuan

 

 

V2025-01-21-001

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

 


              目        录

 

1 摘要               11

2 使用说明               12

2.1 Open-Care 平台通用方法               12

2.1.1 getSystemContexts               12

2.1.2 getWindowContexts               12

2.1.3 showNotificationDlg               12

2.1.4 showMessageDlg               13

2.1.5 restGetApiCall               13

2.1.6 restPostApiCall               13

2.1.7 showConfirmDlg               14

2.1.8 showModalDialog               14

2.1.9 closeModal               15

2.1.10 showDrawerDialog               15

2.1.11 closeDrawer               16

2.1.12 showWindow               16

2.1.13 createVideoPlayer               16

2.1.14 setFormValues               17

2.1.15 showWindowUseWindowNameAsLocationPath               17

2.1.16 sendMessageByMsgConfig               17

2.1.17 sendSystemMsg               18

2.1.18 sendSMSMsg               18

2.1.19 sendEmailMsg               19

2.1.20 downloadFile               19

2.1.21 execGraphQL               19

2.1.22 execGroovyScript               20

2.1.23 goBack               20

2.1.24 save               20

2.1.25 save WithEagerProperties               21

2.1.26 updateDataSource               21

2.1.27 getDataSource               22

2.1.28 query               22

2.1.29 query WithEagerProperties               22

2.1.30 queryWithFilters               23

2.1.31 queryWithFilters AndEagerProperties               24

2.1.32 getOne               24

2.1.33 getOne WithEagerProperties               24

2.1.34 delete               25

2.1.35 batchSave               25

2.1.36 batchSave WithEagerProperties               26

2.1.37 getCurrentTopWindow               27

2.1.38 setEntityNamesForRefresh               27

2.1.39 manipulateFormFieldsValue               27

2.1.40 startProcessByKey               28

2.1.41 completeTask               29

2.1.42 completeTaskWithEntityInfo               29

2.1.43 startProcessByKeyAndRunFirstTask               30

2.1.44 setTaskVariables               31

2.1.45 claimTask               31

2.1.46 getTaskAuditHistory               32

2.1.47 setCandidateTask               32

2.1.48 delegateTask               32

2.1.49 assignTask               33

2.1.50 setBreadcrumbNameOfCurrWindow               33

2.1.51 resolveTask               33

2.1.52 getTaskListByUserId               34

2.1.53 currentUserTaskListByKey               34

2.1.54 jpQuery               35

2.1.55 jpValue               35

2.1.56 jpParent               36

2.1.57 jpApply               36

2.1.58 setHeaderVisible               37

2.1.59 setBreadcrumbVisible               37

2.1.60 setHeaderBackground               37

2.1.61 setBreadcrumbBackground               38

2.1.62 print               38

2.1.63 getFirstLetter               39

2.1.64 logout               39

2.1.65 getSearchFormFilters               39

2.1.66 queryTable               40

2.1.67 clearTableFilterAndQueryTable               40

2.1.68 closeModal               41

2.1.69 setWindowContexts               41

2.1.70 getMoment               42

2.1.71 getRoutingLocation               42

2.1.72 eventEmit               42

2.1.73 eventOn               43

2.1.74 OC.Pinyin.getFullChars               43

2.1.75 OC.Pinyin.getCamelChars               44

2.1.76 sendSystemMsgWithoutTemplate               44

2.1.77 closeSystemMsg               44

2.1.78 closeGlobalRequestLoading               45

2.1.79 openGlobalRequestLoading               45

2.1.80 closeGlobalRequestMsg               45

2.1.81 openGlobalRequestMsg               45

2.1.82 showPhotos               46

2.1.83 clearModalWinCtxArray               46

2.1.84 setClipboardContent               46

2.1.85 getClipboardContent               47

2.1.86 showGlobalLoading               47

2.1.87 hideGlobalLoading               47

2.1.88 getUUID               47

2.1.89 $request               48

2.1.90 getAllParams               48

2.1.91 showWebCamera               49

2.1.92 showPictureInModal               49

2.1.93 fullScreen               49

2.1.94 onlyShowContent               50

2.1.95 isRunningInWxMiniProgram               50

2.1.96 setSiderVisible               50

2.1.97 setNavMenuVisible               50

2.1.98 setLayoutHeadHeight               51

2.1.99 encryptByDES               51

2.2 Window 组件通用方法               51

2.2.1 getComponentByName               51

2.2.2 setWindowModifiedStatus               52

2.2.3 goBack               52

2.2.4 getContexts               52

2.2.5 close               53

2.2.6 showPathComponentIdFromRootToCurrent               53

2.2.7 showQuestion               53

2.2.8 hideQuestion               53

2.2.9 setQuestionVisible               54

2.2.10 getQuestionVisible               54

2.2.11 gotoQuestion               54

2.2.12 setMaskClosable               55

2.3 组件实例相关方法               55

2.3.1 getComponentType               55

2.3.2 disable               55

2.3.3 enable               56

2.3.4 setVisible               56

2.3.5 isVisible               56

2.3.6 getStyle               56

2.3.7 setStyle               57

2.3.8 getValue               57

2.3.9 setValue               58

2.4 Form 组件独有方法               58

2.4.1 getFieldsValue               58

2.4.2 validateFields               58

2.4.3 resetFields               59

2.4.4 clean               59

2.4.5 setFieldsValue               59

2.4.6 setLastSavedValues               60

2.4.7 getFieldSet               60

2.4.8 getReadonlyStyle               60

2.4.9 getEntityName               60

2.4.10 getAuthority               61

2.4.11 triggerValidationWhenSubmit               62

2.4.12 triggerFieldsValidation               62

2.4.13 cleanFieldsValidationRules               62

2.4.14 restoreFieldsValidationRules               63

2.4.15 setValidationRule               63

2.4.16 getValidationRule               64

2.4.17 setFormItemsEditable               64

2.4.18 setExcludeFormItemsEditable               64

2.4.19 setFormItemsVisible               65

2.4.20 getEagerProperties               65

2.4.21 s etEagerProperties               65

2.5 FormItem 共有方法               66

2.5.1 setFormItemLabel               66

2.5.2 setEditable               66

2.5.3 setReadOnlyStyle               66

2.5.4 getEditable               67

2.5.5 getAccessable               67

2.6 Button 组件独有方法               67

2.6.1 enableLoadingState               67

2.6.2 disableLoadingState               68

2.6.3 setTitle               68

2.6.4 setBadgeContent               68

2.6.5 setType               68

2.7 CheckboxGroup 独有方法               69

2.7.1 selectAll               69

2.7.2 deSelectAll               69

2.8 Label 组件独有方法               69

2.8.1 getContent               69

2.8.2 setValue               70

2.9 Radio 组件独有方法               70

2.9.1 chooseRadio               70

2.10 Select 组件独有方法               70

2.10.1 setValueOfFirstOption               70

2.10.2 refreshOptions               71

2.10.3 selectedAll               71

2.11 Table 组件独有方法               71

2.11.1 getPagination               71

2.11.2 expandRows               72

2.11.3 collapseRows               72

2.11.4 getTableHeaderForExport               73

2.11.5 getTableConfigurationState               73

2.11.6 addColumnForHyperLink               74

2.11.7 addColumnColorMapping               74

2.11.8 setOperatorColumnVisible               74

2.11.9 setRowSelectionType               74

2.11.10 getSubTableWinInsByRowId               75

2.11.11 update               75

2.11.12 updateSubTableDataSource               75

2.11.13 setLoading               76

2.11.14 refreshColumnOptionsByDataIndex               76

2.11.15 setTableFilters               76

2.11.16 setRowMergeGroup               76

2.11.17 setTableMiniOperator               77

2.11.18 setCustomColumns               77

2.11.19 setToolbarOperationVisible               78

2.11.20 setToolbarDefaultButtonVisible               78

2.11.21 setToolbarDropdownVisible               78

2.11.22 setToolbarDropdownContextMenuVisible               79

2.11.23 setS croll               79

2.12 Tabs 组件独有方法               79

2.12.1 selectTab               79

2.12.2 getPaneCount               80

2.12.3 getActiveKey               80

2.12.4 handleLoadingPaneUIByKey               80

2.12.5 removePanel               80

2.12.6 removePanelAndTriggerEvent               81

2.12.7 setAddButtonVisible               81

2.12.8 getAddButtonVisible               81

2.12.9 setType               81

2.12.10 g etType               82

2.12.11 set Editable               82

2.12.12 g et Editable               82

2.13 TableForm 组件独有方法               83

2.13.1 setValueByDataIndex               83

2.13.2 updateValueOptionData               83

2.13.3 setCustomColumnsPrecisionByRowIdAndDataIndex               83

2.13.4 showAddButton               84

2.14 Table Calendar 组件共有方法               84

2.14.1 setDataSource               84

2.14.2 getDataSource               85

2.15 CheckboxGroup Radio Select TreeSelect Cascader 共有方法               85

2.15.1 setOptions               85

2.15.2 setOptions A nd SetValueOfFirstOption               85

2.15.3 getOptions               86

2.15.4 removeOption               86

2.15.5 removeOptions               86

2.15.6 addOption               87

2.15.7 addOptions               87

2.15.8 getOptions               87

2.15.9 getSelectedOption               88

2.15.10 getSelectedLabel               88

2.16 Table TableForm 共有方法               89

2.16.1 hasSelectAllRecords               89

2.16.2 getSelectedRowKeys               89

2.16.3 getAuthorityData               89

2.16.4 setStyleConfigScript               90

2.16.5 setStyleHilites               90

2.16.6 getColumnsVisible               90

2.16.7 setColumnsVisible               91

2.16.8 updateColumnsVisible               91

2.16.9 setActiveRow               91

2.16.10 isSelectAll               92

2.16.11 getColumnsTitle               92

2.16.12 setColumnsTitleByDataIndex               92

2.16.13 getColumnsOptions               92

2.16.14 setColumnsOptionsByDataIndex               93

2.16.15 staticAddRow               93

2.16.16 staticDeleteRow               93

2.16.17 staticUpdateRow               94

2.16.18 setCustomColumnsOptionsByRowIdAndDataIndex               94

2.16.19 getCustomColumnsOptionsByRowIdAndDataIndex               95

2.16.20 setColumnEditable               95

2.16.21 set OperationColumnWidth               95

2.16.22 getCurrentPageData               96

2.16.23 getCurrentPageDateSelectInverseRows               96

2.16.24 handleCurrentPageDataSelectAll               96

2.16.25 handleCurrentPageDateSelectInverse               97

2.16.26 clearSelectedRows               97

2.16.27 setSelectedRowAndHandleEvent               97

2.17 Card 组件独有方法               98

2.17.1 setTitle               98

2.17.2 setRefWindow               98

2.17.3 removeRefWindow               98

2.18 Cascader 组件独有方法               99

2.18.1 getOptions               99

2.19 Table TableForm Tree 共有方法               99

2.19.1 getSelectedRows               99

2.19.2 canSelectRecord               100

2.19.3 setSelectedRows               100

2.20 SubForm 独有方法               101

2.20.1 setRefWindowName               101

2.20.2 setCanAddState OneToMany 独有)               101

2.20.3 setEditable               101

2.20.4 getChildComponentByName               101

2.21 Form FormItem 共有方法               102

2.21.1 getEditable               102

2.22 Form FormItem SubForm 共有方法               102

2.22.1 setEditable               102

2.23 Tabs Collapse 组件共有方法               103

2.23.1 setPanelVisible               103

2.23.2 getPanelVisible               103

2.23.3 setPanelTitle               103

2.23.4 getPanelTitle               103

2.23.5 setPanelVisibleAndActivate               104

2.23.6 addPane               104

2.24 Steps 组件独有方法               104

2.24.1 getAllSteps               105

2.24.2 setAllSteps               105

2.25 Drawer 组件独有方法               106

2.25.1 showDrawer               106

2.25.2 hideDrawer               106

2.26 FileViewer 组件独有方法               106

2.26.1 showFileViewer               106

2.26.2 hideFileViewer               107

2.27 ComplexSelect 组件独有方法               107

2.27.1 setOptionsWithSearchId               107

2.28 Progress 组件独有方法               108

2.28.1 setContentTemplate               108

2.28.2 setShowInfo               108

2.28.3 setPercent               108

2.28.4 setStrokeColor               108

2.28.5 setStrokeWidth               109

2.28.6 setType               109

2.28.7 updateMultipleProperties               109

2.29 Dashboard 组件独有方法               110

2.29.1 updateProperties               110

2.30 Collapse 组件独有方法               110

2.30.1 activeKeyPanel               110

2.30.2 setActivePanel               111

2.31 List 组件独有方法               111

2.31.1 setData               111

2.31.2 setDataSource               112

2.31.3 getData               112

2.31.4 getDataSource               113

2.31.5 setGridVisible               113

2.31.6 setGridColumnMunber               113

2.32 ColorPicker 组件独有方法               114

2.32.1 getColor               114

2.32.2 openPanel               115

2.32.3 closePanel               115

2.33 SearchInput 组件独有方法               115

2.33.1 getValueInfo               115

2.33.2 handleFocus               116

2.34 MSteps 组件独有方法 ( 移动端 )               116

2.34.1 getAllSteps               116

2.34.2 setAllSteps               117

2.34.3 getStep               117

2.34.4 setStep               117

2.34.5 setStepTitl setStepStatus,setStepDescription,               118

2.34.6 setStepDefaultIcon,setStepCustomizedIcon               118

2.35 MListView 组件独有方法 ( 移动端 )               118

2.35.1 setDataSource               119

2.35.2 setValue               119

2.36 Tree               119

2.36.1 setCheckedKeys               120

2.37 Col               120

2.37.1 getSpan               120

2.37.2 setSpan               120

2.38 LaneChart               120

2.38.1 setDataSource               121

3 其他               123


1         摘要

通过提供特定功能的 SDK 接口,使平台开发者能够更加方便,快捷的进行自定义 JS 片段的开发。系统为 jsAction 提供了如下 4 个变量可直接使用:

         OC:  Open-Care 平台的方法入口

         ocWindow: 当前 window 的实例

         self: 触发该 event 的组件实例

         payload: event 参数

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

2         使用说明

2.1          Open-Care平台通用方法

Open-Care 平台提供的通用方法,以 OC 作为前缀,具体如下:

2.1.1               getSystemContexts

         说明:

OC.getSystemContexts() 方法用于获取当前系统上下文相关数据。

         语法:

OC.getSystemContexts();

         参数:

         返回:

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

         实例:

var systemContext = OC.getSystemContexts();

2.1.2               getWindowContexts

         说明:

OC.getWindowContexts() 方法用于获取当前 window 上下文相关数据。 注:此方法在 refWindow 中失效,故写在 refWindow 中的代码请使用 ocWindow.getContexts( ) 替代。 (2019-11-26)

         语法:

OC.getWindowContexts();

         参数:

         返回:

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

         实例:

var windowContext = OC.getWindowContexts();

2.1.3               showNotificationDlg

         说明:

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

2022.05.19 更新

         语法:

OC.showNotificationDlg(title, content, confirmType);

         参数:

title: String 提示框的标题

content: String 提示内容

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

callback: Function ,点击确定时的回调函数,可选

         返回:

         实例:

OC.showNotificationDlg(' 警告 ', 'XXX 警告 ', 'warning', function() {console.log('callback function log');});

2.1.4               showMessageDlg

         说明:

OC.showMessageDlg(content, type) 用于弹出各种提示框,自动消失,无按钮。

         语法:

OC.showMessageDlg(content, type);

参数:

content: String 提示内容

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

         返回:

         实例:

OC.showMessageDlg(' 操作成功! ', 'success');

 

2.1.5               restGetApiCall

         说明:

OC.restGetApiCall(url, uriVariables, responseHandler, exHandler, showLoading ) 通用 get 方法调用 restApi

2022.08.17 更新, showLoading 配置项仅 NIC 项目完成升级。

         语法:

OC.restGetApiCall(url, uriVariables, responseHandler, exHandler, showLoading );

         参数:

url: 必须 String restApi url 地址

uriVariables:  必须 any 参数

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

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

showLoading: 可选,缺省值 true ,如果需要设置此值, exHandler 没有时,需要 null 占位

         返回:

         实例:

OC.restGetApiCall(

'/api/getUser/{userId}',

{userId: '123'},

function(re){console.log(re)},

function(){alert('success')},

false

);

2.1.6               restPostApiCall

         说明:

OC.restPostApiCall(url, uriVariables, requestBody , responseHandler, exHandler, showLoading ) 通用 post 方法调用 restApi 2022.08.17 更新, showLoading 配置项仅 NIC 项目完成升级。

         语法:

OC.restPostApiCall(url, uriVariables, requestBody, responseHandler, exHandler, showLoading );

         参数:

url: 必须 String restApi url 地址

uriVariables:  必须 any 参数

requestBody: 必须 any 参数

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

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

showLoading: 可选,缺省值 true ,如果需要设置此值, exHandler 没有时,需要 null 占位

         返回:

         实例:

OC.restPostApiCall(

'/api/save/{userId}',

{userId: '123'},

{userName: 'Jack'},

function(re){console.log(re)},

function(){alert('success')},

false

);

2.1.7               restPostApiCallAndHandleRequestKey

         说明:

接口防抖。保证短时间内多次调用的请求,最后一次请求回调正常执行。 20 2 5- 0 1-21 新增

         语法:

OC.restPostApiCallAndHandleRequestKey(url, uriVariables, requestBody, requestIdentifer, requestKey, responseHandler, okHandler) ;

         参数:

url: 必须 String restApi url 地址

uriVariables:  必须 any 参数

requestBody: 必须 any 参数

requestIdentifer 必须 String 参数,全局唯一

requestKey 必须 String 参数

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

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

         返回:

         实例:

var requestIdentifer = OC.getUUID();

OC.restPostApiCallAndHandleRequestKey('/queryDoctor', {}, {}, requestIdentifer, ' 张医生 ', function(response) {}, function() {});

 

2.1.8               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.9               showModalDialog

         说明:

OC.showModalDialog(windowName, windowCtx, targetHandlingAction, modalWidth, windowTitle showCloseButton, others) 模态框方式打开一个 window 页面。 (2021-02-03 更新 )

         语法:

OC.showModalDialog(windowName, windowCtx, targetHandlingAction, modalWidth, windowTitle,showCloseButton);

         参数:

windowName: 必须 String 打开的 window componentName

windowCtx:  可选 any 打开的 window 的上下文

targetHandlingAction: 可选 any 触发该动作的 action 实例信息, 需要占位时,请务必使用 null

modalWidth: 可选 string|number 弹框宽度 '20%' | 200 需要占位时,请务必使用 null

windowTitle: 可选 string 弹窗名称,不配此项则显示引用的窗口的 title 需要占位时,请务必使用 null

showCloseButton: 可选 boolean 是否显示弹框右上角的关闭按钮,不配此项则显示关闭按钮。

others: 可选 对象 {} 其他的配置项

others 对应的定义类型: interface IOther {   // 2022.05.19 更新

    showMask?: boolean; // 是否显示 遮罩 层  , 默认 true

    titleCanDrag?: boolean; // 标题是否可拖拽 默认 false

    canFullScreen?: boolean; // 是否可全屏  默认 false

    modalHeight?: number | string;  // 弹框的高度 字符串 '100px' '80%'

    topCanDragOutScreen?: boolean; // 拖拽标题时是否允许拖拽出上边界 默认 false

    rightCanDragOutScreen?: boolean; // 拖拽标题时是否允许拖拽出右边界 默认 true

    bottomCanDragOutScreen?: boolean;// 拖拽标题时是否允许拖拽出下边界 默认 true

    leftCanDragOutScreen?: boolean;// 拖拽标题时是否允许拖拽出左边界 默认 true

}

         返回:

         实例:

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

2.1.10           closeModal

         说明:

OC.closeModal( ocWindow ) 关闭当前模态框。

         语法:

OC.closeModal(ocWindow);

         参数:

ocWindow: object 必须 当前模态框所在的 window 实例,也就是 ocWindow

         返回:

         实例:

OC.closeModal(ocWindow);

 

2.1.11           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.12           closeDrawer

         说明:

OC.closeDrawer(ocWindow) 关闭当前 drawer

         语法:

OC.closeDrawer(ocWindow);

         参数:

ocWindow: object 必须 当前 drawer 所在的 window 实例,也就是 ocWindow

         返回:

         实例:

OC.closeDrawer(ocWindow);

 

 

2.1.13           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.14           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.15           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.16           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.17           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.18           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.19           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.20           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.21           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.22           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.23           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.24           goBack

         说明:

topWindow 执行返回操作,如果是当前 window 执行返回操作,请使用 ocWindow.goBack 实现。 注:弹框 /drawer 里面关闭 弹框 /drawer 请使用 ocWindow.goBack() 或者 OC.closeModal(ocWindow)

         语法:

OC.goBack();

         参数:

         返回:

         实例:

OC.goBack();

2.1.25           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.26           save WithEagerProperties

         说明:

OC. saveWithEagerProperties ( { entityName, eagerProperties, data, responseHandler, exHandler } ) 通用 save 接口。 20 24 - 04 - 03 新增)

         语法:

OC. saveWithEagerProperties ( params );

         p arams 参数:

entityName: string 必须 执行 save 对应的 entityName

eagerProperties: string  可选

data: json 格式的数据或者 null 必须

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

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

 

         返回:

         实例:

var params = {

              " entityName " : "OcUser" ,

              " eagerProperties " : " ocId,person#name " ,

              " data " : {name: "Jack", age: 23} ,

              " responseHandler " : function(response) {},

              " exHandler " : function() {}

}

OC. saveWithEagerProperties ( params );

 

2.1.27           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.28           getDataSource

         说明:

OC.getDataSource(window, componentName) 获取指定窗口中指定组件的数据。

         语法:

OC.getDataSource(window, componentName);

         参数:

window: window 实例 必须

componentName: string 必须 window 实例中需要更新数据的组件的 componentName

 

         返回:

Json 格式的数据

         实例:

var dataSource = OC.getDataSource(ocWindow, "Table01");

2.1.29           query

         说明:

OC.query(entityName, filters, pagination, sorter, summary, fieldSet, responseHandler, exHandler) 通用查询接口。 注:如果数据是给 Table 组件的,可使用 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.30           query WithEagerProperties

         说明:

OC. queryWithEagerProperties ( { entityName, eagerProperties, filters, pagination, sorter, summary, fieldSet, responseHandler, exHandler } ) 通用查询接口。 注:如果数据是给 Table 组件的,可使用 OC.queryTable 替代。( 20 24 - 04 - 03 新增)

         语法:

OC. queryWithEagerProperties ( params );

         p arams 参数:

entityName: string 必须 执行 query 对应的 entity

eagerProperties: string 可选

filters: any[] 可选 过滤条件

pagination: json 格式的数据 必须 分页信息

sorter json 格式的数据或者 null 可选 排序信息

summary json 格式的数据或者 null 可选 是否显示统计信息

fieldSet string 或者 null 可选 要查询的字段名称

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

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

 

         返回:

         实例:

var params = {

              " entityName " : "OcUser" ,

              " filters " : [{fieldName: "age", fieldValue: 23, operator: ">=" }] ,

              " pagination " : {current: 1, pageSize: 10} ,

              " sorter " : {age: "ascend"} ,

              " summary " : {age: "maximum"} ,

              " fieldSet " : "{name,sex,ownorg#name}" ,

              " eagerProperties " : " ocId,person#name " ,

              " data " : {name: "Jack", age: 23} ,

              " responseHandler " : function(response) {},

              " exHandler " : function() {}

}

 

OC. queryWithEagerProperties ( params );

 

2.1.31           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.32           queryWithFilters AndEagerProperties

         说明:

OC.queryWithFilters AndEagerProperties ( { entityName, eagerProperties, filters, responseHandler, exHandler } ) 通用无分页查询接口。

         语法:

OC. queryWithFilters AndEagerProperties ( params );

         p arams 参数:

entityName: string 必须 执行 query 对应的 entity

e agerProperties: string, 可选。

filters: any[] 可选 过滤条件

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

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

 

         返回

         实例:

var params = {

              " entityName " : "OcUser" ,

              " filters " : [{fieldName: "age", fieldValue: 23, operator: ">=" }] ,

              " eagerProperties " : " ocId,person#name " ,

              " responseHandler " : function(response) {},

              " exHandler " : function() {}

}

OC. queryWithFilters AndEagerProperties (params);

 

2.1.33           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.34           getOne WithEagerProperties

         说明:

OC.getOne EagerProperties ( { entityName, eagerProperties, entityInstId, fieldSet, responseHandler, exHandler } ) 通用查询接口,获取 1 条数据。 20 24 - 04 - 03 新增)

         语法:

OC. getOne EagerProperties ( params );

         p arams 参数:

entityName: string 必须 要查询的 entity

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

fieldSet: string 必须 要查询的字段

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

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

 

         返回:

         实例:

var params = {

              " entityName " : "OcUser" ,

" entityInstId " : " xxxxx " ,

" eagerProperties " : " ocId,person#name " ,

              " fieldSet " : "ocId,person#name",

              " responseHandler " : function(response) {},

              " exHandler " : function() {}

}

 

OC. getOne EagerProperties ( params );

 

2.1.35           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.36           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.37           batchSave WithEagerProperties

         说明:

OC.batchSave WithEagerProperties ( { entityName, eagerProperties, data, responseHandler, exHandler } ) 通用批量保存接口。 20 24 - 04 - 03 新增)

         语法:

OC. batchSave WithEagerProperties ( params );

         p arams 参数:

entityName: string 必须 要查询的 entity

eagerProperties: string 可选

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": ""

        }

    ]

var params =  {

              " entityName " : "OcUser" ,

" data " : data,

" eagerProperties " : " ocId,person#name " ,

              " responseHandler " : function(response) {},

              " exHandler " : function() {}

}

OC. batchSave WithEagerProperties ( params );

 

2.1.38           getCurrentTopWindow

         说明:

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

         语法:

OC.getCurrentTopWindow();

         参数:

         返回:

         实例:

var topWindow = OC.getCurrentTopWindow();

2.1.39           setEntityNamesForRefresh

         说明:

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

         语法:

OC.setEntityNamesForRefresh(entityNames);

         参数:

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

         返回:

         实例:

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

2.1.40           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.41           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.42           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.43           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.44           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.45           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.46           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.47           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.48           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.49           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.50           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.51           setBreadcrumbNameOfCurrWindow

         说明:

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

         语法:

OC.setBreadcrumbNameOfCurrWindow(breadcrumbName);

         参数:

breadcrumbName: string 必须 新的面包屑

         返回:

实例:

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

2.1.52           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.53           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.54           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.55           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.56           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.57           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.58           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.59           setHeaderVisible

         说明:

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

         语法:

OC.setHeaderVisible(visible) 隐藏 HeadPage

         参数:

visible: boolean true | false

         返回:

         实例:

OC.setHeaderVisible(false)

2.1.60           setBreadcrumbVisible

         说明:

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

         语法:

OC.setBreadcrumbVisible(visible) 隐藏面包屑

         参数:

visible: boolean true | false

         返回:

         实例:

OC.setBreadcrumbVisible(false)

2.1.61           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.62           setBreadcrumbBackground

         说明:

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

         语法:

OC.setBreadcrumbBackground(color)

         参数:

color: string

         返回:

         实例:

OC.setBreadcrumbBackground('red')

2.1.63           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.64           getFirstLetter

         说明:

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

         语法:

OC.getFirstLetter(str);

参数:

str: string 汉语拼音字符串

         返回:

首字母字符串

         实例:

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

2.1.65           logout

         说明:

OC.logout() 退出登录。

         语法:

OC.logout();

参数:

         返回:

         实例:

OC.logout();

2.1.66           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.67           queryTable

         说明:

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

         语法:

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

         参数:

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

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

dataCoverter function 可选 对 API 返回的数据进行重新更改、赋值等操作

responseHandler function 可选 执行 API 以后的回调函数

exHandler function 可选 执行 responseHandler 后的回调函数

         返回:

         实例:

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

var filters = OC.getSearchFormFilters(formIns);

var tableIns = ocWindow.getComponentByName('table01');

function coverter(data1) {

var {data} = data1;

var newData = data.map(function(r){

r.name = 'cover_'+r.name;

return r;

});

data1.data = newData;

return data1;

}

OC.queryTable(tableIns, filters, coverter, function(data){},function(){} );

2.1.68           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.69           closeModal

         说明:

OC.closeModal(ocWindow) 关闭弹框 /drawer

         语法:

OC.closeModal(ocWindow);

         参数:

ocWindow: object 必须 弹框 /drawer 所在的 window 实例, js action 中直接使用 ocWindow 即可

         返回:

         实例:

// 关闭当前窗口(弹框 /drawer

OC.closeModal(ocWindow);

2.1.70           setWindowContexts

         说明:

设置当前 window 的上下文, 目前仅用于 topWindow ,请勿在 refWindow 中使用,例如 subForm subTable

         语法:

OC.setWindowContexts(contexts);

         参数:

contexts: object 必须 新的 window 上下文

         返回:

         实例:

// 当前 window 上下文设为 {ocId: '001'}

var newCtxs = {ocId: '001'};

OC.setWindowContexts(newCtxs );

2.1.71           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.72           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.73           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.74           eventEmitAndRetryIfNotOn

         说明:

发出自定义事件,支持重试,与 eventOn 配合使用。  (2025-05-21 新增 )

         语法:

OC.eventEmitAndRetryIfNotOn(eventName, loopNumber, interval, errorCallback, params);

         参数:

eventName: 必须 string 发出事件的名称,自定义,保持唯一性即可,最好有可读性,与 eventOn 中的 eventName 保持一致。

loopNumber: 必须 number 重试次数,大于 0 的整数

interval: 必须 number 间隔时长 ms

errorCallback: 可选 function 异常处理回调方法

params: 可选 any 参数

         返回:

         实例:

var params = {};

OC.eventEmitAndRetryIfNotOn('Layout_Product.setSubProductCategoryOptions', 3, 1000, function () {}, params);

 

2.1.75           eventOn

         说明:

接收自定义事件,与 eventEmit 配合使用。 (2020-03-12 新增 )

         语法:

OC.eventOn(eventName, callbackFun(params) {});

         参数:

eventName: string 接收事件的名称,自定义,保持唯一性即可,最好有可读性,与 eventEmit 中的 eventName 保持一致。

callbackFun: function 回调方法,参数 params 对应 eventEmit 中的 params

         返回:

         实例:

var params = {

ocId:  '123',

}

OC.eventOn('customer.service.center.updateCustomer', function(params) {

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

});

OC.eventOn('customer.service.center.updateOrderList', function(partyRole) {

// partyRole 的值为  'alkdjf-lkajdfk0-kadi-3498vdjd'

});

2.1.76           localWindowEventOn

         说明:

接收窗口自定义事件,与 eventEmit 配合使用。 eventOn 定义的事件全局唯一, localWindowEventOn 可以在不同的窗口有不同的定义事件。 (2025-01-21 新增 )

         语法:

OC.localWindowEventOn(currentWindow, eventName, callbackFun);

         参数:

currentWindow :必须 OCWindow 接受自定义事件的窗口

eventName :必须 string 接收事件的名称,自定义,保持唯一性即可,最好有可读性,与 eventEmit 中的 eventName 保持一致。

callbackFun: 必须 function 回调方法,参数 params 对应 eventEmit 中的 params

         返回:

         实例:

var params = {};

OC.localWindowEventOn(ocWindow, 'Layout_ProcessTask.handleTask', function (params) {});

 

2.1.77           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.78           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.79           sendSystemMsgWithoutTemplate

         说明:

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

         语法:

OC.sendSystemMsgWithoutTemplate(params);

         参数:

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

         返回:

         实例:

var params = {

msgType: 'info',

title: ' 提示语标题 ',

content: ' 提示语内容 ',

};

OC.sendSystemMsgWithoutTemplate(params);

params 定义属性:

title: 必选 string

content: 必选 string

placement: 可选 enum topLeft  topRight  bottomLeft   bottomRight

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

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

key: 可选, string ,可在 closeSystemMsg 中使用此值进行关闭指定的消息弹框

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

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

2.1.80           closeSystemMsg

         说明:

关闭指定 key 的系统消息弹框。 2022.05.19 更新

         语法:

OC. closeSystemMsg(key);

         参数:

key: String ,必须,系统弹出框时,可以设置一个 key ,可在关闭时选择指定的消息进行关闭。

         返回:

         实例:

OC.closeSystemMsg( 01 );

 

2.1.81           closeGlobalRequestLoading

         说明:

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

         语法:

OC.closeGlobalRequestLoading();

         参数:

         返回:

         实例:

OC.closeGlobalRequestLoading();

2.1.82           openGlobalRequestLoading

         说明:

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

         语法:

OC.openGlobalRequestLoading();

         参数:

         返回:

         实例:

OC.openGlobalRequestLoading();

2.1.83           closeGlobalRequestMsg

         说明:

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

         语法:

OC.closeGlobalRequestMsg();

         参数:

         返回:

         实例:

OC.closeGlobalRequestMsg();

2.1.84           openGlobalRequestMsg

         说明:

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

         语法:

OC.openGlobalRequestMsg();

         参数:

         返回:

         实例:

OC.openGlobalRequestMsg();

2.1.85           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.86           clearModalWinCtxArray

         说明:

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

         语法:

OC.clearModalWinCtxArray();

         参数:

         返回:

实例:

OC.clearModalWinCtxArray();

2.1.87           setClipboardContent

         说明:

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

         语法:

OC.setClipboardContent(text);

         参数:

text: string 必须

         返回:

实例:

OC.setClipboardContent('Jack');

2.1.88           getClipboardContent

         说明:

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

         语法:

OC.getClipboardContent();

         参数:

         返回:

text: string

         实例:

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

2.1.89           showGlobalLoading

         说明:

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

         语法:

OC.showGlobalLoading();

         参数:

         返回:

         实例:

OC.showGlobalLoading(); // 显示 loading

2.1.90           hideGlobalLoading

         说明:

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

         语法:

OC.hideGlobalLoading();

         参数:

         返回:

         实例:

OC.hideGlobalLoading(); // 关闭 loading

2.1.91           getUUID

         说明:

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

         语法:

OC.getUUID();

         参数:

         返回:

字符串

         实例:

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

2.1.92           $request

         说明:

通用请求接口方法。 (2020-10-16 新增 )

         语法:

OC.$request(params);

         参数:

见举例

         返回:

         实例:

OC.$request({

   url: '/api/get/entity_test_synthesis_tabPane_01_form/101',

   method: 'POST',

   body: {fieldSet: ''}

},

function(response) {

   console.log('$request response: ', response );

});

2.1.93           getAllParams

         说明:

获取 URL 中的全部参数。 (2020-10-16 新增 )

         语法:

OC.getAllParams();

         参数:

         返回:

见举例。

         实例:

// url: '/api/get/entity_test_synthesis_tabPane_01_form/101?name=Jack&sex=M',

var params = OC.getAllParams();

params 的值如下:

{

name: 'Jack ',

sex: 'M '

}

2.1.94           showWebCamera

         说明:

调用浏览器中的摄像头。 (2020-10-16 新增,仅支持 Chrome Firefox 浏览器 )

         语法:

OC.showWebCamera(params);

         参数:

见举例

         返回:

         实例:

function cameraCallback(imageData) {

    console.log('OC.showWebCamera callback imageData: ', imageData);

    // var ins = ocWindow.getComponentByName('96s9696');

    // console.log('ins: ', ins);

    // ins.setImageUrl(imageData.imgData);

}

OC.showWebCamera({

    callback: cameraCallback,

    cameraConfig: {

        title: ' 大头贴 '

    }

});

2.1.95           showPictureInModal

         说明:

图片放大查看。 (2021-10-11 新增 )

         语法:

OC. showPictureInModal ( params );

         参数:

p arams : 格式为 {url ( 图片地址, string), title( 标题, string) }

         返回:

见举例。

         实例:

OC.showPictureInModal ( {

              url :’ https ://abc.com/pic.png’,

              title:’ 标题

} )

2.1.96           fullScreen

         说明:

浏览器是否全屏显示(全屏后按 E SC 可退出全屏)。 (2021-10-11 新增 )

         语法:

OC. fullScreen ( isFull );

         参数:

isFull: bollean  true | false

         返回:

         实例:

OC. fullScreen ( true )

 

2.1.97           onlyShowContent

         说明:

是否隐藏导航和 header (2021-10-11 新增 )

         语法:

OC. onlyShowContent ( isOnly );

         参数:

isOnly: bollean  true | false

         返回:

         实例:

OC. onlyShowContent ( true )

2.1.98           isRunningInWxMiniProgram

         说明:

是否运行在微信小程序中。 2022.05.19 更新

         语法:

OC. isRunningInWxMiniProgram();

         参数:

         返回:

bollean  true | false

         实例:

var isRunningInWxMiniProgram = OC.isRunningInWxMiniProgram();// true/false

2.1.99           setSiderVisible

         说明:

设置侧边是否显示。 2022.05.19 更新

         语法:

OC. setSiderVisible(visible);

         参数:

visible: Boolean 是否显示

         返回:

         实例:

OC.setSiderVisible(false);

2.1.100      setNavMenuVisible

         说明:

设置导航是否显示。 2022.05.19 更新

         语法:

OC. setNavMenuVisible(visible);

         参数:

visible: Boolean 是否显示

         返回:

         实例:

OC.setNavMenuVisible(false);

2.1.101      setLayoutHeadHeight

         说明:

设置 head 高度。 2022.05.19 更新

         语法:

OC. setLayoutHeadHeight(height);

         参数:

height: String ,高度,举例: 200px

         返回:

         实例:

OC.setLayoutHeadHeight( 200px );

2.1.102      encryptByDES

         说明:

实现 DES 加密。 (2021-12-24 新增 )

         语法:

OC.encryptByDES(message, secretKey);

         参数:

message : string 要加密的字符串

secretKey: string 秘钥

         返回:

string 加密之后的字符串

         实例:

var encryptStr = OC.encryptByDES(message, secretKey);

2.1.103      setCloseMsgOfCurrentLocation

         说明:

设置当前路由对应的窗口的关闭提示语。仅 TabWin 关闭窗口时生效。 (2024-10-24 新增 )

         语法:

OC. setCloseMsgOfCurrentLocation (closeMsg);

         参数:

closeMsg : string 必须 提示语内容

返回:

string 加密之后的字符串

         实例:

OC.setCloseMsgOfCurrentLocation (‘ 确定要关闭当前窗口吗? ’);

2.1.104      setCloseMsgByPathname

         说明:

设置指定路由对应的窗口的关闭提示语。仅 TabWin 关闭窗口时生效。 (2024-10-24 新增 )

         语法:

OC. setCloseMsgByPathname (closeMsg, pathname);

         参数:

closeMsg : string 必须 提示语内容

pathname: string 指定的路由

         返回:

         实例:

OC.setCloseMsgByPathname (‘ 确定要关闭当前窗口吗? , /user/info ’);

 

2.1.105      needRefreshComponentDataInCreateEvent

         说明:

切换页签后,是否需要刷新组件数据。 (2025-01-21 新增 )

         语法:

OC.needRefreshComponentDataInCreateEvent(payload) ;

         参数:

payload 必须 any 参数, jsAction payload 参数

         返回:

boolean

         实例:

/** payload 中的值大致如下:

    {

        tabWindowAlreadyMounted: false, // 当前窗口是否已装载

        cmpInstance: { // 当前窗口组件实例

            componentId: "9349f760-30f9-4170-b9fc-46f4fa95d51a", // 窗口组件 Id

            componentName: "Layout_OrgType", // 窗口组件名

            componentType: "Window" // 组件类型

        }

    }

*/

if (OC.needRefreshComponentDataInCreateEvent(payload)) {

    // OC.queryTable(Table1);

}

 

 

 

 

 

 

2.2          Window组件通用方法

Window 组件提供的通用方法,以 ocWindow 作为前缀,具体如下:

2.2.1               getComponentByName

         说明:

ocWindow.getComponentByName(componentName) 方法用于通过 componentName 获取该组件的实例;

         语法:

ocWindow.getComponentByName(componentName);

         参数:

componentName 必须的 string 通过该字符串进行查找,具有唯一性

         返回:

JSON 格式的组件实例数据或者 null

         实例:

var componetInstance = ocWindow.getComponentByName('role');

2.2.2               setWindowModifiedStatus

         说明:

ocWindow.setWindowModifiedStatus(status) 方法用于显式地设置当前 window 中数据的修改状态,若为已修改,离开页面则会提示是否保存数据;

         语法:

ocWindow.setWindowModifiedStatus(status);

         参数:

status 必须的 boolean  是否已修改

         返回:

         实例:

ocWindow.setWindowModifiedStatus(true);

2.2.3               goBack

         说明:

ocWindow.goBack() 执行返回上一页操作,如果当前 window 是弹框 /drawer ,则执行关闭 弹框 /drawer 。此方法可替代 OC.closeModal 2019-11-26 新增)

         语法:

ocWindow.goBack();

         参数:

         返回:

         实例:

ocWindow.goBack();

2.2.4               getContexts

         说明:

ocWindow.getContexts() 方法用于获取当前 window 上下文相关数据。此方法可替代 OC.getWindowContexts 2019-11-26 新增)

         语法:

ocWindow.getContexts();

         参数:

         返回:

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

         实例:

var windowContext = ocWindow.getContexts();

2.2.5               close

         说明:

ocWindow.close() 方法关闭指定的窗口。此方法在某些情况下可替代 OC.goBack() 2020-06-28 新增)

说明:如果可以获取要关闭的 window 的实例并且此 window 是 弹框 /drawer ,则可使用 ocWindow.close() 执行关闭操作。

         语法:

ocWindow.close();

         参数:

         返回:

         实例:

ocWindow.close();

2.2.6               showPathComponentIdFromRootToCurrent

         说明:

ocWindow.showPathComponentIdFromRootToCurrent(targetComponentId) 获取指定组件的 ComponentId 路径。 2022-05-19 更新)

说明:此方法是在做问卷相关功能时新增,其他场景暂未测试。

         语法:

ocWindow.showPathComponentIdFromRootToCurrent(targetComponentId);

         参数:

targetComponentId String ,指定组件的 componentId

         返回:

componentId 组成的数组, [string]

         实例:

var componentIds =  ocWindow.showPathComponentIdFromRootToCurrent(targetComponentId);

2.2.7               showQuestion

         说明:

ocWindow.showQuestion(questionId) 显示指定 questionId 的组件。 2022-05-19 更新)

说明:此方法是在做问卷相关功能时新增,其他场景暂未测试。

         语法:

ocWindow.showQuestion(questionId);

         参数:

questionId String ,指定组件的 questionId

         返回:

         实例:

ocWindow.showQuestion(questionId);

2.2.8               hideQuestion

         说明:

ocWindow.hideQuestion(questionId) 隐藏指定 questionId 的组件。 2022-05-19 更新)

说明:此方法是在做问卷相关功能时新增,其他场景暂未测试。

         语法:

ocWindow.hideQuestion(questionId);

         参数:

questionId String ,指定组件的 questionId

         返回:

         实例:

ocWindow.hideQuestion(questionId);

2.2.9               setQuestionVisible

         说明:

ocWindow.setQuestionVisible(questionId, true) 设置指定 questionId 的组件是否显示。 2022-05-19 更新)

说明:此方法是在做问卷相关功能时新增,其他场景暂未测试。

         语法:

ocWindow.setQuestionVisible(questionId, visible);

         参数:

questionId String ,指定组件的 questionId

visible Boolean ,是否显示

         返回:

         实例:

ocWindow.setQuestionVisible(questionId, true);

2.2.10           getQuestionVisible

         说明:

ocWindow.getQuestionVisible(questionId) 获取指定 questionId 的组件是否显示。 2022-05-19 更新)

说明:此方法是在做问卷相关功能时新增,其他场景暂未测试。

         语法:

ocWindow.getQuestionVisible(questionId);

         参数:

questionId String ,指定组件的 questionId

         返回:

true/false  Boolean

         实例:

ocWindow.getQuestionVisible(questionId);

2.2.11           gotoQuestion

         说明:

ocWindow.gotoQuestion(targetQuestionId) 跳转到指定 targetQuestionId 的组件。 2022-05-19 更新)

说明:此方法是在做问卷相关功能时新增,其他场景暂未测试。

         语法:

ocWindow.gotoQuestion(targetQuestionId);

         参数:

targetQuestionId String ,指定组件的 questionId

         返回:

         实例:

ocWindow.gotoQuestion(targetQuestionId);

2.2.12           setMaskClosable

         说明:

ocWindow.modalRef .setMaskClosable ( maskClosable ) 设置点击弹框之外的空白处是否自动关闭弹框。 202 4 -0 2 - 26 更新)

说明:此方法仅在一龄项目时有效。

         语法:

ocWindow.modalRef .setMaskClosable ( false );

         参数:

maskClosable Boolean true / false

         返回:

         实例:

ocWindow.modalRef.setMaskClosable (false); / / 点击空白处不可关闭

ocWindow.modalRef.setMaskClosable ( true );  / / 点击空白处可以关闭

2.3          组件实例相关方法

以下说明中用到的实例 : var componetInstance = ocWindow.getComponentByName('role');

2.3.1               getComponentType

         说明:

componetInstance.getComponentTyp() 用于通过获取当前组件的 componentType

         语法:

componetInstance.getComponentType();

         参数:

         返回:

string

         实例:

var currentComponentType = componentInstance.getComponentType();

2.3.2               disable

         说明:

componetInstance.disable() 用于将某个 formItem 组件设置为不可用状态。目前该方法只对 formItem 组件生效。

         语法:

componetInstance.disable();

         参数:

         返回:

         实例:

componetInstance.disable();

2.3.3               enable

         说明:

componetInstance.enable() 用于将某个 formItem 组件设置为可用状态。目前该方法只对 formItem 组件生效。

         语法:

componetInstance.enable();

         参数:

         返回:

         实例:

componetInstance.enable();

2.3.4               setVisible

         说明:

componetInstance.setVisible(boolean) 用于显示 / 隐藏某个组件。

         语法:

componetInstance.setVisible(boolean);

         参数:

         返回:

         实例:

componetInstance.setVisible(false);  // 隐藏

2.3.5               isVisible

         说明:

componetInstance.isVisible() 用于获取某个组件的显示状态 ( 显示 / 隐藏 )

         语法:

componetInstance.isVisible();

         参数:

         返回:

Boolean(true/false)

         实例:

var currentComponentIsVisible = componetInstance.isVisible();

2.3.6               getStyle

         说明:

componetInstance.getStyle() 用于获取某个组件的 css 配置信息。

         语法:

componetInstance.getStyle();

         参数:

         返回:

JSON 格式的 css 数据 .

         实例:

var currentComponentStyle = componetInstance.getStyle();

2.3.7               setStyle

         说明:

componetInstance.setStyle(string) 用于获取某个组件的 css 配置信息。

         语法:

componetInstance.setStyle(string);

         参数:

JSON 格式的 css 字符串 .

         返回:

         实例:

var styles = '{ ¥ "color ¥ ": ¥ "red ¥ ", ¥ "background-color ¥ ": ¥ "blue ¥ "}';  componetInstance.setStyle(style);

2.3.8               getValue

         说明:

componetInstance.getValue() 用于获取某个组件的 value 值。 只有表 2-4-8 中列出的组件才有该方法

         语法:

componetInstance.getValue();

         参数:

         返回:

如下表 2-4-8 所示:

序号

componentType

返回值类型

返回值举例

1

Form

Json object

{name: "Jack", age: 23,...}

2

Calendar

Array

[{id: "123", ...}...]

3

Table

Array

[{id: "123", ...}...]      

4

CheckboxGroup

Array

['string1', 'string2', ...]   // string[]

5

DatePicker

String

2019-01-18

6

RangePicker

Array

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

7

Input

String

'hello'

8

Radio

String | Number | Boolean

'string' | 123 | true

9

RichEditor

String

'<p>hello</p>'

10

Select

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

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

11

TextArea

String

'hello'

12

Upload

String | Array( 上传多个 )

'url' | ['url1', 'url2', ...]

13

TimePicker

String

'14:15:16'

14

Checkbox

Boolean

true | false

15

TableForm

Array

[{id: "123", ...}...] 

16

SubForm

Array|json

[{name: "Jack", age: 23, ...}] | {name: "Jack", age: 23...}

17

ColorPicker

String

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

18

SearchInput

String

'Jack'

2-4-8

         实例:

var value = componetInstance.getValue();

2.3.9               setValue

         说明:

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

         语法:

componetInstance.setValue(any);

         参数:

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

         返回:

         实例:

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

序号

componentType

参数类型

参数举例

1

DatePicker

String

'2019-01-18'

2

RangePicker

Array

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

3

Input

String

'hello'

4

Select

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

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

5

TextArea

String

'hello'

6

Upload

String | Array( 上传多个 )

'url' | ['url1', 'url2', ...]

7

TimePicker

String

'14:15:16'

8

Checkbox

Boolean

true | false

9

Cascader

Array

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

10

SubForm

Array | Json

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

1 1

ColorPicker

String

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

1 2

SearchInput

String

'Jack'

2-4-9

 

2.4          Form组件独有方法

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

2.4.1               getFieldsValue

         说明:

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

         语法:

formIns.getFieldsValue();

         参数:

         返回:

Json 格式的 value 数据;

         实例:

var formValues= formIns.getFieldsValue();

2.4.2               validateFields

         说明:

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

         语法:

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

         参数:

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

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

values: 当前 Form value

         返回:

         实例:

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

2.4.3               resetFields

         说明:

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

         语法:

formIns.resetFields();

         参数:

         返回:

         实例:

formIns.resetFields();

2.4.4               clean

         说明:

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

         语法:

formIns.clean();

         参数:

         返回:

         实例:

formIns.clean();

2.4.5               setFieldsValue

         说明:

formIns.setFieldsValue() 用于给当前 Form 组件赋值。 请注意,此方法用于增量更新 Form 的值,如果需求清空 Form 数据,请使用 clean 方法。

         语法:

formIns.setFieldsValue();

         参数:

Json 格式的数据 .

         返回:

         实例:

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

2.4.6               setLastSavedValues

         说明:

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

         语法:

formIns.setLastSavedValues(values);

         参数:

Json 格式的数据 .

         返回:

         实例:

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

 

2.4.7               getFieldSet

         说明:

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

         语法:

formIns.getFieldSet();

         参数:

.

         返回:

string 详情见举例

         实例:

var fieldSet = formIns.getFieldSet();

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

2.4.8               getReadonlyStyle

         说明:

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

         语法:

formIns.getReadonlyStyle();

         参数:

.

         返回:

string 详情见举例

         实例:

var fieldSet = formIns.getReadonlyStyle();

fieldSet 值如下: label 或者 disable

2.4.9               getEntityName

         说明:

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

         语法:

formIns.getEntityName();

         参数:

.

         返回:

string 当前 form 配置的 entityName

         实例:

var entityName= formIns.getEntityName();

2.4.10           getAuthority

         说明:

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

         语法:

formIns.getAuthority();

         参数:

.

         返回:

json 格式的数据 详见举例

         实例:

var authority = formIns.getAuthority();

authority 的值如下:

{

     "_canEdit": true,

     "_canDelete": true,

     "sex": {

          "_canEdit": false,

          "_canAccess": false

     },

     "birthday": {

          "_canEdit": false,

          "_canAccess": true

      },

"contacts": {

"_canEdit": false,

"_canAccess": true,

"data": [

{

"_rowid": "xxx",

"_canEdit": false,

"_canDelete": true

}

]

}

}

 

2.4.11           triggerValidationWhenSubmit

         说明:

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

         语法:

formIns.triggerValidationWhenSubmit();

         参数:

.

         返回:

boolean  true|false

         实例:

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

 

2.4.12           triggerFieldsValidation

         说明:

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

         语法:

formIns.triggerFieldsValidation(formItemNames);

         参数:

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

         返回:

boolean  true|false

         实例:

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

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

2.4.13           cleanFieldsValidationRules

         说明:

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

 

         语法:

formIns.cleanFieldsValidationRules(formItemNames, nowValidation);

         参数:

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

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

         返回:

         实例:

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

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

2.4.14           restoreFieldsValidationRules

         说明:

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

         语法:

formIns.restoreFieldsValidationRules(formItemNames, nowValidation);

         参数:

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

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

         返回:

         实例:

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

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

2.4.15           setValidationRule

         说明:

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

 

         语法:

formIns.setValidationRule(formItemName, rules, nowValidation);

         参数:

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

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

rules: rule[] 

rule 定义:

{

    /** validation error message */

    message?: React.ReactNode;

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

    type?: string;

    /** indicates whether field is required */

    required?: boolean;

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

    whitespace?: boolean;

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

    len?: number;

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

    min?: number;

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

    max?: number;

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

    enum?: string | string[];

    /** validate from a regular expression */

    pattern?: RegExp;

    /** transform a value before validation */

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

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

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

};

         返回:

实例:

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

2.4.16           getValidationRule

         说明:

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

         语法:

formIns.getValidationRule(formItemName);

         参数:

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

         返回:

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

实例:

formIns.setValidationRule('age');

 

 

 

2.4.17           setFormItemsEditable

         说明:

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

 

         语法:

formIns.setFormItemsEditable(formItemNames, editable);

         参数:

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

editable:  boolean 是否可编辑

         返回:

         实例:

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

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

2.4.18           setExcludeFormItemsEditable

         说明:

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

         语法:

formIns.setExcludeFormItemsEditable(excludeFormItemNames, editable);

         参数:

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

editable:  boolean 是否可编辑

         返回:

         实例:

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

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

2.4.19           setFormItemsVisible

         说明:

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

         语法:

formIns.setFormItemsVisible (formItemNames, visible);

         参数:

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

visible:  boolean 是否可编辑

         返回:

         实例:

// 隐藏 name sex 两个字段

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

2.4.20           getEagerProperties

         说明:

C mpIns. getEagerProperties () 获取 For m / Table 组件配置的 eagerProperties 的属性值。 ( 2024.04.03 新增 )

         语法:

C mpIns. getEagerPropertie s () ;

         参数:

         返回:

s tring

         实例:

/ / F orm 组件

FormIns . getEagerPropertie s( ) ;

/ / T able 组件

T ableIns. getEagerPropertie s( ) ;

 

 

2.4.21           s etEagerProperties

         说明:

Cmp Ins. setEagerProperties ( eagerProp ) 设置 Form /Table 组件配置的 eagerProperties 的属性值。

( 2024.04.03 新增 )

         语法:

Cmp Ins. setEagerProperties() ;

         参数:

eagerProperties : string 必须

         返回:

         实例:

/ / Form 组件

F ormIns.s etEagerPropertie s('name ,person#age ' ) ;

// Table 组件

TableIns.s etEagerPropertie s('name ,person#age ' ) ;

 

2.4.22           setFormItemCustomizedFeedback

         说明:

自定义校验。 ( 202 5 .0 1 . 21 新增 )

         语法:

formIns.setFormItemCustomizedFeedback(formItemName, customizedFeedback) ;

         参数:

formItemName: 必须 string 指定需要设置自定义校验的字段名称

customizedFeedback: 必须 any 参数

              validateStatus: 校验状态 'success', 'warning', 'error', 'validating'

              hasFeedback :用于给输入框添加反馈图标。

              help :设置校验文案。

         返回:

         实例:

formIns.setFormItemCustomizedFeedback(age, {validateStatus: 'error', help: ' 年龄是必填项 '});

2.5          FormItem共有方法

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

 

2.5.1               setFormItemLabel

         说明:

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

         语法:

formIns.setFormItemLabel(label);

         参数:

label: string  必须 要设置的 label

         返回:

         实例:

formItem.setFormItemLabel('testSetLabel');

2.5.2               setEditable

         说明:

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

         语法:

formIns.setEditable(editable);

         参数:

editable boolean 必须 是否可编辑

         返回:

         实例:

formItem.setEditable(true);

2.5.3               setReadOnlyStyle

         说明:

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

         语法:

formIns.setReadOnlyStyle(readonlyComponentStyle);

         参数:

readonlyComponentStyle string 必须 BasedOnForm | label | disable

         返回:

         实例:

formItem.setReadOnlyStyle('label');

2.5.4               getEditable

         说明:

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

         语法:

formIns.getEditable();

         参数:

         返回:

boolean

         实例:

var editable = formItem.getEditable();

2.5.5               getAccessable

         说明:

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

         语法:

formIns.getAccessable();

         参数:

         返回:

boolean

         实例:

var accessable= formItem.getAccessable();

 

 

2.6          Button组件独有方法

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

 

2.6.1               enableLoadingState

         说明:

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

         语法:

btnIns.enableLoadingState();

         参数:

         返回:

         实例:

btnIns.enableLoadingState();

2.6.2               disableLoadingState

         说明:

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

         语法:

btnIns.disableLoadingState();

         参数:

         返回:

         实例:

btnIns.disableLoadingState();

2.6.3               setTitle

         说明:

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

         语法:

btnIns.setTitle(title);

         参数:

title: 必须 string

         返回:

         实例:

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

2.6.4               setBadgeContent

         说明:

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

         语法:

btnIns.setBadgeContent(title);

         参数:

title: 必须 number|string

         返回:

         实例:

btnIns.setBadgeContent(10);

2.6.5               setType

         说明:

设置按钮类型。 2022.05.19 更新

         语法:

btnIns.setType(type);

         参数:

type: 必须 string , 'default','primary', 'ghost', 'warning','icon','text', 'link'

         返回:

         实例:

btnIns.setType( link );

 

 

2.7          CheckboxGroup独有方法

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

2.7.1               selectAll

         说明:

checkboxgroupIns.selectAll() 全选。

         语法:

checkboxgroupIns.selectAll();

         参数:

         返回:

         实例:

checkboxgroupIns.selectAll();

2.7.2               deSelectAll

         说明:

checkboxgroupIns.deSelectAll() 全不选。

         语法:

checkboxgroupIns.deSelectAll();

         参数:

         返回:

         实例:

checkboxgroupIns.deSelectAll();

2.8          Label组件独有方法

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

2.8.1               getContent

         说明:

labelIns.getContent() 获取 content 的值。

         语法:

labelIns.getContent();

         参数:

         返回:

String

         实例:

var labelContentString = labelIns.getContent();

2.8.2               setValue

         说明:

labelIns.setValue(value) 设置 content 的值。

         语法:

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

         说明:

selectIns.refreshOptions() 刷新选项数据。 2020-10-16 新增)

         语法:

selectIns.refreshOptions();

         参数:

         返回:

         实例:

selectIns.refreshOptions();

2.10.3           selectedAll

         说明:

selectIns.selectedAll() 选中所有选项。 2022.05.19 更新

         语法:

selectIns.selectedAll();

         参数:

         返回:

         实例:

selectIns.selectedAll();

 

 

 

2.11     Table组件独有方法

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

2.11.1           getPagination

         说明:

tableIns.getPagination() 获取分页信息。

         语法:

tableIns.getPagination();

         参数:

         返回:

Json 格式数据

         实例:

var pagination = tableIns.getPagination();

pagination 的值如下:

{

    "current": 1,                

    "onChange": function(){   

        

    },

    "onShowSizeChange": function(){

        

    },

    "pageSize": 10,             

    "pageSizeOptions": [

        10,

        20,

        30,

        40

    ],

    "position": "bottom",

    "showQuickJumper": true,

    "showSizeChanger": false

}

 

2.11.2           expandRows

         说明:

tableIns.expandRows() 有树形结构的 table 数据时,展开所有节点。

         语法:

tableIns.expandRows();

         参数:

         返回:

         实例:

tableIns.expandRows();

2.11.3           collapseRows

         说明:

tableIns.collapseRows() 有树形结构的 table 数据时,折叠所有节点。

         语法:

tableIns.collapseRows();

         参数:

         返回:

         实例:

tableIns.collapseRows();

2.11.4           getTableHeaderForExport

         说明:

tableIns.getTableHeaderForExport() 获取导出的字段明细。

         语法:

tableIns.getTableHeaderForExport();

         参数:

         返回:

Array 详见实例

         实例:

var tableHeaderForExport= tableIns.getTableHeaderForExport();

tableHeaderForExport 的值如下:

[

    {

        fieldName: "name",

        title: " 姓名 "

    },

    {

        fieldName: "sex",

        title: " 性别 "

    }

]

2.11.5           getTableConfigurationState

         说明:

tableIns.getTableConfigurationState() 获取 table 的一部分配置信息。

         语法:

tableIns.getTableConfigurationState();

         参数:

         返回:

Json 详见实例

         实例:

var tableConfigurationState= tableIns.getTableConfigurationState();

tableHeaderForExport 的值如下:

{

      pagination: {current: 1, pageSize: 2, ...},

      filters: [ {fieldName : "name" , fieldValue : "adfaf" , operator : "like"} , ... ],

      sorter: {sex: "ascend", ...},

      selectedRows: [{'_rowid':'123', 'name':'Jack'}, ...]

}

2.11.6           addColumnForHyperLink

         说明:

tableIns.addColumnForHyperLink(columnName) 将指定列显示为超链。

         语法:

tableIns.addColumnForHyperLink(columnName);

         参数:

columnName: string 必须 指定列的 dataIndex (字段名称)

         返回:

实例:

tableIns.addColumnForHyperLink('name');

2.11.7           addColumnColorMapping

         说明:

tableIns.addColumnColorMapping(columnName, colorMapping) 给指定列设置指定条件的显示颜色。

         语法:

tableIns.addColumnColorMapping(columnName, colorMapping);

         参数:

columnName: string 必须 指定列的 dataIndex (字段名称)

colorMapping: json 格式数据, 必须, 详见举例

         返回:

实例:

var colorMapping = {'17': 'red','27':'#00ff00'};

tableIns.addColumnColorMapping('age', colorMapping );

2.11.8           setOperatorColumnVisible

         说明:

tableIns.setOperatorColumnVisible(visible) 设置操作列是否显示。

         语法:

tableIns.setOperatorColumnVisible(visible);

         参数:

visible: boolean 必须 操作列是否显示 true / false

         返回:

实例:

tableIns.setOperatorColumnVisible(true); // 显示操作列

tableIns.setOperatorColumnVisible(false); // 隐藏操作列

2.11.9           setRowSelectionType

         说明:

tableIns.setRowSelectionType(type) 设置 table 行的可选择类型

         语法:

tableIns.setRowSelectionType(type);

         参数:

type: string 必须 table 行的可选择类型  checkbox|radio|null  多选 | 单选 | 不可选

         返回:

         实例:

tableIns.setRowSelectionType('checkbox'); // 可多选

tableIns.setRowSelectionType('radio'); // 可单选

tableIns.setRowSelectionType(null); // 不可选

2.11.10      getSubTableWinInsByRowId

         说明:

根据 _rowid 获取当前行打开的子 table 所在的 window 实例。 (2019-11-27 新增 )

         语法:

tableIns.getSubTableWinInsByRowId(_rowid)

         参数:

_rowid: string 必须 table 被打开的行的 _rowid

         返回:

object window 实例

         实例:

var subWindow = tableIns.getSubTableWinInsByRowId('xxxx'); // 得到子 table 所在的 window 的实例。

2.11.11      update

         说明:

更新当前 table 的数据(重新请求接口)。 (2019-11-27 新增 )

         语法:

tableIns.update()

         参数:

         返回:

         实例:

tableIns.update();

2.11.12      updateSubTableDataSource

         说明:

更新指定行打开的子 table 的数据(重新请求接口)。 (2019-11-27 新增 )

         语法:

tableIns.updateSubTableDataSource(_rowid, componentName)

         参数:

_rowid: string 必须 指定的已经打开子 table 的行的 _rowid;

componentName: string 必须 已打开的子 table 所在的 window 中指定的 table componentName

         返回:

         实例:

tableIns.updateSubTableDataSource('xxx','Table01');

2.11.13      setLoading

         说明:

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

         语法:

tableIns.setLoading(true/false);

         参数:

boolean 是否显示

         返回:

         实例:

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

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

2.11.14      refreshColumnOptionsByDataIndex

         说明:

刷新 table 指定列的 options (2020-10-16 新增 )

         语法:

tableIns.refreshColumnOptionsByDataIndex(dataIndex);

         参数:

dataIndex: string 需要刷新的列的 dataIndex

         返回:

         实例:

tableIns.refreshColumnOptionsByDataIndex('sex');

 

2.11.15      setTableFilters

         说明:

动态设置 table 的查询条件。 (2021-10-11 新增 )

         语法:

tableIns. setTableFilters ( newFilters, updateNow) ;

         参数:

newFilters : any[] 必须 新的过滤条件 ;

updateNow: bollean 是否立刻更新,默认为 false

         返回:

         实例:

var newFilters = [ {fieldName : "name" , fieldValue : "adfaf" , operator : "like"} , ... ] ;

tableIns. setTableFilters ( newFilters, true ) ;

2.11.16      setRowMergeGroup

         说明:

table 行进行分组合并。 (2021-10-11 新增 )

         语法:

tableIns. setRowMergeGroup ( rowMergeGroup , functions) ;

         参数:

rowMergeGroup : [] 必须 要合并的组 ;

functions: 回调函数

         返回:

         实例:

var ds = tableIns.getDataSource();

var rowMergeGroup = ds.map(function(item) {

      return {

            _rowid: item._rowid,

            sunday: false,

     }

});

tableIns.setRowMergeGroup(rowMergeGroup, function() {

    console.log(' 回调执行 ');

});

2.11.17      setTableMiniOperator

         说明:

设置 table 操作列是否简化。 (2021-10-11 新增 )

         语法:

tableIns. setTableMiniOperator (boolean);

         参数:

boolean 是否简化

         返回:

         实例:

tableIns. setTableMiniOperator ( true );

2.11.18      setCustomColumns

         说明:

设置 table 列。注意,此方法会删除原有的列,所以要先通过 self.uiMetaData.componentChildren 获取到原有的列的相关数据,然后将需要新增加的列放到指定的位置,然后执行此方法更新表格 (2022.06.08)

         语法:

tableIns.setCustomColumns(columns);

         参数:

columns 列信息

         返回:

         实例:

var columns = [{

    "dataIndex": "type",  // 字段名称

    "options": [],  // 参考信息,如果没有参考,不需要此字段

    "componentId": "af3640a3-62d9-4431-8bac-36be8713f2cb", // 唯一 id

    "componentType": "Column", // 固定值

    "componentChildren": [], // 固定值

    "events": [], // 事件

    "visible": true,// 此列是否可见 布尔值

    "componentName": "allNum_ColumnallNum",// 组件名称,语义化,唯一

    "jsonPathName": "type",// 与字段名称 dataIndex 保持一致

    "title": " 类别 ",// 列头名称

    "showFilter": true,// 是否显示表头过滤 布尔值

}]

 

tableIns.setCustomColumns(columns);

2.11.19      setToolbarOperationVisible

         说明:

设置 table 组件中 toolbar 中的操作按钮是否显示。 (202 4 - 02 - 26 新增 )

说明:此方法仅在一龄项目时有效。

         语法:

tableIns. setToolbarOperationVisible ( visibles );

         参数:

visibles component Name 作为 Key visible 作为 value JSON 对象

         返回:

         实例:

tableIns. setToolbarOperationVisible ({ ‘delete-btn’: false , ‘edit-btn’: false });

2.11.20      setToolbarDefaultButtonVisible

         说明:

设置 table 组件中 toolbar 中的 defaultButton 是否显示。 (202 4 - 02 - 27 新增 )

说明:此方法仅在一龄项目时有效。

         语法:

tableIns. setToolbarDefaultButtonVisible ( visibles );

         参数:

visible : Boolean / / true / false

         返回:

         实例:

tableIns. setToolbarDefaultButtonVisible ( false )

2.11.21      setToolbarDropdownVisible

         说明:

设置 table 组件中 toolbar 中的 dropdown 是否显示。 (202 4 - 02 - 27 新增 )

说明:此方法仅在一龄项目时有效。

         语法:

tableIns. setToolbarDropdownVisible ( visibles );

         参数:

visible : Boolean / / true / false

         返回:

         实例:

tableIns. setToolbarDropdownVisible ( false )

2.11.22      setToolbarDropdownContextMenuVisible

         说明:

设置 table 组件中 toolbar d ropdown 的下拉按钮是否显示。 (202 4 - 02 - 27 新增 )

说明:此方法仅在一龄项目时有效。

         语法:

tableIns. setToolbarDropdownContextMenuVisible ( visibles );

         参数:

visibles component Name 作为 Key visible 作为 value JSON 对象

         返回:

         实例:

tableIns. setToolbarDropdownContextMenuVisible ({ ‘delete-btn’: false , ‘edit-btn’: false });

2.11.23      setS croll

         说明:

设置 table 组件中滚动区域的宽和高。 (202 4 - 02 - 29 更新 )

说明:此方法仅在一龄项目时有效。

         语法:

tableIns. setS croll ( scroll );

         参数:

scroll : JSON 格式的数据,详见样例

         返回:

         实例:

tableIns.setScroll({ ‘x’: 1500 , ‘y’: 500 }); / / 设置滚动区域的宽 1500 px ,滚动区域的高 500 px

2.11.24      dynamicSetScrollAreaHeight

         说明:

动态设置(自适应) table 组件中滚动区域的宽和高。 (202 4 - 0 9- 2 0 更新 )

         语法:

tableIns. dynamicSetScrollAreaHeight ( staticHeightOffset , minHeight , maxHeight );

         参数:

staticHeightOffset : number ,必填,滚动区域偏移量,比如:值 200 ,此时滚动区域的高是 100% - 200px

minHeight number ,必填,滚动区域最小高度;

maxHeight number ,可选,滚动区域最大高度;必须大于 minHeight

 

         返回:

         实例:

tableIns. dynamicSetScrollAreaHeight (200, 300, 1500);

/ / 动态设置滚动区域的高 100% - 200px ,最大值 1500px ,最小值 300px

2.11.25      setIsShowSearchForm

         说明:

动态设置是否显示 SearchForm (202 4 -11-18 更新 )

         语法:

tableIns. setIsShowSearchForm (visible);

         参数:

visible: boolean ,必填 ,  true/false

 

         返回:

         实例:

tableIns. setIsShowSearchForm (false);

/ / 动态隐藏 Table searchForm

 

2.11.26      handleResizeScrollYHeight

         说明:

动态设置表格滚动区域的高。 (2025-01-21 新增 )

         语法:

tableIns.handleResizeScrollYHeight();

         参数:

         返回:

         实例:

tableIns.handleResizeScrollYHeight();

 

 

 

 

2.12     Tabs组件独有方法

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

2.12.1           selectTab

         说明:

tabIns.selectTab(activeKey) 设置选中的 tab 页签。

         语法:

tabIns.selectTab(activeKey);

         参数:

activeKey 必须 String

         返回:

         实例:

tabIns.selectTab('tab01');

2.12.2           getPaneCount

         说明:

获取 tabsIns tabPane 的数量。

         语法:

tabsIns.getPaneCount();

         参数:

         返回:

数量 Number

         实例:

tabsIns.getPaneCount();

2.12.3           getActiveKey

         说明:

获取 tabsIns 中当前显示的 tabPane key (2020-03-10)

         语法:

tabsIns.getActiveKey();

         参数:

         返回:

string

         实例:

var activeKey = tabsIns.getActiveKey();

2.12.4           handleLoadingPaneUIByKey

         说明:

静默加载 tabsIns 中当指定 Key tabPane (2020-10-16)

         语法:

tabsIns.handleLoadingPaneUIByKey(key);

         参数:

key: string 需要静默加载的 tabPane key

         返回:

         实例:

tabsIns.handleLoadingPaneUIByKey('001');

2.12.5           removePanel

         说明:

删除 tabsIns 中当指定 Key tabPane (2021-10-11)

         语法:

tabsIns. removePanel (key);

         参数:

key: string 需要静默加载的 tabPane key

         返回:

         实例:

tabsIns. removePanel ('001');

2.12.6           removePanelAndTriggerEvent

         说明:

删除 tabsIns 中当指定 Key tabPane 并触发事件。 (2021-10-11)

         语法:

tabsIns. removePanel (key);

         参数:

key: string 需要静默加载的 tabPane key

         返回:

         实例:

tabsIns. removePanelAndTriggerEvent ('001');

 

2.12.7           setAddButtonVisible

         说明:

设置 T abs 组件右侧的增加按钮是否可见。 (2021-10-11)

         语法:

tabsIns. setAddButtonVisible ( visible );

         参数:

visible : bollean true | false

         返回:

         实例:

tabsIns. setAddButtonVisible ( false );

2.12.8           getAddButtonVisible

         说明:

获取 T abs 组件右侧的增加按钮是否可见。 (2021-10-11)

         语法:

tabsIns. getAddButtonVisible ();

         参数:

         返回:

true | false

         实例:

tabsIns. getAddButtonVisible ();

2.12.9           setType

         说明:

设置 T abs 组件的显示类型。 (2021-10-11)

         语法:

tabsIns.setType(type);

         参数:

type sting  可选值: line 直线式 | card 卡片式 | borderRadius 圆角式 | editable-card 可编辑卡片式

         返回:

         实例:

// T abs 组件设置为卡片式

tabsIns.setType( ‘card’ );

2.12.10      g etType

         说明:

获取 T abs 组件的显示类型。 (2021-10-11)

         语法:

tabsIns.getType();

         参数:

         返回:

string line | card | borderRadius | editable-card

         实例:

tabsIns.getType();

2.12.11      set Editable

         说明:

设置 T abs 组件是否可编辑。 (2021-10-11)

         语法:

tabsIns. setEditable (editable);

         参数:

editable bollean   true | false

         返回:

         实例:

tabsIns. setEditable ( true );

 

2.12.12      g et Editable

         说明:

获取 T abs 组件是否可编辑。 (2021-10-11)

         语法:

tabsIns.g etEditable ();

         参数:

         返回:

true | false

         实例:

tabsIns. getEditable ();

 

2.13     TableForm组件独有方法

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

2.13.1           setValueByDataIndex

         说明:

tableFormIns.setValueByDataIndex(rowId, dataIndexName, value) 设置指定行中的指定字段的值。

         语法:

tableFormIns.setValueByDataIndex(rowId, dataIndexName, value);

         参数:

rowId 必须 String  需要更新的行的 rowId

dataIndexName 必须 String  需要更新的列的 dataIndex

value 必须 any

         返回:

         实例:

var rowId = payload._rowid; tableFormIns.setValueByDataIndex(rowId, 'name', 'Jack');

2.13.2           updateValueOptionData

         说明:

Ins.updateValueOptionData(rowId, dataIndexName, data) 更新指定行指定字段的下拉选项。

         语法:

Ins.updateValueOptionData(rowId, dataIndexName, data);

         参数:

rowId: string 必须 指定行的 _rowid

dataIndexName: string 必须 指定字段的名称

data: Array // eg: [{label: ' 老师 ', value: 'teacher'}, {label: ' 学生 ', value: 'student'}]

         返回:

         实例:

var data= [{label: ' 老师 ', value: 'teacher'}, {label: ' 学生 ', value: 'student'}];

Ins.updateValueOptionData('_rowid_xxx', '', data);

2.13.3           setCustomColumnsPrecisionByRowIdAndDataIndex

         说明:

设置指定行的 Input Number 组件的精度。 (202 1 -10-1 1 )

         语法:

tableFormIns. setCustomColumnsPrecisionByRowIdAndDataIndex ( newPrecisionData );

         参数:

newPrecisionData : [ 指定行的精度 // eg: 见实例中的 precisions

         返回:

         实例:

var ds = TableForm.getDataSource();

var precisions = [

   {

     _rowid: ds[0]._rowid,

     testNumber: 0

   },

   {

     _rowid: ds[1]._rowid,

     testNumber: 1

   },

];                                               TableForm.setCustomColumnsPrecisionByRowIdAndDataIndex(precisions);

2.13.4           showAddButton

         说明:

是否展示新增按钮。 (2021-10-11 新增 )

         语法:

TableForm . showAddButton ( visible );

         参数:

visible: bollean  true | false

         返回:

         实例:

TableForm . showAddButton ( visible );

2.14     Table、Calendar组件共有方法

Table Calendar 组件有一些共有的方法,下面用 var Ins = ocWindow.getComponentByName('test'); 作为 2.14.x 中举例的实例进行说明:

2.14.1           setDataSource

         说明:

Ins.setDataSource(data) 给指定的组件赋值。如果当前组件是 TableForm 组件,则此时, TableForm 组件必须是单独使用(脱离 Form 组件)。

         语法:

Ins.setDataSource(data);

         参数:

data: any 必须 data 包括 2 部分, data authority ,详见举例

         返回:

         实例:

var data = {

data: [

{

_rowid: '123', name: 'Jack'

}

],

authority: {},

pagination: {current: 1,pageSize: 10, total: 90, }

};

Ins.setDataSource(data);

2.14.2           getDataSource

         说明:

Ins.getDataSource() 获取指定组件的数据。

         语法:

Ins.getDataSource();

         参数:

         返回:

array

实例:

var data = Ins.getDataSource();

得到的 data 如下:

[

{

_rowid: '123', name: 'Jack'

}

]

2.15     CheckboxGroup、Radio、Select、TreeSelect、Cascader共有方法

CheckboxGroup Radio Select TreeSelect Cascader 组件有一些共有的方法,下面用 var Ins = ocWindow.getComponentByName('test'); 作为 2.15.x 中举例的实例进行说明:

2.15.1           setOptions

         说明:

Ins.setOptions(options) 设置选项。

         语法:

Ins.setOptions(options);

         参数:

options: Array // eg: [{label: ' 老师 ', value: 'teacher'}, {label: ' 学生 ', value: 'student'}]

         返回:

         实例:

var options = [{label: ' 老师 ', value: 'teacher'}, {label: ' 学生 ', value: 'student'}];

Ins.setOptions(options );

2.15.2           setOptions A nd SetValueOfFirstOption

         说明:

Ins.setOptions AndSetValueOfFirstOption (options) 设置选项并将第一个选项的值设为当前组件的值。

(2 024.04.03 新增 )

         语法:

Ins.setOptions AndSetValueOfFirstOption (options);

         参数:

options: Array // eg: [{label: ' 老师 ', value: 'teacher'}, {label: ' 学生 ', value: 'student'}]

         返回:

         实例:

var options = [{label: ' 老师 ', value: 'teacher'}, {label: ' 学生 ', value: 'student'}];

Ins.setOptions AndSetValueOfFirstOption (options );

 

2.15.3           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.4           removeOption

         说明:

Ins.removeOption(optionKey) 删除一个选项。

         语法:

Ins.removeOption(optionKey);

         参数:

optionKey: string 必须 要删除的 options 对应的 value

         返回:

         实例:

Ins.removeOption('001');

2.15.5           removeOptions

         说明:

selectIns.removeOption([optionKey1, optionKey2]) 删除多个选项。

         语法:

selectIns.removeOption([optionKey1, optionKey2]);

         参数:

optionKeys: array 必须 要删除的 options 对应的 value 值组成的数组

         返回:

         实例:

selectIns.removeOptions(['001', '002']);

2.15.6           addOption

         说明:

selectIns.addOption(optionKey, optionLabel) 添加一个选项。

         语法:

selectIns.addOption(optionKey, optionLabel );

         参数:

optionKey: string 必须 要增加的 options 对应的 value

optionLabel: string 必须 要增加的 options 对应的 label

         返回:

         实例:

selectIns.addOption('001', ' 经理 ');

2.15.7           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.8           getOptions

         说明:

获取所有可选项 options (2020-03-21 新增 )

         语法:

selectIns.getOptions();

         参数:

         返回:

options: array

         实例:

var options = selectIns.getOptions();

// options = [

{

'label': 'newLabel',

'value': 'newValue1'

},

{

'label': 'newLabe2',

'value': 'newValue2'

}

];

2.15.9           getSelectedOption

         说明:

获取选中项的 option 仅适用于单选。 (2020-03-21 新增 )

         语法:

selectIns.getSelectedOption();

         参数:

         返回:

option: object 被选中的 option

         实例:

var selectedOption = selectIns.getSelectedOption();

// selectedOption ={

'label': 'newLabel',

'value': 'newValue1'

}

2.15.10      getSelectedLabel

         说明:

获取选中项的 label 仅适用于单选。 (2020-03-21 新增 )

         语法:

selectIns.getSelectedLabel();

         参数:

         返回:

label: string

         实例:

var labelStr= selectIns.getSelectedLabel();

// selectedOption ={

'label': ' ',

'value': 'M'

}

// labelStr = ' '

 

2.16     Table、TableForm共有方法

Table TableForm 组件有一些共有的方法,下面用 var tableIns = ocWindow.getComponentByName('test'); 作为 2.16.x 中举例的实例进行说明:

2.16.1           hasSelectAllRecords

         说明:

tableIns.hasSelectAllRecords() 是否已全选。

         语法:

tableIns.hasSelectAllRecords();

         参数:

         返回:

Boolean  true/false

         实例:

var hasSelectAllRecords= tableIns.hasSelectAllRecords();

2.16.2           getSelectedRowKeys

         说明:

tableIns.getSelectedRowKeys() 获取选中的行 key( 对应一条数据中的 _rowid 字段 )

         语法:

tableIns.getSelectedRowKeys();

         参数:

         返回:

Array 详见实例

         实例:

var selectedRowKeys= tableIns.getSelectedRowKeys();

selectedRowKeys 的值如下:

['256', '2656']

2.16.3           getAuthorityData

         说明:

tableIns.getAuthorityData() 获取权限信息。

         语法:

tableIns.getAuthorityData();

         参数:

         返回:

array 详见举例

实例:

var authorityData = tableIns.getAuthorityData();

authorityData 值范例:

[

    {

        "name": {

"_canEdit": true,

"_canAccess": false,

},

"_canEdit": true,

"_canDelete": false,

        "_rowid": "256"  // _rowid 必须

    }

]

2.16.4           setStyleConfigScript

         说明:

tableIns.setStyleConfigScript( script ) 设置行的内容显示规则的 js 脚本。

         语法:

tableIns.setStyleConfigScript(script);

         参数:

script: string  必须 js 脚本字符串

         返回:

         实例:

tableIns.setStyleConfigScript('if ( record.age === 27 ) { return  1;} return 0;');

2.16.5           setStyleHilites

         说明:

tableIns.setStyleHilites(hilites) 设置行的内容高亮显示。

         语法:

tableIns.setStyleHilites(hilites);

         参数:

hilites: json 格式的数据 必须 js 详见举例

         返回:

         实例:

var hilites= " [ ¥

            { ¥

                fieldName: ['age', 'name'], ¥

                textColor: '#FF0000', ¥

                cellBackgroundColor: '#FFFF00', ¥

textBackgroundColor:  '#FFFF00', ¥

                id:'1' ¥

            } ¥

        ] ¥

 

    ";

tableIns.setStyleHilites(hilites);

2.16.6           getColumnsVisible

         说明:

tableIns.getColumnsVisible() 获取所有列的显示状态。

         语法:

tableIns.getColumnsVisible();

         参数:

         返回:

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

         实例:

var columnsVisible = tableIns.getColumnsVisible();

columnsVisible 的值如下:

{name: true, age: false}

2.16.7           setColumnsVisible

         说明:

tableIns.getColumnsVisible(columnsVisible ) 设置所有列的显示状态。

         语法:

tableIns.getColumnsVisible(columnsVisible );

         参数:

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

         返回:

         实例:

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

tableIns.setColumnsVisible(columnsVisible );

2.16.8           updateColumnsVisible

         说明:

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

         语法:

tableIns.updateColumnsVisible(columnsVisible );

         参数:

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

         返回:

         实例:

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

tableIns.updateColumnsVisible(columnsVisible );

2.16.9           setActiveRow

         说明:

tableIns.setActiveRow(record) 设置选中的行

         语法:

tableIns.setActiveRow(record);

         参数:

{_rowid: string} 

         返回:

         实例:

// 实际运用时,一般将获取到的一条完整的数据作为参数 record record 里面一定包含 _rowid 字段

var record= {_rowid: '101'}

tableIns.setActiveRow(record);

2.16.10      isSelectAll

         说明:

tableIns.isSelectAll() 是否全选

         语法:

tableIns.isSelectAll(record);

         参数:

         返回:

true/false

         实例:

var isSelectAll = tableIns.isSelectAll();  // true / false

2.16.11      getColumnsTitle

         说明:

tableIns.getColumnsTitle() 获取所有列的 title (2020-02-24 新增 )

         语法:

tableIns.getColumnsTitle(record);

         参数:

         返回:

JSON 详见举例

         实例:

var columnsTitle= tableIns.getColumnsTitle();

// columnsTitle 值为: { age: 年龄 , name: 姓名 person#certNo : 证件号码 }

2.16.12      setColumnsTitleByDataIndex

         说明:

tableIns.setColumnsTitleByDataIndex(data) 设置指定列的 title (2020-02-24 新增 )

         语法:

tableIns.setColumnsTitleByDataIndex(data);

         参数:

data 必须 JSON 详见举例

         返回:

实例:

var columnsTitle = { age: ' 年龄 ' , name:' 姓名 ',  'person#certNo': ' 证件号码 '};

tableIns.setColumnsTitleByDataIndex(columnsTitle );

2.16.13      getColumnsOptions

         说明:

tableIns.getColumnsOptions() 获取所有列的 options (2020-02-24 新增 )

         语法:

tableIns.getColumnsOptions();

         参数:

         返回:

JSON 详见举例

         实例:

var columnsOptions= tableIns.getColumnsOptions();

// columnsOptions 值为: { age: [{label: ' ', value: 'F'},{label: ' ', value: 'M'}] , name: []}

2.16.14      setColumnsOptionsByDataIndex

         说明:

tableIns.setColumnsOptionsByDataIndex(data) 设置指定列的 options (2020-02-24 新增 )

         语法:

tableIns.setColumnsOptionsByDataIndex(data);

         参数:

data 必须 JSON 详见举例

         返回:

实例:

var columnsOptions = {age: [{label: ' 2', value: 'F'},{label: ' 2', value: 'M'}] };

tableIns.setColumnsOptionsByDataIndex(columnsOptions );

2.16.15      staticAddRow

         说明:

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

         语法:

tableIns.staticAddRow(data);

         参数:

data 必须 JSON 详见举例

         返回:

         实例:

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

tableIns.staticAddRow(data);

2.16.16      staticDeleteRow

         说明:

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

         语法:

tableIns.staticDeleteRow(data);

         参数:

_rowid 必须 string

         返回:

         实例:

tableIns.staticDeleteRow('123');

2.16.17      staticUpdateRow

         说明:

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

         语法:

tableIns.staticUpdateRow(data);

         参数:

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

         返回:

         实例:

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

tableIns.staticUpdateRow(data);

2.16.18      setCustomColumnsOptionsByRowIdAndDataIndex

         说明:

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

         语法:

tableIns.setCustomColumnsOptionsByRowIdAndDataIndex(data);

         参数:

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

         返回:

实例:

var customOptions = [

{

_rowid: '001',

sex: [{label: ' 2', value: 'F'},{label: ' 2', value: 'M'}],

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

},

{

_rowid: '002',

sex: [{label: ' 2', value: 'F'},{label: ' 2', value: 'M'},{label: ' 其他 ', value: 'U'}],

role: [{label: ' 主任 ', value: '003'},{label: ' 科长 ', value: '004'}]

},

];

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: [{label: ' 2', value: 'F'},{label: ' 2', value: 'M'}],

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

},

{

_rowid: '002',

sex: [{label: ' 2', value: 'F'},{label: ' 2', value: 'M'},{label: ' 其他 ', value: 'U'}],

role: [{label: ' 主任 ', value: '003'},{label: ' 科长 ', value: '004'}]

},

];

2.16.20      setColumnEditable

         说明:

指定某列是否可编辑。 (2021-10-11 新增 )

         语法:

tableIns. setColumnEditable ( dataIndex, enableFlag );

         参数:

dataIndex: string 列名

enableFlag : boolean true | false

         返回:

         实例:

tableIns. setColumnEditable(‘sex’, false) ;

2.16.21      set OperationColumnWidth

         说明:

设置操作列的宽。 (2021-12-21 新增 )

         语法:

tableIns.setOperationColumnWidth(columnWidth);

         参数:

columnWidth : string | number 宽度

         返回:

         实例:

tableIns.setOperationColumnWidth ( '100px' ) ;

tableIns.setOperationColumnWidth ( 100 ) ;

2.16.22      getCurrentPageData

         说明:

获取当前分页对应的数据。 (202 4 - 03 - 13 新增 )

         语法:

tableIns. getCurrentPageData ();

         参数:

         返回:

详见样例。

         实例:

v ar currentPageData = tableIns. getCurrentPageData ();

// currentPageData 结构如下

/ / [{_rowid: xxx, name: xxx, age:xxx}]

2.16.23      getCurrentPageDateSelectInverseRows

         说明:

获取当前分页未勾选的数据。 (202 4 - 03 - 13 新增 )

         语法:

tableIns. getCurrentPageDateSelectInverseRows ();

         参数:

         返回:

详见样例。

         实例:

v ar data = tableIns. getCurrentPageDateSelectInverseRows ();

// data 结构如下

/ / [{_rowid: xxx, name: xxx, age:xxx}]

2.16.24      handleCurrentPageDataSelectAll

         说明:

全选当前分页数据数据。会主动触发对应的 event (202 4 - 03 - 13 新增 )

         语法:

tableIns. handleCurrentPageDataSelectAll ();

         参数:

         返回:

         实例:

tableIns. handleCurrentPageDataSelectAll ();

2.16.25      handleCurrentPageDateSelectInverse

         说明:

反选当前分页数据数据。会主动触发对应的 event (202 4 - 03 - 13 新增 )

         语法:

tableIns. handleCurrentPageDateSelectInverse ();

         参数:

         返回:

         实例:

tableIns. handleCurrentPageDateSelectInverse ();

2.16.26      clearSelectedRows

         说明:

清空已勾选数据。会主动触发对应的 event (202 4 - 03 - 13 新增 )

         语法:

tableIns. clearSelectedRows ();

         参数:

         返回:

         实例:

tableIns. clearSelectedRows ();

2.16.27      setSelectedRowAndHandleEvent

         说明:

tableIns. setSelectedRowAndHandleEvent (selectedRows) 设置 table 选中行并触发 on RowSelect event (202 4 - 03 - 13 新增 )

         语法:

tableIns. setSelectedRowAndHandleEvent (selectedRows);

         参数:

Array 详见实例

         返回:

         实例:

var selectedRows = [

    {

        "name": "Jack",

        "id": "123",

        "_rowid": "256"  // _rowid 必须

    },

    {

        "name": "Jim",

        "id": "1223",

        "_rowid": "2656"

    }

];

tableIns.setSelectedRows(selectedRows);

2.16.28      setCustomColumnsEditInfo

         说明:

tableIns. setCustomColumnsEditInfo (e ditInfo s) 批量设置 table/TableForm 中指定行指定列编辑信息。 (202 4 -08-01 新增 )

         语法:

tableIns. setCustomColumnsEditInfo (e ditInfo s);

         参数:

e ditInfo s Array ,详见实例

         返回:

         实例:

var e ditInfo s = [

    {

        "name":{editable: true, msg: " 该项是必填项 " , required: true},

        "mobile": {editable: true, msg: " 该项是必填项 ", required: true},

"_rowid": "256"  // _rowid 必须

    }

];

tableIns. setCustomColumnsEditInfo (e ditInfo s);

2.16.29      getCustomColumnsEditInfo

         说明:

tableIns. getCustomColumnsEditInfo () 获取 table/TableForm 中已设定的指定行指定列编辑信息。 (202 4 -08-01 新增 )

         语法:

tableIns. getCustomColumnsEditInfo ();

         参数:

         返回:

e ditInfo s Array ,详见实例

         实例:

var e ditInfo s = tableIns. getCustomColumnsEditInfo ();

// e ditInfo s 内容:

var e ditInfo s = [

    {

        "name":{editable: true, msg: " 该项是必填项 " , required: true},

        "mobile": {editable: true, msg: " 该项是必填项 ", required: true},

"_rowid": "256"  // _rowid 必须

    }

];

2.16.30      setEditInfoByRowIdAndDataIndex

         说明:

tableIns. setEditInfoByRowIdAndDataIndex ( rowId, dataIndex, e ditInfo ) ,设置 table/TableForm 指定行指定列编辑信息。 (202 4 -08-01 新增 )

         语法:

tableIns. setEditInfoByRowIdAndDataIndex ( rowId, dataIndex, e ditInfo );

         参数:

rowId: string ,行的 _rowid

dataIndex: string ,列对应的字段名称

editInfo JSON 格式的数据,详见样例。

         返回:

         实例:

var row Id = "256";

var dataIndex = "name";

var editInfo = {editable: true, msg: " 该项是必填项 " , required: true};

tableIns. setEditInfoByRowIdAndDataIndex (rowId, dataIndex, editInfo);

2.16.31      checkCustomColumnsEditInfoRequired

         说明:

tableIns. checkCustomColumnsEditInfoRequired () ,校验 table/TableForm 已设定的指定行指定列编辑信息。 (202 4 -08-01 新增 )

         语法:

tableIns. checkCustomColumnsEditInfoRequired ();

         参数:

无。

         返回:

b oolean

         实例:

var checkResult = tableIns. checkCustomColumnsEditInfoRequired ();

// checkResult 的值: true/false

 

 

2.17     Card 组件独有方法

Card 组件有一些共有的方法,下面用 var cardIns = ocWindow.getComponentByName('card'); 作为 2.17.x 中举例的实例进行说明:

2.17.1           setTitle

         说明:

cardIns.setTitle(title) 设置标题。

         语法:

cardIns.setTitle(title);

         参数:

title: string 必须 要设置的标题

         返回:

         实例:

cardIns.setTitle(' 联系人 ');

2.17.2           setRefWindow

         说明:

cardIns.setRefWindow (windowComponentName) 设置引用窗口。 2022.05.19 更新

         语法:

cardIns.setRefWindow (windowComponentName);

         参数:

windowComponentName: string 必须 要设置的窗口

         返回:

         实例:

cardIns.setRefWindow ('Layout1');

2.17.3           removeRefWindow

         说明:

cardIns.removeRefWindow() 移除引用窗口。 2022.05.19 更新

         语法:

cardIns.removeRefWindow();

         参数:

         返回:

         实例:

cardIns.removeRefWindow();

 

 

2.18     Cascader 组件独有方法

Cascader 组件有一些共有的方法,下面用 var cascaderIns = ocWindow.getComponentByName(cascader); 作为 2.18.x 中举例的实例进行说明:

2.18.1           getOptions

         说明:

cascaderIns.getOptions() 获取下拉选项数据。

         语法:

cascaderIns.getOptions();

         参数:

         返回:

array 详见举例

实例:

var options = cascaderIns.getOptions();

options 的值如下:

[

{

"label": " 北京市 ",

"value": "01",

"children": [

{

"label": " 海淀区 ",

"value": "0101"

}

]

 

}

]

2.19     Table、TableForm、Tree 共有方法

Table TableForm Tree 组件有一些共有的方法,用 var Ins = ocWindow.getComponentByName("test"); 作为 2.19.x 中举例的实例进行说明:

2.19.1           getSelectedRows

         说明:

Ins.getSelectedRows() 获取选中的行。

         语法:

Ins.getSelectedRows();

         参数:

         返回:

Array 详见实例

         实例:

var selectedRows= Ins.getSelectedRows();

selectedRows 的值如下:

[

    {

        "name": "Jack",

        "id": "123",

        "_rowid": "256"

    },

    {

        "name": "Jim",

        "id": "1223",

        "_rowid": "2656"

    }

]

2.19.2           canSelectRecord

         说明:

tableIns.canSelectRecord() 是否可以勾选行。

         语法:

tableIns.canSelectRecord();

         参数:

         返回:

Boolean  true/false

         实例:

var canSelectRecord = tableIns.canSelectRecord();

2.19.3           setSelectedRows

         说明:

tableIns.setSelectedRows(selectedRows) 设置 table 选中行。

         语法:

tableIns.setSelectedRows(selectedRows);

         参数:

Array 详见实例

         返回:

         实例:

var selectedRows = [

    {

        "name": "Jack",

        "id": "123",

        "_rowid": "256"  // _rowid 必须

    },

    {

        "name": "Jim",

        "id": "1223",

        "_rowid": "2656"

    }

];

tableIns.setSelectedRows(selectedRows);

2.20     SubForm 独有方法

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

2.20.1           setRefWindowName

         说明:

subFormIns. setRefWindowName (refWindowName) 重置 SubForm 引用的 window

         语法:

subFormIns.setRefWindowName(refWindowName);

         参数:

refWindowName: string 必须 SubForm 要引用的 window componentName

         返回:

         实例:

subFormIns.setRefWindowName("test_ref_sub_form");

2.20.2           setCanAddState(OneToMany独有)

         说明:

subFormIns.setCanAddState(canAdd) 设置是否显示“添加”按钮。

         语法:

subFormIns.setCanAddState(canAdd);

         参数:

canAdd: boolean 必须

         返回:

         实例:

subFormIns.setCanAddState(true);

2.20.3           setEditable

         说明:

subFormIns.setEditable(editable) 设置是否显示可编辑。

         语法:

subFormIns.setEditable(editable);

         参数:

canAdd: boolean 必须

         返回:

         实例:

subFormIns.setEditable(true);

2.20.4           getChildComponentByName

         说明:

subFormIns.getChildComponentByName( componentName , index) 获取 subForm 组件中某个 Form 中的某个组件。

         语法:

subFormIns.getChildComponentByName(componentName, index);

         参数:

componentName: string 必须 组件名称

index: number // OneToOne ,不需要此参数, OneToMany ,必须

         返回:

要获取的组件的实例

         实例:

OneToMany : subFormIns.getChildComponentByName("form2_input4", 2);

OneToOne  : subFormIns.getChildComponentByName("form2_input4");

 

 

2.21     Form、FormItem共有方法

Form FormItem 组件有一些共有的方法,用 var formIns = ocWindow.getComponentByName("test"); 作为 2.21.x 中举例的实例进行说明:

2.21.1           getEditable

         说明:

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

         语法:

formIns.getEditable();

         参数:

         返回:

boolean

         实例:

var editable = formItem.getEditable();

2.22     Form、FormItem、SubForm共有方法

Form FormItem SubForm 组件有一些共有的方法,用 var formIns = ocWindow.getComponentByName("test"); 作为 2.22.x 中举例的实例进行说明:

2.22.1           setEditable

         说明:

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

         语法:

formIns.setEditable(editable);

         参数:

editable boolean 必须 是否可编辑

         返回:

         实例:

formItem.setEditable(true);

 

2.23     Tabs和Collapse组件共有方法

Tabs Collapse 组件有一些共有的方法,用 var tabsIns = ocWindow.getComponentByName("Tabs"); 作为 2.23.x 中举例的实例进行说明:

2.23.1           setPanelVisible

         说明:

tabsIns.setPanelVisible(key, visible) 设置某个 tabPane 是否显示。

         语法:

tabsIns.setPanelVisible("contact", false);

         参数:

key: string 必须 要操作的 tabPane key

visible: boolean 必须 // true 显示 | false 隐藏

         返回:

         实例:

tabsIns.setPanelVisible("contact", false);

2.23.2           getPanelVisible

         说明:

tabsIns.getPanelVisible(key) 获取某个 tabPane 是否显示。

         语法:

tabsIns.getPanelVisible("contact");

         参数:

key: string 必须 要操作的 tabPane key

         返回:

         实例:

var isVisible = tabsIns.getPanelVisible("contact");  // isVisible 的值为 true 或者 false

 

2.23.3           setPanelTitle

         说明:

tabsIns.setPanelTitle(key, title) 设置某个 tabPane 的显示标题。

         语法:

tabsIns.setPanelTitle("contact", " 新标题 ");

         参数:

key: string 必须 要操作的 tabPane key

title: string 必须 新标题

         返回:

         实例:

tabsIns.setPanelTitle("contact", " 新标题 ");

2.23.4           getPanelTitle

         说明:

tabsIns.getPanelTitle(key) 获取某个 tabPane 的显示标题。

         语法:

tabsIns.getPanelTitle("contact");

         参数:

key: string 必须 要操作的 tabPane key

         返回:

         实例:

var title = tabsIns.getPanelTitle("contact");

2.23.5           setPanelVisibleAndActivate

         说明:

设置某个页签是否显示,如果设置为显示,则同时打开该页签。

         语法:

tabsIns.setPanelVisibleAndActivate(key, visible);

         参数:

key :  必须 String  要操作的页签的 key

visible :必须 boolean 是否显示

         返回:

         实例:

tabsIns.setPanelVisibleAndActivate('tabsPane001', true);

2.23.6           addPane

         说明:

tabsIns 增加一个 tab 页签。

         语法:

tabsIns.addPane({key,title,componentName,refWindowName,refWindowComponentName});

         参数:

key -- 新增 tab 页签唯一标识 必须 String

title -- 新增 tab 页签标题 必须 String

componentName -- 新增 tab 页签唯一组件名 必须 String

refWindowName -- 新增 tab 页签引用窗口名称 必须 String

refWindowComponentName -- 新增 tab 页签引用窗口名称唯一组件名 必须 String

         返回:

         实例:

tabsIns.addPane(

{key: 'Tabs.TabPane 3 ' ,title:'Tabs.TabPane3',componentName:'Tabs.TabPane3',refWindowName:'OCUserList',refWindowComponentName:'OCUserList3'});

 

 

2.24     Steps组件独有方法

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

2.24.1           getAllSteps

         说明:

stepsIns.getAllSteps() 获取所有 steps 数据。

         语法:

stepsIns.getAllSteps();

         参数:

         返回:

array  详见举例

         实例:

var steps = stepsIns.getAllSteps();

steps 详情如下:

[

    {

        "title": " 步骤 1",

        "description": " 步骤 1 描述 ",

        "icon": "",

        "status": ""

    },

    {

        "title": " 步骤 2",

        "description": " 步骤 2 描述 ",

        "icon": "",

        "status": ""

    }

]

2.24.2           setAllSteps

         说明:

stepsIns.setAllSteps(steps)  设置新的 steps 数据。

         语法:

stepsIns.setAllSteps(steps);

         参数:

array  详见举例

         返回:

         实例:

var steps = [

    {

        "title": " 步骤 1",

        "description": " 步骤 1 描述 ",

        "icon": "",

        "status": ""

    },

    {

        "title": " 步骤 2",

        "description": " 步骤 2 描述 ",

        "icon": "",

        "status": ""

    }

] ;

stepsIns.setAllSteps(steps );

2.25     Drawer组件独有方法

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

2.25.1           showDrawer

         说明:

显示一个 Drawer 组件。

         语法:

drawerIns.showDrawer();

         参数:

         返回:

         实例:

drawerIns.showDrawer();

2.25.2           hideDrawer

         说明:

隐藏一个 Drawer 组件。

         语法:

drawerIns.hideDrawer();

         参数:

         返回:

         实例:

drawerIns.hideDrawer();

2.26     FileViewer组件独有方法

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

2.26.1           showFileViewer

         说明:

显示要预览的文件,目前支持 image pdf

         语法:

fileViewerIns.showFileViewer({ fileType, filePath, showInDrawer });

         参数:

fileType -- 文件类型 image | pdf 必填

filePath -- 文件路径 String 必填

showInDrawer -- 是否在 Drawer 中显示 Boolean 选填

 

         返回:

         实例:

var config ={fileType:'image',filePath: http://open-care/images/1.png ,showInDrawer:true}

fileViewerIns.showFileViewer(config);

2.26.2           hideFileViewer

         说明:

隐藏已经预览的文件

         语法:

fileViewerIns.hideFileViewer();

         参数:

         返回:

         实例:

fileViewerIns.hideFileViewer();

2.27     ComplexSelect组件独有方法

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

2.27.1           setOptionsWithSearchId

         说明:

设置新的下拉选项

         语法:

cIns.setOptionsWithSearchId(options);

         参数:

options array 选项数组,详见举例

         返回:

         实例:

var options = [               {

                            label: ' 我是 Jack',

                            value: '1', ¥

                            name:'Jack',

        sex:' ',

                            age: '27',

                            mobile:'13434562345',

              }];

cIns.setOptionsWithSearchId(options)

2.28     Progress组件独有方法

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

2.28.1           setContentTemplate

         说明:

设置显示内容的模板

         语法:

pIns.setContentTemplate(scripts);

         参数:

scripts string    javascript 片段组成的字符串,其中当前进度值 percent 可直接使用,详见举例。

         返回:

         实例:

var scripts = "return percent + '%'";

pIns.setContentTemplate(scripts);

2.28.2           setShowInfo

         说明:

设置是否显示进度数值或状态图标

         语法:

pIns.setShowInfo(visible);

         参数:

visible boolean     true | false

         返回:

         实例:

pIns.setShowInfo(true);

2.28.3           setPercent

         说明:

设置当前进度条的值(所占的百分比,不包含百分号 %

         语法:

pIns.setPercent(percent);

         参数:

percent number 0-100

         返回:

         实例:

// 使用 2.29.1 中设置的模板,则显示为 25.5%

pIns.setPercent(25.5);

2.28.4           setStrokeColor

         说明:

设置当前进度的颜色

         语法:

pIns.setStrokeColor(color);

         参数:

color string   颜色值

         返回:

         实例:

// 使用 2.29.1 中设置的模板,则显示为 25.5%

pIns.setStrokeColor('red');

2.28.5           setStrokeWidth

         说明:

设置进度条的宽度,进度条的类型为 line 时,单位是 px ,类型为 circle dashboard 时,单位是画布宽度的百分比。

         语法:

pIns.setStrokeWidth(width);

         参数:

width number 数值

         返回:

         实例:

pIns.setStrokeWidth(10);

 

2.28.6           setType

         说明:

设置进度条的显示类型。

         语法:

pIns.setType(type);

         参数:

type sting  可选值: line 直线型 | circle 圆环形 | dashboard 仪表盘

         返回:

         实例:

// 将进度条设置为圆环形

pIns.setType('circle');

2.28.7           updateMultipleProperties

         说明:

同时设置多个属性。当需要同时设置 2.29.1-2.29.6 中的 2 个或者 2 个以上的属性时,请使用该方法。

         语法:

pIns.updateMultipleProperties(props);

         参数:

props json 格式的数据格式,详见举例

         返回:

         实例:

// 同时设置多个属性

var props = {

percent: 50, // 百分比

format: "return percent + '%'", // 显示内容的模板

showInfo: true, // 是否显示进度数值或状态图标

strokeColor: "red", // 进度条颜色

strokeWidth: 10, // 进度条宽度

type: "line" // 显示类型

};

pIns.updateMultipleProperties(props);

2.29     Dashboard组件独有方法

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

2.29.1           updateProperties

         说明:

同时设置多个属性。

         语法:

pIns.updateProperties(props);

         参数:

props json 格式的数据格式,详见举例

         返回:

         实例:

// 同时设置多个属性

var props = {

data: [{value: 30}], // 当前值

circleBackgroundColor: "red", // 进度条背景颜色

progressColor : "yellow", // 进度条颜色

lineWidth: 10, // 圆环宽度

pointerStyle: { // 指针的样式

color:  "blue", // 指针的颜色

stroke:  "yellow", // 指针中心圆形的填充色

lineWidth: 5 // 指针的宽度

}

};

pIns.updateProperties(props);

2.30     Collapse组件独有方法

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

2.30.1           activeKeyPanel

         说明:

设置要打开的 panel

         语法:

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

         说明:

设置是否显示为 Grid 2022.05.19 更新

         语法:

ListIns.setGridVisible(visible);

         参数:

visible: Boolean

         返回:

         实例:

ListIns.setGridVisible(true);

2.31.6           setGridColumnMunber

         说明:

设置 Grid 显示为几列。 2022.05.19 更新

         语法:

ListIns.setGridColumnMunber(columnNumber);

         参数:

columnNumber: Number 显示列数

         返回:

         实例:

ListIns.setGridColumnMunber(3);

 

 

2.32     ColorPicker 组件独有方法

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

2.32.1           getColor

         说明:

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

         语法:

CPIns.getColor();

         参数:

         返回:

data: JSON 具体请看举例。

         实例:

var colorInfo = CPIns.getColor();

colorInfo 值如下:

{

    hex: "#f30707",

    hsl: {

        h: 0,

        s: 0.9449576971700865,

        l: 0.490139195,

        a: 1

    },

    hsv: {

        h: 0,

        s: 0.9717,

        v: 0.9533,

        a: 1

    },

    oldHue: 0,

    rgb: {

        r: 243,

        g: 7,

        b: 7,

        a: 1

    },

    source: "hsv"

}

2.32.2           openPanel

         说明:

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

         语法:

CPIns.openPanel();

         参数:

         返回:

         实例:

CPIns.openPanel();

2.32.3           closePanel

         说明:

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

         语法:

CPIns.closePanel();

         参数:

         返回:

         实例:

CPIns.closePanel();

2.33     SearchInput 组件独有方法

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

2.33.1           getValueInfo

         说明:

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

         语法:

SIIns.getValueInfo();

         参数:

         返回:

JSON 格式的数据

         实例:

var recordInfo = SIIns.getValueInfo();

recordInfo 详情:

{

    _rowid: "123",

    name: "Jack",

    sex: "M",

    age: 12

}

2.33.2           handleFocus

         说明:

聚焦到所选搜索框。 Input 组件也包含此方法。 ( 2024.04.03 更新 )

         语法:

SIIns. handleFocus ();

         参数:

         返回:

         实例:

/ / S earchInput 组件

var SearchInput1 = ocWindow.getComponentByName('SearchInput1');

SearchInput1 . handleFocus ();

/ / I nput 组件

var Input1 = ocWindow.getComponentByName('Input1');

Input1 . handleFocus ();

 

2.34     MSteps 组件独有方法(移动端)

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

2.34.1           getAllSteps

         说明:

获取已有的所有 steps 数据。 (2020-10-16 新增 )

         语法:

MStepsIns.getAllSteps();

         参数:

         返回:

JSON 格式的数据

         实例:

var allSteps= MStepsIns.getAllSteps();

allSteps 详情:

[ {

    _rowid: "123",

    description: "Jack",

    status: "M",

    title: 12 ,

iconType: "M"

} ]

2.34.2           setAllSteps

         说明:

设置所有 steps 数据。 (2020-10-16 新增 )

         语法:

MStepsIns.setAllSteps(steps);

         参数:

steps ,详见举例。

         返回:

实例:

var allSteps = [ {

    _rowid: "123",

    description: "Jack",

    status: "wait",

    title: " 标题 " ,

iconType: " default " ,

icon: " user "

} ];

MStepsIns.setAllSteps(allSteps );

2.34.3           getStep

         说明:

获取指定序号的 step 数据。 (2020-10-16 新增 )

         语法:

MStepsIns.getStep(index);

         参数:

index: number 序号

         返回:

JSON 格式的数据,见举例

         实例:

var step0= MStepsIns.getStep(1);

step 详情:

{

    _rowid: "123",

    description: "Jack",

    status: "wait",

    title: " 标题 " ,

iconType: " default " ,

icon: " user "

}

2.34.4           setStep

         说明:

设置指定序号的 step 数据。 (2020-10-16 新增 )

         语法:

MStepsIns.setStep(step, index);

         参数:

step: JSON 格式的数据,见举例

index: number 序号

         返回:

         实例:

var step = {

    _rowid: "123",

    description: "Jack",

    status: "wait",

    title: " 标题 " ,

iconType: " default " ,

icon: " user "

}

// 更新第一个步骤的数据

MStepsIns.setStep(step, 0);

2.34.5           setStepTitl,setStepStatus,setStepDescription,

2.34.6           setStepDefaultIcon,setStepCustomizedIcon

         说明:

设置指定序号的 step Title (2020-10-16 新增 )

         语法:

MStepsIns.setStepTitle(title, index);

         参数:

title: string

index: number 序号

         返回:

实例:

// 更新第一个步骤的标题

MStepsIns.setStepTitle( " 已完成 " , 0);

// 更新第一个步骤的状态

MStepsIns.setStepStatus( " success " , 0);

// 更新第一个步骤的描述

MStepsIns.setStepDescription( " 已完成 " , 0);

// 更新第一个步骤的默认 icon

MStepsIns.setStepDefaultIcon( " user " , 0);

// 更新第一个步骤的自定义 icon

MStepsIns.setStepCustomizedIcon( " http://xxx.png " , 0);

2.35     MListView 组件独有方法(移动端)

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

2.35.1           setDataSource

         说明:

给组件设置数据,全量更新。 (2020-10-16 新增 )

         语法:

MLVins.setDataSource(dataSource);

         参数:

JSON 格式数据,具体见详情

         返回:

         实例:

var dataSource = {

data: [

{

" name " : " Jack " ,

" sex " : " M " ,

" _rowid " : " xxxxx "

}

],

authority: []

};

MLVins.setDataSource(dataSource);

2.35.2           setValue

         说明:

给组件设置数据,全量更新。 (2020-10-16 新增 )

         语法:

MLVins.setValue(dataSource);

         参数:

JSON 格式数据,具体见详情

         返回:

         实例:

var value=  [

{

" name " : " Jack " ,

" sex " : " M " ,

" _rowid " : " xxxxx "

}

];

MLVins.setValue(value);

2.36     Tree

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

2.36.1           setCheckedKeys

         说明:

(受控)选中复选框的树节点(注意:父子节点有关联,如果传入父节点 key ,则子节点自动选中;相应当子节点 key 都传入,父节点也自动选中。当设置 checkable checkStrictly ,它是一个有 checked halfChecked 属性的对象,并且父子节点的选中与否不再关联。 (2020-12-01 新增 )

         语法:

TreeIns.setCheckedKeys(keys);

         参数:

keys: string[] 或者 {checked: string[],halfChecked: string[]}

         返回:

实例:

var keys = [ " 01 " , " 02 " , " 03 " ];  或者 var keys = { checked: [ " 01 " , " 02 " ], halfChecked: [ " 03 " , " 04 " ]}

TreeIns.setCheckedKeys(keys);

2.37     Col

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

2.37.1           getSpan

         说明:

获取 Col 组件的 span (2021-12-21 新增 )

         语法:

ColIns.getSpan();

         参数:

         返回:

number

实例:

var colSpan= ColIns.getSpan(); // colSpan 的值为 [0, 24] 之间的整数

2.37.2           setSpan

         说明:

设置 Col 组件的 span (2021-12-21 新增 )

         语法:

ColIns.setSpan(colSpan);

         参数:

colSpan: number 0-24 之间的整数

         返回:

实例:

ColIns.getSpan(12);

2.38     LaneChart

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

2.38.1           setDataSource

         说明:

设置 LaneChart 组件的 数据。 (2023-01-04 新增 )

         语法:

LaneChartIns.setDataSource(dataSource});

         参数:

dataSource: chart 原数据 , array

         返回:

实例:

待更新

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

3         其他

暂无