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

QQ登录

只需一步,快速开始

查看: 6323|回复: 9

[处理中3] 流转的流程怎么控制流转和回退

[复制链接]

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
发表于 2018-6-5 09:58:29 | 显示全部楼层 |阅读模式
需求是这样:用户点击流转,弹出流转对话框,在流转对话框里面增加一个判断,选择是继续流转,选择否回退流转页面,点击OK后代码如下,fPSJG 事选择的是/否

Model.prototype.okBtnClick = function(event){
        debugger;
                this.updateControl();
                if (this.checkControl()){
                        var receiver = this.comp("windowReceive");
                        var controlData = this.comp("controlData");
                        this.control.fPSJG = controlData.getValue("fPSJG");
                        receiver.windowEnsure({task: this.task, action: this.action, control: this.control, options: this.options});
                }
        };


在父页面的流程流转事件,我应该在哪个事件去做控制?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-6-5 10:28:11 | 显示全部楼层
在流转对话框里面增加一个判断,选择是继续流转,选择否回退流转页面
这个值是要存储到任务表的还是自己的业务数据中的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2018-6-5 10:40:33 | 显示全部楼层
到自己的业务数据中
我把这2行数据注释掉,this.updateControl();
                if (this.checkControl()){
点击OK后,将数据传回到主页面的processCloseDialog去使用advance()、back()做流转或回退,
发现已经流转过了,这个确认按钮里面没有涉及到流程的东西,怎么也会流转呢?


回复 支持 反对

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2018-6-5 10:54:45 | 显示全部楼层
receiver.windowEnsure会流转
receiver.windowCancel不会流转,但是不能穿参
我不知道windowEnsure为什么会流转,打算使用windowCancel的方式处理,传参的话在考虑可否使用parent直接修改父属性的方式是否可行
难道BEX5的流转都是使用在主页面点击流转和回退来控制流转,没有考虑过在流转页面去控制流转和回退吗?
回复 支持 反对

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2018-6-5 10:55:56 | 显示全部楼层
这个值是要存储到任务表的还是自己的业务数据中的?
这个好像不是问题的关键吧,先考虑怎么实现在流转对话框去控制流转和回退,在去考虑怎么保存业务数据
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-6-5 11:56:09 | 显示全部楼层
在process的onBeforeAdvance事件中获取自己存储的值,如果是否就调用event.cancel = true中断流转,然后调用回退方法
如果是是就不需要处理直接流转就可以
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2018-6-5 14:05:57 | 显示全部楼层
this.comp("process").back();调用回退方法没有作用???
Model.prototype.processBeforeAdvance = function(event){debugger;
                console.log("流转之前触发");
                if(event.processControl.fPSJG=='否'){
                        event.cancel = true;
                        var htData = this.comp("htData");
                        htData.setValue("fHTZT","评审退回");
                        htData.setValue("PR_PSJL",null);
                        this.comp("process").back();
                }
        };
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-6-5 14:40:20 | 显示全部楼层
debugger调试 this.comp("process").back();执行到了吗?确认控制台是否有报错
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

263

主题

733

帖子

1978

积分

金牌会员

Rank: 6Rank: 6

积分
1978
QQ
 楼主| 发表于 2018-6-5 14:45:11 | 显示全部楼层
打印到了,回退之前和回退之后都有打印,回退成功没有打印,前后台都没有报错信息
        Model.prototype.processBeforeBack = function(event){
                console.log("回退之前");
        };
        Model.prototype.processAfterBack = function(event){
                console.log("回退之后");
        };
        Model.prototype.processBackCommit = function(event){
                console.log("回退成功");
        };

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-6-5 14:56:23 | 显示全部楼层
var me = this;
setTimeout(function(){me.comp("process").back();},1);

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



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-12 02:32 , Processed in 0.057791 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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