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

QQ登录

只需一步,快速开始

查看: 10635|回复: 13

[结贴] 启动流程的问题

[复制链接]

31

主题

139

帖子

357

积分

中级会员

Rank: 3Rank: 3

积分
357
QQ
发表于 2018-10-17 16:47:07 | 显示全部楼层 |阅读模式
版本: X5.2.7 小版本号:
数据库: Sybase 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 7 浏览器: Chrome
本帖最后由 cht0112 于 2018-10-17 17:04 编辑

因为是已有数据,所以需要自己启动流程进行流转,以下代码按论坛上的贴子写的
                        var proc = justep.xbl("testSchemeP");
                        alert("proc="+proc);
                        proc.start(null, null, data.getCurrentRowID(), null);

可执行时proc是空的,确认testSchemeP就是process的ID。请帮忙看下是什么问题。
      <xhtml:div component="/UI/system/components/process.xbl.xml#process" use-simple-dialog="true"
        data-type="xml" dialog-window="/UI/system/service/process/dialogs/processDialog.w"
        dialog-height="480" dialog-width="600" id="testSchemeP" data="testSchemeBaseInfoD" auto-filter="false"/>  

test_scheme_update.rar

6.09 KB, 下载次数: 151

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-10-17 17:10:15 | 显示全部楼层
你发的js中就没有你上面发的代码啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

31

主题

139

帖子

357

积分

中级会员

Rank: 3Rank: 3

积分
357
QQ
 楼主| 发表于 2018-10-18 09:29:03 | 显示全部楼层
jishuang 发表于 2018-10-17 17:10
你发的js中就没有你上面发的代码啊

有啊,在JS尾部mainActivity.model1Load里,后面的是.w里的代码
回复 支持 反对

使用道具 举报

31

主题

139

帖子

357

积分

中级会员

Rank: 3Rank: 3

积分
357
QQ
 楼主| 发表于 2018-10-18 09:36:45 | 显示全部楼层
var mainActivity = {};

var testSchemeBaseInfoId = "";
var testSchemeBusinessType = "";
var testDectionId = "";

mainActivity.saveMoreClick = function(event) {
        // debugger;
        //alert("进入保存事件了");
        var testSchemeBaseInfoD = justep.xbl("testSchemeBaseInfoD");
        testSchemeBaseInfoId = testSchemeBaseInfoD.getCurrentID();
        testSchemeBaseInfoName = testSchemeBaseInfoD.getValue("tESTSCHEMENAME");
        if (testSchemeBaseInfoName == null || testSchemeBaseInfoName == "") {
                alert("方案名称不能为空!");
                return;
        }
        testSchemeBusinessType = testSchemeBaseInfoD.getValue("bUSINESSID");
        if (testSchemeBusinessType == null || testSchemeBusinessType == "") {
                alert("业务类型不能为空!");
                return;
        }
        testDectionId = testSchemeBaseInfoD.getValue("dECTIONBASEDONID");
        if (testDectionId == null || testDectionId == "") {
                alert("检测依据不能为空!");
                return;
        }
        objecttype = testSchemeBaseInfoD.getValue("oBJECTTYPE");
        if (objecttype == null || objecttype == "") {
                alert("检测对象类别不能为空!");
                return;
        }
        devicetype = testSchemeBaseInfoD.getValue("dEVICETYPE");
        if (devicetype == null || devicetype == "") {
                alert("检测对象不能为空!");
                return;
        }
        maketime = testSchemeBaseInfoD.getValue("mAKEDATETIME");
        if (maketime == null || maketime == "") {
                alert("编制日期不能为空!");
                return;
        }
        desc = testSchemeBaseInfoD.getValue("tESTSCHEMEDESC");
        if (desc == null || desc == "") {
                alert("方案描述不能为空!");
                return;
        }
        testSchemeBaseInfoD.saveData();
        // alert("保存执行完了");

        // 保存后保存按钮变灰并禁用
        justep.xbl("saveMore").setDisabled(true);
        justep.xbl("saveMoreD").setDisabled(false);
        justep.xbl("gridSelect4").setDisabled(false);

        // 业务阶段编码通过业务类型过滤
        var businessStageD = justep.xbl("businessStageD");
        businessStageD.setFilter("filter0", "BUSINESS_STAGE_CODE.bUSINESSID="
                        + testSchemeBusinessType);
        businessStageD.refreshData();
//        var businessCD = justep.xbl("businessCD");
//        businessCD.setValue("businessStageName", "", 0);

        // 测试用例基本 信息用检测依据Id过滤
        var testCaseBaseInfoD = justep.xbl("testCaseBaseInfoD");
        testCaseBaseInfoD.setFilter("filter1", "tcbi.dECTIONBASEDONID="
                        + testDectionId );
        testCaseBaseInfoD.setFilter("filter2", "TEST_CASE_DECTION_INFO.aPPLYFOROBJECT ="
                        + objecttype);
        testCaseBaseInfoD.setFilter("filter3", "TEST_CASE_DECTION_INFO.aPPLYFORDEVICETYPE ="
                        + devicetype);
        testCaseBaseInfoD.refreshData();
};

