天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 3061|回复: 0

[常见问题] 勾选视图数据后创建目标子表记录并跳转到该表单

[复制链接]
Chain 发表于 2021-10-11 14:21:46 | 显示全部楼层 |阅读模式
脚本示例(脚本放在视图跳转按钮中的地址脚本处):
  1. (function(){
  2.         var selectId = getParameterAsText("_selects");
  3.         var arr = splitText(selectId, ";");
  4.         var applicationId = getApplication();
  5.        
  6.         var request = $WEB.getParamsTable().getHttpRequest();
  7.         var user = getWebUser();
  8.         var userId = user.getId();
  9.         var docProcess = getDocProcess(applicationId);
  10.         var formProcess = new Packages.cn.myapps.designtime.form.service.FormDesignTimeServiceImpl();//4.4或5.0版本
  11.         // var formProcess = new Packages.cn.myapps.designtime.form.service.FormServiceImpl(); //4.1版本
  12.         var newForm = formProcess.doViewByFormName("Sign_and_Publish_Form", applicationId); //创建表单,Sign_and_Publish_Form为表单名称
  13.         var newForm2 = formProcess.doViewByFormName("Sample_Information", applicationId);         //创建子表单,Sample_Information为子表单名称
  14.         var params = createParamsTable();
  15.        
  16.         var newDoc = docProcess.doNew(newForm,user,params);
  17.         var uuid = new Packages.cn.myapps.util.sequence.Sequence();
  18.        
  19.         var uid1 = uuid.getSequence();                         //主表uuid;
  20.         var formid = "__1J10OcAlP94Ao2oQ6da";        //表单formId
  21.         var docid = uid1+"--"+formid;                         //该处主要应用在5.0版本,5.0版本的docic由原来的docid和formid组成,如果是4.4或以下版本直接使用uid1
  22.        
  23.         newDoc.setId(docid);
  24.         newDoc.setApplicationid(applicationId);
  25.         newDoc.setAuthor(userId);                                                            
  26.         newDoc.setIstmp(false);   
  27.         newDoc.addStringItem("LssuingType","02"); //01动态签发 02静态签发

  28.         newDoc.addStringItem("Applicant",userId);                 //申请人
  29.         newDoc.addDateItem("ApplyDate",getToday());         //创建日期
  30.         newDoc.addStringItem("Department",user.getDefaultDepartment()); //申请部门
  31.         docProcess.doCreate(newDoc);

  32.         for(var i=0;i<arr.length;i++){
  33.                 var fd = findDocument(arr[i]);
  34.                 var newDoc2 = docProcess.doNew(newForm2,user,params);
  35.                 var uuid2 = new Packages.cn.myapps.util.sequence.Sequence();         
  36.                
  37.                 var uid2 = uuid2.getSequence(); //子表uuid;
  38.                 var docid2 = uid2+"--"+"__JbuhY3v0Jt5txOTqKAg"; //子表formId
  39.                
  40.                 newDoc2.setId(docid2);                                                            
  41.                 newDoc2.setParent(docid);                                                            
  42.                 newDoc2.setAuthor(userId);                                                            
  43.                 newDoc2.setIstmp(false);                                                            
  44.                 newDoc2.setApplicationid(applicationId);
  45.                 newDoc2.addStringItem("Platform", fd.getItemValueAsString("Platform")); //平台
  46.                 newDoc2.addStringItem("ProjectName", fd.getItemValueAsString("ProjectName")); //项目名称
  47.                 newDoc2.addStringItem("ProjectCode", fd.getItemValueAsString("ProjectCode")); //项目代码
  48.                 newDoc2.addStringItem("ProjectPhase", fd.getItemValueAsString("ProjectPhase")); //项目阶段
  49.                 newDoc2.addStringItem("LicenseNumber", fd.getItemValueAsString("CarNumber")); //车号
  50.                 newDoc2.addStringItem("ModelDescription", fd.getItemValueAsString("ModelDescription")); //车型描述
  51.                 newDoc2.addStringItem("type", fd.getItemValueAsString("Type")); //类型
  52.                 newDoc2.addStringItem("Consumer", fd.getItemValueAsString("Consumer")); //用户
  53.                 newDoc2.addStringItem("Purpose", fd.getItemValueAsString("Purpose")); //样车用途
  54.                 newDoc2.addStringItem("ChassisVIN", fd.getItemValueAsString("ChassisVIN")); //底盘号VIN
  55.                 newDoc2.addStringItem("EngineNumber", fd.getItemValueAsString("EngineNumber")); //发动机号
  56.                 newDoc2.addDateItem("DemandTime", fd.getItemValueAsDate("DemandTime")); //样车需求时间       
  57.                 docProcess.doCreate(newDoc2);
  58.         }
  59.        
  60.         var url = "http://" + request.getServerName()+":" + request.getServerPort() + "/static";
  61.         url += "/portal/vue/index.html#/open?appId="+applicationId+"&actionContent="+formid+"&docid="+docid+"&opentarget=detail&linkType=00";
  62.        
  63.         return url;       
  64. })();
复制代码
效果:

动态签发效果.gif

本版积分规则

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

GMT+8, 2026-8-12 04:00

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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