Browse Source

权限管理的所有内容

ChenWuJie 4 năm trước cách đây
mục cha
commit
48697d35ef

+ 2 - 4
app/Http/Controllers/Admin/AdminUserController.php

xqd xqd
@@ -71,8 +71,7 @@ class AdminUserController extends BaseController
 
     public function create()
     {
-        $admin_role_options = $this->adminRole->getOptions();
-        unset($admin_role_options[0]);
+        $admin_role_options = AdminRoleModel::getStartOptions();
         list($model, $model_name, $pre_uri) = array($this->model, $this->model_name, $this->pre_uri);
         return view($this->view_path . 'create', compact('model', 'model_name','pre_uri', 'admin_role_options'));
     }
@@ -95,8 +94,7 @@ class AdminUserController extends BaseController
     public function edit(Request $request)
     {
         if(empty($request->input('id')) || empty($item = $this->model->find($request->input('id')))) return back()->withErrors(['sg_error_info' => '找不到要编辑的数据']);
-        $admin_role_options = $this->adminRole->getOptions();
-        unset($admin_role_options[0]);
+        $admin_role_options = AdminRoleModel::getStartOptions();
         list($model, $model_name, $pre_uri) = array($this->model, $this->model_name, $this->pre_uri);
         return view($this->view_path . 'edit', compact('model', 'model_name', 'pre_uri', 'item', 'admin_role_options'));
     }

+ 24 - 3
app/Http/Controllers/Admin/Controller.php

xqd xqd
@@ -2,6 +2,8 @@
 
 namespace App\Http\Controllers\Admin;
 
+use App\Models\AdminAccessModel;
+use App\Models\AdminMenusModel;
 use Illuminate\Routing\Controller as BaseController;
 use Request,Auth;
 use App\Services\Admin\Menus;
@@ -26,16 +28,35 @@ abstract class Controller extends BaseController
 
     public function getMenus()
     {
-        if($this->_user['is_root']) {
+//        if($this->_user['is_root']) {
+//            $obj = new Menus();
+//            $menus = $obj->search(array('level'=>2,'display'=>1),$orderby=array('sort'=>'desc'),$pagesize = 100000);
+//            $menus = $menus->toArray();
+//            $menus = list_to_tree($menus['data']);
+//        }else{
+//            $obj = new Acl();
+//            $data = $obj->getRoleMenu($this->_user['admin_role_id']);
+//            $menus = list_to_tree($data);
+//        }
+
+        if ($this->_user['admin_role_id'] == 1)
+        {
             $obj = new Menus();
             $menus = $obj->search(array('level'=>2,'display'=>1),$orderby=array('sort'=>'desc'),$pagesize = 100000);
             $menus = $menus->toArray();
             $menus = list_to_tree($menus['data']);
         }else{
-            $obj = new Acl();
-            $data = $obj->getRoleMenu($this->_user['admin_role_id']);
+            $admin_role_id = $this->_user['admin_role_id'];
+            $menus_arr = AdminAccessModel::where('role_id',$admin_role_id)->pluck('menu_id');
+            $data = [];
+            foreach ($menus_arr as $value)
+            {
+                $arr = AdminMenusModel::where('id',$value)->first()->toArray();
+                array_push($data,$arr);
+            }
             $menus = list_to_tree($data);
         }
+
         return $menus;
     }
 

+ 4 - 1
app/Models/AdminRoleModel.php

xqd
@@ -29,6 +29,9 @@ class AdminRoleModel extends BaseModel
      */
     protected $guarded = [];
 
-
+    public static function getStartOptions()
+    {
+        return self::where('id', '>', 1)->where('status',1)->get()->toArray();
+    }
 
 }

+ 5 - 1
resources/views/admin/base/index/welcome.blade.php

xqd
@@ -171,7 +171,11 @@
             <div class="layui-card-body">
                 <div class="sg-top-left">
                     <img src="/images/avatar.png" class="sg-avatar">
-                    <div class="sg-name">{{ $_user->name }}|管理员</div>
+                    <?php
+                        $admin_role_id = $_user->admin_role_id;
+                        $admin_role_name = \App\Models\AdminRoleModel::where('id',$admin_role_id)->value('name');
+                    ?>
+                    <div class="sg-name">{{ $_user->name }}|{{$admin_role_name}}</div>
                 </div>
                 <div class="sg-top-right">
                     <div class="sg-list">