O2OA教程-业务开发与设计-流程应用开发与设计-常用事件脚本说明

256 阅读3分钟

表单的事件包含两种:一种是表单容器对应的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("导入完成!");