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

QQ登录

只需一步,快速开始

查看: 235|回复: 9

[结贴] 如何去掉流程流转对话框

[复制链接]

22

主题

130

帖子

740

积分

高级会员

Rank: 4

积分
740
QQ
发表于 2019-1-31 17:33:48 | 显示全部楼层 |阅读模式
需求说明:流程流转时,如果下个节点只有一个人,则点[流转]按钮后直接处理完成(无需弹出流转对话框);
如果下个节点为多人,则点[流转]按钮后弹出流转对话框。


请教下如何可以实现这种情景?



对话框示例图:

流程流转对话框.png
这个人很懒,什么也没留下

55

主题

205

帖子

779

积分

高级会员

Rank: 4

积分
779
QQ
发表于 2019-2-2 17:21:51 | 显示全部楼层
可以在流转按钮点击事件里判断下一环节有几个人,多个就              this.comp("process1").advanceQuery(task); 一个就用js把流程流转就行了
回复 支持 反对

使用道具 举报

78

主题

279

帖子

542

积分

高级会员

Rank: 4

积分
542
QQ
发表于 2019-2-12 09:27:07 | 显示全部楼层
java1234 发表于 2019-2-2 17:21
可以在流转按钮点击事件里判断下一环节有几个人,多个就              this.comp("process1").advanceQuery ...

大佬 问一下 这个参数task是什么参数
回复 支持 反对

使用道具 举报

22

主题

130

帖子

740

积分

高级会员

Rank: 4

积分
740
QQ
 楼主| 发表于 2019-2-12 11:43:53 | 显示全部楼层
java1234 发表于 2019-2-2 17:21
可以在流转按钮点击事件里判断下一环节有几个人,多个就              this.comp("process1").advanceQuery ...

获取下个环节有几个人,有可用的内置方法吗?
这个人很懒,什么也没留下
回复 支持 反对

使用道具 举报

86

主题

12万

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28447
发表于 2019-2-13 14:33:12 | 显示全部楼层
参考http://docs.wex5.com/bex5-process-question-list-10053/在流程查询后获取ProcessControl和flowTos,判断控制弹出框是否显示
参考http://docs.wex5.com/bex5-process-question-list-10013/获取flowTos中的执行者

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



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

使用道具 举报

22

主题

130

帖子

740

积分

高级会员

Rank: 4

积分
740
QQ
 楼主| 发表于 2019-3-5 14:52:49 | 显示全部楼层
jishuang 发表于 2019-2-13 14:33
参考http://docs.wex5.com/bex5-process-question-list-10053/在流程查询后获取ProcessControl和flowTos, ...

这个应该已经触发流程的事件了,我需要在【流转确认对话框】弹出来前做下个节点可选人数的判断,再用js动态调用触发流程事件。不能直接绑定{operation:'process.advance'}作为按钮事件。
这个人很懒,什么也没留下
回复 支持 反对

使用道具 举报

86

主题

12万

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28447
发表于 2019-3-5 15:13:24 | 显示全部楼层
那就放一个按钮调用process的advanceQuery方法,然后获取processControl自己判断
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

22

主题

130

帖子

740

积分

高级会员

Rank: 4

积分
740
QQ
 楼主| 发表于 2019-3-5 15:49:35 | 显示全部楼层
本帖最后由 VincentZee 于 2019-3-5 16:22 编辑
jishuang 发表于 2019-3-5 15:13
那就放一个按钮调用process的advanceQuery方法,然后获取processControl自己判断
你帮忙看下我伪代码的思路可行吗? 基于流程相关的JS API
Model.prototype.advanceBtnClick = function(event){
        // 获取process
        var process = this.comp("process");
        // 获取ProcessControl
        var processControl = ...;
        // 获取流转人
        var flowTos = ...;
       
        if(1 == flowTos.length){// 如果只有1个可选的流转人,不弹窗js调用流转
                 process.advance();
        } else {// 可选人员不止一个,弹窗让用户选择1个流转人,删除其他的
                showProcessDialog...显示流转确认对话框(只选一个人,确认流转)
        }
}

这个人很懒,什么也没留下
回复 支持 反对

使用道具 举报

22

主题

130

帖子

740

积分

高级会员

Rank: 4

积分
740
QQ
 楼主| 发表于 2019-3-5 16:41:02 | 显示全部楼层
jishuang 发表于 2019-3-5 15:13
那就放一个按钮调用process的advanceQuery方法,然后获取processControl自己判断

流转确认可选人数是3,打印出来的flowTos是1个

实际可选流转人有3个

实际可选流转人有3个

flowTos=1

flowTos=1
这个人很懒,什么也没留下
回复 支持 反对

使用道具 举报

22

主题

130

帖子

740

积分

高级会员

Rank: 4

积分
740
QQ
 楼主| 发表于 2019-3-5 17:11:21 | 显示全部楼层
可以了 getExecutors()才是获取执行人的方法。结贴
这个人很懒,什么也没留下
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2019-8-26 08:08 , Processed in 0.058028 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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