Pārlūkot izejas kodu

added conditions for buttons show, added links on order card

Alexander Musikhin 7 mēneši atpakaļ
vecāks
revīzija
b7ee67f485
3 mainītis faili ar 44 papildinājumiem un 4 dzēšanām
  1. 32 0
      app/Models/Order.php
  2. 11 4
      resources/views/orders/show.blade.php
  3. 1 0
      routes/web.php

+ 32 - 0
app/Models/Order.php

@@ -264,6 +264,38 @@ class Order extends Model
         );
     }
 
+    public function isAllMafConnected(): bool
+    {
+        foreach($this->products_sku as $sku) {
+            if($sku->maf_order_id) continue;
+            return false;
+        }
+        return true;
+    }
+
+    public function canCreateHandover(): bool
+    {
+        if($this->photos->count() === 0) {
+            return false;
+        }
+
+        foreach($this->products_sku as $sku) {
+            if($sku->maf_order_id === null) return false;
+            if($sku->passport_id === null) return false;
+            if($sku->rfid === null) return false;
+            if($sku->manufacture_date === null) return false;
+            if($sku->factory_number === null) return false;
+            if($sku->product->passport_name === null) return false;
+            if($sku->product->statement_name === null) return false;
+            if($sku->product->certificate_id === null) return false;
+            if($sku->product->service_life === null) return false;
+            if($sku->product->certificate_number === null) return false;
+            if($sku->product->certificate_date === null) return false;
+            if($sku->product->certificate_issuer === null) return false;
+            if($sku->product->certificate_type === null) return false;
+        }
+        return true;
+    }
 
 }
 

+ 11 - 4
resources/views/orders/show.blade.php

@@ -21,9 +21,12 @@ use App\Models\Order;
                         @method('DELETE')
                     </form>
                 @endif
-                @if(in_array($order->order_status_id, [Order::STATUS_READY_TO_MOUNT, Order::STATUS_IN_MOUNT]))
+                @if(in_array($order->order_status_id, [Order::STATUS_READY_TO_MOUNT, Order::STATUS_IN_MOUNT]) && $order->isAllMafConnected())
                     <a href="{{ route('order.generate-installation-pack', $order) }}" class="btn btn-primary">Документы для монтажа</a>
                 @endif
+                @if($order->canCreateHandover())
+                    <a href="{{ route('order.generate-handover-pack', $order) }}" class="btn btn-primary">Документы для сдачи</a>
+                @endif
 
             </div>
         </div>
@@ -146,7 +149,6 @@ use App\Models\Order;
                                 <th>RFID</th>
                                 <th>Заводской номер</th>
                                 <th>Дата производства</th>
-                                <th>Срок эксплуатации</th>
                                 <th>Склад</th>
                                 <th>Паспорт</th>
                             </tr>
@@ -171,14 +173,19 @@ use App\Models\Order;
                                         <a href="{{ route('product_sku.show', $p) }}">
                                             {!! $p->product->article !!}
                                         </a>
+                                        <br>
+                                        <a class="small" href="{{ route('catalog.show', $p->product) }}">каталог</a>
                                     </td>
                                     <td>{!! $p->product->nomenclature_number !!}</td>
                                     <td>{{ $p->status }}</td>
-                                    <td>{{ $p->maf_order?->order_number }}</td>
+                                    <td>
+                                        @if($p->maf_order_id)
+                                            <a href="{{ route('maf_order.show', $p->maf_order) }}">{{ $p->maf_order->order_number }}</a>
+                                        @endif
+                                    </td>
                                     <td>{{ $p->rfid }}</td>
                                     <td>{{ $p->factory_number }}</td>
                                     <td>{{ $p->manufacture_date }}</td>
-                                    <td>{{ $p->service_life }}</td>
                                     <td class="text-center">
                                         @if($p->maf_order?->order_number)
                                             <i class="bi bi-check-all text-success fw-bold"></i>

+ 1 - 0
routes/web.php

@@ -101,6 +101,7 @@ Route::middleware('auth:web')->group(function () {
     });
 
     Route::get('order/generate-installation-pack/{order}', [OrderController::class, 'generateInstallationPack'])->name('order.generate-installation-pack');
+    Route::get('order/generate-handover-pack/{order}', [OrderController::class, 'generateHandoverPack'])->name('order.generate-handover-pack');
 
     // Склад (МАФ)
     Route::get('product_sku', [ProductSKUController::class, 'index'])->name('product_sku.index');