JEPaaS 社区

 找回密码
 立即注册
JECloud低代码平台-官网
查看: 2549|回复: 0

【流程系列】无需手动发起流程,通过代码直接发流程

[复制链接]

75

主题

77

帖子

355

积分

中级会员

Rank: 3Rank: 3

积分
355
发表于 2021-8-30 10:47:40 | 显示全部楼层 |阅读模式
一、实现效果
如图1所示,通过点击该按钮直接触发流程,不需要再手动发起流程。

1.png
二、实现思路
1、调用启用工作流的方法。
2、将必要参数传进去即可
三、具体操作
1、在按钮点击写事件,如图2所示:
2.png
2、如图3,分析代码。
3.png
1)通过按钮获取列表,通过列表获取功能名、表名和主键。通过列表获取选中数据。
2)对所选中的数据循环遍历,拼接id参数
3)手动启用工作流,调用/je/workbench/getTask,将必要的参数传进去即可。
4)如果调用成功则刷新列表。
四、相关代码(可选)
  1.     var grid = btn.up("jegridview");
  2.     var funcCode = grid.funcData.info.funcCode;     //功能编码
  3.     var tableName = grid.funcData.info.tableName;   //获取表名
  4.     var pkName = grid.funcData.info.pkName;   //获取当前表主键
  5.     var ids = grid.getSelectIds();      //获取选中数据ID
  6.     var paramIds = "";
  7.     Ext.each(ids,function(item,index){
  8.         if(JE.isEmpty(paramIds)){
  9.             paramIds = item;
  10.         }else{
  11.             paramIds += ","+item;
  12.         }
  13.     });
  14.     //项目执行,发起任务手动启动工作流
  15.     var obj = JE.ajax({
  16.         url:'/je/workbench/getTask',
  17.         params:{
  18.             funcCode: funcCode,     //功能编码
  19.             tableName: tableName,   //表编码
  20.             pkName: pkName,         //主键编码
  21.             paramIds: paramIds      //主键值
  22.         }
  23.     });
  24.     if(obj.success){
  25.         JE.msg(obj.obj);
  26.         grid.load();
  27.     }else{
  28.         JE.alert(obj.obj);
  29.     }
复制代码

五、总结(可选)
流程可以通过手动发起,可以在任意地方发起该流程,只要将必要的参数传进去即可。
六、关键字

流程启动,发起流程,手动发起,启动工作流

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|JEPaaS 低代码平台社区 ( 京ICP备18023569号 )

GMT+8, 2024-4-28 09:22 , Processed in 0.059698 second(s), 23 queries .

Powered by 北京凯特伟业科技有限公司

Copyright © 2001-2021, JEPaaS.COM

快速回复 返回顶部 返回列表