FineReport报表JS实现点击超链打开对话框报表并传参

news/2024/7/8 3:23:00
例如在报表开发中,有如下需求:
点击当前报表中的某些文字,希望弹出另外的报表展示其他信息
(即可以通过JS实现点击超链接打开报表对话框,并且可以传递参数到报表对话框中)

帆软帮助文档参考链接:https://help.fanruan.com/finereport/doc-view-3633.html

希望的效果类似如下:
在这里插入图片描述
实现思路:
使用 FR 内置 JS 方法 showDialog 或 doHyperlinkByPost 或 doHyperlinkByGet 打开报表。
在下面的案例中主要用showDialog方法,其他两种方法可以参考上方的【帆软帮助文档参考链接】

一、设计FineReport报表

在这里插入图片描述

二、添加JS代码

//模板路径
//var url = encodeURI(encodeURI("/webroot/decision/view/report?viewlet=图书详情查询_all.cpt&op=view&id="+id));   //这种是帆软帮助文档中的设置路径的方法,没有用,无法识别这个路径
var url = '${servletURL}?viewlet=xxf/图书详情查询_all.cpt&op=form_adaptive&op=export&id=' + id;//这是另外的路径设置方法,亲测有效
//窗体
var $iframe = $("<iframe id='inp' name='inp' width='100%' height='100%' scrolling='no' frameborder='0'>");
//将窗体的src属性设置为模板路径
$iframe.attr("src", url);
//窗体的属性
var o = {
    title: "对话框",    //标题
    destroyOnClose:true,   // 是否在关闭对话框的时候将对话框从dom中移除
    width: 680,         //宽度
    height: 640,        //高度
    //closable:true,    //是否显示关闭按钮,默认true
    //confirm:true,     //是否添加确认取消按钮,默认false
    //draggable:true   //是否可拖动,默认true
};
//弹出窗体
FR.showDialog(o.title, o.width, o.height, $iframe, o);

选中 T3 单元格,添加一个「超级链接>JavaScript脚本」,复制上方的JS代码,修改模板路径为自己电脑上想要打开的路径
这里展示的路径是自己设计的另外一个模板【图书详情查询_all.cpt】,主要展示图书的作者简介、内容简介、编辑推荐,主要是因为文字太多,所以会想到通过点击链接在对话框中查看详情
在这里插入图片描述

三、对话框报表设计【图书详情查询_all.cpt】

在这里插入图片描述


http://lihuaxi.xjx100.cn/news/2090535.html

相关文章

LeetCode 第59天 | 503. 下一个更大元素 II 42. 接雨水 (三种方法)单调栈

503. 下一个更大元素 II 这题在最大温度的基础上加了一个循环数组的因素&#xff0c;但是最多遍历两遍&#xff0c;且最大值的元素没有后继较大值。有两种方法&#xff0c;一种是将题目给的数组复制两遍&#xff0c;拼接在一起&#xff0c;即可循环两次&#xff1b;另一种是所有…

js 判定一个string是否是正常的正则

需求&#xff1a; 需要对一个字符串做一个正则匹配&#xff0c;但是在匹配之前&#xff0c;我们需要先判定一下正则是否是正常的 进程&#xff1a; 在js 中有两种模式可以创建正则表达式 1、通过class RegExp 来创建 const regexA new RegExp("test", "ig&q…

云原生应用(3)之Docker容器镜像操作命令

一、 Docker 容器镜像操作 1.1 查看本地容器镜像 1.1.1 使用Docker images命令查看 # docker images REPOSITORY TAG IMAGE ID CREATED SIZE bash latest 5557e073f11c 2 weeks ago 13MB nginx latest 605c77e624dd 3 week…

java:修饰符

一、包的概述和使用 其实就是文件夹&#xff1b; 作用&#xff1a;对类进行分类管理&#xff1b; 二、权限修饰符 权限修饰符在不同场景下访问总结 修饰符同一个类中同一个包中子类无关类不同包的子类不同包的无关类private是默认是是protected是是是public是是是是 三、…

十大Linux发行版各自的特色

Linux有许多不同的发行版&#xff0c;每个发行版都有自己的特色和用途。以下是一些主流Linux发行版及其特色&#xff1a; Ubuntu 用户友好&#xff0c;适合Linux新手。 基于Debian&#xff0c;拥有庞大的软件库。 长期支持&#xff08;LTS&#xff09;版本提供长达5年的支持…

Selenium操作浏览器,弹出文件选择框,实现自动选定“目标文件”

前言 本文是该专栏的第20篇,后面会持续分享python爬虫干货知识,记得关注。 我们在使用selenium操作目标页面的时候,可能会遇到如下图所示的情景。 在用selenium操作并点击页面元素的时候,会弹出一个文件选择框,需要我们选择目标文件,并点击确认按钮,目标文件才能上传成…

Python import 跟 Java import 有什么区别?

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…

鸿蒙 线程模型

前提&#xff1a;基于官网3.1/4.0文档。参考官网文档 基于Android开发体系来进行比较和思考。&#xff08;或有偏颇&#xff0c;自行斟酌&#xff09; 一、概念 HarmonyOS应用中每个进程都会有一个主线程&#xff0c;主线程有如下职责&#xff1a; 执行UI绘制&#xff1b; 管理…