# 事件API支持

可以通过上述formDesignerExtend配置对象的event属性介入所需事件。

事件API 事件描述 支持详情
designerRendered 表单设计器首次渲染完成后通知 v7.1SP1+ [CAP4]
designerTabSwitched 设计器标签页切换事件 v7.1SP1+ [CAP4]
viewTabSwitched 视图切换事件 v7.1SP1+ [CAP4]
viewTableSelected 当前视图表被选中事件 v7.1SP1+ [CAP4]
fieldSwitched 选中字段切换事件 v7.1SP1+ [CAP4]
beforeSaveForm 保存表单前触发 v7.1SP1+ [CAP4]

事件配置示例:

//表单设计器事件API
window.formDesignerExtend = {
    event: {
        /*
        * [1-1] 表单设计器首次渲染完成后通知
        * * arguments: Object
        * {
        *    formId: String //表单id
        *    formType: String //表单类型
        *    formBaseInfo: Object //表单基本信息
        * }
        * */
        designerRendered: function(data){
            //todo
        },

        /*
        * [1-2] 设计器标签页切换事件
        * arguments: Object
        * {
        *    fromPage: Number, //切换前页签 eg: 1-表单设计 2-操作设置 3-应用绑定
        *    toPage: Number //切换后页签
        * }
        * */
        designerTabSwitched: function(data){
            //todo
        },

        /*
        * [1-3] 视图切换事件
        * arguments: Object
        * {
        *     formId: String //表单id
        *     fromView: Object //跳转前视图信息 eg:
                  {
                      plat: "pc", 
                      name: "差旅费报销",
                      id: "7681958030234698266"
                   }
        *     toView: Object //跳转后视图信息
        * }
        * */
        viewTabSwitched: function(data) {
            //todo
        },

        /*
        * [1-4] 当前视图表被选中事件
        * arguments: Object
        * {
        *     formId: String //表单id
        *     currentViewId: String //当前视图id
        *     isMater: Boolean //是否为主表
        *     currentTable: Object //选中表信息
        * }
        * */
        viewTableSelected: function(data) {
            //todo
        },

        /*
        * [1-5] 选中字段切换事件
        * arguments: Object 字段信息
        * {
        *   "id": "7966030540684413408",
            "enumInfo": "6875661119798661104_false_0_",
            "display": "二级业务类型描述",
            "type": "select",
            "relation": {},
            "typeText": "下拉",
            "name": "field0052",
            "isCustomCtrl": false,
            "enumName": "主数据业务",
            "fieldType": "DECIMAL",
            "fieldLength": "20,0"
        * }
        * */
        fieldSwitched: function(data) {
            //todo
        },

        /*
        * [1-6] 保存表单前触发
        * arguments: Object
        * {
        *    formId: String //表单id
        *    formType: String //表单类型
        *    curPage: Number //当前页签 eg: 1-表单设计 2-操作设置
        * }
        * return: Boolean //false-不执行表单保存 true-继续原来的表单保存逻辑
        * */
        beforeSaveForm: function(data) {
            //todo
            return true;
        },
        
        /*
        * [2-1] 关联对象列表生成前触发
        * arguments:
        *   fieldInfo [Object] 字段信息
        *   allFieldMap [Object] 所有字段映射信息
        *
        * return:
        *   [Array] 一个字段可以关联的所有字段
        *
        *   eg:
        *   [
        *       { "value": "field0015", "text":"申请人[选人]" },
        *       { "value": "field0016", "text":"供职部门[选部门]" },
        *   ]
        *
        * [注]
        * 1、回调不能包含异步操作
        * 2、若返回值不为标准的字段信息数组,则回调不生效
        * */
        beforeRelationObjRender: function(fieldInfo, allFieldMap) {
            //todo
        }
    }
};
创建人:yinyanting

快速跳转