-
ArneEleven 初学数据Lv2
发表于2024-1-9 11:40
悬赏8
已解决
楼主
我看到了【login.check】函数,但是这个函数必须设置第三个参数--数据级次。可是一般每个用户的数据级次都不同啊,我怎么在报表里写死?
需求:报表上有个【查看更多】的按钮,用来跳转查看主题表,但不是所有人都能看具体主题表,有些人仅能看报表,所以这里需要一个权限判断。
问题1:为啥万能式钻取里用这个函数会报【Uncaught SyntaxError: Unexpected token '<'】这样的错误呢?
问题2:login.check 函数可以用来判断当前用户有没有某资源view权限吗(就是不管第三个参数数据级次权限)?毕竟,这个报表是给不同用户看的,他们的数据级次是不同的,报表里也不能写死啊。
问题3:login.check 和login.getDataLevel为啥不能嵌套使用?login.check('xxx','view',login.getDataLevel('xxx')),执行的结果不对!
我尝试了以下方法,都不能完美解决我的问题。
尝试1:在全局变量里分别用 login.getDataLevel,和 login.check,但是不行。login.getDataLevel求出的值无法在 login.check 中使用
尝试2:在万能式下钻中使用 login.check ,直接报错
尝试3:我尝试建立虚拟表,直接取系统数据库里的表有筛选条件的查询。可以实现功能,但是跟我给全局分析表加的过滤条件冲突,报表跟表之间没有关联关系(当然没关联啊,一个是业务库,一个是系统权限库。。。)
所以,求问大神们有什么办法没?
需求:报表上有个【查看更多】的按钮,用来跳转查看主题表,但不是所有人都能看具体主题表,有些人仅能看报表,所以这里需要一个权限判断。
问题1:为啥万能式钻取里用这个函数会报【Uncaught SyntaxError: Unexpected token '<'】这样的错误呢?
问题2:login.check 函数可以用来判断当前用户有没有某资源view权限吗(就是不管第三个参数数据级次权限)?毕竟,这个报表是给不同用户看的,他们的数据级次是不同的,报表里也不能写死啊。
问题3:login.check 和login.getDataLevel为啥不能嵌套使用?login.check('xxx','view',login.getDataLevel('xxx')),执行的结果不对!
我尝试了以下方法,都不能完美解决我的问题。
尝试1:在全局变量里分别用 login.getDataLevel,和 login.check,但是不行。login.getDataLevel求出的值无法在 login.check 中使用
尝试2:在万能式下钻中使用 login.check ,直接报错
尝试3:我尝试建立虚拟表,直接取系统数据库里的表有筛选条件的查询。可以实现功能,但是跟我给全局分析表加的过滤条件冲突,报表跟表之间没有关联关系(当然没关联啊,一个是业务库,一个是系统权限库。。。)
所以,求问大神们有什么办法没?
2个回答
login.check(rid, oper, datalevel),3个函数缺一不可。
函数可以嵌套使用,第三个参数如果是引用其他表达式,前后需要加单引号。
一般数据级次和机构id相通,可以用login.orgid获取。
-
ArneEleven 初学数据Lv2
板凳
chestnut 发表于 2024-1-9 19:26
login.check(rid, oper, datalevel),3个函数缺一不可。
函数可以嵌套使用,第三个参数如果是引用其他表达 ...
使用单引号,确实完美解决了问题,这样使用login.check和login.getDataLevel组合使用解决了问题。
我想再问一个问题,如果给某个人配置某个资源多个数据级次权限(毕竟配置数据权限可以多选),login.getDataLevel 如何返回全部的单位?我本来怕返回数组影响login.check的使用,但测试后发现,login.getDataLevel 只返回第一个单位,所以不影响。但是,我好奇如何获取全部数据级次?