ソースを参照

schedule update fix, pagination and perpage

Alexander Musikhin 2 週間 前
コミット
3e93e7a938

+ 7 - 0
app/Http/Controllers/Controller.php

@@ -113,6 +113,13 @@ class Controller extends BaseController
             $this->data['sortBy'] = $model::DEFAULT_SORT_BY ?? 'created_at';
         }
 
+        if(!empty($request->per_page)) {
+            $this->data['per_page'] = $request->per_page;
+        } else {
+            $this->data['per_page'] = config('pagination.per_page');
+        }
+        session(['per_page' => $request->per_page]);
+
         // set order
         $this->data['orderBy'] = (empty($request->order)) ? 'asc' : 'desc';
     }

+ 2 - 1
app/Http/Controllers/ScheduleController.php

@@ -201,9 +201,10 @@ class ScheduleController extends Controller
         $validated = $request->validated();
 
         if(isset($validated['id'])) {
-            $schedule = Schedule::query()
+             Schedule::query()
                 ->where('id', $validated['id'])
                 ->update($validated);
+             $schedule = Schedule::query()->find($validated['id']);
         } else {
             $schedule = Schedule::query()
                 ->create([

+ 2 - 5
resources/views/catalog/index.blade.php

@@ -28,11 +28,8 @@
         'routeParam' => 'product',
     ])
 
-    <div class="row pt-3 px-3">
-        <div class="col-12 pagination">
-            {{ $products->links() }}
-        </div>
-    </div>
+    @include('partials.pagination', ['items' => $products])
+
 
 
     <!-- Модальное окно импорта-->

+ 2 - 5
resources/views/contracts/index.blade.php

@@ -19,11 +19,8 @@
         'routeParam' => 'contract',
     ])
 
-    <div class="row pt-3 px-3">
-        <div class="col-12 pagination">
-            {{ $contracts->links() }}
-        </div>
-    </div>
+    @include('partials.pagination', ['items' => $contracts])
+
 
 
     @if($errors->any())

+ 1 - 5
resources/views/import/index.blade.php

@@ -22,11 +22,7 @@
         'routeName' => 'import.show',
     ])
 
-    <div class="row pt-3 px-3">
-        <div class="col-12 pagination">
-            {{ $imports->links() }}
-        </div>
-    </div>
+    @include('partials.pagination', ['items' => $imports])
 
 
     <!-- Модальное окно импорта-->

+ 2 - 5
resources/views/maf_orders/index.blade.php

@@ -22,11 +22,8 @@
         'routeName' => 'maf_order.show',
     ])
 
-    <div class="row pt-3 px-3">
-        <div class="col-12 pagination">
-            {{ $maf_orders->links() }}
-        </div>
-    </div>
+    @include('partials.pagination', ['items' => $maf_orders])
+
 
     <!-- Модальное окно добавления-->
     <div class="modal fade" id="addModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">

+ 1 - 5
resources/views/orders/index.blade.php

@@ -25,11 +25,7 @@
         'routeName' => 'order.show',
     ])
 
-    <div class="row pt-3 px-3">
-        <div class="col-12 pagination">
-            {{ $orders->links() }}
-        </div>
-    </div>
+    @include('partials.pagination', ['items' => $orders])
 
     @if($errors->any())
         @dump($errors)

+ 25 - 0
resources/views/partials/pagination.blade.php

@@ -0,0 +1,25 @@
+
+@php
+    $pp = [50,100,200,500,2000];
+@endphp
+
+
+<div class="row pt-3 px-3">
+    <div class="col-md-7 pagination">
+        {{ $items->links() }}
+    </div>
+    <div class="col-md-5 mt-1">
+        @include('partials.select', ['name' => 'per_page', 'title' => 'Результатов на странице:', 'options' => $pp, 'value' => $per_page, 'key_as_val' => true])
+    </div>
+</div>
+
+
+@push('scripts')
+    <script type="module">
+        $('#per_page').on('change', function () {
+            let currentUrl = new URL(document.location.href);
+            currentUrl.searchParams.set('per_page', $(this).val());
+            document.location.href = currentUrl.href;
+        });
+    </script>
+@endpush

+ 2 - 5
resources/views/products_sku/index.blade.php

@@ -23,11 +23,8 @@
         'routeParam' => 'product_sku',
     ])
 
-    <div class="row pt-3 px-3">
-        <div class="col-12 pagination">
-            {{ $products_sku->links() }}
-        </div>
-    </div>
+    @include('partials.pagination', ['items' => $products_sku])
+
 
     <!-- Модальное окно редактирования -->
 {{--    <div class="modal fade" id="addModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">--}}

+ 1 - 5
resources/views/reclamations/index.blade.php

@@ -21,11 +21,7 @@
         'routeParam' => 'reclamation',
     ])
 
-    <div class="row pt-3 px-3">
-        <div class="col-12 pagination">
-            {{ $reclamations->links() }}
-        </div>
-    </div>
+    @include('partials.pagination', ['items' => $reclamations])
 
 
     @if($errors->count())

+ 2 - 5
resources/views/responsibles/index.blade.php

@@ -23,11 +23,8 @@
         'routeParam' => 'responsible',
     ])
 
-    <div class="row pt-3 px-3">
-        <div class="col-12 pagination">
-            {{ $responsibles->links() }}
-        </div>
-    </div>
+    @include('partials.pagination', ['items' => $responsibles])
+
 
     <!-- Модальное окно добавления-->
     <div class="modal fade" id="addModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">

+ 1 - 5
resources/views/users/index.blade.php

@@ -22,11 +22,7 @@
         'routeParam' => 'user',
     ])
 
-    <div class="row pt-3 px-3">
-        <div class="col-12 pagination">
-            {{ $users->links() }}
-        </div>
-    </div>
+    @include('partials.pagination', ['items' => $users])
 
     <!-- Модальное окно добавления-->
     <div class="modal fade" id="addModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">