概述：

    eb流程本质使用的系统工作流程，在sdk上完全可以使用流程的sdk能力，可能部分存在不同，具体情况在沟通

流程sdk：

[流程详情JS-SDK (eteams.cn)](https://weapp.eteams.cn/sp/techdoc/view/716154026911416320/720609767701430272)

[**流程详情页面-二开口子：**](https://weapp.eteams.cn/ecode/playground/doc/share/view/981360079733604353#%E6%B5%81%E7%A8%8B%E8%AF%A6%E6%83%85%E9%A1%B5%E9%9D%A2-%E4%BA%8C%E5%BC%80%E5%8F%A3%E5%AD%90)

[https://weapp.eteams.cn/ecode/playground/doc/share/view/981360079733604353#%E6%B5%81%E7%A8%8B%E8%AF%A6%E6%83%85%E9%A1%B5%E9%9D%A2-%E4%BA%8C%E5%BC%80%E5%8F%A3%E5%AD%90](https://weapp.eteams.cn/ecode/playground/doc/share/view/981360079733604353#%E6%B5%81%E7%A8%8B%E8%AF%A6%E6%83%85%E9%A1%B5%E9%9D%A2-%E4%BA%8C%E5%BC%80%E5%8F%A3%E5%AD%90)

### 1、隐藏评论tab的查阅情况和操作日志等

```typescript
export const  tabs:any = {
    view : {
        id: "view",
        content: getLabel("61398", "查阅情况"),
        sort: 3,
        title: getLabel("61398", "查阅情况"),
    },
    operationLog: {
        id: "operationLog",
        content: getLabel("56163", "操作日志"),
        sort: 4,
        title:getLabel("56163", "操作日志"),
    },
    main : {
        id: "main",
        content:getLabel('28013','审批意见'),
        sort: 0,
        title: getLabel('28013','审批意见'),
    },
    comments : {
        id: "comments",
        content:getLabel('33800','评论'),
        sort: 1,
        title: getLabel('33800','评论'),
    },
    mainComment: {
        id: "main",
        content: getLabel("61397", "审批意见及评论"),
        sort: 0,
        title: getLabel("61397", "审批意见及评论"),
    },
    related: {
        id: "related",
        content: getLabel('61407','与我相关'),
        sort: 2,
        title: getLabel('61407','与我相关'),
    }
}

weappUtils.regOvProps("weappWorkflow","WFFPSignList",(props)=>{return {...props,hideTabs:['view',"operationLog"]}})
```

### [图片附件未整合: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB34AAAFtCAYAAADoLcuKAAAgAElEQVR4Aezd/bdkV33feX7gt/knJlnz86z5J2YlXsYxBCu...]

2、sdk模式下流程列表打开方式复写

```typescript

import { regOvProps } from '@weapp/utils';

regOvProps('weappEbdfpage', 'WorkFlowListContent', (props) => {
  console.log('=== props', props);
  return {...props,flowPageOpenType:"newpage"};
}, 0);
```

### [图片附件未整合: ../../../_assets/921566240842973185/002-ccde989372.png]

3、sdk流程归档控制流程图和流程状态

```
//h5
regOvProps('weappEbdfpage', 'MCardDetailDlg', (props) => {
  console.log("hideFlowBtn",props)
  //判断当前eb表单id为  905655220966793217
  if(props.comParams&&props.comParams?.objid === "905655220966793217"){
    return {...props,hideFlowBtn:true}
  }
  return props
  
}, 0);

//pc
regOvProps('weappEbdfpage', 'CardDetailDlg', (props) => {
  console.log("hideFlowBtn",props)
  //判断当前eb表单id为  905655220966793217
  if(props.comParams&&props.comParams?.objid === "905655220966793217"){
    return {...props,hideFlowBtn:true}
  }
  return props
  
}, 0);
```

### 4、sdk流程归档隐藏评论

```javascript
import React from 'react';
import { regOvComponent, request } from '@weapp/utils';

/**
* sdk流程归档后评论走的是流程单组件，可通过复写的方案隐藏 
*  pc实例：
*/
regOvComponent('weappEbdfpage', 'CommentView', (Com) => {
  return React.forwardRef((props, ref) => {
  
    //不涉及组件复写，直接返回原组件（必须返回或者复写）

    console.log("---",props);
    if(props.isFlow && props.requestId ==="XXXX"){
        return null
     }
    return <Com ref={ref} {...props} />;
  })
  }, 0)

//h5暂时没有埋点，240601基线会支持，需要单独hotfix支持
regOvComponent('weappEbdfpage', 'MCommentView', (Com) => {
  return React.forwardRef((props, ref) => {
  
    //不涉及组件复写，直接返回原组件（必须返回或者复写）
    if(props.isFlow && props.requestId ==="XXXX"){
        return null
     }
    return <Com ref={ref} {...props} />;
  })
  }, 0)
```

### 5、卡片挂载模式下流程归档走了eb显示布局后

> 暂时回退屏蔽

```javascript
// 拦截接口请求后
axios.interceptors.response.use(function (response) {
  if (response.status === 200 && response.config.url.includes('/api/ebuilder/flow/approval/getFlowIdByDataId')) {
    console.log('拦截eb列表按钮接口请求后：', response,response.data);
  
     const tempdata = response.data.data ;
     console.log("tempdata",tempdata);
     //判断表单id，   不想控制这个objId判断可以去掉，对所有表单生效
     if(["917534069607833602"].includes(tempdata.objId)&& (tempdata.flowStatus ==="3" ||  tempdata.flowStatus ==="4")){
      response.data.data = {
        ...response.data.data,
        flowStatus:"-999"//随便给个参数，还是走流程框架的
      };
       return response
     }
       return response;
  }else {
    return response;
  }
}, function (error) {
  return Promise.reject(error);
});
```

### 6、卡片挂载流程列表H5,当前应用仅有一个流程是点击新建直接打开当前流程新建，跳过提交申请列表

> 常规应用下不只是一个流程，故不做标准，已支持钩子,ecode案例：

```javascript
import { regOvProps } from '@weapp/utils';

//当eb流程应用下只有一个流程时，h5列表点击新建直接打开当前流程
regOvProps('weappWorkflow', 'MWfclPublicList', (props) => {
  //console.log("=MWfclPublicList==",props); //查看当前列表所有属性
  const workflowids = props.callerParams?.workflowids?.split(',');//eb流程列表会传递workflowids过滤
 //bridgeService:"ebuilder" 区分是eb流程
  if(props.bridgeService==="ebuilder" && props.callerParams?.workflowids&&workflowids.length===1){
     //流程列表支持指定具体的流程类型，注意不需要指定时不要添加workflowId属性
     return {...props,workflowId:workflowids[0]};
  }
  return {...props};
}, 0);
```
