反馈已提交

网络繁忙

JS通过判断用户/部门/角色控制决策报表的组件查看权限

  • 文档创建者:李白9
  • 历史版本:8
  • 最近更新:Suki陈 于 2023-05-30
  • 1. 概述

    1.1 应用场景

    数据决策系统中,不同用户/职务/角色查看同一张决策报表,需要指定部分组件不可见,看到的内容不相同,可通过JS来实现。

    1.2 预期效果

    决策报表中存在多个个组件。

    1)一般用户在数据决策系统中查看该模板时,只能看到其他组件,看不见组件report0、report1、report2。

    2)部门「领导部」/角色「普通角色1」/用户Lisa」在数据决策系统中查看该模板时,可以看到组件report0、report1、report2。

    2. 示例

    本文示例:

    决策报表中存在组件report0、report1、report2和其他组件。

    系统中存在部门「领导部」、角色「普通角色1」、用户「Lisa」。

    希望决策报表中的组件report0、report1、report2,对其他用户隐藏,对部门「领导部」、角色「普通角色1」、用户「Alice」可见。

    2.1 设置初始化后事件

    打开决策报表,选择需要控制查看权限的组件chart0。点击「事件」,添加「初始化后」事件。如下图所示:

    1)设置参数

    • position=INARRAY("领导部",GETUSERDEPARTMENTS())
      position 参数为领导部在 GETUSERDEPARTMENTS() 返回的部门中的位置,若领导部不在返回的部门中,则 position 为 0

    • role=$fine_role

    • user=$fine_username

    2)添加 JavaScript 代码,代码如下:

    注1:代码中的report0、report1、report2为选中的组件名称,用户需要按照模板实际情况修改。

    注2:代码中的「领导部」、「普通角色1」、「Lisa」分别为可看到该组件的部门、角色、人员,用户需要按照模板实际情况修改。

    setTimeout(function() {}, 1000);
    var a = position;
    var b = role;
    var c = user;
    if (a <= 0 && b != '普通角色1' && c != 'Lisa') {
    _g().getWidgetByName('report0').setVisible(false);
    _g().getWidgetByName('report1').setVisible(false);
    _g().getWidgetByName('report2').setVisible(false);
    }

    2.2 分配目录查看权限

    管理员登录数据决策系统,点击「管理系统>目录管理>管理目录」,点击「添加模板」,选择上一节设置好的模板。

    管理员登录数据决策系统,点击「管理系统>权限管理>普通权限管理>权限快速配置」,为「所有部门」分配模板目录的查看权限。

    2.3 效果预览

    不同用户登录系统,查看该模板,看到的内容不同,如1.2节所示。

    附件列表


    主题: 数据决策系统
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持