소스 검색

added maf order status

Alexander Musikhin 7 달 전
부모
커밋
ddb622fe68

+ 6 - 2
app/Http/Controllers/MafOrderController.php

@@ -15,6 +15,7 @@ class MafOrderController extends Controller
         'header'    => [
             'id'                                => 'ID',
             'order_number'                      => '№ заказа',
+            'status'                            => 'Статус',
             'user_id'                           => 'Менеджер',
             'product-article'                   => 'Артикул',
             'product-nomenclature_number'       => 'Номер номенклатуры',
@@ -53,7 +54,7 @@ class MafOrderController extends Controller
 
     public function store(StoreMafOrderRequest $request)
     {
-        MafOrder::query()->create($request->validated() + ['user_id' => $request->user()->id, 'in_stock' => $request->validated('quantity')]);
+        MafOrder::query()->create($request->validated() + ['user_id' => $request->user()->id, 'in_stock' => 0]);
         return redirect()->route('maf_order.index');
     }
 
@@ -65,7 +66,10 @@ class MafOrderController extends Controller
 
     public function update(StoreMafOrderRequest $request, MafOrder $maf_order)
     {
-        $maf_order->update($request->validated());
+//        dump($maf_order);
+//        $maf_order->update($request->validated());
+//        dd($maf_order);
+        MafOrder::query()->where('id', $maf_order->id)->update($request->validated());
         return redirect()->route('maf_order.index');
     }
 

+ 3 - 0
app/Http/Requests/StoreMafOrderRequest.php

@@ -2,6 +2,7 @@
 
 namespace App\Http\Requests;
 
+use App\Models\MafOrder;
 use Illuminate\Foundation\Http\FormRequest;
 
 class StoreMafOrderRequest extends FormRequest
@@ -25,6 +26,8 @@ class StoreMafOrderRequest extends FormRequest
             'order_number'  => 'nullable|string',
             'product_id'    => 'required|exists:products,id',
             'quantity'      => 'required|integer|min:1',
+            'in_stock'      => 'nullable|integer|min:0',
+            'status'        => 'nullable',
         ];
     }
 }

+ 1 - 3
app/Models/MafOrder.php

@@ -4,7 +4,6 @@ namespace App\Models;
 
 use App\Models\Scopes\YearScope;
 use Illuminate\Database\Eloquent\Attributes\ScopedBy;
-use Illuminate\Database\Eloquent\Casts\Attribute;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Database\Eloquent\Relations\BelongsTo;
 use Illuminate\Database\Eloquent\SoftDeletes;
@@ -13,8 +12,6 @@ use Illuminate\Database\Eloquent\SoftDeletes;
 class MafOrder extends Model
 {
     use SoftDeletes;
-
-// set year attribute to current selected year
     protected static function boot(): void
     {
         parent::boot();
@@ -28,6 +25,7 @@ class MafOrder extends Model
     protected $fillable = [
         'year',
         'order_number',
+        'status',
         'user_id',
         'product_id',
         'quantity',

+ 28 - 0
database/migrations/2025_04_20_164500_add_fields_to_maf_orders_table.php

@@ -0,0 +1,28 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    /**
+     * Run the migrations.
+     */
+    public function up(): void
+    {
+        Schema::table('maf_orders', function (Blueprint $table) {
+            $table->string('status')->after('order_number')->default('заказан');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     */
+    public function down(): void
+    {
+        Schema::table('maf_orders', function (Blueprint $table) {
+            $table->dropColumn('status');
+        });
+    }
+};

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

@@ -12,8 +12,11 @@
                 <input type="hidden" id="product_id" name="product_id" value="{{ $maf_order->product_id }}">
                 @include('partials.input', ['name' => 'product_name', 'title' => 'МАФ', 'disabled' => true, 'value' => $maf_order->product->common_name])
                 @include('partials.input', ['name' => 'order_number', 'title' => 'Номер заказа', 'required' => false, 'value' => $maf_order->order_number])
-                @include('partials.input', ['name' => 'quantity', 'title' => 'Количество', 'required' => true, 'value' => $maf_order->quantity, 'required' => true])
-
+                @include('partials.select', ['name' => 'status', 'title' => 'Статус', 'options' => ['заказан', 'на складе'], 'key_as_val' => true, 'value' => $maf_order->status])
+                @include('partials.input', ['name' => 'quantity', 'title' => 'Количество', 'type' => 'number', 'required' => true, 'value' => $maf_order->quantity, 'required' => true])
+                @if($maf_order->status == 'заказан')
+                    @include('partials.input', ['name' => 'in_stock', 'title' => 'Остаток', 'type' => 'number', 'required' => true, 'value' => $maf_order->in_stock, 'required' => true])
+                @endif
                 @include('partials.submit', ['name' => 'Сохранить', 'delete' => ['form_id' => 'destroy', 'title' => 'Удалить']])
             </div>
         </form>

+ 2 - 3
resources/views/partials/submit.blade.php

@@ -1,5 +1,5 @@
 <div class="row">
-    <div class="@if(!($right ?? null)) offset-md-{{ $offset ?? 4 }} col-md-8 @endif">
+    <div class="@if(!($right ?? null)) offset-md-{{ $offset ?? 4 }} col-md-8 @endif buttons">
         <button type="submit" class="btn btn-primary text-white">{{ $name ?? 'Сохранить' }}</button>
         @if(isset($delete))
             <a href="#" class="btn btn-danger delete">{{ $delete['title'] }}</a>
@@ -17,8 +17,7 @@
         });
 
         $('.btn').on('click', function (){
-            $(this).addClass('d-none');
-
+            $('.buttons').addClass('d-none');
 
             setTimeout(function () {
                     $('.btn').removeClass('d-none');