近期换东家啦,又回归使用帆软啦,对于填报报表列权限的控制我这边顺带记录一下
首先讲解下场景:填报报表需要不同角色决定对不同列是否有填写或者查看权限以填写权限为例,首先考虑用到的是 帆软自带的权限编辑,其次考虑的是 JS控制单元格权限
目录
- 帆软自带的权限编辑
- 设置初始权限
- 进入权限编辑添加角色权限
- JS控制单元格权限
- 设置用户变量存储
- 编写控件事件
帆软自带的权限编辑
入口:模板->权限编辑->进入权限编辑
设置初始权限
首先设置某单元格控件为不可用(为什么设置不可用呢,因为需要特定权限才可用,所以默认是不可用)
进入权限编辑添加角色权限
进入到权限编辑界面可以看到左下角是有多个角色的,注意每次只能添加一个角色的权限,但可对多个单元格进行同时操作,那问题来了,怎么操作呢?
操作如下:
首先勾选对应角色,然后选中单元格,这时可以看到该角色对应单元格权限的权限,勾选对应所需权限后保存即可
角色的添加需要进入帆软自带的数据决策系统进行设置
JS控制单元格权限
设置用户变量存储
通过条件文本框存储当前用户信息,$fine_username是帆软自带的当前用户的用户名
编写控件事件
编写控件的编辑前事件
js代码如下:
var currentUser = _g().parameterEl.getWidgetByName('cuser').getValue();
var val = this.getValue();
//可编辑用户
var arr = ['root'];
// 无值时首次可录入(自己定,无值不给输入也行),有值后设置成仅特定人员可编辑
if(val.length>0 && arr.indexOf(currentUser)<0){
alert('您暂无权限编辑此列');
this.setEnable(false);
}