Prechádzať zdrojové kódy

Fix spare parts filter and sorting state

Alexander Musikhin 3 dní pred
rodič
commit
eb599a6dfe

+ 7 - 6
app/Http/Controllers/PricingCodeController.php

@@ -23,14 +23,15 @@ class PricingCodeController extends Controller
 
     public function index(Request $request)
     {
+        session(['gp_pricing_codes' => $request->query()]);
         $this->setSortAndOrderBy(new PricingCode(), $request);
 
-        $sortBy = $request->get('sortBy', 'code');
+        $sortBy = $this->data['sortBy'] ?? 'code';
         $allowedSort = ['id', 'type', 'code', 'description'];
         if (!in_array($sortBy, $allowedSort, true)) {
             $sortBy = 'code';
         }
-        $orderBy = $request->get('order') === 'desc' ? 'desc' : 'asc';
+        $orderBy = $this->data['orderBy'] ?? 'asc';
 
         $q = PricingCode::query();
 
@@ -72,13 +73,13 @@ class PricingCodeController extends Controller
             ->exists();
 
         if ($exists) {
-            return redirect()->route('pricing_codes.index')
+            return redirect()->route('pricing_codes.index', session('gp_pricing_codes', []))
                 ->with(['error' => 'Такой код уже существует для данного типа!']);
         }
 
         PricingCode::create($request->only(['type', 'code', 'description']));
 
-        return redirect()->route('pricing_codes.index')
+        return redirect()->route('pricing_codes.index', session('gp_pricing_codes', []))
             ->with(['success' => 'Код расценки успешно добавлен!']);
     }
 
@@ -90,7 +91,7 @@ class PricingCodeController extends Controller
 
         $pricingCode->update(['description' => $request->get('description')]);
 
-        return redirect()->route('pricing_codes.index')
+        return redirect()->route('pricing_codes.index', session('gp_pricing_codes', []))
             ->with(['success' => 'Расшифровка успешно обновлена!']);
     }
 
@@ -98,7 +99,7 @@ class PricingCodeController extends Controller
     {
         $pricingCode->delete();
 
-        return redirect()->route('pricing_codes.index')
+        return redirect()->route('pricing_codes.index', session('gp_pricing_codes', []))
             ->with(['success' => 'Код расценки успешно удалён!']);
     }
 

+ 17 - 0
app/Models/SparePartOrdersView.php

@@ -10,6 +10,23 @@ class SparePartOrdersView extends Model
 
     public $timestamps = false;
 
+    protected $fillable = [
+        'id',
+        'order_number',
+        'article',
+        'source_text',
+        'status',
+        'status_name',
+        'ordered_quantity',
+        'available_qty',
+        'with_documents',
+        'with_documents_text',
+        'note',
+        'user_name',
+        'created_at',
+        'spare_part_id',
+    ];
+
     const DEFAULT_SORT_BY = 'created_at';
 
     const STATUS_NAMES = [

+ 1 - 1
resources/views/layouts/menu.blade.php

@@ -15,7 +15,7 @@
 
     @if(hasRole('admin,manager'))
         <li class="nav-item"><a class="nav-link @if($active == 'spare_parts') active @endif"
-                                href="{{ route('spare_parts.index') }}">Запчасти</a></li>
+                                href="{{ route('spare_parts.index', session('gp_spare_parts', [])) }}">Запчасти</a></li>
     @endif
 
     <li class="nav-item"><a class="nav-link @if($active == 'schedule') active @endif"

+ 4 - 4
resources/views/pricing_codes/index.blade.php

@@ -9,12 +9,12 @@
             {{-- Навигация --}}
             <ul class="nav nav-tabs mb-3">
                 <li class="nav-item">
-                    <a class="nav-link" href="{{ route('spare_parts.index') }}">
+                    <a class="nav-link" href="{{ route('spare_parts.index', session('gp_spare_parts', [])) }}">
                         Каталог
                     </a>
                 </li>
                 <li class="nav-item">
-                    <a class="nav-link" href="{{ route('spare_part_orders.index') }}">
+                    <a class="nav-link" href="{{ route('spare_part_orders.index', session('gp_spare_part_orders', [])) }}">
                         Заказы деталей
                     </a>
                 </li>
@@ -24,13 +24,13 @@
                     </a>
                 </li>
                 <li class="nav-item">
-                    <a class="nav-link active" href="{{ route('pricing_codes.index') }}">
+                    <a class="nav-link active" href="{{ route('pricing_codes.index', session('gp_pricing_codes', [])) }}">
                         Справочник расшифровок
                     </a>
                 </li>
                 <li class="nav-item">
                     <a class="nav-link {{ ($tab ?? '') === 'help' ? 'active' : '' }}"
-                       href="{{ route('spare_parts.help') }}">
+                       href="{{ route('spare_parts.help', session('gp_spare_parts', [])) }}">
                         <i class="bi bi-question-circle"></i> Справка
                     </a>
                 </li>

+ 4 - 4
resources/views/spare_parts/index.blade.php

@@ -10,13 +10,13 @@
             <ul class="nav nav-tabs mb-3">
                 <li class="nav-item">
                     <a class="nav-link {{ ($tab ?? 'catalog') === 'catalog' ? 'active' : '' }}"
-                       href="{{ route('spare_parts.index') }}">
+                       href="{{ route('spare_parts.index', session('gp_spare_parts', [])) }}">
                         Каталог
                     </a>
                 </li>
                 <li class="nav-item">
                     <a class="nav-link {{ ($tab ?? '') === 'orders' ? 'active' : '' }}"
-                       href="{{ route('spare_part_orders.index') }}">
+                       href="{{ route('spare_part_orders.index', session('gp_spare_part_orders', [])) }}">
                         Заказы деталей
                     </a>
                 </li>
@@ -28,14 +28,14 @@
                 </li>
                 @if(hasRole('admin'))
                 <li class="nav-item">
-                    <a class="nav-link" href="{{ route('pricing_codes.index') }}">
+                    <a class="nav-link" href="{{ route('pricing_codes.index', session('gp_pricing_codes', [])) }}">
                         Справочник расшифровок
                     </a>
                 </li>
                 @endif
                 <li class="nav-item">
                     <a class="nav-link {{ ($tab ?? '') === 'help' ? 'active' : '' }}"
-                       href="{{ route('spare_parts.help') }}">
+                       href="{{ route('spare_parts.help', session('gp_spare_parts', [])) }}">
                         <i class="bi bi-question-circle"></i> Справка
                     </a>
                 </li>