找回密码
 注册成为天翎用户
楼主: timmy

[已解决] 表单构建失败

[复制链接]
 楼主| timmy 发表于 2017-8-16 10:47:36 | 显示全部楼层
本帖最后由 kelly 于 2017-9-12 17:42 编辑

/**
*返回表单链接
*/
function showDoc(docId, formId, parameterNames, parameterValues) {
        var count = 1;
        var applicationid = getApplication();
        if (parameterNames.constructor == Array) {
                count = parameterNames.length;
        }
        var params = "&signatureExist=false&application="+applicationid;
        for (var i = 0; i < count; i++) {
                var pName;
                var pValue;
                if (parameterNames.constructor == Array) {
                        pName = parameterNames;
                        pValue = parameterValues;
                } else {
                        pName = parameterNames;
                        pValue = parameterValues;
                }
                params += "&" + pName + "=" + $TOOLS.STRING_UTIL.URLEncode(pValue, "UTF-8");
        }
        var docUrl = $WEB.getParamsTable().getContextPath() + "/portal/dynaform/document/view.action?" + "_docid=" + docId + "&_formid=" + formId + params;
                    //  println("docUrl===============" + docUrl);
        return docUrl;
}





/**
*返回新建表单链接
*
*/
function newDocLink(formId, parameterNames, parameterValues, isReload) {
        var reloadStr = "true";
        if(isReload == false){
            reloadStr = "false";
        }
        var count = 1;
        //var applicationid = getApplication();
        if (parameterNames.constructor == Array) {
                count = parameterNames.length;
        }
        var params = "&_isJump=1";//&application="+applicationid;
        for (var i = 0; i < count; i++) {
                var pName;
                var pValue;
                if (parameterNames.constructor == Array) {
                        pName = parameterNames;
                        pValue = parameterValues;
                } else {
                        pName = parameterNames;
                        pValue = parameterValues;
                }
                params += "&" + pName + "=" + $TOOLS.STRING_UTIL.URLEncode(pValue, "UTF-8"); //params += "&"+pName+"="+pValue;
        }
        var backURL = getParameter("_backURL");
        backURL = $TOOLS.STRING_UTIL.URLEncode(backURL, "UTF-8");
        var docUrl =  "/portal/dynaform/document/newWithJump.action?" + "_formid=" + formId + params;//+"&_backURL="+backURL;
        //println(docUrl);
        return docUrl;
}
 楼主| timmy 发表于 2017-8-16 10:47:51 | 显示全部楼层
/** 读取用户选择框,返回用户对象数组 */
function getUsersByIds(ids){
        var userList = createObject("java.util.ArrayList");
        var userProcess = getUserProcess();
        if (isNotNull(ids)){
                var idsList = ids.split(";");
                for (var i=0;i<idsList.length ;i++ ){
                        var user = userProcess.doView(idsList[i]);
                        if (user!=null){
                                userList.add(user);//println(user.getName()+"-----pp");
                        }       
                }
        }
        return userList;
}


/** 读取用户选择框,返回用户对象数组 */
function getWebUsersByIds(ids){
        var userList = createObject("java.util.ArrayList");
        var userProcess = getUserProcess();
        if (isNotNull(ids)){
                var idsList = ids.split(";");
                for (var i=0;i<idsList.length ;i++ ){
                        var user = userProcess.doView(idsList[i]);
                        if (user!=null){
                                var webuser = new Packages.cn.myapps.core.user.action.WebUser(user);
                                userList.add(webuser);//println(user.getName()+"-----pp");
                        }       
                }
        }
        return userList;
}



function showDocBYviewDoc(docid,formid,buttonValue){
        buttonvalue = "查看"
        if (isNotNull(buttonValue)){
                buttonvalue = buttonValue;
        }
        var value = "<input type=button value='" +buttonvalue+"' onclick=\"viewDoc('"+docid+"','"+formid+"',false)\">";
        return value;
}




