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

目录:

1. 概述编辑

1.1 问题描述

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

1.2 实现思路

在下拉框的初始化后事件中,获取当前登录用户,利用 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 代码如下:

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

2.4 效果预览

保存报表,点击分页预览,效果如下图所示:

不为空.gif


3. 模板下载编辑