起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9858|回复: 13

[处理中3] 批量处理流程

[复制链接]

58

主题

193

帖子

358

积分

中级会员

Rank: 3Rank: 3

积分
358
QQ
发表于 2018-5-18 14:57:23 | 显示全部楼层 |阅读模式
我对任务中心页面进行改造 ,添加多选框,想实现批量处理待办事项的功能,怎么实现?怎么设置默认处理人,批量处理的时候选择流转的界面应该是不会弹出的,按照默认人流转

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-5-18 15:33:58 | 显示全部楼层
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

58

主题

193

帖子

358

积分

中级会员

Rank: 3Rank: 3

积分
358
QQ
 楼主| 发表于 2018-5-18 15:39:24 | 显示全部楼层
666 我看一下
回复 支持 反对

使用道具 举报

58

主题

193

帖子

358

积分

中级会员

Rank: 3Rank: 3

积分
358
QQ
 楼主| 发表于 2018-5-18 15:52:47 | 显示全部楼层
批量流转第二步是: 用户可以看到流转对话框,修改其中的执行者信息。可不可以直接流转给默认人,不弹出对话框,这个默认人怎么配,怎么获取
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-5-18 16:18:03 | 显示全部楼层
自己获取要流程的taskid,直接调用后端action,把id传给action,后后端流转
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

58

主题

193

帖子

358

积分

中级会员

Rank: 3Rank: 3

积分
358
QQ
 楼主| 发表于 2018-5-18 17:30:17 | 显示全部楼层
  1. Model.prototype.processBeforeAdvance = function(event){
  2.          event.cancel = true; // 取消后续操作

  3.          // 所有的待办按得到的control中的执行人进行流转
  4.          var params = new biz.Request.ActionParam();
  5.          var tasksParam = new biz.Request.ListParam();

  6.          // 批量启动后直接批量流转
  7.          for (var i = 0; i < this.tasks.length; i++) {
  8.                  tasksParam.add(this.tasks[i]);
  9.                  console.log(this.tasks[i]);<font color="#ff0000">(this.tasks[i])为空</font>
  10.          }
  11.          params.setList("tasks", tasksParam);
  12.          var controlData = event.processControl.getData();
  13.          var controlParam = new biz.Request.ObjectParam(controlData, "com.justep.system.process.ProcessControl");
  14.          params.setObject("control", controlParam);
  15.          biz.Request.sendBizRequest({
  16.                  "context" : this.getContext(),                           
  17.                  "action" : "batchAdvanceProcess",
  18.                  "directExecute" : true,
  19.                  "parameters" : params           
  20.          });
  21.          // 流程成功后关闭页面
  22.          setTimeout(function() {
  23.                  me.close()
  24.          }, 1);
  25.         };
复制代码
回复 支持 反对

使用道具 举报

58

主题

193

帖子

358

积分

中级会员

Rank: 3Rank: 3

积分
358
QQ
 楼主| 发表于 2018-5-18 17:32:24 | 显示全部楼层
for (var i = 0; i < this.tasks.length; i++) {
                 tasksParam.add(this.tasks[i]);
                 console.log(this.tasks[i]);
         }这段代码打印发现this.tasks[i]为null,数据没进来
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-5-18 17:38:50 | 显示全部楼层
那要看你是怎么给this.tasks赋值的啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

58

主题

193

帖子

358

积分

中级会员

Rank: 3Rank: 3

积分
358
QQ
 楼主| 发表于 2018-5-18 17:49:58 | 显示全部楼层
  1. Model.prototype.BatchExecuteBtnClick = function(event){
  2.             var checkedTaskList=this.comp("list").getCheckeds();
  3.             if (checkedTaskList.length == 0) {
  4.            justep.Util.hint("请选择您要启动的待办事项!", {type: 'warning', parent: this.getRootNode()});
  5.         return;
  6.     }
  7. //            $.each(checkedTaskList, function(index, task) {
  8. //              console.log(task.getID());
  9. //             
  10. //            })
  11.              // 根据业务数据启动多个流程实例,在启动的process的onStartCommit事件中收集待办任务的id
  12.             biz.Request.beginBatch();// 启动批
  13.             var p = this.comp("process");
  14.             for (var i = 0; i < checkedTaskList.length; i++) {
  15.                     p.start(null, null, checkedTaskList[i].getID(), null);// 批中启动流程
  16.             }
  17.             biz.Request.endBatch();// 结束批
  18.                     if (this.tasks.length == 0) {
  19.                             justep.Util.hint("启动流程失败!", {type: 'error', parent: this.getRootNode()});
  20.                             return;
  21.                     }
  22.         //var p = this.comp("process");
  23.         // 使用其中的一条待办执行流转查询,并弹出流转对话框给用户修改,以得到control信息
  24.         p.advanceQueryExt(checkedTaskList[0].getID());
  25.         };

  26.         Model.prototype.processStartCommit = function(event){
  27.           this.tasks.push(event.task);
  28.         };

  29.         Model.prototype.processBeforeAdvance = function(event){
  30.          event.cancel = true; // 取消后续操作

  31.          // 所有的待办按得到的control中的执行人进行流转
  32.          var params = new biz.Request.ActionParam();
  33.          var tasksParam = new biz.Request.ListParam();

  34.          // 批量启动后直接批量流转
  35.          for (var i = 0; i < this.tasks.length; i++) {
  36.                  tasksParam.add(this.tasks[i]);
  37.                  //console.log(this.tasks[i]);
  38.          }
  39.          params.setList("tasks", tasksParam);
  40.          var controlData = event.processControl.getData();
  41.          var controlParam = new biz.Request.ObjectParam(controlData, "com.justep.system.process.ProcessControl");
  42.          params.setObject("control", controlParam);
  43.          biz.Request.sendBizRequest({
  44.                  "context" : this.getContext(),                           
  45.                  "action" : "batchAdvanceProcess",
  46.                  "directExecute" : true,
  47.                  "parameters" : params           
  48.          });
  49.          // 流程成功后关闭页面
  50.          setTimeout(function() {
  51.                  me.close()
  52.          }, 1);
  53.         };
复制代码
回复 支持 反对

使用道具 举报

58

主题

193

帖子

358

积分

中级会员

Rank: 3Rank: 3

积分
358
QQ
 楼主| 发表于 2018-5-18 17:50:48 | 显示全部楼层
BatchExecuteBtnClick 是点击批处理按钮开始批处理操作
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-11 04:19 , Processed in 0.059358 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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