数据权限:只能看到用户管理的部门数据及其下级部门的数据

image.png

已有字段,部门id,部门名称,部门等级,部门路径

要求:

1、用户部门上级不能选,直接定死,当用户点开页面时控件值直接显示上级部门(包括组织)一直到所在部门;

2、本级部门必选(因为有兼职,所以本级部门不能定死),且选项只能是自己管理的部门

难点:

1、部门参数联动,因为不确定用户部门等级,所以所有部门控件的数据字典都要用到数据集联动;

2、少部分用户存在兼职情况(向下或平级兼职);


实际情形:可能有些要求和难点一下子没考虑到,但是各位可以以己代入,在公司不管你是几级部门的负责人,你能看到的数据肯定只是自己管理的部门和下级部门数据,上级和其他平级部门的数据肯定看不到。


不知道各位大佬们有没有做过这种权限,但我想这种数据权限应该很常见吧。如果有解决方法希望各位大佬能够不吝赐教,在此感谢!

FineReport 18328816101 发布于 2019-12-25 14:50
1min目标场景问卷 立即参与
回答问题
悬赏:10 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
18328816101Lv5中级互助
发布于2020-5-14 09:33

根据回答的方法,写出每个部门的数据集,再根据登陆的用户名取出该用户所在部门的等级。

然后用js给多个隐藏标签赋值取值,让对应的上级部门的控件可见不可用,并赋值该部门的上级部门。

本级部门控件可见可用且不能为空,下级部门控件可见可用可为空。

最佳回答
1
韩瀚荣Lv6初级互助
发布于2019-12-25 15:28

每个查询按钮的数据集都单独进行书写,每个不同的数据集就可以分别添加不同的权限(where条件后加的权限内容不同),这样可以实现分权查看,也就是你说的下拉框联动

例如

第一个数据集(也是核算部门数据字典)

核算部门:select 核算部门字段 from table1 where username=$fine_username

第二个数据集(也是一级部门数据字典)

一级部门:select 核算部门字段,一级部门字段 from table1 where username=$fine_username and 核算部门字段 =核算部门参数名称(就是你上一层参数所选选项)

第三个数据集(也是二级部门数据字典)

二级部门:select 核算部门字段,一级部门字段,二级部门字段 from table1 where username=$fine_username and 核算部门字段 =核算部门参数名称 and 一级部门字段 = 一级部门参数

第四个数据集(也是三级部门数据字典)

三级部门:select 核算部门字段,一级部门字段,二级部门字段,三级部门字段from table1 where username=$fine_username and 核算部门字段 =核算部门参数名称 and 一级部门字段 = 一级部门参数 and 二级部门字段 = 二级部门参数

你上述所说目前在我的认知范围内有部分是无法实现的:

1.无法实现根据登陆者部门级别不同,动态让下拉框可选不可选,只能是下拉框可选,但是选项只有当前登陆者所在部门

这只是之前我做过的项目实现下拉框联动的方式,具体的where条件需你根据实际情况进行调整


  • 1关注人数
  • 2492浏览人数
  • 最后回答于:2020-5-14 09:33
    请选择关闭问题的原因
    确定 取消
    返回顶部