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

QQ登录

只需一步,快速开始

查看: 932|回复: 3

[结贴] 流程流转并跳转的JS代码

[复制链接]

89

主题

374

帖子

811

积分

高级会员

Rank: 4

积分
811
QQ
发表于 2014-7-29 19:16:22 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
环节A的下一环节是环节B。
两个环节是同一个角色的。

正常的流程操作:
Person1 在环节A页面,点击流转按钮,选择办理人为自己,点击确定,完成流转。
然后打开待办任务,进入环节B页面。
对于用户来说,操作会多了一些。
所以想作成,在环节A点击流转按钮,自动流转到环节B,并打开B环节的页面。

process文件中:
设置A的流转规则:流转确认-取消Check。
设置B的执行规则:执行者表达式-findActivityExecutor('环节A')

JS文件:
环节A页面,流转按钮:
  1. var flw = justep.xbl("flw");
  2. flw.advanceQuery();
  3. taskId = justep.Context.getTask();
  4. url = "/test/process/proApply/a.w?task='" + taskId + "'";
  5. ...
  6. var options = {
  7.         "data" : data,
  8.         "title" : title,
  9.         "url" : url,
  10.         "process" : process,
  11.         "activity" : activity
  12. // "executor" : executor,
  13. // "executorContext" : executorContext
  14.     };
  15. justep.xbl("windowRunner").open2(options);
复制代码

使用以上代码,流程会流转,但是页面不能跳转。
url是没有错误的。如果JS中不加入以下代码,并且不把task参数加上,就可以打开下一环节页面,但是流程没有发生流转。
  1. flw.advanceQuery();
  2. taskId = justep.Context.getTask();
复制代码






91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35945
发表于 2014-7-30 09:56:05 | 显示全部楼层
如果要打开待办就需要传task的值
但不能用justep.Context.getTask();获取,这个获取的是当前任务的,不是下一条任务的

下一条任务的需要自己定义一个action到数据库中取,然后返回

远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

89

主题

374

帖子

811

积分

高级会员

Rank: 4

积分
811
QQ
 楼主| 发表于 2014-7-30 10:33:33 | 显示全部楼层
jishuang 发表于 2014-7-30 09:56
如果要打开待办就需要传task的值
但不能用justep.Context.getTask();获取,这个获取的是当前任务的,不是下 ...
  1. mainActivity.trigger7Click = function(event){
  2.         // 把操作标识更新proSubStatus为“3-项目结束申请操作”
  3.                  var param = new justep.Request.ActionParam();
  4.                  param.setString("idkey", justep.xbl("bizDataProject").getCurrentID());
  5.                  param.setString("activityName", "allApplyActivity");
  6.                  justep.Request.sendBizRequest2({
  7.                          dataType : "json",
  8.                          action : "updateProjectConStatus",
  9.                          parameters : param,
  10.                          callback : function(result) {
  11.                                  if (result.state) {
  12.                                          var taskId = justep.Context.getTask();
  13.                                          var flw = justep.xbl("flw");
  14.                                          alert();
  15.                                          flw.advanceQuery("onSuccesss", function(event){
  16.                                                  var param = new justep.Request.ActionParam();
  17.                                                  param.setString("idkey", justep.xbl("bizDataProject").getCurrentID());
  18.                                                  param.setString("taskId", taskId);
  19.                                                  justep.Request.sendBizRequest2({
  20.                                                          async: false,
  21.                                                          dataType : "json",
  22.                                                          action : "getNextTask",
  23.                                                          parameters : param,
  24.                                                          callback : function(result) {
  25.                                                                  alert(result);
  26.                                                                  if (result.state) {
  27.                                                                         var task = result.response;
  28.                                                                         alert(task);
  29.                                                                         var mainData = justep.xbl("bizDataProject");
  30.                                                                         id = mainData.getValue("proCode", mainData.getCurrentID());
  31.                                                                         url = "/SHSC/project/process/proApply/allAdimitActivity.w?task='" + task + "'";
  32.                                                                         activity = "allApplyActivity";
  33.                                                                         mainActivity.openDetail("", id, "补贴工数申请", url, activity, "");
  34.                                                                  } else {
  35.                                                                          throw new Error(result.response.message);
  36.                                                                  }
  37.                                                          }
  38.                                                  });
  39.                                          });
  40.                                  } else {
  41.                                          throw new Error(result.response.message);
  42.                                  }
  43.                          }
  44.                  });
  45. };
复制代码
没有进入flw.advanceQuery("onSuccesss", function(event){...}中
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35945
发表于 2014-7-30 11:25:42 | 显示全部楼层
不明白你这在action的返回值中调用flw.advanceQuery做什么
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-23 16:17 , Processed in 0.067707 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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