自定义开发表单与流程对接

(1)设计流程:【流程管理-流程设计-新建流程】创建流程

输入图片说明

(2)表单挂接:流程设计完成后,选择流程【流程配置-业务关联-新增】增加表单关联

输入图片说明

说明:

  • 表单类型:选择自定义开发
  • 表名:填写需要的对接的表单对应业务的表名,存在多种表时填写主表名
  • 唯一编码:流程业务对接唯一编码,流程发起时需要用到该值,该值定义整个系统中不能重复,会根据表名生成一个默认编码,可自己修改, 例如:dev_ext_biz_leave_001
  • 流程状态列名:记录流程状态的字段,在关联的Online表名指定的表中存在的字段,该字段用于接收,流程处理过程中回填过来的处理状态
  • 标题表达式:流程提交后在,任务列表中展示的业务标题,例如:测试新流程【${name}】,其中表达式${name},取流程变量中的值

(3)表单流程发起代码实现:

申请单,进行流程发起

  • 1、申请单列表增加按钮 <a @click="startProcess(record)">提交流程 控制待提交状态下展示 v-if="record.bpmStatus === '1'"
  • 2、提交流程,功能实现
  1. 1data()中定义
  2. flowCode:"dev_ext_biz_leave_001",
  3. url: {
  4. startProcess: "/process/extActProcess/startMutilProcess",
  5. },
  6. 2、方法实现
  7. startProcess: function(record){
  8. var that = this;
  9. this.$confirm({
  10. title:"提示",
  11. content:"确认提交流程吗?",
  12. onOk: function(){
  13. var param = {
  14. flowCode:that.flowCode,
  15. id:record.id,
  16. formUrl:"modules/extbpm/biz/modules/ExtBizLeaveForm",
  17. formUrlMobile:"modules/extbpm/biz/modules/ExtBizLeaveForm"
  18. }
  19. postAction(that.url.startProcess,param).then((res)=>{
  20. if(res.success){
  21. that.$message.success(res.message);
  22. that.loadData();
  23. that.onClearSelected();
  24. }else{
  25. that.$message.warning(res.message);
  26. }
  27. });
  28. }
  29. });
  30. },

说明:提交流程是需要传递四个参数

  • flowCode:流程业务对接唯一编码
  • id:表单数据id
  • formUrl:pc端流程审批,默认展示的表单组件
  • formUrlMobile:移动端流程审批,默认展示的表单组件

(4)流程对接完成,发布流程,然后申请单提交流程即可。