| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | 
							- <?php
 
- namespace app\controller\sys;
 
- use think\facade\View;
 
- use app\model\SysMenu;
 
- use app\model\SysUser;
 
- use app\model\SysRole as SysRoleModel;
 
- use app\utils\ReUtils;
 
- use think\facade\Session;
 
- class SysRole extends Base
 
- {
 
-     public function index()
 
-     {
 
-         $list = SysRoleModel::field('roleid,name,permissions,remark,create_time')->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 ReUtils::error("超级管理员无法删除");
 
-                 }
 
-                 if (in_array($U_role_id, $id)) {
 
-                     return ReUtils::error("当前登录用户角色无法删除");
 
-                 }
 
-             } else {
 
-                 if ($id == 1) {
 
-                     return ReUtils::error("超级管理员无法删除");
 
-                 }
 
-                 if ($id == $U_role_id) {
 
-                     return ReUtils::error("当前登录用户角色无法删除");
 
-                 }
 
-             }
 
-             if (SysRoleModel::destroy($id)) {
 
-                 return ReUtils::success();
 
-             } else {
 
-                 return ReUtils::error();
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |