Usable Range
Process
Example
//可以在脚本中获取表单
//方法1:
var form = this.form.getApp().appForm; //获取表单
//方法2
var form = this.target; //在表单本身的事件脚本中获取
Source
Members
containerElement
表单容器
Type
-
Element
Example
//可以在脚本中获取表单容器
var formContainer = this.form.getApp().appForm.container;
Source
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
getData() → {Object}
Summary
获取表单的所有数据.
Returns
-
Object
Example
var data = this.form.getApp().appForm.getData();
Source
getRouteDataList() → {Array.<Object>}
Summary
获取当前工作的路由配置数据.
Returns
-
Array.<Object>
Example
this.form.getApp().appForm.getRouteDataList();
Source
pressWork()
Summary
给待办人发送提醒(催促办理).
Description
需要判断权限
Example
if( this.workContext.getControl().allowPress ){ //判断流程节点是否设置了催办并且当前人员是否有催办权限
this.form.getApp().appForm.pressWork();
}
Source
goBack()
Summary
退回到之前流转过的活动(根据活动配置列出可退回的活动).
Example
this.form.getApp().appForm.goBack();
Source
pauseTask()
Summary
将待办设置为挂起状态,不计算工作时长.
Example
this.form.getApp().appForm.pauseTask();
Source
resumeTask()
Summary
将待办从挂起状态恢复为正常状态.
Example
this.form.getApp().appForm.resumeTask();
Source
rerouteWork()
Summary
弹出调度界面
Description
如果当前人员没有调度权限或者流程节点未配置调度,则提醒Permission Denied.
Example
this.form.getApp().appForm.rerouteWork();
Source
readedWork(eopt)
Summary
将当前处理人的待阅设置为已阅.
Parameters
-
e
Event
|Element
<optional>
Event 或者Mootools Element,指定提示框弹出的位置
Example
if( this.workContext.getControl().allowReadProcessing ){ //是否有待阅
this.form.getApp().appForm.readedWork();
}
Source
uploadedAttachment(site, id)
Summary
将新上传的附件在指定的附件组件中展现.
Parameters
-
site
String
附件组件的标识
-
id
String
新上传的附件id
Example
this.form.getApp().appForm.uploadedAttachment(site, id);
Source
getModuleType(module) → {String}
Summary
获取组件的类型(小写).
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已经就位。
See
beforeLoad
表单加载前触发。如果是流程表单,已提示抢办锁定。
See
beforeModulesLoad
表单的所有组件加载前触发,此时表单的样式和js head已经加载。
See
postLoad
表单加载后触发。主表单的组件加载完成,但不保证子表单、子页面、部件加载完成。
See
afterModulesLoad
表单的所有组件加载后触发。表单包含有子表单、子页面、部件时,此事件会在这些组件加载后触发。 如果包含异步加载的组件,如异步加载的下拉框选项等,会在这些组件加载完成后执行。
See
afterLoad
表单加载后触发。表单包含有子表单、子页面、部件时,此事件会在这些组件加载后触发。
See
beforeSave
保存前触发。如果是流程表单,流转前也会触发本事件。
See
afterSave
保存后触发。如果是流程表单,流转后也会触发本事件。
See
beforeClose
关闭前触发。
See
beforeProcessWork
弹出提交界面前触发。
See
beforeProcess
流转前触发。
See
afterProcess
流转后触发。
See
afterLoadProcessor
加载弹出的提交界面以后执行,this.event指向弹出界面对象。
See
closeProcessor
关闭弹出的提交界面以后执行。
See
beforeReset
重置处理人前触发。
See
afterReset
重置处理人后触发。
See
beforeRetract
撤回前触发。
See
afterRetract
撤回后触发。
See
beforeReroute
调度前触发。
See
afterReroute
调度后触发。
See
beforeDelete
删除工作前触发。
See
afterDelete
删除工作后触发。
See
beforeReaded
已阅前触发。
See
afterReaded
已阅后触发。
See
beforeAddTask
加签前触发。
See
afterAddTask
加签后触发。
See
beforeGoBack
退回前触发。
See
afterGoBack
退回后触发。
See
beforeRollback
回溯前触发。
See
afterRollback
回溯后触发。