select(); View::assign('list', $list); return View::fetch(); } public function save($id = 0) { if ($this->app->request->isPost()) { $params = $this->app->request->param(); if ($params['name'] == '') { $this->error("目录名不能为空"); } $permissions = ''; if (!empty($params['perm_check'])) { $perm_checks = $params['perm_check']; $permissions = implode(',', $perm_checks); } unset($params['perm_check']); $params['permissions'] = $permissions; try { $id = $params['roleid']; unset($params['roleid']); if ($id != 0) { SysRoleModel::update($params, ['roleid' => $id]); } else { SysRoleModel::create($params); } } catch (\Exception $e) { $msg = $e->getMessage(); $this->error("错误提示:".$msg); } $this->success('操作成功', 'sys_role/index'); } else { if ($id != 0) { $data = SysRoleModel::find($id); // 已有权限数组 $rolePowers = explode(',', $data->permissions); } else { $data = [ 'roleid' => 0, 'name' => '', 'permissions' => '', 'remark' =>'' ]; $rolePowers = []; } // var_dump($data); // exit; $sysMenu = new sysMenu(); $dataPermission = list_tree($sysMenu->select()); return View::fetch('save', [ 'data' => $data, 'rolePowers' => $rolePowers, 'dataPermission' => $dataPermission ]); } } public function delete($id = null) { if ($this->app->request->isAjax()) { $U_role_id = SysUser::where('userid', Session::get('adminuser.roleid'))->value('roleid'); 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 (SysRoleModel::destroy($id)) { return ['code' => 1,'msg'=>'操作成功']; } else { return ['code' => 0,'msg'=>'操作失败']; } } } }