E9表单建模:Cisco中型项目明细行操作指南

需积分: 44 7 下载量 172 浏览量 更新于2024-08-06 收藏 1.2MB PDF 举报
"本文主要介绍了在Cisco中型项目实战中涉及的E9API OA开发接口,特别是关于在泛微OA系统中的表单建模前端接口API。这些接口主要用于操作E9表单,包括删除和选中明细指定行/全部行的功能。文章提供了详细的方法和参数说明,以及使用示例,有助于开发者进行高效开发。" 在Cisco中型项目的实践中,E9API是用于OA开发的关键接口,尤其在处理表单建模时。这个API提供了一系列的前端接口,以统一的方式封装在全局对象`window.ModeForm`中。由于E9系统采用单页模式,因此推荐使用这些API接口进行操作,而非直接使用jQuery或原生JS操作DOM。 1. **转换字段名称为字段ID**: `convertFieldNameToId`函数用于将字段名称转换为字段ID,以适应多表单和多环境的需求。它接受三个参数:字段名称(必填)、表单标示(可选,默认为主表`main`)和前缀选项(可选,默认为true,表示返回值包含`field`前缀)。例如,`ModeForm.convertFieldNameToId("zs")`将返回`"fieldzs"`。 2. **获取单子字段值**: `getFieldValue`方法用于获取表单中特定字段的值。字段标示是格式化的字符串,如`field${字段ID}_${明细行号}`。例如,`ModeForm.getFieldValue("field110")`将返回字段110的当前值。 3. **修改单个字段值**: 当需要更新表单字段时,可以使用`changeFieldValue`方法。这个方法不仅更改字段值,如果字段有联动效果,也会自动触发相关联动。参数包括字段标示和一个包含新值的对象。例如,`ModeForm.changeFieldValue("field110", {value: "新的值"})`将字段110的值更新为"新的值"。 在删除和选中明细行的操作中: 3.2 **删除明细指定行/全部行**: `delDetailRow`函数用于删除明细表的指定行或全部行。它不需要用户确认即可执行删除操作。两个参数分别是明细表标示和需要删除的行标示。如果`rowIndexMark`设为`all`,则删除所有行;如果是一个数字序列,如`"3,6"`,则删除对应行号的行。例如,`ModeForm.delDetailRow("detail_1", "all")`会删除明细1的所有行。 3.3 **选中明细指定行/全部行**: `checkDetailRow`方法用于选中明细表的指定行或全部行。其灵活性体现在可以通过`needClearBeforeChecked`参数控制是否清除已选中的行。参数包括明细表标示、需要选中的行标示和清除选中前的状态。若`rowIndexMark`设为`all`,则选中所有行;若为数字序列,如`"1,2,3"`,则选中对应的行。`needClearBeforeChecked`为`true`时,选中前会清除已选。例如,`ModeForm.checkDetailRow("detail_1", "all", true)`将选中明细1的所有行,并清除之前的选择。 这些接口对于在泛微OA E9系统中进行表单交互和数据操作至关重要,理解并熟练使用这些API可以提升开发效率,确保代码的健壮性和灵活性。