400-888-0545

O2OA前台API

O2OA前台API ( v5.4.1 )

简介

  • O2OA 是一个高度可定制化的企业级办公平台,您可以通过脚本语言扩展平台功能。

  • O2OA 前端脚本基于您使用的浏览器的Javascript引擎,使用Javascript语法。

  • 本API是O2OA前台脚本的编写说明,您可以通过脚本访问和操作平台内的各种对象。

API总览

Modules

  • 为脚本封装的对象、方法和类
业务数据 - data 流程实例 - workContext 内容管理实例 - documentContext
组织查询 - org 流程及内容管理表单 - form 门户页面 - page
视图 - queryView 视图执行 - view 数据字典 - Dict
查询视图 - queryStatement 查询视图执行 - statement 服务调用 - Actions
脚本引用 - include 方法定义 - define 当前用户 - session
移动端Api - o2m 表单等待 - wait

FormComponent

  • FormComponent为表单组件,可以通过this.form.get("fieldId")获取。

Process 流程表单组件

表单 - Form 文本 - Label 文本字段 - Textfield
数字字段 - Number 人员组织 - Org 日期选择 - Calendar
多行文本 - Textarea 下拉框 - Select 单选框 - Radio
多选框 - Checkbox 组合框 - Combox 意见框 - Opinion
按钮 - Button 地址 - Address 操作条 - Actionbar
侧边操作条 - Sidebar 图片 - Image 图片编辑 - ImageClipper
附件 - Attachment 容器 - Div 表格 - Table
单元格 - Table$Td 数据网格PC端 - DatagridPC 数据网格移动端 - DatagridMobile
子表单 - Subform 选择视图 - ViewSelector 嵌入视图 - View
嵌入统计 - Stat 通用元素 - Common 分页 - Tab
树 - Tree 流程记录 - Log 流程监控 - Monitor
Iframe - Iframe 公文编辑器 - Documenteditor HTML编辑器 - Htmleditor
Office控件 - Office 选择查询视图 - StatementSelector 嵌入查询视图 - Statement

CMS 内容管理表单组件

内容管理表单 - CMSForm 文本 - Label 文本字段 - Textfield
数字字段 - Number 人员组织 - Org 读者 - Reader
作者 - Author 日期选择 - Calendar 多行文本 - Textarea
下拉框 - Select 单选框 - Radio 多选框 - Checkbox
组合框 - Combox 按钮 - Button 地址 - Address
操作条 - Actionbar 图片 - Image 图片编辑 - ImageClipper
附件 - Attachment 容器 - Div 表格 - Table
单元格 - Table$Td 数据网格PC端 - DatagridPC 数据网格移动端 - DatagridMobile
子表单 - Subform 选择视图 - ViewSelector 嵌入视图 - View
嵌入统计 - Stat 通用元素 - Common 分页 - Tab
树 - Tree Iframe - Iframe HTML编辑器 - Htmleditor
阅读记录 - CMSLog Office控件 - Office 评论 - Comment
选择查询视图 - StatementSelector 嵌入查询视图 - Statement

Portal 门户页面组件

页面 - PortalPage 容器 - Div 文本 - Label
数据源 - Source 子数据源 - SubSource 数据文本 - SourceText
表格 - Table 单元格 - Table$Td 分页 - Tab
图片 - Image 按钮 - Button Iframe - Iframe
通用元素 - Common 树 - Tree 嵌入视图 - View
嵌入统计 - Stat 文本字段 - Textfield 人员组织 - Org
日期选择 - Calendar 多行文本 - Textarea 下拉框 - Select
单选框 - Radio 多选框 - Checkbox 部件 - Widget
嵌入查询视图 - Statement

服务

  • 服务是O2OA后台提供的一系列restful服务。
x_processplatform_assemble_surface 流程平台相关服务
x_portal_assemble_surface 门户平台相关服务
x_cms_assemble_control 内容管理平台相关服务
x_query_assemble_surface 数据平台相关服务
x_organization_assemble_express 组织架构相关服务
x_file_assemble_control 云文件相关服务
x_meeting_assemble_control 会议管理相关服务
x_bbs_assemble_control 论坛相关服务
x_calendar_assemble_control 日程管理相关服务
x_hotpic_assemble_control 热点信息相关服务
x_mind_assemble_control 脑图模块相关服务
x_organization_assemble_personal 个人设置相关服务
x_attendance_assemble_control 考勤模块相关服务

使用范围

O2OA 可在多个位置嵌入脚本代码,用于扩展平台和实现自定义功能。嵌入脚本代码分为前端执行代码和服务端执行代码,两者语法一致,本文档指前台脚本。

脚本:

流程平台、门户平台和内容管理平台中,都有脚本设计元素,可以在此创建自己的脚本库。如下图: 脚本

表单、页面、视图、查询视图及其组件事件:

流程平台和内容平台的表单、门户平台的页面、数据平台的视图和查询视图中,每个设计组件包含多种事件,包括DOM对象原生事件和O2平台扩展事件。如下图: 事件中的脚本

表单、页面可编辑组件默认值:

流程平台和内容平台的表单和门户平台的页面中,可编辑组件或文本组件的默认值可以通过脚本指定。如下图: 事件中的脚本

表单、页面、视图、查询视图的部分属性:

流程平台和内容平台的表单、门户平台的页面、数据平台的视图和查询视图中,有许多组件的相关属性可以通过脚本来定义。
如:下拉框、单选多选按钮的可选值、人员字段的选择范围、区段依据等。如下图:
属性中的脚本

表单及可编辑组件校验:

流程平台和内容管理的表单中,可编辑的字段可以通过脚本进行有效性校验,校验通过返回true,不通过返回提示信息。如下图: 脚本

流程路由属性的扩展附签和选择附签下的脚本:

扩展附签脚本 选择附签脚本

样例

  • 这是一个简单的样例,用于展现脚本如何编写和运行。
  • 本例中我们要实现一个表单中,两个下拉框从配置数据中获取可选数据,以及实现联动。
  • 我们需要创建一个流程应用,一个表单以及一个数据字典。在表单中创建两个下拉列表框。
  1. 先在表单中创建两个下拉框
    下拉框

  2. 在category1和category2两个下拉框的属性中,选择通过“脚本”编辑可选值。
    category1脚本:
    下拉框

    category2脚本:
    下拉框

  3. 在category1和category2两个下拉框的可选值脚本如下:

    category1的可选值脚本:

var dict = new this.Dict("category");   //获取名为category的数据字典 
var categoryList = dict.get();  //获取数据字典
var options = Object.keys(categoryList);    //获取大类,赋值给options变量
options.unshift("(请选择大类)|");   //在options数组首位插入提示选项,并将“”作为value,“(请选择大类)”作为text
return options; //返回列表,作为列表框的可选值 

category2的可选值脚本:

var dict = new this.Dict("category"); //获取名为category的数据字典 
var categoryList = dict.get(this.data.category1); //获取数据字典,以下拉框category1的值为关键字的数据值(数组) 
return categoryList; //返回列表,作为列表框的可选值 
  1. 在category1的change事件中添加如下代码:
//获category2下拉框,并刷新可选项
this.form.get("category2").resetOption();
  1. 设计数据字典如下图,并命名为:"分类配置",别名为:“category”。 下拉框

  2. 预览表单,即可看到大类下拉框中选项为数据字典中的第一层数据,选择不同的大类可与小类下拉框实现联动。