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

QQ登录

只需一步,快速开始

查看: 4247|回复: 4

[结贴] JS 手动启动流程

[复制链接]

68

主题

213

帖子

700

积分

高级会员

Rank: 4

积分
700
QQ
发表于 2018-3-30 12:05:02 | 显示全部楼层 |阅读模式
版本: 其它(帖子中说明) 小版本号:
数据库: Oracle 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 其它 浏览器: Chrome
您好,使用JS手动启动流程,process组件如下设置(autoStart:否;autoSave:是)理论上手动启动流程后流程绑定的业务数据会自动保存,但开发中发现业务数据没有自动保存。(假设业务数据保存成功,但流程启动失败,这样业务数据无法回滚)请问手动启动流程该如何处理?谢谢Model.prototype.modelParamsReceive = function(event) {       
                var self = this;
                if (event.params.data) {
                        var projID = event.params.data.projID;
                        var yspsProcess = self.comp("process");
                        var mainData = self.comp("mainData");
                        var mainID = justep.UUID.createUUID();
                        // 新增数据
                        mainData.newData({
                                "defaultValues" : [ {
                                        "t_pm_ysps" : mainID,
                                        "projID" : projID
                                } ]
                        });
                        mainData.saveData();
                        yspsProcess.start(self.getContext().getProcess(), null, mainID, {
                                                "onSuccess" : function(event) {
                                                        console.log("启动流程成功");
                                                       
                                                },
                                                "onError" : function(event) {
                                                        console.log("启动流程失败");
                                                }
                                        });
                        mainData.refreshData();       
                }
        };

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-3-30 14:30:57 | 显示全部楼层
在process组件的onBeforeStart事件中判断data的状态如果是new或者edit的时候在执行data的保存
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

68

主题

213

帖子

700

积分

高级会员

Rank: 4

积分
700
QQ
 楼主| 发表于 2018-3-30 15:15:38 | 显示全部楼层
jishuang 发表于 2018-3-30 14:30
在process组件的onBeforeStart事件中判断data的状态如果是new或者edit的时候在执行data的保存 ...

我使用一楼的方式实现手动启动流程,然后按照您的方式去判断Data状态,但是Data的状态是none,代码如下:
Model.prototype.processBeforeStart = function(event){
                var mainData = this.comp("mainData");
                var status = mainData.getRowState(mainData.getCurrentRow());

        };
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-3-30 15:43:25 | 显示全部楼层
把你1楼代码中的saveData去掉
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

68

主题

213

帖子

700

积分

高级会员

Rank: 4

积分
700
QQ
 楼主| 发表于 2018-3-30 15:51:31 | 显示全部楼层
本帖最后由 YSCNYSSH 于 2018-3-30 16:05 编辑
jishuang 发表于 2018-3-30 15:43
把你1楼代码中的saveData去掉

谢谢,请结贴

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-5 05:23 , Processed in 0.062568 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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