跳转至

表单跳转脚本

表单跳转脚本示例代码。

跳转表单

(function(){
    var request = getParamsTable().getHttpRequest();
    var userId = getWebUser().getId();
    var Security = new Packages.cn.myapps.common.util.Security();
    var token = Security.getToken(userId);
    var schema = request.getScheme();
    var docId = getId();
    var selectId = getParameter("_selects");
    var serverName = request.getServerName();
    var port = request.getServerPort();
    var requestUrl =schema+"://"+serverName;
    var appId = getApplication();
    var formId="__8x2N4Nc8hcUz3MOdzAw";
    var url="/static/portal/vue/index.html#/open?appId="+appId+"&linkType=00&actionContent="+formId+"&docid=&isRefresh=true&TaskId="+selectId+"&dialogWidth=500px&dialogHeight=50px";
    var urlLink =requestUrl+url;
    //var urlLink =requestUrl+url+"accessToken="+token; 需要分享的时候 要加上token
    return urlLink;
})()

跳转按钮跳转表单或视图

(function(){   
    var applicationId=getApplication();         
    var request = $WEB.getParamsTable().getHttpRequest();   
    var urlt="http://" + request.getServerName()+":" + request.getServerPort();   

    // 跳转表单
    var url=urlt+"/static/portal/vue/index.html#/open?appId="+applicationId+"&linkType=00&actionContent=__DfLvf30doJU6BmaOJMj&docid=__qfqAbaH4wu64PCEVpoC";

    // 跳转视图
    var url=urlt+"/static/portal/vue/index.html#/open?appId="+applicationId+"&linkType=01&actionContent=__DfLvf30doJU6BmaOJMj";

    // 跳转模板表单 actionContent是模板表单id   realformId是对应的表单id
    var url=urlt+"/static/portal/vue/index.html#/open?appId="+applicationId+"&linkType=00&actionContent=__a3K9ganYeHIqm1Q9B6x&realformId=__kBf1ySZRWbTQ1wKO3DR&docid=Jqb2NwIFL4ZhnWAYWBW--__kBf1ySZRWbTQ1wKO3DR";

    // 跳转统计图
    var url=urlt+"/static/portal/vue/index.html#/open?appId="+applicationId+"&linkType=02&actionContent=__E2QgafgeYatl1tTfeeb";

    // 跳转报表
    var url=urlt+"/static/portal/vue/index.html#/open?appId="+applicationId+"&linkType=09&actionContent=__XDzyJbzN1jFmhoNk4Gv";

    // 跳转大屏
    var url=urlt+"/static/portal/vue/pageIndexHtml/index.html#/?pageId=__rbd2HJ4eMyc81dae0P1&appId=sOZu9kthmxyP8qQfq0e&domainId=3CffNlgt9B9StIjIUPB&preview=true&reception=true";

    println("url-------->"+url);   
    return url;   
})();

脚本说明

该脚本用于在表单中实现跳转功能,可以跳转到表单、视图、统计图、报表、大屏等不同的页面。

跳转类型说明

linkType 参数值

linkType 说明 示例
00 跳转表单 linkType=00&actionContent=表单ID&docid=文档ID
01 跳转视图 linkType=01&actionContent=视图ID
00 + realformId 跳转模板表单 linkType=00&actionContent=模板表单ID&realformId=表单ID
02 跳转统计图 linkType=02&actionContent=统计图ID
09 跳转报表 linkType=09&actionContent=报表ID
- 跳转大屏 使用不同的URL路径

URL 参数说明

通用参数

  • appId: 应用ID
  • linkType: 链接类型(00=表单,01=视图,02=统计图,09=报表)
  • actionContent: 目标对象ID(表单ID、视图ID、统计图ID、报表ID等)

表单跳转参数

  • docid: 文档ID(可选,用于打开指定文档)
  • isRefresh: 是否刷新(可选)
  • TaskId: 任务ID(可选)
  • dialogWidth: 对话框宽度(可选)
  • dialogHeight: 对话框高度(可选)
  • realformId: 实际表单ID(模板表单时使用)

大屏跳转参数

  • pageId: 大屏页面ID
  • domainId: 域ID
  • preview: 是否预览模式
  • reception: 是否接待模式

