FVS如何对图表,标题等做初始化的条件属性呢?用于做权限限制

背景:已经做完了单点登录,现在需要根据登录名做权限控制,FVS看板已经开发好了

问题:

 如何在FVS中对图表,标题等组件做权限显示或隐藏呢?因为目前测试发现,FVS的图表,标题没有初始化的事件,也不能做条件属性

 使用FVS开发的看板中有很多图表,是直接拉出来的图表而不是报表块中插入的,在这种情况下怎么做根据登陆人做权限呢?例如:张三登录进来柱形图隐藏,其他图形可见,李四进来折线图不可见,其他可见

FineReport Henry.99 发布于 2025-4-22 16:24 (编辑于 2025-4-22 17:06)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
yzmfKZXQ1464691Lv4见习互助
发布于2025-4-22 16:32(编辑于 2025-4-22 17:46)

可以参考这个

//需求:根据筛选器的内容展示不同的背景图 

//筛选器-交互-编辑后事件,添加参数SXBJ 

// 根据 SXBJ 的值控制不同背景控件的显示与隐藏 

if (SXBJ == '营业收入') {    // 显示营业收入分类背景,隐藏其他背景    

duchamp.getWidgetByName("营业收入分类背景").setVisible(true);   

 duchamp.getWidgetByName("营业成本分类背景").setVisible(false);    

duchamp.getWidgetByName("毛利润分类背景").setVisible(false); 

} else if (SXBJ == '营业成本') {    // 显示营业成本分类背景,隐藏其他背景    

duchamp.getWidgetByName("营业收入分类背景").setVisible(false);   

duchamp.getWidgetByName("营业成本分类背景").setVisible(true);    

duchamp.getWidgetByName("毛利润分类背景").setVisible(false); 

} else {    // 默认显示毛利润分类背景,隐藏其他背景    

duchamp.getWidgetByName("营业收入分类背景").setVisible(false);    

duchamp.getWidgetByName("营业成本分类背景").setVisible(false);    

duchamp.getWidgetByName("毛利润分类背景").setVisible(true); }

image.png

图表和标题的组件直接把duchamp.getWidgetByName("毛利润分类背景").setVisible(true); 这里面的毛利润分类背景改成你的图表和组件标题的名字就行

-------------------------------------------------

比如我获取$fine_username ,我有两个标题组件和两个图表组件,我可以在图表组件选择交互-添加初始化事件,设置参数A获取fineusername,如果A用户能看见图标A和标题A那就

if (A== '用户A') {       

duchamp.getWidgetByName("图表A").setVisible(true);   

duchamp.getWidgetByName("标题A").setVisible(true);   

 duchamp.getWidgetByName("图表B").setVisible(false);    

duchamp.getWidgetByName("标题B").setVisible(false); 

} else {     

duchamp.getWidgetByName("图表A").setVisible(false);   

duchamp.getWidgetByName("标题A").setVisible(false);   

 duchamp.getWidgetByName("图表B").setVisible(true);    

duchamp.getWidgetByName("标题B").setVisible(true); 

大致就是这个意思

image.png

  • Henry.99 Henry.99(提问者) 你好,请问这段代码的出处是哪里呢?我这边的需要是根据登录名来控制图表显示与隐藏
    2025-04-22 16:59 
  • Henry.99 Henry.99(提问者) 测试了一下,这段代码不能解决需求,因为在FVS中图表或标题没有初始化的事件
    2025-04-22 17:04 
  • yzmfKZXQ1464691 yzmfKZXQ1464691 回复 Henry.99(提问者) 初始化可以直接在左上角选模板-页面加载结束事件,代码是我之前根据上面华丽星辰给的那个文档链接自己用的时候写的
    2025-04-22 17:32 
  • Henry.99 Henry.99(提问者) 如何设置除了else中全部为空呢?我不想一个个设置,例如:if ($fine_username == '张三') {
    duchamp.getWidgetByName("营业收入分类背景").setVisible(true); } 只有个一个可以看,其他全部为空,这样的设置方法
    2025-04-22 17:43 
  • yzmfKZXQ1464691 yzmfKZXQ1464691 回复 Henry.99(提问者) 你可以在组件图层全都给他隐藏了,需要显示哪个就把哪个改成ture也行吧
    2025-04-22 17:46 
最佳回答
0
华莉星宸Lv7资深互助
发布于2025-4-22 16:26

根据用户控制控件的显示与隐藏?

JS实现FVS组件的隐藏或显示 https://help.fanruan.com/finereport/doc-view-4943.html

  • Henry.99 Henry.99(提问者) 可能是我的表述不太清楚,是这样的,我想要根据登录的用户控制图表的显示,例如:张三登录,可以看到全部数据,李四登录,柱形图不可见
    2025-04-22 16:28 
  • 华莉星宸 华莉星宸 回复 Henry.99(提问者) 就是组件的显示与隐藏,设置到初始化事件里面就好了
    FVS显示隐藏组件事件 https://help.fanruan.com/finereport/doc-view-5336.html
    2025-04-22 16:40 
  • Henry.99 Henry.99(提问者) 回复 华莉星宸 这个文档不能解决我的需求,因为,FVS中没有初始化的事件,而且也不能做条件属性,这个文档是点击事件
    2025-04-22 17:09 
最佳回答
0
CD20160914Lv8专家互助
发布于2025-4-22 17:12

不是这样,你排版好以后,肯定不能对某一个组件隐藏,这样就不好看了。而应该是用一个报表制作多个图表,然后根据账号去隐藏显示图表

image.png

image.png

  • Henry.99 Henry.99(提问者) 我这边有做tab块,例如tab块标题为A下面的tab块内容就是A的图表,是这样的,有很多tab块,现在要根据登录名隐藏部分tab块
    2025-04-22 17:21 
  • Henry.99 Henry.99(提问者) 现在主要是找到如何直接在图表中配置,这样的话就不用再做其他操作了,直接在图表中写初始化事件或者条件属性
    2025-04-22 17:22 
  • 4关注人数
  • 75浏览人数
  • 最后回答于:2025-4-22 17:46
    请选择关闭问题的原因
    确定 取消
    返回顶部