/**
*视图列生成一段按钮html,点击按钮跳转到表单。(该方法只能在视图中调用)
*/
function showDocOpenWindowByType(docId,formId,title,parameterNames, parameterValues,_openType) {
        var count = 1;
        var applicationid = getApplication();
        if (parameterNames.constructor == Array) {
                count = parameterNames.length;
        }
        var params = "&signatureExist=false";//&application="+applicationid;
        for (var i = 0; i < count; i++) {
                var pName;
                var pValue;
                if (parameterNames.constructor == Array) {
                        pName = parameterNames[i];
                        pValue = parameterValues[i];
                } else {
                        pName = parameterNames;
                        pValue = parameterValues;
                }
                params += "&" + pName + "=" + $TOOLS.STRING_UTIL.URLEncode(pValue, "UTF-8");
        }
        var docUrl = $WEB.getParamsTable().getContextPath() + "/portal/dynaform/document/view.action?" + "_docid=" + docId + "&_formid=" + formId + params;
                      //println("docUrl===============" + docUrl);
        var value = "<input type=button value='" + title+"' title='" + title+"' onclick=\"openWindowByType('"+docUrl+"','"+title+"',"+_openType+")\">";
        return value;
}
 楼主| timmy 发表于 2017-8-16 10:48:05 | 显示全部楼层
//打开新的表单,返回时刷新包含元素,注:无包含元素时不可用
function buttonNewDocWithRefresh(formid,title,paramsNames,paramsValues,iframeIds){
        var application = getApplication();
        var params = "";
        var count = 1;
        if (paramsNames.constructor == Array) {
                count = paramsNames.length;
        }
        var params = "";
        for (var i = 0; i < count; i++) {
                var pName;
                var pValue;
                if (paramsNames.constructor == Array) {
                        pName = paramsNames[i];
                        pValue = paramsValues[i];
                } else {
                        pName = paramsNames;
                        pValue = paramsValues;
                }
                params += "&" + pName + "=" + $TOOLS.STRING_UTIL.URLEncode(pValue, "UTF-8");
        }
        var url = getContextPath()+"/portal/dynaform/document/newWithPermission.action?_formid="+formid+"&_isJump=1&application="+application+params;
        var refresh = "";
        if(iframeIds){
                //var datatime = format(getToday(),"h:m:s");//println(datatime);
                if (iframeIds.constructor == Array) {
                        for (var i = 0; i < iframeIds.length; i++) {
                                refresh += "jQuery('#"+iframeIds[i]+"').attr('src',jQuery('#"+iframeIds[i]+"').attr('src'));";
                        }
                } else {
                        refresh += "jQuery('#"+iframeIds+"').attr('src',jQuery('#"+iframeIds+"').attr('src'));";
                }
        }else{
                refresh += "if(jQuery('iframe[name=display_view]')){if(jQuery('iframe[name=display_view]').length > 1){jQuery('iframe[name=display_view]').each(function(i){this.src = this.src;});}else{jQuery('iframe[name=display_view]').attr('src',jQuery('iframe[name=display_view]').attr('src'));}}";
        }
//println("refresh========="+refresh);
        var rnt = "<input type='button' onclick=\"OBPM.dialog.show({width:1200,height:500,url:'" + url + "',args:OBPM.dialog.getArgs(),title:'"+title+"',maximization:false,maximized:true,position:'center',close:function(){"+refresh +"}});return false;\" value='"+title+"'/>";//dy_refresh('');可调用平台刷新功能
        return rnt;
}





/**
* 返回下载文件URL
* webPath 例如:/uploads/item
* filename 例如:demo.jpg
*/
function getDownLoadURL(webPath,filename){
        var url = $WEB.getParamsTable().getContextPath() + "/portal/filedownload/download.action?filename=" + $TOOLS.STRING_UTIL.URLEncode(filename, "UTF-8") + "&webPath=" + $TOOLS.STRING_UTIL.URLEncode(webPath, "UTF-8");
        return url;
}



