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

QQ登录

只需一步,快速开始

查看: 18006|回复: 15

[处理中3] js的onAdvanceCommit中调用showPage打开下一条待办,当前

[复制链接]

58

主题

210

帖子

639

积分

高级会员

Rank: 4

积分
639
QQ
发表于 2020-1-13 15:15:35 | 显示全部楼层 |阅读模式
版本: 其它(帖子中说明) 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
3.4升级3.8之后,js的onAdvanceCommit中调用showPage打开下一条待办,当前流程界面不会自动关闭,仍然存在于 已打开功能 中。
而3.4版本是会自动关闭当前已提交的流程的,不会在  已打开功能  中保留。


实现js代码如下:
// 自动执行下一条:被自动执行的代办,isdo=null       
        Model.prototype.processAdvanceCommit = function(event){
                var userid = this.getContext().getCurrentPersonID();// 当前人的id
                var process = this.getContext().getCurrentProcess();// 当前process
                var act = this.getContext().getCurrentActivity();// 当前的activity
                var zbid = this.comp("mainData").getCurrentRowID();// sData1

                var param = new biz.Request.ActionParam();
                param.setString("userid", userid);
                param.setString("process", process);
                param.setString("act", act);
                param.setString("zbid", zbid);

                var r = biz.Request.sendBizRequest({
                        "context" : this.getContext(),
                                "action" : "rtNextTask2",
                                "parameters" : param,
                                "directExecute" : true,
                                "callback" : function(data) {
                                        data.ignoreError = false;
                                        if (data.state) {
                                        } else {
                                                alert("提取下一条待办失败!!!");
                                        }
                                }
                });

                var fidh = eval('(' + r.responseText + ')').data.value + "";// 获取JSON的值,浏览器兼容,JSON方式。
                var list = fidh.split(',');
                var sEURL = list[0];
                var sID = list[1];
                var sExecutorPersonID = list[2];
                var sProcess = list[3];
                var sActivity = list[4];
                var sData1 = list[5];
                var sName = list[6];
               
if (sEURL && sID && sExecutorPersonID && sProcess && sActivity && sData1) {
if (!confirm("是否确定办理下一条?")) {
                        return;
                   }

exeTask2.execute(sEURL,sID,sExecutorPersonID,sProcess,sActivity,sData1,sName); // 打开流程界面        --- 方法2:调用公共js
       
}       
        };


executeTask2.js中代码如下:
define(function(require) {
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");
        var biz = require('$UI/system/lib/biz');
       
        var exeTask2 = {

//                 打开流程界面        --- 方法2.1
                        execute: function(url,id,executorFID,process,activity,data1,name){
                                if (!url) {
                                        throw new Error("任务的处理页面(sEURL)不允许为空!");
                                } else {
                                       
                                        if (url.charAt(0) === "/"){
                                                if (url.indexOf(".a") !== -1){
                                                        url = "$UI" + url;
                                                }else{
                                                        url = "$model/UI" + url;
                                                }
                                        }
                                       
                                        url += ((url.indexOf("?") == -1) ? "?" : "&");
                                        url += 'task=' + id + '&_pagePattern=write&activity-pattern=do&process=' + process + '&activity=' + activity + '&sData1=' + data1;
                                        justep.Shell.showPage({url:url, title : name, executor : executorFID || ""});                       
                                }
                        }

        };
       
        return exeTask2;
});

58

主题

210

帖子

639

积分

高级会员

Rank: 4

积分
639
QQ
 楼主| 发表于 2020-1-13 15:16:43 | 显示全部楼层
请问如何在3.8实现自动打开下一条待办的同时,从 已打开功能 移除已经提交的流程?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2020-1-13 16:10:10 | 显示全部楼层
这个就没有变过,而且这个是自己的功能平台也不会去修改

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



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

使用道具 举报

58

主题

210

帖子

639

积分

高级会员

Rank: 4

积分
639
QQ
 楼主| 发表于 2020-1-13 16:53:21 | 显示全部楼层
jishuang 发表于 2020-1-13 16:10
这个就没有变过,而且这个是自己的功能平台也不会去修改

确认是不是数据没有刷新 ...

js中使用 justep.Shell.showPage()打开下一条待办,什么数据需要刷新?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

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



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

使用道具 举报

58

主题

210

帖子

639

积分

高级会员

Rank: 4

积分
639
QQ
 楼主| 发表于 2020-1-13 18:06:56 | 显示全部楼层
jishuang 发表于 2020-1-13 17:19
http://docs.wex5.com/bex5-ui-question-list-10078/
http://docs.wex5.com/wex5-ui-question-list-2085/
...

使用下图的这种方式,打开的待办没有标题,请问怎么把标题从justep.Shell.closePage()传过去?

没有标题.png
打开功能的时候关闭当前功能.JPG
回复 支持 反对

使用道具 举报

58

主题

210

帖子

639

积分

高级会员

Rank: 4

积分
639
QQ
 楼主| 发表于 2020-1-13 18:15:00 | 显示全部楼层
本帖最后由 doris 于 2020-1-13 18:16 编辑

使用下面的方法3.4版本的流程可以了。因为我们是兼容的V5.2.7,这个版本有类似的方法吗?原来的方法是justep.Portal.openWindow(name, realUrl, false, null, executor);
Model.prototype.button2Click = function(event){
    var me = this;
    justep.Shell.showPage('p2').done(function(){
        me.close();
    });
};
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36046
发表于 2020-1-14 08:49:42 | 显示全部楼层
原来的方法也是兼容的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

58

主题

210

帖子

639

积分

高级会员

Rank: 4

积分
639
QQ
 楼主| 发表于 2020-1-14 08:58:27 | 显示全部楼层
jishuang 发表于 2020-1-14 08:49
原来的方法也是兼容的

原来的这个方法justep.Portal.openWindow(name, realUrl, false, null, executor);和之前的justep.Shell.showPage()一样,打开新一个流程时不会关闭当前页面
回复 支持 反对

使用道具 举报

93

主题

189

帖子

822

积分

高级会员

Rank: 4

积分
822
QQ
发表于 2020-1-14 09:11:07 | 显示全部楼层
doris 发表于 2020-1-14 08:58
原来的这个方法justep.Portal.openWindow(name, realUrl, false, null, executor);和之前的justep.Shell. ...

携带一个windowId参数到新打开的页面,
然后在新页面参数接收事件执行justep.Portal.closeWindow(windowId);
可以实现打开新页面,关闭之前的页面
有一天,你会遇到一个,彩虹般绚烂的人。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-30 16:15 , Processed in 3.148082 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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