## 修改组件为路由函数调用

原本的加载表单和加载流程表单的组件不再使用，可以直接删除。改为使用路由调用。

  
思路：将打开方式由原来的直接调用表单布局组件改为使用jumpLink的方式，通过路由调用，由于高级视图的组件都已经默认加载了ebdpage的组件，因此可以直接调用打开。

[图片附件未整合: _assets/871888218206584832/001-fab8b0ee67.png]

[图片附件未整合: _assets/871888218206584832/002-f4e09951f8.png]

                                                      （截图为，获对应页面JumpLInk解析参数的办法）

### 处理方法

**参考@weapp/ebdfpage** 的**jumpLink文件**中的jumpToCard方法，参数为上方截图中配置的参数，具体可以看下调用路线，jumpToCard-\>jumpLink（拦截一些情况直接打开）-\>JumpLink（最终解析），参数本质是传给了JumpLink的linkInfo和option

  openCard = async (type: LayoutType, objid: string, dataid?: string) =\> {  
    if (objid) {  
      jumpToCard(OpenMode.SlideLeftFromRight, {  
          appId: this.config?.dataset?.groupId!,//应用id  
          objId: objid,//表单布局视图id  
          type,//类型LayoutType  
          dataId: dataid,  
        },  
        \[\],//这里是参数部分，例子中没有传，需要的话要传下  
        {...this.routerProps, compId: this.compId},//路由信息，设备信息和组件Id  
        {winSizeNew: '50%'});//打开内容的大小  
    }  
  };

本质是调用@weapp/ebdcoms的JumpLink，这个函数负责解析所有设计器中的路由监听  
@weapp/ebdfpage针对JumpLink做了一层封装jumpLink，用来处理表格视图和表单视图的部分场景。

### 表单布局保存后的回调刷新日历视图

原本的MWfFlowDetailRoute组件，可直接**忽略**，通过路由打开后的组件内部自行判断是普通的表单布局还是流程表单布局。

**原表单卡片组件**  
\<ViewCardLayout reloadEvent={this.onMobileReload}

\<MViewCardLayout reloadEvent={this.onMobileReload}  
中的**reloadEvent**，则改为使用**weappUtils的eventEmitter**事件进行监听  
监听的模块名称为**weappEbdfpage**

PC

eventEmitter.on(weappEbdfpage,CustomEventName.*CardAdd*, this.onMCardAdd, compId);//表单新建布局，新建保存事件的回调  
eventEmitter.on(weappEbdfpage,CustomEventName.*FlowAdd*, this.onMFlowAdd, compId);//表单新建流程，流程保存事件的回调  
eventEmitter.on(weappEbdfpage,CustomEventName.*CardEdit*, this.onMCardReload, compId);//表单编辑布局，编辑保存事件后的回调

H5

eventEmitter.on(weappEbdfpage,CustomEventName.*mCardAdd*, this.onMCardAdd, compId);  
eventEmitter.on(weappEbdfpage,CustomEventName.*mFlowAdd*, this.onMFlowAdd, compId);  
eventEmitter.on(weappEbdfpage,CustomEventName.*mCardEdit*, this.onMCardReload, compId);