/**
* 返回下载文件URL
* attachment  sp10版本附件(json数据)
*/
function sp10_getDownLoadURL(attachment){
        var url = "";
        if(isNotNull(attachment)){
                var cols = Packages.cn.myapps.util.json.JsonUtil.toCollection(attachment);
                for (var iter = cols.iterator(); iter.hasNext();) {
                        var map = iter.next();
                        var name = map.get("name");
                        var path = map.get("path");//println(path+"=====");
                        name = $TOOLS.STRING_UTIL.URLEncode(name, "UTF-8");
                        path = $TOOLS.STRING_UTIL.URLEncode(path, "UTF-8");
                        url = $WEB.getParamsTable().getContextPath() + "/portal/dynaform/document/fileDownload.action?filename="+ name + "&filepath=" + path;
                }
        }
        return url;
}

 楼主| timmy 发表于 2017-8-16 10:48:23 | 显示全部楼层
/**
* 返回下载文件的文件名
* attachment  sp10版本附件(json数据)
*/
function sp10_getFileName(attachment){
        var filename = "";
        if(isNotNull(attachment)){//println("attachment======"+attachment);
                var cols = Packages.cn.myapps.util.json.JsonUtil.toCollection(attachment);
                for (var iter = cols.iterator(); iter.hasNext();) {
                        var map = iter.next();
                        filename = map.get("name");
                }
        }
        return filename;
}


function sp10_getFileName_first(attachment){
        var filename = "";
        if(isNotNull(attachment)){//println("attachment======"+attachment);
                var cols = Packages.cn.myapps.util.json.JsonUtil.toCollection(attachment);
                for (var iter = cols.iterator(); iter.hasNext();) {
                        var map = iter.next();
                        filename = map.get("name");
                        break;
                }
        }
        return filename;
}



function impExcel(actid,id,buttonValue,parentid){
        var value = "<input type=button value='" +buttonValue+"' onclick=\"ev_excelImport_2('"+actid+"','"+id+"','"+parentid+"')\">";
        return value;
}





//用于测试任务、测试子任务、评审文档、测试问题的“查看”按钮
//d_coding_name是文档编号字段,根据文档编号打开文档
function getButtonWithTypeLook(d_coding_name){
        var d_coding = getItemValueAsString(d_coding_name);
        var sql = "select * from tlk_KM_documents where item_d_coding='"+d_coding+"'";
        var docs = queryBySQL(sql);
        var ite = docs.iterator();
        var doc_id = "";
        if (ite.hasNext()){
                doc_id = ite.next().getId();
        }
        var value = "<input type=button value=查看 disabled>";
        if (isNotNull(doc_id)){
                value = buttonShowDoc(doc_id,"11e3-46b6-19f2039a-89fb-3137e2d71072","查看",["isOperate"],["0"],false);
        }
        return value;
}




//用于一级评审、评审文档、专业报告、电子工艺、装备任务、通用任务、三级评审、测试任务选取文档、文件时,判断选取按钮是否可操作
//show_labelArray为可见的流程状态标签,在某个流程节点可操作就传参数,如果第一个流程节点可操作,则需另外加传参数"1"
function isShowSelectButton(show_labelArray,parDoc){
        var flag = false;
        var doc = getCurrentDocument();
        if(parDoc){
                doc = parDoc;
        }
        var statelabel = doc.getStateLabel();
        var auditorlist = doc.getAuditorList();
        var userid = getWebUser().getId();
        for (var i=0;i<show_labelArray.length ;i++ ){
                var show_label = show_labelArray[i];
                if (isNotNull(statelabel)){
                        if (show_label.equals(statelabel) && (auditorlist.indexOf(userid)>-1)){
                                flag = true;
                                break;
                        }
                }else{
                        if ("1".equals(show_label)){//如果第一个节点可看,则传1过来
                                flag = true;
                                break;
                        }
                }
        }
        return flag;
}
 楼主| timmy 发表于 2017-8-16 10:48:39 | 显示全部楼层
