O2OA API

Class

Form

Form 流程表单。

Usable Range

Process

Example

//可以在脚本中获取表单
//方法1:
var form = this.form.getApp().appForm; //获取表单
//方法2
var form = this.target; //在表单本身的事件脚本中获取

Source

Members

jsonObject

表单的配置信息,比如表单名称,提交方式等等.

Type

  • Object

Example

//可以在脚本中获取表单配置信息
var json = this.form.getApp().appForm.json; //表单配置信息
var name = json.name; //表单名称

Source

modulesArray

表单中的所有组件数组.

Type

  • Array

Example

//下面的样例对表单组件进行循环,并且判断是输入类型的组件
var modules = this.form.getApp().appForm.modules; //获取所有表单组件
for( var i=0; i<modules.length; i++ ){ //循环处理组件
  //获取组件的类型
            var moduleName = module.json.moduleName;
            if( !moduleName ){
                moduleName = typeOf(module.json.type) === "string" ? module.json.type.toLowerCase() : "";
            }
            if( ["calendar","combox","number","textfield"].contains( moduleName )){ //输入类型框
                //do something
             }
}

Source

allObject

表单中的所有组件对象.

该对象的key是组件标识,value是组件对象,可以使用该对象根据组件标识获取组件。
需要注意的是,在子表单中嵌入不绑定数据的组件(比如div,common,button等等),系统允许重名。
在打开表单的时候,系统会根据重名情况,自动在组件的标识后跟上 "_1", "_2"。

Type

  • Object

Example

var moduleAll = this.form.getApp().appForm.all; //获取组件对象
var subjectField = moduleAll["subject"] //获取名称为subject的组件

Source

Methods

getRouteDataList() → {Array.<Object>}

获取当前工作的路由配置数据.

Returns

  • Array.<Object>

Example

this.form.getApp().appForm.getRouteDataList();

Source

pressWork()

给待办人发送提醒(催促办理).

Description

需要判断权限

Example

if( this.workContext.getControl().allowPress ){ //判断流程节点是否设置了催办并且当前人员是否有催办权限
    this.form.getApp().appForm.pressWork();
}

Source

rerouteWork()

弹出调度界面

Description

如果当前人员没有调度权限或者流程节点未配置调度,则提醒Permission Denied.

Example

this.form.getApp().appForm.rerouteWork();

Source

readedWork(eopt)

将当前处理人的待阅设置为已阅.

Parameters

  • e Event | Element <optional>

    Event 或者Mootools Element,指定提示框弹出的位置

Example

if( this.workContext.getControl().allowReadProcessing ){ //是否有待阅
    this.form.getApp().appForm.readedWork();
}

Source

uploadedAttachment(site, id)

将新上传的附件在指定的附件组件中展现.

Parameters

  • site String

    附件组件的标识

  • id String

    新上传的附件id

Example

this.form.getApp().appForm.uploadedAttachment(site, id);

Source

getModuleType(module) → {String}

获取组件的类型(小写).

Parameters

  • module Object | String

    组件或组件Id

Returns

  • String

    组件类型(小写)

Examples

//假设有一个文本输入组件id为subject
var module = this.form.get("subject");
//moduleType 为 textfield;
var moduleType = this.form.getApp().appForm.getModuleType();
//假设有一个附件组件id为att,
var moduleType = this.form.getApp().appForm.getModuleType("att");
//moduleType 为 attachment;

Source

Events

queryLoad

表单加载前触发。数据(businessData)、预加载脚本和表单html已经就位。

beforeLoad

表单加载前触发。如果是流程表单,已提示抢办锁定。

beforeModulesLoad

表单的所有组件加载前触发,此时表单的样式和js head已经加载。

postLoad

表单加载后触发。主表单的组件加载完成,但不保证子表单、子页面、部件加载完成。

afterModulesLoad

表单的所有组件加载后触发。表单包含有子表单、子页面、部件时,此事件会在这些组件加载后触发。 如果包含异步加载的组件,如异步加载的下拉框选项等,会在这些组件加载完成后执行。

afterLoad

表单加载后触发。表单包含有子表单、子页面、部件时,此事件会在这些组件加载后触发。

beforeSave

保存前触发。如果是流程表单,流转前也会触发本事件。

afterSave

保存后触发。如果是流程表单,流转后也会触发本事件。

afterLoadProcessor

加载弹出的提交界面以后执行,this.event指向弹出界面对象。

results matching

    No results matching ''