فهرست منبع

分页设置,允许前端传值

kely 11 ماه پیش
والد
کامیت
840a5c230b

+ 2 - 1
app/Http/Controllers/API/AssetController.php

@@ -18,11 +18,12 @@ class AssetController extends Controller
      */
     public function index(Request $request)
     {
+        $pageSize=$request->get('page_size') ?? 10;
         $assets = Asset::filter($request->all())
             ->where("parent_id", 0)
             ->where('company_id',Auth::user()->company_id)
             ->with(['children','children.children'])
-            ->paginate();
+            ->paginate($pageSize);
 
         return AssetResource::collection($assets);
     }

+ 2 - 2
app/Http/Controllers/API/AssetGroupController.php

@@ -16,8 +16,8 @@ class AssetGroupController extends Controller
      */
     public function index(Request $request)
     {
-        $name = $request->input('name');
-        $groups = AssetGroup::where('name', 'like', "%{$name}%")->orderByDesc("sequence")->get();
+        $pageSize=$request->get('page_size') ?? 10;
+        $groups = AssetGroup::filter($request->all())->orderByDesc("sequence")->paginate($pageSize);
         return AssetGroupResource::collection($groups);
     }
 

+ 2 - 1
app/Http/Controllers/API/DepartmentController.php

@@ -14,7 +14,8 @@ class DepartmentController extends Controller
 
     public function index(Request $request)
     {
-        $department=Department::filter($request->all())->where("parent_id",0)->with(['children'])->paginate();
+        $pageSize=$request->get('page_size') ?? 10;
+        $department=Department::filter($request->all())->where("parent_id",0)->with(['children'])->paginate($pageSize);
 
         return DepartmentResource::collection($department);
     }

+ 2 - 1
app/Http/Controllers/API/PlanController.php

@@ -18,9 +18,10 @@ class PlanController extends Controller
      */
     public function index(Request $request)
     {
+        $pageSize=$request->get('page_size') ?? 10;
         $plans = Plan::filter($request->all())->where("parent_id", 0)->with(['children','asset'=>function($query){
             $query->with('parent');
-        }])->simplePaginate();
+        }])->paginate($pageSize);
 
         return PlanResource::collection($plans);
 

+ 2 - 1
app/Http/Controllers/API/ProjectController.php

@@ -54,7 +54,8 @@ class ProjectController extends Controller
      */
     public function index(Request $request)
     {
-        $projectAsset = Project::filter($request->all())->allowed()->with('assets')->simplePaginate();
+        $pageSize=$request->get('page_size') ?? 10;
+        $projectAsset = Project::filter($request->all())->allowed()->with('assets')->paginate($pageSize);
 
         return ProjectResource::collection($projectAsset);
     }

+ 2 - 1
app/Http/Controllers/API/RequirementController.php

@@ -31,9 +31,10 @@ class RequirementController extends Controller
      */
     public function index(Request $request)
     {
+        $pageSize=$request->get('page_size') ?? 10;
         $requirements=Requirement::filter($request->all())->where('company_id',Auth::user()->company_id)->with(['createdBy', 'plan','group','asset'=>function($query){
             $query->with('parent');
-        }]) ->paginate(10);
+        }]) ->paginate($pageSize);
 
         return AssetRequirementResource::collection($requirements);
     }

+ 2 - 1
app/Http/Controllers/API/RequirementGroupController.php

@@ -17,7 +17,8 @@ class RequirementGroupController extends Controller
      */
     public function index(Request $request)
     {
-        $groups = RequirementGroup::filter($request->all())->where("parent_id",0)->with(['children'])->simplePaginate();
+        $pageSize=$request->get('page_size') ?? 10;
+        $groups = RequirementGroup::filter($request->all())->where("parent_id",0)->with(['children'])->paginate($pageSize);
 
         return RequirementGroupResource::collection($groups);
     }

+ 2 - 1
app/Http/Controllers/API/TaskController.php

@@ -31,12 +31,13 @@ class TaskController extends Controller
      */
     public function index(Request $request)
     {
+        $pageSize=$request->get('page_size') ?? 10;
         $tasks = Task::query()
             ->where("parent_id", 0)
             ->with(['children', 'assignTo', 'createdBy'])
             ->filter($request->all())
             ->allowed()
-            ->paginate();
+            ->paginate($pageSize);
 
         return TaskResource::collection($tasks);
     }

+ 23 - 0
app/ModelFilters/AssetGroupFilter.php

@@ -0,0 +1,23 @@
+<?php
+/**
+ * Created by IntelliJ IDEA.
+ * User: kelyliang
+ * Date: 2024/4/2
+ * Time: 上午 10:25
+ */
+
+namespace App\ModelFilters;
+
+
+use EloquentFilter\ModelFilter;
+
+class AssetGroupFilter extends ModelFilter
+{
+    public $relations = [];
+
+    public function name($name): ModelFilter
+    {
+        return $this->where('name', 'like', "%{$name}%");
+    }
+
+}

+ 2 - 1
app/Models/AssetGroup.php

@@ -3,13 +3,14 @@
 namespace App\Models;
 
 use App\Models\Scopes\CompanyScope;
+use EloquentFilter\Filterable;
 use Illuminate\Database\Eloquent\Factories\HasFactory;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Database\Eloquent\SoftDeletes;
 
 class AssetGroup extends Model
 {
-    use HasFactory, SoftDeletes;
+    use HasFactory, SoftDeletes, Filterable;
 
     protected $fillable = [
         'company_id',