E9表单建模:字段转换与操作接口实战

需积分: 44 7 下载量 15 浏览量 更新于2024-08-06 收藏 1.2MB PDF 举报
"本文主要介绍了在Cisco中型项目实战中,如何使用泛微OA E9API进行表单建模前端接口的操作,特别是针对字段ID转换和字段值获取的方法。" 在泛微OA E9API中,针对表单开发,提供了一系列的接口用于方便开发者进行前端操作。这些接口被封装在一个全局对象`window.ModeForm`中,以适应E9的单页应用模式。由于E9系统推荐使用API接口进行操作,而不是jQuery或直接操作DOM,因此理解和熟练使用这些接口至关重要。 1. **转换字段名称到字段ID** `convertFieldNameToId`函数是用于将字段名称转换为对应的字段ID,这个功能对于处理多表单、多环境场景下的代码复用和解耦非常有用。函数接收三个参数: - `fieldName`:必填,字段的名称,类型为字符串。 - `symbol`:非必填,表单标识,例如主表`main`或明细表`detail_1`,默认为`main`。 - `prefix`:非必填,布尔值,决定返回的字段ID是否包含`field`前缀,默认为`true`。 函数使用示例: ```javascript var fieldid = ModeForm.convertFieldNameToId("zs"); var fieldid = ModeForm.convertFieldNameToId("zs_mx", "detail_1"); var fieldid = ModeForm.convertFieldNameToId("zs_mx", "detail_1", false); ``` 2. **获取单子字段值** `getFieldValue`接口用于获取特定字段的值。它需要一个参数`fieldMark`,这是一个字符串,格式为`field${字段ID}_${明细行号}`。这使得开发者能够根据字段ID和明细行号来准确获取表单中的值。例如: ```javascript var fieldValue = ModeForm.getFieldValue("field110"); ``` 3. **修改单个字段值** 要修改表单中的某个字段值,可以使用`changeFieldValue`函数。这个函数不仅更新字段值,如果该字段与其他字段有联动关系,修改后还会自动触发联动效果。函数接受两个参数: - `fieldMark`:必填,字段标识,与`getFieldValue`接口中的格式相同。 - `valueInfo`:必填,一个JSON对象,包含要修改的值。如果是非浏览按钮字段,结构为`{value: "修改的值"}`;如果是浏览按钮,则`valueInfo`应为包含特殊对象的数组,其中可能包含`showhtml`属性,仅在文本字段且只读时生效。 示例用法: ```javascript ModeForm.changeFieldValue("field110", {value: "新的值"}); ``` 以上接口是E9API中用于表单字段操作的基础接口,它们为开发者提供了灵活的工具来动态地获取和修改表单数据,从而实现复杂的功能和业务逻辑。在实际开发过程中,结合E9的其他API,可以构建出高效且用户友好的OA系统。