Alexander Musikhin пре 7 месеци
родитељ
комит
3ae09079f5

+ 4 - 8
app/Http/Controllers/Controller.php

@@ -70,15 +70,11 @@ class Controller extends BaseController
     protected function createFilters(Model $model, string ...$columns): void
     {
         foreach ($columns as $column) {
-//            $uniqueValues =  DB::table(($model)->getTable())
-//                ->select($column)
-//                ->distinct()
-//                ->whereNull('deleted_at')
-//                ->get()
-//                ->pluck($column)
-//                ->toArray();
-            $uniqueValues = $model::query()->distinct()->get($column)->pluck($column)->toArray();
 
+            $uniqueValues = $model::query()->distinct()->get($column)->pluck($column)->toArray();
+            if($uniqueValues[0] == null) {
+                $uniqueValues = [];
+            }
             $result = [];
             foreach ($uniqueValues as $val){
                 if(str_ends_with($column, '_id')) {

+ 1 - 1
database/migrations/2025_03_24_153700_create_orders_table.php

@@ -24,7 +24,7 @@ return new class extends Migration
             $table->text('comment')->nullable();                                                // комментарий
             $table->date('installation_date')->nullable();                                      // дата монтажа
             $table->date('ready_date')->nullable();                                             // дата готовности площадки
-            $table->foreignId('brigadier_id')->constrained('users')->restrictOnDelete(); // бригадир
+            $table->foreignId('brigadier_id')->nullable()->constrained('users')->restrictOnDelete(); // бригадир
             $table->foreignId('order_status_id')->constrained('order_statuses')->restrictOnDelete(); // статус объекта
             $table->string('tg_group_name')->nullable();
             $table->string('tg_group_link')->nullable();

+ 3 - 1
resources/views/orders/edit.blade.php

@@ -30,7 +30,9 @@
 
                 @include('partials.input', ['name' => 'installation_date', 'title' => 'Дата выхода на монтаж', 'type' => 'date', 'value' => $order->installation_date ?? old('installation_date')])
 
-                @include('partials.select', ['name' => 'brigadier_id', 'title' => 'Бригадир', 'options' => $brigadiers, 'value' => $order->brigadier_id ?? old('brigadier_id')])
+                @include('partials.input', ['name' => 'ready_date', 'title' => 'Дата готовности площадки', 'type' => 'date', 'value' => $order->ready_date ?? old('ready_date')])
+
+                @include('partials.select', ['name' => 'brigadier_id', 'title' => 'Бригадир', 'options' => $brigadiers, 'value' => $order->brigadier_id ?? old('brigadier_id'), 'first_empty' => true])
 
                 @include('partials.select', ['name' => 'user_id', 'title' => 'Менеджер', 'options' => $users, 'value' => $order->user_id ?? old('user_id') ?? auth()->user()->id])
 

+ 2 - 1
resources/views/orders/show.blade.php

@@ -37,7 +37,8 @@
                 <div>Номер договора: {{ $order->contract_тumber }}</div>
                 <div>Комментарий: {{ $order->comment }}</div>
                 <div>Дата выхода на монтаж: {{ $order->installation_date }}</div>
-                <div>Бригадир: {{ $order->brigadier->name }}, тел. {{ $order->brigadier->phone }}</div>
+                <div>Дата готовности площадки: {{ $order->ready_date }}</div>
+                <div>Бригадир: {{ $order?->brigadier?->name }}, тел. {{ $order?->brigadier?->phone }}</div>
                 <div>Менеджер: {{ $order->user->name }}, тел. {{ $order->user->phone }}</div>
                 <div>Название группы в ТГ: {{ $order->tg_group_name }}</div>
                 <div>Ссылка на группу в ТГ: {{ $order->tg_group_link }}</div>

+ 2 - 1
todo.md

@@ -16,7 +16,8 @@
 - [ ] перенос мафов
 - [ ] вкладка договоры
 - [ ] формирование документов на монтаж, сдачу
-- [ ] рекламации, формирование документов на рекламации
+- [ ] вкладка рекламации
+- [ ] формирование документов на рекламации
 - [ ] формирование документа для монтажников по площадке (мафы, сколько, №закзаМАФ)
 - [ ] вывод отчетов (сколько смонтировано, сколько осталось и т.д.)
 - [ ] редактирование каталога на самой платформе