一个report报表内有多个sheet页,需要根据登录人的权限决定隐藏某些sheet页,可以实现吗
可以的
JS隐藏sheet页
如果登录账号是A,就隐藏隐藏苹果汁sheet
if (!window.flag) {
if (user == 'A') {
$('li[title="苹果汁"]').hide();
//隐藏苹果汁sheet
_g().loadSheetByName("牛奶");
//切换到牛奶sheet
}
flag = true;
//使用全局变量防止该事件重复执行
权限控制准备
在数据库或权限系统中设置用户可访问的sheet页标识
确保报表能获取当前登录用户的权限信息
JavaScript隐藏逻辑在报表的「加载结束」事件中添加以下代码:
// 示例:隐藏无权限的sheet页if(当前用户无权限访问sheet1){$(".fr-sheetname:contains('sheet1名称')").parent().hide();}
效果预览
不同用户登录后将只能看到有权限的sheet页
隐藏的sheet页不会出现在底部标签栏中
此方法不支持移动端使用
如需更细粒度的控制,可结合单元格可见性权限设置