mainActivity.saveMoreDClick = function(event)  {
        // alert("进入保存Dtail事件了");
        //debugger;
        var testSchemeCaseInfoD = justep.xbl("testSchemeCaseInfoD");
        var schemeCaseArray = new Array();
        var businessCD = justep.xbl("businessCD");
        var businessStage = businessCD.getValue("businessStage");

        for ( var j = 0; j < testSchemeCaseInfoD.getCount(); j++) {
                var idd = testSchemeCaseInfoD.getID(j);
                var testScheme2 = testSchemeCaseInfoD.getValue("tESTSCHEMEID", idd);
                if (testScheme2 == testSchemeBaseInfoId) {
                        schemeCaseArray.push(idd);
                }
        }
       
                testSchemeCaseInfoD.deleteData(schemeCaseArray);
                testSchemeCaseInfoD.saveData();
       
        if (businessStage != "" && businessStage != null) {
                debugger;
                var testCaseGrid = justep.xbl("testCaseGrid").grid;
                var checkColIndex = testCaseGrid.getColIndexById("checkBox");
                var checkedIDs = testCaseGrid.getCheckedRows(checkColIndex);
                if (checkedIDs == null || checkedIDs == "") {
                        alert("请选择用例!");
                        return;
                }
                var checkedIDsArray = checkedIDs.split(",");
                for ( var i = 0; i < checkedIDsArray.length; i++) {
                        var id = checkedIDsArray[i];
                        var testCaseId = testCaseGrid.getValueById(id, "tESTCASEID");
                        var versionId = testCaseGrid.getValueById(id, "tESTCASEVER");
                        var detectionSort = testCaseGrid.getValueById(id, "aPPLYFOROBJECT");
                        // alert("****对象类别***"+detectionSort);
                        var deviceObject = testCaseGrid.getValueById(id,
                                        "aPPLYFORDEVICETYPE");
                        // alert("****对象***"+deviceObject);
                        testSchemeCaseInfoD.refreshData();
                        testSchemeCaseInfoD.newData();
                        // alert(testSchemeBaseInfoId+",=="+testSchemeBusinessType+",=="+testDectionId);
                        testSchemeCaseInfoD.setValue("tESTSCHEMEID", testSchemeBaseInfoId);
                        testSchemeCaseInfoD.setValue("bUSINESSID", testSchemeBusinessType);
                        testSchemeCaseInfoD.setValue("bUSINESSSTAGE", businessStage);
                        testSchemeCaseInfoD.setValue("aPPLYFOROBJECT", detectionSort);
                        testSchemeCaseInfoD.setValue("aPPLYFORDEVICETYPE", deviceObject);
                        testSchemeCaseInfoD.setValue("tESTCASEVER", versionId);
                        testSchemeCaseInfoD.setValue("tESTCASEID", testCaseId);
                        // alert("第"+(i+1)+"次");
                         testSchemeCaseInfoD.saveData();
                }

                //testSchemeCaseInfoD.saveData();
                // alert("victory");
                // 保存后保存按钮变灰并禁用
                justep.xbl("saveMoreD").setDisabled(true);
        } else {
                alert("请重新选业务阶段!");
        }
};

