Procházet zdrojové kódy

菜单,负责人权限

ith5 před 5 měsíci
rodič
revize
e02fa3acca

+ 21 - 4
app/v1/controller/CommonController.php

@@ -118,7 +118,7 @@ class CommonController extends BaseController
      */
     public function getAuthOptions(Request $request): Response
     {
-                // 根据用户id获取用户权限
+        // 根据用户id获取用户权限
         $token = getCurrentInfo();
         // 用户权限缓存
         $userAuthCache = new UserInfoCache($token['id']);
@@ -129,11 +129,28 @@ class CommonController extends BaseController
 
         // 管理员角色ID:1, 则不限制权限
         if(in_array(1,$currentUserRoleList)){
-            $data = $this->systemUserLogic->field('id as value, username as label,dept_id')->group('dept_id')->select()->toArray();
+            $data = $this->systemUserLogic->field('id as value, username as label,dept_id')->select()->toArray();
             $deptList = SystemDept::where('1=1')->select()->toArray();
         }else{
-            $data = $this->systemUserLogic->field('id as value, username as label,dept_id')->where('id',$user_info['id'])->group('dept_id')->select()->toArray();
-            $deptList = SystemDept::where('id',$user_info['dept_id'])->select()->toArray();
+            // 看公司的广告数据权限
+            if($user_info['auth_ad_permission'] == 1){
+                $data = $this->systemUserLogic->field('id as value, username as label,dept_id')->select()->toArray();
+                $deptList = SystemDept::where('1=1')->select()->toArray();
+            }
+            if($user_info['auth_ad_permission'] == 2){
+                // 看自己以及组员
+                // 1. 查看自己是哪个组
+                $deptId = $user_info['dept_id'];
+                // 2. 查看组员
+                $data = $this->systemUserLogic->field('id as value, username as label,dept_id')->where('dept_id',$deptId)->select()->toArray();
+                $deptList = SystemDept::where('id',$deptId)->select()->toArray();
+            }
+            if($user_info['auth_ad_permission'] == ''){
+                // 仅看自己
+                $data = $this->systemUserLogic->field('id as value, username as label,dept_id')->where('id',$user_info['id'])->select()->toArray();
+                $deptList = SystemDept::where('id',$user_info['dept_id'])->select()->toArray();
+            }
+            
         }
         $result = [];
         // 将部门列表转为以id为key的数组,便于查找

+ 1 - 0
plugin/saiadmin/app/controller/SystemController.php

@@ -28,6 +28,7 @@ use Tinywan\Storage\Storage;
 class SystemController extends BaseController
 {
 
+
     /**
      * 用户信息
      */

+ 18 - 1
plugin/saiadmin/app/controller/system/SystemUserController.php

@@ -49,7 +49,24 @@ class SystemUserController extends BaseController
             'id' => $this->adminId,
             'dept' => $this->adminInfo['deptList']
         ]);
-
+        $query->field([
+            'sa_system_user.id' => 'id',
+            'sa_system_user.nickname' => 'nickname', 
+            'sa_system_user.username' => 'username', 
+            'sa_system_user.phone' => 'phone', 
+            'sa_system_user.email' => 'email', 
+            'sa_system_user.status' => 'status', 
+            'sa_system_user.dept_id' => 'dept_id', 
+            'sa_system_user.create_time' => 'create_time', 
+            'sa_system_dept.name' => 'dept_name',
+            'GROUP_CONCAT(sa_system_user_role.role_id)' => 'role_id',
+            'GROUP_CONCAT(sa_system_role.name)' => 'role_name'
+        ]);
+        $query->leftJoin('sa_system_user_role', 'sa_system_user.id = sa_system_user_role.user_id');
+        $query->leftJoin('sa_system_dept', 'sa_system_user.dept_id = sa_system_dept.id');
+        $query->leftJoin('sa_system_role', 'sa_system_user_role.role_id = sa_system_role.id');
+        $query->group('sa_system_user.id');
+   
         $data = $this->logic->getList($query);
         
         return $this->success($data);

+ 0 - 42
plugin/saiadmin/app/logic/system/SystemUserLogic.php

@@ -29,50 +29,8 @@ class SystemUserLogic extends BaseLogic
         $this->model = new SystemUser();
     }
 
-    /**
-     * 列表
-     */
-    public function getList($query): mixed
-    {
-        $saiType = request()->input('saiType', 'list');
-        $page = request()->input('page', 1);
-        $limit = request()->input('limit', 10);
-        $orderBy = request()->input('orderBy', '');
-        $orderType = request()->input('orderType', $this->orderType);
-        if(empty($orderBy)) {
-            $orderBy = $this->orderField !== '' ? $this->orderField : $this->model->getPk();
-        }
-        // 如果排序字段是id,明确指定表名避免歧义
-        if($orderBy === 'id') {
-            $orderBy = 'sa_system_user.id';
-        }
-        $query->field([
-            'sa_system_user.id' => 'id',
-            'sa_system_user.nickname' => 'nickname', 
-            'sa_system_user.username' => 'username', 
-            'sa_system_user.phone' => 'phone', 
-            'sa_system_user.email' => 'email', 
-            'sa_system_user.status' => 'status', 
-            'sa_system_user.dept_id' => 'dept_id', 
-            'sa_system_user.create_time' => 'create_time', 
-            'sa_system_dept.name' => 'dept_name',
-            'GROUP_CONCAT(sa_system_user_role.role_id)' => 'role_id',
-            'GROUP_CONCAT(sa_system_role.name)' => 'role_name'
-        ]);
-        $query->leftJoin('sa_system_user_role', 'sa_system_user.id = sa_system_user_role.user_id');
-        $query->leftJoin('sa_system_dept', 'sa_system_user.dept_id = sa_system_dept.id');
-        $query->leftJoin('sa_system_role', 'sa_system_user_role.role_id = sa_system_role.id');
-        $query->group('sa_system_user.id');
-        $query->order($orderBy, $orderType);
-        if ($saiType === 'all') {
-            return $query->toArray();
-        }
-
     
 
-        return $query->paginate($limit, false, ['page' => $page])->toArray();
-    }
-
     /**
      * 读取数据
      * @param $id