//调用平台的openWindowByType(action, title, viewType, actid)打开一张新的表单
function newDocOpenWindowByType(activityid,title,parameterNames,parameterValues,_openType){
        var count = 1;
        if (parameterNames.constructor == Array) {
                count = parameterNames.length;
        }
        var params = "";
        for (var i = 0; i < count; i++) {
                var pName;
                var pValue;
                if (parameterNames.constructor == Array) {
                        pName = parameterNames[i];
                        pValue = parameterValues[i];
                } else {
                        pName = parameterNames;
                        pValue = parameterValues;
                }
                params += "&" + pName + "=" + $TOOLS.STRING_UTIL.URLEncode(pValue, "UTF-8");
        }
        var docUrl = $WEB.getParamsTable().getContextPath() + "/portal/dynaform/activity/action.action?" + "_activityid=" + activityid+params;
        var value = "<input type=button value='" +title+"' title='" +title+"' onclick=\"openWindowByType('"+docUrl+"','"+"选择"+"','"+_openType+"','"+activityid+"')\">";
        return value;
}





function getFileName(values){
        //var values = getItemValueAsString("附件")       
        var valuestr  = Packages.cn.myapps.util.StringUtil.right(values, values.length() - 1);//println("valuestr==="+valuestr);
        valuestr =  Packages.cn.myapps.util.StringUtil.left(valuestr, valuestr.length() - 1);//println("valuestr22==="+valuestr);
        var jsonObject = Packages.net.sf.json.JSONObject.fromObject(valuestr);//println("jsonObject==="+jsonObject);
        var value = jsonObject.getString("path");//println("value==="+value);
        return value;
}

 楼主| timmy 发表于 2017-8-16 10:48:53 | 显示全部楼层
function getFileName2(values){
        var cols = Packages.cn.myapps.util.json.JsonUtil.toCollection(values);
        var filepath = "";
        for (var iter = cols.iterator(); iter.hasNext();) {
                var map = iter.next();
                filepath = map.get("path");
                break;
        }
        return filepath;
}




function on_delete_sub(colId){
        on_delete(colId);
        var doc = getCurrentDocument();
        var id = doc.getId()
        var process = getDocumentProcess();
        var sql = "select * from t_document where id='"+id+"'";
        var docs = queryBySQL(sql);
        if (docs.iterator().hasNext()){
                var sql2 = "select * from tlk_project_test_subtasks where item_parent_id='"+id+"'";
                var Cdocs = queryBySQL(sql2);
                for (var ite = Cdocs.iterator();ite.hasNext() ; ){
                        var Cdoc = ite.next();
                        process.doRemove([Cdoc.getId()]);
                }
        }
}



function getValueByWhere(formName,fieldName,fieldValue,rnt_fieldName){
        var value = "";
        var sql = "select * from tlk_"+formName+" where item_"+fieldName+"='"+fieldValue+"'";
        var docs = queryBySQL(sql);
        if (docs.iterator().hasNext()){
                value = docs.iterator().next().getItemValueAsString(rnt_fieldName);
        }
        return value;
}




/*
  * viewId:视图ID
    buttonValue:按钮名称
    width:弹出视图的宽度
    height:弹出视图的高度
    parameterNames:参数名字
    parameterValues:参数值
  
  *
  *
  *
*/
function buttonShowView(viewId, buttonValue, width, height, parameterNames, parameterValues) {
        var count = 1;
        if (parameterNames.constructor == Array) {
                count = parameterNames.length;
        }
        var applicationid = getApplication();
        var params = "&application="+applicationid;
        for (var i = 0; i < count; i++) {
                var pName;
                var pValue;
                if (parameterNames.constructor == Array) {
                        pName = parameterNames[i];
                        pValue = parameterValues[i];
                } else {
                        pName = parameterNames;
                        pValue = parameterValues;
                }
                params += "&" + pName + "=" + $TOOLS.STRING_UTIL.URLEncode(pValue, "UTF-8");
        }
        var viewUrl = $WEB.getParamsTable().getContextPath() + "/portal/dynaform/view/displayViewWithPermission.action?_viewid=" + viewId + params + "&clearTemp=true&isinner=false";
        //var value = "<input type=button value='" + buttonValue + "' onclick='        window.showModalDialog(\"" + viewUrl + "\",\"\",\"dialogWidth=" + width + ";dialogHeight=" + height + "\")'>";
        var value = "<input type=button value='" + buttonValue + "' onclick=window.open('" + viewUrl + "','"+buttonValue+"','width=" + width + ",height=" + height +",z-look=1,alwaysRaised=1,resizable=1')>";

        return value;
}
 楼主| timmy 发表于 2017-8-16 10:49:09 | 显示全部楼层