mainActivity.testSchemeBaseInfoDAfterNew = function(event) {

        // debugger;
        var id = justep.Request.URLParams.id;
        var testSchemeBaseInfoD = justep.xbl("testSchemeBaseInfoD");
        if(id==0){
                var currentPsId = justep.Context.getCurrentPersonName();
                testSchemeBaseInfoD.setValue("vALIDSTATE", 1);
                testSchemeBaseInfoD.setValue("vALIDSTATECNAME", "未应用");
                testSchemeBaseInfoD.setValue("sCHEMEWRITER",currentPsId);
        }
};

mainActivity.testSchemeBaseInfoDValueChanging = function(event) {
        // debugger;
        if (event.value != event.originalValue) {
                justep.xbl("saveMore").setDisabled(false);
        }
};

mainActivity.testCaseGrid_calMarkRender = function(event) {
        var testCaseBaseInfoD = justep.xbl("testCaseBaseInfoD");
        var indexAndRelationD = justep.xbl("indexAndRelationD");
        indexAndRelationD.refreshData();
        var indexTotal = indexAndRelationD.getCount();
        var id = event.rowId;
        var ver = testCaseBaseInfoD.getValue("tESTCASEVER", id);
        var testId = testCaseBaseInfoD.getValue("tESTCASEID", id);
        var html = "";
        for ( var j = 0; j < indexTotal; j++) {
                var indexId = indexAndRelationD.getID(j);
                var ver1 = indexAndRelationD.getValue("tESTCASEVER", indexId);
                var testId1 = indexAndRelationD.getValue("tESTCASEID", indexId);
                // alert(indexId+",-"+ver1+",-"+testId1);
                if (ver == ver1 && testId == testId1) {
                        html = "<a href=\"#\" id=\"btnselect\" onclick=\"mainActivity.chakan('"
                                        + id + "'," + ver + ",'" + testId + "')\" >查看指标</a>";
                        break;
                }
        }

        return html;
};

mainActivity.chakan = function(id, ver, testId) {
        justep.xbl("relationWD").open({
                "id" : id,
                "ver" : ver,
                "testId" : testId
        });
};

mainActivity.gridSelect1Closeup = function(event) {
        debugger;
        var testSchemeBaseInfoD = justep.xbl("testSchemeBaseInfoD");
        var dectionId = testSchemeBaseInfoD.getValue("dECTIONBASEDONID",
                        justep.Context.getProcessData1());
        if (dectionId != null && dectionId != "") {
                var testCaseBaseInfoD = justep.xbl("testCaseBaseInfoD");
                testCaseBaseInfoD.setFilter("caseFilter1", "tcbi.dECTIONBASEDONID="
                                + dectionId);
                testCaseBaseInfoD.refreshData();
        }
};

mainActivity.gridSelect2Closeup = function(event) {
        debugger;
        var testSchemeBaseInfoD = justep.xbl("testSchemeBaseInfoD");
        var devicetypeD = justep.xbl("deviceTypeD");
        var devicecode = devicetypeD.getValue("dEVICETYPE",
                        justep.Context.getProcessData1());
        if (devicecode != null && devicecode != "") {
        testSchemeBaseInfoD.setValue("dEVICETYPE", devicecode);
        }
};

