最新历史版本 :根据账号控制查询数据权限 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本
功能变更
11.0-

1.2 预期效果

下拉框参数为空选择全部文档中,介绍了参数为空查询出所有数据的功能实现方式。在有些场景下,希望只有部分人有这个权限。例如只允许超级管理员 admin 可以不选择选项,查询全部数据,而其他人则必须选择选项后才可以查询。如下图所示:

2022-11-24_11-41-39.gif

1.3 实现思路

在下拉框的初始化后事件中,获取当前登录用户,利用 JS 判断是否是管理员,并根据判断结果来设置下拉框是否可以为空。

2. 示例编辑

2.1 数据准备

新建数据集 ds1,SQL语句为:SELECT * FROM 销量 where 1=1 ${if(len(地区)==0,"","and 地区='"+地区+"'")},如下图所示:

2.2 报表设计

1)如下图设计表格:

image.png

2)参数面板添加地区控件,并配置数据字典,如下图所示:

2.3 设置初始化后事件

1)给下拉框控件添加一个初始化后事件

2)设置参数,参数名为user,参数值为公式$fine_username,如下图所示:

3) JavaScript 代码如下:

注:默认超管为admin,用户使用时根据自身工程设置修改以下代码中的用户名称。

if (user == "admin") {
this.options.allowBlank = true;
//如果当前用户为admin,允许为空
} else {
this.options.allowBlank = false;
//如果当前用户不为admin,不允许为空
}

2.4 效果预览

2.4.1 PC 端

保存报表,使用 admin 账号登录数据决策系统后,点击分页预览,效果如 1.2 节所示。

2.4.1 移动端

不支持移动端。

3. 模板下载编辑