反饋已提交

網絡繁忙

JS设置报表主体不可用

1. 概述

1.1 问题描述

报表开发中,很多情况下需要将报表主体或工具栏设置为不可用,即置灰且不能点击;或初始化设置为不可用,点击某个按钮恢复可用。报表置灰显示如下图所示,那如何实现此效果呢?

2020-12-08_14-17-10.png

1.2 实现思路

给模板添加一个 JS「 加载结束」事件,使报表主体灰化,不可编辑。

2. 示例

2.1 准备模板

准备一个模板。示例为内置模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\FreeFrom\FreeFrom.cpt

示例模板点击可下载:FreeForm.cpt

2.2 添加事件

2.2.1 报表主体不可用

打开模板,点击模板>模板 Web 属性>填报预览设置,选择「为该模板单独设置」,添加一个「加载结束」事件,事件内容为设置报表主体置灰不可用。如下图所示:

image.png

JavaScript 代码如下:

$('<div/>').css({
    position:'absolute',//绝对定位
    top:$('.x-toolbar').height(),//元素距离顶部的高度为工具栏的高度
    width: '100%',//宽度100%显示
    height: '100%',//高度100%显示
    filter: 'alpha(opacity=50)',//透明度是0.5
    opacity: 0.5,
    '-moz-opacity': 0.5,
    'z-index': 10000,
    background: '#cccccc'//背景色
}).appendTo($('body'));

2.2.2 报表主体和工具栏都不可用

2.2.1 节中 JS 实现设置报表主体置灰不可用,若工具栏也需要设置为置灰不可用,只需将 JS 中元素距离顶部的高度修改为 0 即可,如下图所示:

image.png

JavaScript 代码如下:

$('<div/>').css({
    position:'absolute',//绝对定位
    top:0,//元素距离顶部的高度为0
    width: '100%',//宽度100%显示
    height: '100%',//高度100%显示
    filter: 'alpha(opacity=50)',//透明度是0.5
    opacity: 0.5,
    '-moz-opacity': 0.5,
    'z-index': 10000,
    background: '#cccccc'//背景色
}).appendTo($('body'));

2.2.3 点击按钮报表主体恢复可用

2.2.1 节中 JS 实现设置报表主体置灰不可用,若要实现初始化不可用,在点击工具栏中按钮回复可用,需要在 JS 给 div 添加一个 id 做标识,工具栏按钮添加「点击」事件,根据此 id 做移除置灰操作,如下图所示:

1)点击模板>模板 Web 属性>填报预览设置,选择「为该模板单独设置」,添加「加载结束」事件,如下图所示:

image.png

JavaScript 代码如下:

$('<div id="lock"/>').css({
    position:'absolute',//绝对定位
    top:$('.x-toolbar').height(),//元素距离顶部的高度为工具栏的高度
    width: '100%',//宽度100%显示
    height: '100%',//高度100%显示
    filter: 'alpha(opacity=50)',//透明度是0.5
    opacity: 0.5,
    '-moz-opacity': 0.5,
    'z-index': 10000,
    background: '#cccccc'//背景色
}).appendTo($('body'));

2)在工具栏添加自定义按钮,修改按钮名字和图标,为按钮添加「自定义事件」,如下图所示:

image.png

JavaScript 代码如下:

document.getElementById("lock").remove();

2.3 预览效果

保存模板,选择填报预览,PC 端效果如下图所示:

报表主体不可用:

image.png

报表主体和工具栏都不可用:

image.png

点击按钮报表主体恢复可用:

 222

注:不支持移动端。

3. 模板下载

报表主体不可用示例已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\38-JS设置报表主体不可用示例一.cpt

点击下载模板:38-JS设置报表主体不可用示例一.cpt

报表主体和工具栏都不可用示例已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\38-JS设置报表主体不可用示例二.cpt

点击下载模板:38-JS设置报表主体不可用示例二.cpt

 点击按钮报表主体恢复可用示例已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\38-JS设置报表主体不可用示例三.cpt

点击下载模板:38-JS设置报表主体不可用示例三.cpt

附件列表


主題: 原简体文档
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