all(); $list = Admin::where(function ($query) use ($all){ if(isset($all['department_id'])){ $query->where('department_id',$all['department_id']); } if(isset($all['keyword'])){ $query->where('name','like','%'.$all['keyword'].'%')->orWhere('username','like','%'.$all['keyword'].'%')->orWhere('mobile','like','%'.$all['keyword'].'%'); } })->orderBy($all['sort_name']??'id',$all['sort_type']??'desc') ->paginate($all['page_size']??20); return $this->success($list); } /** * @OA\Post( * path="/api/admin/other/admin-department-list", * tags={"其他"}, * summary="后台部门列表", * description="", * @OA\Parameter(name="page_size", in="query", @OA\Schema(type="string"), required=false, description="每页显示的条数"), * @OA\Parameter(name="page", in="query", @OA\Schema(type="string"), required=false, description="页码。不传则全部,传入则分页"), * @OA\Parameter(name="sort_name", in="query", @OA\Schema(type="string"), required=false, description="排序字段名字"), * @OA\Parameter(name="sort_type", in="query", @OA\Schema(type="string"), required=false, description="排序类型"), * @OA\Parameter(name="keyword", in="query", @OA\Schema(type="string"), required=false, description="关键词"), * @OA\Parameter(name="show_tree", in="query", @OA\Schema(type="string"), required=false, description="是否显示树形结构 0否1是"), * @OA\Parameter(name="token", in="query", @OA\Schema(type="string"), required=true, description="token"), * @OA\Response( * response="200", * description="暂无" * ) * ) */ public function adminDepartmentList() { $all = \request()->all(); $list = Department::with('users')->where(function ($query) use ($all){ if(isset($all['keyword'])){ $query->where('name','like','%'.$all['keyword'].'%'); } }); if(isset($all['show_tree']) && $all['show_tree']){ // 显示树形结构 $list = array2tree($list->orderBy($all['sort_name']??'id',$all['sort_type']??'desc')->get()->toArray()); }else{ $list = $list->orderBy($all['sort_name']??'id',$all['sort_type']??'desc')->paginate($all['page_size']??20); } return $this->success($list); } }