Prechádzať zdrojové kódy

临时工申请协调 劳务所与仓库绑定

ANG YU 4 rokov pred
rodič
commit
491e3afc9e

+ 9 - 3
app/Http/Controllers/LaborCompanyController.php

@@ -3,6 +3,7 @@
 namespace App\Http\Controllers;
 namespace App\Http\Controllers;
 
 
 use App\LaborCompany;
 use App\LaborCompany;
+use App\Warehouse;
 use Illuminate\Http\Request;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\Gate;
 use Illuminate\Support\Facades\Gate;
@@ -14,7 +15,10 @@ class LaborCompanyController extends Controller
     public function index()
     public function index()
     {
     {
         if(!Gate::allows('劳务所-查询')){ return redirect(url('/'));  }
         if(!Gate::allows('劳务所-查询')){ return redirect(url('/'));  }
-        $laborCompanys=LaborCompany::orderBy('id','desc')->paginate(35);
+        $laborCompanys=LaborCompany::query()
+            ->with(['warehouse'])
+            ->orderBy('id','desc')
+            ->paginate(35);
         return view('maintenance.laborCompany.index',['laborCompanys'=>$laborCompanys]);
         return view('maintenance.laborCompany.index',['laborCompanys'=>$laborCompanys]);
     }
     }
 
 
@@ -22,7 +26,8 @@ class LaborCompanyController extends Controller
     public function create()
     public function create()
     {
     {
         if(!Gate::allows('劳务所-录入')){ return redirect(url('/'));  }
         if(!Gate::allows('劳务所-录入')){ return redirect(url('/'));  }
-        return view('maintenance.laborCompany.create');
+        $warehouses = Warehouse::all();
+        return view('maintenance.laborCompany.create',compact('warehouses'));
     }
     }
 
 
 
 
@@ -68,7 +73,8 @@ class LaborCompanyController extends Controller
     public function edit(LaborCompany $laborCompany)
     public function edit(LaborCompany $laborCompany)
     {
     {
         if(!Gate::allows('劳务所-编辑')){ return redirect(url('/'));  }
         if(!Gate::allows('劳务所-编辑')){ return redirect(url('/'));  }
-        return view('maintenance.laborCompany.edit',['laborCompany'=>$laborCompany]);
+        $warehouses = Warehouse::all();
+        return view('maintenance.laborCompany.edit',compact('laborCompany','warehouses'));
     }
     }
 
 
     /**
     /**

+ 16 - 2
app/LaborCompany.php

@@ -6,13 +6,27 @@ use App\Traits\ModelTimeFormat;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Database\Eloquent\Model;
 
 
 use App\Traits\ModelLogChanging;
 use App\Traits\ModelLogChanging;
+use Illuminate\Database\Eloquent\Relations\BelongsTo;
 
 
 class LaborCompany extends Model
 class LaborCompany extends Model
 {
 {
     use ModelLogChanging;
     use ModelLogChanging;
 
 
     use ModelTimeFormat;
     use ModelTimeFormat;
-    protected $fillable=[
-        'id','name',
+
+    protected $fillable = [
+        'id',
+        'name',//名称
+        'warehouse_id',//仓库ID
+        'priority',//优先级 数字越大优先级越高
+        'mail',//邮箱
     ];
     ];
+
+    /**
+     * @return BelongsTo
+     */
+    public function warehouse(): BelongsTo
+    {
+        return $this->belongsTo(Warehouse::class);
+    }
 }
 }

+ 9 - 0
app/Warehouse.php

@@ -6,6 +6,7 @@ use Illuminate\Database\Eloquent\Model;
 use App\Traits\ModelTimeFormat;
 use App\Traits\ModelTimeFormat;
 
 
 use App\Traits\ModelLogChanging;
 use App\Traits\ModelLogChanging;
+use Illuminate\Database\Eloquent\Relations\HasMany;
 
 
 class Warehouse extends Model
 class Warehouse extends Model
 {
 {
@@ -30,4 +31,12 @@ class Warehouse extends Model
     {   //区县
     {   //区县
         return $this->belongsTo(Region::class)->where("type",3);
         return $this->belongsTo(Region::class)->where("type",3);
     }
     }
+
+    /**
+     * @return HasMany
+     */
+    public function laborCompanies(): HasMany
+    {
+        return $this->hasMany(LaborCompany::class,'warehouse_id','id');
+    }
 }
 }

+ 36 - 0
database/migrations/2021_09_28_093710_add_column_warehouse_id_priority_mail_to_labor_companies_table.php

@@ -0,0 +1,36 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class AddColumnWarehouseIdPriorityMailToLaborCompaniesTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('labor_companies', function (Blueprint $table) {
+            $table->integer('warehouse_id')->nullable()->comment('仓库ID');
+            $table->integer('priority')->default(0)->comment('优先级,数字越大优先级越高');
+            $table->string('mail')->nullable()->comment('邮箱');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('labor_companies', function (Blueprint $table) {
+            $table->dropColumn('warehouse_id');
+            $table->dropColumn('priority');
+            $table->dropColumn('mail');
+        });
+    }
+}

+ 27 - 1
resources/views/maintenance/laborCompany/create.blade.php

