表单的事件包含两种:一种是表单容器对应的DIV对象的DOM事件,一种是表单系统事件。 表单系统事件如下表: 表单系统事件如下表:
| 事件名 | 描述 |
|---|---|
| beforeLoad | 表单被载入之前执行。 |
| afterLoad load postLoad |
表单被完全载入之后执行 |
| beforeSave | 在用户点击“保存”按钮,或执行this.form.save方法,而数据没有真正被保存之前。在表单执行流转的过程中,会先对表单数据进行保存,所以也会触发beforeSave事件。 |
| afterSave | 在用户点击“保存”按钮,或执行this.form.save方法,数据被保存成功之后。在表单执行流转的过程中,会先对表单数据进行保存,所以也会触发afterSave事件。 |
| beforeClose | 表单窗口被关闭之前。 |
| submit beforeProcess |
在表单继续流转之前执行(已经填写意见和选择决策)。点击“继续流转”按钮,或执行this.from.process方法,都会触发此事件。 |
| beforeProcessWork | 在表单继续流转之前执行,与submit和beforeProcess不同的是,beforeProcessWork是在填写意见和选择决策窗口弹出之前执行的。 |
| afterProcess | 在表单执行流转成功之后执行。 |
| beforeReset | 在执行重置处理人操作之前执行。 |
| afterReset | 在执行重置处理人操作之后执行。 |
| beforeRetract | 在执行撤回操作之前执行。 |
| afterRetract | 在执行撤回操作之后执行。 |
| beforeReroute | 在执行调度操作之前执行。 |
| afterReroute | 在执行调度操作之后执行。 |
| beforeModulesLoad | 在表单已载入,但表单中的元素未载入之时执行。 |
| afterModulesLoad | 在表单中的所有元素载入之后执行。实际执行时间与afterLoad、load、postLoad相同。 |
| resize | 在表单所在容器的大小发生变化时执行。 |
| beforeDelete | 在执行删除操作之前执行。 |
表单容器的DOM事件请参考相关HTML规范。可参考:
MDN: HTMLDivElement
关于事件的详细编写方法,请参阅《O2OA开发API文档》。
数据字典配置
进入数据字典
单击“数据配置”,单击已有的数据字典即可进入编辑。或单击左上角的“ ”新建一个数据字典
编辑数据字典
系统默认创建“ROOT”,需要在“ROOT”下面创建新数据条目。 鼠标移动至“ROOT”上,点“ ”,即可创建一条新条目。 修改新条目的项目名称和值,调整数据类型。 要在新条目下创建下级条目,操作同上,只是鼠标移动至需要创建下级条目的数据条目上即可(类型为object或array)。 要删除数据条目,将鼠标移动至该条目上,点“ ”,系统给予提示
保存数据字典
点击工具栏上的“保存”按钮即可保存
Excel数据导入数据网格(仅支持IE)
将excel里的数据导入到表单的数据网格中去--仅支持IE
示例:表单数据网格设计,原料名称、规格、数量、单价、金额的标题列分别对应标识ylmcList、ggList、slList、djList、jeList
Excel样式如下:

示例代码:
var filePath="D:\\mytest.xls"; //要读取的xls
var sheet_id=1; //读取第1个表
var row_start=2; //从第1行开始读取
var tempStr='';
try{
var oXL = new ActiveXObject("Excel.application"); //创建Excel.Application对象
}catch(err)
{
alert("错误:"+err);
}
var oWB = oXL.Workbooks.open(filePath);
oWB.worksheets(sheet_id).select();
var oSheet = oWB.ActiveSheet;
var colcount=oXL.Worksheets(sheet_id).UsedRange.Cells.Rows.Count ;//总共多少条数据
this.form.get("yllb").setData({});//先把原料列表清空
var data=new Array();
//拼装数据网格的data数据
for(var i=row_start;i<=colcount;i++){
op = {
"ylmcList":{"ylmc":oSheet.Cells(i,1).value},
"ggList":{"gg":oSheet.Cells(i,2).value},
"slList":{"sl":oSheet.Cells(i,3).value},
"djList":{"dj":oSheet.Cells(i,4).value},
"jeList":{"je":oSheet.Cells(i,5).value}
};
data[i-2]=op;
}
op2 = {
"data":data,
"total":{}
};
this.form.get("yllb").setData(op2);//给数据网格赋值
alert("导入完成!");