关键函数说明

  • getParamsTable().getHttpRequest(): 获取HTTP请求对象
  • getWebUser().getId(): 获取当前用户ID
  • Security.getToken(userId): 获取用户token(用于分享)
  • request.getScheme(): 获取协议(http/https)
  • request.getServerName(): 获取服务器名称
  • request.getServerPort(): 获取服务器端口
  • getApplication(): 获取应用ID
  • getId(): 获取当前文档ID
  • getParameter("_selects"): 获取选中的记录ID

使用场景

  • 表单按钮跳转到其他表单
  • 表单按钮跳转到视图
  • 表单按钮跳转到统计图
  • 表单按钮跳转到报表
  • 表单按钮跳转到大屏
  • 根据条件动态跳转
  • 带参数跳转

扩展示例

示例1:根据条件跳转不同表单

(function(){
    var doc = getCurrentDocument();
    var condition = doc.getItemValueAsString("条件字段");
    var request = $WEB.getParamsTable().getHttpRequest();
    var urlt = "http://" + request.getServerName() + ":" + request.getServerPort();
    var appId = getApplication();
    var url = "";

    if(condition != null && condition === "类型1"){
        url = urlt + "/static/portal/vue/index.html#/open?appId=" + appId + "&linkType=00&actionContent=表单ID1";
    }else{
        url = urlt + "/static/portal/vue/index.html#/open?appId=" + appId + "&linkType=00&actionContent=表单ID2";
    }

    return url;
})();

示例2:跳转并传递参数

(function(){
    var doc = getCurrentDocument();
    var docId = doc.getId();
    var request = $WEB.getParamsTable().getHttpRequest();
    var urlt = "http://" + request.getServerName() + ":" + request.getServerPort();
    var appId = getApplication();
    var formId = "目标表单ID";
    var paramValue = doc.getItemValueAsString("参数字段");

    var url = urlt + "/static/portal/vue/index.html#/open?appId=" + appId;
    url += "&linkType=00&actionContent=" + formId;
    url += "&docid=" + docId;
    url += "&param=" + paramValue;  // 传递自定义参数

    return url;
})();

示例3:带Token的分享链接

(function(){
    var request = getParamsTable().getHttpRequest();
    var userId = getWebUser().getId();
    var Security = new Packages.cn.myapps.common.util.Security();
    var token = Security.getToken(userId);
    var schema = request.getScheme();
    var serverName = request.getServerName();
    var port = request.getServerPort();
    var requestUrl = schema + "://" + serverName + ":" + port;
    var appId = getApplication();
    var formId = "表单ID";

    var url = "/static/portal/vue/index.html#/open?appId=" + appId;
    url += "&linkType=00&actionContent=" + formId;
    url += "&accessToken=" + token;  // 添加token用于分享

    return requestUrl + url;
})();

注意事项

  • URL中的ID需要替换为实际的对象ID(表单ID、视图ID等)
  • 跳转表单时,docid 参数为空则创建新文档,有值则打开指定文档
  • 模板表单跳转需要同时提供 actionContent(模板表单ID)和 realformId(实际表单ID)
  • 需要分享功能时,要添加 accessToken 参数
  • 对话框大小可以通过 dialogWidthdialogHeight 参数设置
  • 大屏跳转使用不同的URL路径,不是 /open 路径
  • 确保有访问目标对象的权限
  • URL中的特殊字符需要进行编码处理

URL 格式总结

表单跳转格式

http://服务器:端口/static/portal/vue/index.html#/open?appId=应用ID&linkType=00&actionContent=表单ID&docid=文档ID

视图跳转格式

http://服务器:端口/static/portal/vue/index.html#/open?appId=应用ID&linkType=01&actionContent=视图ID

统计图跳转格式

http://服务器:端口/static/portal/vue/index.html#/open?appId=应用ID&linkType=02&actionContent=统计图ID

报表跳转格式

http://服务器:端口/static/portal/vue/index.html#/open?appId=应用ID&linkType=09&actionContent=报表ID

大屏跳转格式

http://服务器:端口/static/portal/vue/pageIndexHtml/index.html#/?pageId=大屏ID&appId=应用ID&domainId=域ID&preview=true&reception=true

本文档内容来源于 http://doc.myapps.cn/docs/common-script/common-script-1f1k6fubejoi9
文档更新时间: 2024-06-26 07:55 作者:john