方法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');}});
查看效果
-
没有隐藏的列
-
隐藏的列