function insertFileIntoDocument(directory,fileItemname,versionItem){
        var sql = "select * from tlk_KM_directory where item_currentname='"+directory+"' and item_p_coding='"+getItemValueAsString("p_coding")+"'";
        var docs = queryBySQL(sql);
        var version = "";
        var author = "";
        v_date = "";
       
        if (isNotNull(versionItem)){
                version=getItemValueAsString(versionItem);
                var currDoc = getCurrentDocument();
                var author = currDoc.getAuthor().getId();
                v_date = getToday();
        }
        for (var iter = docs.iterator();iter.hasNext() ; ){
                var doc = iter.next();
                var superiorsID = doc.getItemValueAsString("superiorsID");
                var superiorsname = doc.getItemValueAsString("superiorsname");
                var currentID = doc.getItemValueAsString("currentID");
                var currentname = doc.getItemValueAsString("currentname");
                var fileItemname = getItemValueAsString(fileItemname);
                var json_1 = Packages.cn.myapps.util.json.JsonUtil.toCollection(fileItemname);
                for (var ite = json_1.iterator(); ite.hasNext();) {
                        var map = ite.next();

                        //添加文档数据
                        var d_name = map.get("name");
                        var d_coding = countNext2("KMDOC",true,true,true,4);
                        var id_doc = InsertDataOnOtherDoc("正弦电气研发业务管理系统/知识管理/文档管理/KM_documents","11e3-46b6-19f2039a-89fb-3137e2d71072",["d_name","d_coding","superiorsname","superiorsID","currentname","currentID","w_status","p_name","p_coding"],[d_name,d_coding,superiorsname,superiorsID,currentname,currentID,"show",getItemValueAsString("p_name"),getItemValueAsString("p_coding")],["string","string","string","string","string","string","string","string","string"]);


                        //对项目经理授权
                        //doAuthorize(te_id,d_coding,"用户",getItemValueAsString("p_manager"),"","","查看;新建;删除");

                        //添加文件数据
                        var file = "[" + Packages.cn.myapps.util.json.JsonUtil.toJson(map) + "]";
                        var doc_doc = findDocument(id_doc);
                        if (doc_doc !=null){
                                var f_number = countNext(d_coding);//countNext2("F_NUM",false,false,false,4)+"";
                                if(f_number < 10){
                                        f_number = "000" + f_number;
                                }else if(f_number < 100){
                                        f_number = "00" + f_number;
                                }else if(f_number < 1000){
                                        f_number = "0" + f_number;
                                }       
                                var f_coding = d_coding+"_"+f_number;
                                var id_file = InsertDataOnOtherDoc("正弦电气研发业务管理系统/知识管理/文档管理/KM_file","11e3-46bc-97528370-89fb-3137e2d71072",["f_number","d_name","d_coding","f_coding","f_status","attachment","version","baselineman","baselinetime"],[f_number,d_name,d_coding,f_coding,"show",file,version,author,v_date],["string","string","string","string","string","string","string","string","date"],id_doc);
                        }
                }
        }
}

 楼主| timmy 发表于 2017-8-16 10:52:53 | 显示全部楼层
完整代码见附件:

代码.rar

5.79 KB, 下载次数: 212

代码

 楼主| timmy 发表于 2017-8-16 11:11:14 | 显示全部楼层
shary 发表于 2017-8-9 18:59
您好,根据您的错误是您的公有函数controllib的第734行代码出错了。麻烦您将代码贴出来帮您检查下具体逻辑 ...

后面有上传完整代码
shary 发表于 2017-8-31 12:10:25 | 显示全部楼层
您好,请问您的问题是否已经解决。如果还有问题麻烦您联系下我帮您远程看下吧。我的QQ:366479712

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-9-29 05:18

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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