@@ -22,7 +22,33 @@
                             @enderror
                             @enderror
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="form-group row">
+                    <div class="from-group row">
+                        <label for="priority" title="数字越大优先级越高" class="col-2 col-form-label text-right">优先级</label>
+                        <div class="col-8">
+                            <input type="number" class="form-control" name="priority" value="{{ old('priority') }}"
+                                   required>
+                        </div>
+                    </div>
+                    <div class="from-group row mt-3">
+                        <label for="mail" title="邮箱" class="col-2 col-form-label text-right">邮箱</label>
+                        <div class="col-8">
+                            <input type="email" class="form-control" name="mail" value="{{ old('mail') }}">
+                        </div>
+                    </div>
+                    <div class="from-group row mt-3">
+                        <label for="warehouse_id" class="col-2 col-form-label text-right">仓库</label>
+                        <div class="col-8">
+                            <select class="form-control" id="warehouse_id" name="warehouse_id" required>
+                                <option value="" hidden disabled selected >请选择仓库</option>
+                                @foreach($warehouses as $warehouse)
+                                    <option value="{{$warehouse->id}}">{{ $warehouse->name }}</option>
+                                @endforeach
+                            </select>
+                        </div>
+
+
+                    </div>
+                    <div class="form-group row mt-5">
                         <div class="col-8 offset-2">
                         <div class="col-8 offset-2">
                             <input type="submit" class="btn btn-success form-control">
                             <input type="submit" class="btn btn-success form-control">
                         </div>
                         </div>

+ 30 - 2
resources/views/maintenance/laborCompany/edit.blade.php

@@ -15,7 +15,8 @@
                         <label for="name" class="col-2 col-form-label text-right">劳务所名称</label>
                         <label for="name" class="col-2 col-form-label text-right">劳务所名称</label>
                         <div class="col-8">
                         <div class="col-8">
                             <input type="text" class="form-control @error('name') is-invalid @enderror"
                             <input type="text" class="form-control @error('name') is-invalid @enderror"
-                                   name="name" autocomplete="off" value="@if(old('name')){{old('name')}}@else{{$laborCompany->name}}@endif" required>
+                                   name="name" autocomplete="off"
+                                   value="@if(old('name')){{old('name')}}@else{{$laborCompany->name}}@endif" required>
                             @error('name')
                             @error('name')
                             <span class="invalid-feedback" role="alert">
                             <span class="invalid-feedback" role="alert">
                                 <strong>{{ $message }}</strong>
                                 <strong>{{ $message }}</strong>
@@ -23,7 +24,34 @@
                             @enderror
                             @enderror
                         </div>
                         </div>
                     </div>
                     </div>
-                    <div class="form-group row">
+
+                    <div class="from-group row">
+                        <label for="priority" title="数字越大优先级越高" class="col-2 col-form-label text-right">优先级</label>
+                        <div class="col-8">
+                            <input type="number" class="form-control" name="priority"
+                                   value="{{ $laborCompany->priority }}"
+                                   required>
+                        </div>
+                    </div>
+                    <div class="from-group row mt-3">
+                        <label for="mail" title="邮箱" class="col-2 col-form-label text-right">邮箱</label>
+                        <div class="col-8">
+                            <input type="email" class="form-control" name="mail" value="{{ $laborCompany->mail }}">
+                        </div>
+                    </div>
+                    <div class="from-group row mt-3">
+                        <label for="warehouse_id" class="col-2 col-form-label text-right">仓库</label>
+                        <div class="col-8">
+                            <select class="form-control" id="warehouse_id" name="warehouse_id" required>
+                                @foreach($warehouses as $warehouse)
+                                    <option value="{{$warehouse->id}}"
+                                            {{ $warehouse->id==$laborCompany->warehouse_id ? 'selected' : '' }}>{{ $warehouse->name }}</option>
+                                @endforeach
+                            </select>
+                        </div>
+
+                    </div>
+                    <div class="form-group row mt-5">
                         <div class="col-8 offset-2">
                         <div class="col-8 offset-2">
                             <input type="submit" class="btn btn-outline-dark form-control">
                             <input type="submit" class="btn btn-outline-dark form-control">
                         </div>
                         </div>

+ 7 - 1
resources/views/maintenance/laborCompany/index.blade.php

@@ -12,12 +12,18 @@
                     <tr>
                     <tr>
                         <th>ID</th>
                         <th>ID</th>
                         <th>劳务所名</th>
                         <th>劳务所名</th>
+                        <th>仓库</th>
+                        <th>邮箱</th>
+                        <th>优先级</th>
                         <th>创建时间</th>
                         <th>创建时间</th>
                         <th>操作</th>
                         <th>操作</th>
                     </tr>
                     </tr>
                     <tr v-for="(laborCompany,i) in laborCompanys"  @click="selectTr===i+1?selectTr=0:selectTr=i+1" :class="selectTr===i+1?'focusing' : ''">
                     <tr v-for="(laborCompany,i) in laborCompanys"  @click="selectTr===i+1?selectTr=0:selectTr=i+1" :class="selectTr===i+1?'focusing' : ''">
                         <td class="text-muted">@{{laborCompany.id}}</td>
                         <td class="text-muted">@{{laborCompany.id}}</td>
                         <td>@{{laborCompany.name}}</td>
                         <td>@{{laborCompany.name}}</td>
+                        <td>@{{laborCompany.warehouse && laborCompany.warehouse.name}}</td>
+                        <td>@{{laborCompany.mail}}</td>
+                        <td>@{{laborCompany.priority}}</td>
                         <td class="text-muted">@{{laborCompany.created_at}}</td>
                         <td class="text-muted">@{{laborCompany.created_at}}</td>
                         <td>
                         <td>
                             @can('劳务所-编辑')
                             @can('劳务所-编辑')
@@ -40,7 +46,7 @@
             data:{
             data:{
                 laborCompanys:[
                 laborCompanys:[
                     @foreach( $laborCompanys as $laborCompany )
                     @foreach( $laborCompanys as $laborCompany )
-                    {id:'{{$laborCompany->id}}',name:'{{$laborCompany->name}}',created_at:'{{$laborCompany->created_at}}'},
+                    {!! $laborCompany !!},
                     @endforeach
                     @endforeach
                 ],
                 ],
                 selectTr:0
                 selectTr:0