Jelajahi Sumber

测试数据

cqpCow 1 tahun lalu
induk
melakukan
b304e63af9

+ 1 - 1
app/Http/Controllers/Api/SysMenuController.php

@@ -51,7 +51,7 @@ class SysMenuController extends BaseController
     {
         $service = new SysMenuService();
         $user = $request->userData->toArray();
-        list($status,$data) = $service->menuList($request->all());
+        list($status,$data) = $service->menuList($request->all(),$user);
 
         if($status){
             return $this->json_return(200,'',$data);

+ 1 - 1
app/Service/EmployeeService.php

@@ -106,9 +106,9 @@ class EmployeeService extends Service
 
     public function employeeList($data,$user){
         $model = Employee::where('del_time',0)
+            ->where('id','<>',Employee::SPECIAL_ACCOUNT_ID)
             ->select('account','upd_time','id','mark','crt_time')
             ->orderBy('id','desc');
-        if($user['id'] != Employee::SPECIAL_ACCOUNT_ID) $model->where('id','<>',Employee::SPECIAL_ACCOUNT_ID);
         if(! empty($data['account'])) $model->where('account', 'LIKE', '%'.$data['account'].'%');
         if(! empty($data['mark'])) $model->where('mark', 'LIKE', '%'.$data['mark'].'%');
         if(! empty($data['role'])) {

+ 12 - 2
app/Service/SysMenuService.php

@@ -2,6 +2,7 @@
 
 namespace App\Service;
 
+use App\Model\Employee;
 use App\Model\SysMenu;
 
 /**
@@ -60,13 +61,22 @@ class SysMenuService extends Service
         return [true,'删除成功'];
     }
 
-    public function menuList($data){
+    public function menuList($data,$user){
         if(isset($data['type'])) $type = $data['type'];
         else $type = '1';
         if($type === '1'){
             $return  = SysMenu::where('del_time',0)->select('title','icon','uri','parent_id','sort','crt_time','id')->orderBy('sort','desc')->get()->toArray();
         }else{
-            $list = SysMenu::where('del_time',0)->where('state',1)->select('title','icon','uri','parent_id','sort','crt_time','id')->orderBy('sort','desc')->get()->toArray();
+            $list = SysMenu::where('del_time',0)
+                ->where('state',1)
+                ->select('title','icon','uri','parent_id','sort','crt_time','id')
+                ->orderBy('sort','desc');
+            if($user['id'] != Employee::SPECIAL_ACCOUNT_ID){
+                $role = EmployeeService::getPersonRole($user['id']);
+                $menu = EmployeeService::getMenuByRole($role,$user['id']);
+                $list->whereIn('id',array_column($menu,'menu_id'));
+            }
+            $list = $list->get()->toArray();
             $return = $this->makeTree(0,$list);
             $return = $this->set_sort_circle($return);
         }