mainActivity.gridSelect6Closeup = function(event) {
        debugger;
        var testSchemeBaseInfoD = justep.xbl("testSchemeBaseInfoD");
        var objecttype = testSchemeBaseInfoD.getValue("oBJECTTYPE",
                        justep.Context.getProcessData1());
        if (objecttype != null && objecttype != "") {
                var devicetypeD = justep.xbl("deviceTypeD");
                devicetypeD.setFilter("caseFilter2", "DEVICE_TYPE_CODE.dETECTIONOBJECTTYPE ="
                                + objecttype);
                testSchemeBaseInfoD.setValue("dEVICETYPE", "",justep.Context.getProcessData1());
                testSchemeBaseInfoD.setValue("dEVICETYPECNAME", "",justep.Context.getProcessData1());
                devicetypeD.refreshData();
        }
};

mainActivity.model1Load = function(event){
        var id = justep.Request.URLParams.id;
        alert("id="+id);
        // debugger;
        var testSchemeBaseInfoD = justep.xbl("testSchemeBaseInfoD");
        if(id>0){
                testSchemeBaseInfoD.setFilter("filter0","TEST_SCHEME_BASE_INFO="+id);
                testSchemeBaseInfoD.refreshData();
                if(testSchemeBaseInfoD.getCount()>0){
                        var dectionId = testSchemeBaseInfoD.getValue("dECTIONBASEDONID", justep.Context.getProcessData1());
                        var testCaseBaseInfoD = justep.xbl("testCaseBaseInfoD");
                        testCaseBaseInfoD.setFilter("caseFilter1", "tcbi.dECTIONBASEDONID="+dectionId);
                        testCaseBaseInfoD.refreshData();                       
                        var proc = justep.xbl("process");
                        alert("proc="+proc);
                        proc.start(null, null, data.getCurrentRowID(), null);
                }
                }
}
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-10-18 09:48:04 | 显示全部楼层
那你js中明显不对,你的id是
testSchemeP不是process,看你js中写的是
var proc = justep.xbl("process");

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



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

使用道具 举报

31

主题

139

帖子

357

积分

中级会员

Rank: 3Rank: 3

积分
357
QQ
 楼主| 发表于 2018-10-18 10:05:33 | 显示全部楼层
jishuang 发表于 2018-10-18 09:48
那你js中明显不对,你的id是
testSchemeP不是process,看你js中写的是
var proc = justep.xbl("process");

改成                var proc = justep.xbl("testSchemeP");
                alert("proc="+proc);
                proc.start(null, null, data.getCurrentRowID(), null);
也是一样,写成process是试后没改回来,结果就是proc为空
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-10-18 10:28:58 | 显示全部楼层
debugger调试看看proc

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



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

使用道具 举报

31

主题

139

帖子

357

积分

中级会员

Rank: 3Rank: 3

积分
357
QQ
 楼主| 发表于 2018-10-18 10:34:57 | 显示全部楼层
jishuang 发表于 2018-10-18 10:28
debugger调试看看proc

运行报什么错?找不到start方法?

是proc本身是空的,var proc = justep.xbl("testSchemeP");没取到object
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36198
发表于 2018-10-18 10:43:27 | 显示全部楼层
process组件所在的view的layout中加上这个组件的布局
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

31

主题

139

帖子

357

积分

中级会员

Rank: 3Rank: 3

积分
357
QQ
 楼主| 发表于 2018-10-18 11:06:17 | 显示全部楼层
jishuang 发表于 2018-10-18 10:43
process组件所在的view的layout中加上这个组件的布局

现在这样不行吗?layout里有view1,view1里有testSchemeP,要怎么加?

<xui:layout style="height:100%;width:100%" id="rootLayout">
      <xui:place control="view1" id="controlPlace1" style="height:100%;width:100%;"/>
    </xui:layout>  
    <xui:view auto-load="true" id="view1" class="xui-container">
      <layout type="absolute" style="position:relative;" id="layout1">
        <xui:place control="toolbars1" id="controlPlace2" style="position:absolute;width:400px;top:5px;height:25px;left:5px;"/>  
        <xui:place control="testSchemeP" id="controlPlace3" style="position:absolute;width:24px;left:554px;top:210px;"/>  

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-28 15:17 , Processed in 0.063713 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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