方法1
以版本控制(application/admin/controller/Version.php)为例子
需求
就是在有时候,有些列不想让这个权限组的人看到,只给制定的权限组的人看
1.给权限组创建一个字段
ALTER TABLE lt_auth_group
ADD COLUMN isBoothView TINYINT(1) NOT NULL DEFAULT 0 AFTER status;
2.给对应的控制器初始化方法添加对应的权限
$adminAuths = $this->auth->getGroups($this->auth->id);
$authIds = '';
if (!empty($adminAuths)){
foreach ($adminAuths as $k=>$v){
$authIds .= $v['id'].',';
}
}
$authIds = rtrim($authIds,',');
$authGroup = model('auth_group')->where('id','in',$authIds)->where('isBoothView',1)->find();
if (!empty($authGroup)){
$this->isBoothView = 1;
}
$this->assignconfig('isBoothView', $this->isBoothView);
3.给对应的js文件添加隐藏代码
table.bootstrapTable(‘hideColumn’, ‘oldversion’);
就是要隐藏的列。隐藏多列可以写多行,
这个js 需要写在 index: function () {…}里面,与table.bootstrapTable({})平行
table.on('load-success.bs.table',function (e,data){
console.log(Config.isBoothView);
if (Config.isBoothView){
// caigoujia就是采购价的字段名根据实际修改,需要隐藏的字段
table.bootstrapTable('hideColumn', 'oldversion');
table.bootstrapTable('hideColumn', 'newversion');
}
});
查看效果
-
没有隐藏的列
-
隐藏的列