赛亿官网

SysRole.php 3.6KB

    <?php namespace app\admin\controller; use think\controller; use think\Request; use app\admin\model\SysRole as SysRoleModel; class SysRole extends Base { protected $model; public function __construct(Request $request = null) { parent::__construct($request); $this->model = new SysRoleModel(); } public function index() { $data = $this->model->field('id,name,permissions,create_time')->select(); $this->assign("data", $data); return $this->fetch(); } public function save(Request $request = null, $id = 0) { if ($request->isPost()) { $param = $request->param(); if ($param['name'] == '') { $this->error("角色名不能为空"); } $permissions = ''; if (!empty($param['perm_check'])) { $perm_checks = $param['perm_check']; $permissions = implode(',', $perm_checks); } try { if ($param['id'] != 0) { $this->model->save([ 'name' => $param['name'], 'permissions' => $permissions, 'note' => $param['note'] ], ['id' => $param['id']]); } else { $this->model->save([ 'name' => $param['name'], 'permissions' => $permissions, 'note' => $param['note'] ]); } } catch (\Exception $e) { $msg = $e->getMessage(); $this->error("错误提示:" . $msg); } $this->success('操作成功', 'admin/sys_role/index'); } else { if ($id != 0) { $data = $this->model->find($id); // 已有权限数组 $role_powers = explode(',', $data->permissions); } else { $data = [ 'id' => 0, 'name' => '', 'permissions' => '', 'note' => '' ]; $role_powers = []; } // 所有可用权限 $data_permission = model('sys_menu')->field('id, pid, name')->select(); $data_permission = obj_tree($data_permission); $this->assign('data_permission', $data_permission); $this->assign('role_powers', $role_powers); $this->assign('data', $data); return $this->fetch(); } } public function delete($id = null) { if (Request::instance()->isAjax()) { $U_role_id = model('sys_user')->where('id', $this->uid)->value('role_id'); if (is_array($id)) { if (in_array('1', $id)) { return ['status' => 0, 'msg' => '超级管理员无法删除']; } if (in_array($U_role_id, $id)) { return ['status' => 0, 'msg' => '当前登录用户角色无法删除']; } } else { if ($id == 1) { return ['status' => 0, 'msg' => '超级管理员无法删除']; } if ($id == $U_role_id) { return ['status' => 0, 'msg' => '当前登录用户角色无法删除']; } } if ($this->model->destroy($id)) { return ['code' => 1, 'msg' => '操作成功']; } else { return ['code' => 0, 'msg' => '操作失败']; } } } }