历史版本5 :根据账号控制查询数据权限 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 概述编辑
1.1 版本
报表服务器版本 | 功能变更 |
---|---|
11.0 | -- |
1.2 预期效果
在下拉框参数为空选择全部文档中,介绍了参数为空查询出所有数据的功能实现方式。在有些场景下,希望只有部分人有这个权限。例如只允许用户 admin 可以不选择选项,查询全部数据,而其他人则必须选择选项后才可以查询。如下图所示:
1.3 实现思路
在下拉框的初始化后事件中,获取当前登录用户,利用 JS 判断是否是管理员,并根据判断结果来设置下拉框是否可以为空。
2. 示例编辑
2.1 数据准备
新建数据集 ds1,SQL语句为:SELECT * FROM 销量 where 1=1 ${if(len(地区)==0,"","and 地区='"+地区+"'")},如下图所示:
2.2 报表设计
1)如下图设计表格:
2)参数面板添加地区控件,并配置数据字典,如下图所示:
2.3 设置初始化后事件
1)给下拉框控件添加一个初始化后事件
2)设置参数,参数名为user,参数值为公式$fine_username,如下图所示:
3) JavaScript 代码如下:
if (user == "admin") {
this.options.allowBlank = true;
//如果当前用户为admin,允许为空
} else {
this.options.allowBlank = false;
//如果当前用户不为admin,不允许为空
}
2.4 添加用户
点击「服务器>报表平台管理」,使用管理员账号登录数据决策平台系统,点击「系统管理>用户管理>添加用户」,用户名admin,姓名admin,密码admin,如下图所示:
2.5 效果预览
2.5.1 PC 端
保存报表,使用 admin 账号登录数据决策系统后,点击分页预览,效果如 1.2 节所示。
2.5.1 移动端
不支持移动端。
3. 模板下载编辑
点击下载模板:根据账号控制查询数据权限.cpt