微信公众号:次世代数据技术 关注可了解更多的教程。问题或建议,请公众号留言或联系本人; 如果您有报表开发需求或者定制化功能开发,也可以联系本人; 微信号:weibw162
本教程视频讲解可以关注本人B站账号进行观看:次世代数据技术
一、需求描述
目前FineReport的超级链接仅支持单击弹窗打开报表,本文提供一种单击通过抽屉形式打开报表的方案,其实现效果大致如下:
针对以上需求,本文提出一种可行的方案,其大致步骤如下:
- 在模板中导入
openByDrawer.js
。 - 通过超级链接的
JavaScript脚本
增加JS配置即可。
注1:不支持移动端。注2:本文涉及到的技术及流程均仅在FineReport 11.0 版本进行实际验证,如果您在使用其他版本过程中出现问题可以联系本作者。
二、具体操作
第一步
下载openByDrawer.js
文件,并保存到工程目录下,具体目录:webroot
>help
>js
。
第二步
在模板中引入该js文件。具体操作为,点击左上角 模板
->模板web属性
->引入JavaScript
->选中上一步的JavaScript文件并添加。
第三步
给指定的单元格添加一个超级链接,类型选择为JavaScript脚本
,并填入如下代码。
JavaScript 代码如下:
javascript
var args = {
"title": "订单明细表",
"titlehtml": "",
"titleStyle": {
"font-size": "16px",
"color": "red",
"font-weight": "700"
},
"templateUrl": "/webroot/decision/view/report?viewlet=文档示例模板/JS实现抽屉打开报表/JS实现抽屉打开报表-子表.cpt",
"positon": "right",
"size": "800px",
"params": {
"订单号": 订单号,
},
}
showTemplatebyDrawer(args);
var args = {
"title": "订单明细表",
"titlehtml": "",
"titleStyle": {
"font-size": "16px",
"color": "red",
"font-weight": "700"
},
"templateUrl": "/webroot/decision/view/report?viewlet=文档示例模板/JS实现抽屉打开报表/JS实现抽屉打开报表-子表.cpt",
"positon": "right",
"size": "800px",
"params": {
"订单号": 订单号,
},
}
showTemplatebyDrawer(args);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
完成以上配置后,我们直接点击左上角的预览按钮,即可在浏览器中查看到与文章开头效果图类似的报表。
三、API解释
JavaScript
showTemplatebyDrawer(args);
showTemplatebyDrawer(args);
1
参数解释
属性值 | 是否必填 | 属性解释 |
---|---|---|
title | 是 | 窗口展示报表或网页时的标题 |
templateUrl | 是 | 需要打开的报表的地址或网页地址,url参数请使用params参数,不用直接在该项后面拼接 |
params | 否 | 请求url参数,需要传输key:value形式的json |
titleHtml | 否 | 标题中的html元素,可以自定义元素,比如在标题前面增加一个icon图标,当该项有值时title属性将失去效果 |
titleStyle | 否 | 标题的样式,可以自定义标题的文字及背景样式 |
positon | 是 | 抽屉弹出的方向,可选项为'left'、'right'、'top'、'bottom',分别代表左右上下 |
size | 是 | 弹出窗口的大小,当弹出方向为上下时代表高度,弹出方向为左右时代表宽度 |
四、模板文件下载
扫码即可下载文档示例模板及其他代码文件 如果您在阅读或实际操作过程中有问题,可以随时添加作者好友进行咨询。