历史版本8 :JS隐藏sheet页 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 描述编辑
针对于填报 sheet 页多的情况,有的 sheet 页是初始化不需要展示,或者说直接就是隐藏的;
例如针对于一些计算用的,这些是不需要页面展示的 sheet 页,直接使用下面的方法即可。
2. 思路编辑
通过添加 Web 属性填报加载结束事件来实现。
3. 操作步骤编辑
对 sheet 页的隐藏可以通过两种方式,一种是通过坐标,另一种是通过名称。
注:sheet 页支持变量赋名
3.1 通过坐标隐藏 sheet 页
模板包含的 sheet 如下,包括 5 个产品 sheet 和一个空 sheet:
点击菜单栏模板>模板 Web 属性>填报页面设置,选择“为该模板单独设置”后,添加一个“加载结束事件”,如下图:
JS 代码如下:
$(".html-content").eq(index).hide();//隐藏内容
$(".fr-tabpane-tabswrap > li").eq(index).hide();//隐藏按钮
$(".fr-tabpane-tabswrap > li").eq(index+1).click();//点击下一个sheet页
注:需要将代码 index 改成数字,从 0 开始,代表第一个 sheet 页。
保存模板并预览,可看到第一个sheet苹果汁被隐藏了。
3.2 通过名称隐藏 sheet 页
点击菜单栏模板>模板 Web 属性>填报页面设置,选择“为该模板单独设置”后,添加一个“加载结束事件”,如下图:
JS 代码如下:
var sheet_name="SHEET页名称";
var $sheet=$("li[title="+sheet_name+"]");
if($sheet.find("span").hasClass("fr-sheetbutton-endpart")){
$sheet.prev().find("span[class='fr-sheetbutton-thirdpart']").attr("class","fr-sheetbutton-endpart");
};
$sheet.remove();
注:需将“sheet 页名称”改成需要隐藏的 sheet 名称。
保存模板并预览,可看到名为巧克力的 sheet 被隐藏了。
3.3 动态隐藏为空的 sheet
点击菜单栏模板>模板 Web 属性>填报页面设置,选择“为该模板单独设置”后,添加一个“加载结束事件”,如下图:
JS 代码如下:
//隐藏sheet名为空的sheet
$('.fr-sheetbutton-middlepart').each(function(index,e){
if(e.innerHTML==''){
$('[title=""]').hide()
}
})
保存模板点击填报预览后,可看到为空的 sheet 页被隐藏掉了。
4. 预览效果编辑
4.1 PC 端预览效果
使用上述三种隐藏方法,实现效果如下图:
4.2 移动端预览效果
注:经测试,移动端不支持该效果
5. 已完成模板编辑
模板效果在线查看请点击:JS 隐藏sheet页.cpt
已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\41-JS隐藏sheet页.cpt