Zhouzhendong 6 лет назад
Родитель
Сommit
cb3ec0ab8a

+ 1 - 1
app/Http/Controllers/WaybillsController.php

@@ -289,7 +289,7 @@ class WaybillsController extends Controller
                 elseif ($waybill->collect_fee)$total_receivable=($waybill->collect_fee);
                 $total_expense=($waybill->pick_up_fee)+($waybill->other_fee)+($waybill->fee);
             }
-            if ($total_receivable){
+            if ($total_receivable&&$total_receivable>0){
                 $waybillPayoff=WaybillPayoff::where('waybill_id','=',$id)->first();
                 if ($waybillPayoff){
                     $waybillPayoff->waybill_id=$id;

+ 5 - 0
app/Owner.php

@@ -24,4 +24,9 @@ class Owner extends Model
         $this->update();
         return $this['checking_count'];
     }
+
+    public function paperBoxes()
+    {
+        return $this->belongsToMany('\App\PaperBox', 'owner_paper_box', 'owner_id', 'paper_box_id');
+    }
 }

+ 16 - 0
app/PaperBox.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace App;
+
+use Illuminate\Database\Eloquent\Model;
+
+class PaperBox extends Model
+{
+    protected $fillable=[
+        'model','length','width','height',
+    ];
+
+    public function owners(){
+        return $this->belongsToMany('\App\Owner','owner_paper_box','paper_box_id','owner_id');
+    }
+}

+ 35 - 0
database/migrations/2019_12_27_105125_create_paper_boxes_table.php

@@ -0,0 +1,35 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreatePaperBoxesTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('paper_boxes', function (Blueprint $table) {
+            $table->bigIncrements('id');
+            $table->string('model')->unique()->comment('模型');
+            $table->decimal('length')->comment('长(cm)');
+            $table->decimal('width')->comment('宽(cm)');
+            $table->decimal('height')->comment('高(cm)');
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('paper_boxes');
+    }
+}

+ 33 - 0
database/migrations/2019_12_27_105552_create_owner_paper_box_table.php

@@ -0,0 +1,33 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateOwnerPaperBoxTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('owner_paper_box', function (Blueprint $table) {
+            $table->bigIncrements('id');
+            $table->bigInteger('owner_id')->comment('货主ID');
+            $table->bigInteger('paper_box_id')->comment('纸箱');
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('owner_paper_box');
+    }
+}

+ 47 - 0
database/migrations/2019_12_30_114648_add_weigh_authority.php

@@ -0,0 +1,47 @@
+<?php
+
+use App\Authority;
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class AddWeighAuthority extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        (new Authority(['name'=>'纸箱','alias_name'=>'纸箱']))->save();
+        (new Authority(['name'=>'纸箱-查询','alias_name'=>'纸箱-查询']))->save();
+        (new Authority(['name'=>'纸箱-录入','alias_name'=>'纸箱-录入']))->save();
+        (new Authority(['name'=>'纸箱-编辑','alias_name'=>'纸箱-编辑']))->save();
+        (new Authority(['name'=>'纸箱-删除','alias_name'=>'纸箱-删除']))->save();
+        (new Authority(['name'=>'测量设备','alias_name'=>'测量设备']))->save();
+        (new Authority(['name'=>'测量设备-查询','alias_name'=>'测量设备-查询']))->save();
+        (new Authority(['name'=>'测量设备-录入','alias_name'=>'测量设备-录入']))->save();
+        (new Authority(['name'=>'测量设备-编辑','alias_name'=>'测量设备-编辑']))->save();
+        (new Authority(['name'=>'测量设备-删除','alias_name'=>'测量设备-删除']))->save();
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Authority::where('name','纸箱')->delete();
+        Authority::where('name','纸箱-查询')->delete();
+        Authority::where('name','纸箱-录入')->delete();
+        Authority::where('name','纸箱-编辑')->delete();
+        Authority::where('name','纸箱-删除')->delete();
+        Authority::where('name','测量设备')->delete();
+        Authority::where('name','测量设备-查询')->delete();
+        Authority::where('name','测量设备-录入')->delete();
+        Authority::where('name','测量设备编辑')->delete();
+        Authority::where('name','测量设备-删除')->delete();
+    }
+}

+ 34 - 0
database/migrations/2019_12_30_143601_create_measuring_machines_table.php

@@ -0,0 +1,34 @@
+<?php
+
+use Illuminate\Support\Facades\Schema;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class CreateMeasuringMachinesTable extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::create('measuring_machines', function (Blueprint $table) {
+            $table->bigIncrements('id');
+            $table->string('name')->comment('设备名');
+            $table->string('code')->comment('设备ID');
+            $table->enum('status',['在线','离线'])->comment('设备状态');
+            $table->timestamps();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::dropIfExists('measuring_machines');
+    }
+}

+ 3 - 0
resources/views/layouts/menu.blade.php

@@ -7,6 +7,9 @@
         @can('运输管理')
             <li class="nav-item"><a href="{{url("waybill/index")}}" class="nav-link"
                                     :class="{active:isActive('waybill',1)}">运输管理</a></li> @endcan
+        @can('称重管理')
+            <li class="nav-item"><a href="{{url("weigh")}}" class="nav-link"
+                                    :class="{active:isActive('weigh',1)}">称重管理</a></li> @endcan
         @can('基础设置')
         <li class="nav-item"><a href="{{url("maintenance/")}}" class="nav-link"
                                 :class="{active:isActive('maintenance',1)}">基础设置</a></li> @endcan

+ 8 - 0
resources/views/maintenance/menu.blade.php

@@ -54,6 +54,14 @@
                 <li class="nav-item">
                     <a class="nav-link text-dark" href="{{url('maintenance/waybillPriceModel')}}" :class="{active:isActive('waybillPriceModel',2)}">计费模型</a>
                 </li> @endcan
+            @can('纸箱')
+                <li class="nav-item">
+                    <a class="nav-link text-muted" href="{{url('maintenance/paperBox/index/model')}}" :class="{active:isActive('paperBox',2)}">纸箱</a>
+                </li> @endcan
+            @can('测量设备')
+                <li class="nav-item">
+                    <a class="nav-link text-muted" href="{{url('maintenance/measuringMachine')}}" :class="{active:isActive('measuringMachine',2)}">测量设备</a>
+                </li> @endcan
             @can('日志')
                 <li class="nav-item">
                     <a class="nav-link text-muted" href="{{url('maintenance/log')}}" :class="{active:isActive('log',2)}">日志</a>

+ 140 - 0
resources/views/maintenance/paperBox/create.blade.php

@@ -0,0 +1,140 @@
+@extends('layouts.app')
+
+
+
+@section('content')
+    <div id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.paperBox.menu')@endcomponent
+    </div>
+    <div class="container mt-3" id="form">
+        <div class="card col-md-8 offset-md-2">
+            <div class="card-body">
+                <form method="POST" action="{{ url('maintenance/paperBox') }}">
+                    @csrf
+                    <div class="form-group row text-center">
+                        <div class="col-12 text-danger">
+
+                            注意:为保证数据正确您输入的长宽高将会被重新定义<br>
+                            最大值为长,其次为宽,最小为高
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="model" class="col-2 col-form-label text-right">型号</label>
+                        <div class="col-8">
+                            <input type="text" class="form-control @error('model') is-invalid @enderror"
+                                   name="model" autocomplete="off" value="{{ old('model')}}" required>
+                            @error('model')
+                            <span class="invalid-feedback" role="alert">
+                                        <strong>{{ $message }}</strong>
+                                    </span>
+                            @enderror
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="length" class="col-2 col-form-label text-right">长(cm)</label>
+                        <div class="col-8">
+                            <input type="text" class="form-control @error('length') is-invalid @enderror"
+                                   name="length" autocomplete="off" value="{{ old('length') }}" required>
+                            @error('length')
+                            <span class="invalid-feedback" role="alert">
+                                        <strong>{{ $message }}</strong>
+                                    </span>
+                            @enderror
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="width" class="col-2 col-form-label text-right">宽(cm)</label>
+                        <div class="col-8">
+                            <input type="text" class="form-control @error('width') is-invalid @enderror"
+                                   name="width" autocomplete="off" value="{{ old('width') }}" required>
+                            @error('width')
+                            <span class="invalid-feedback" role="alert">
+                                        <strong>{{ $message }}</strong>
+                                    </span>
+                            @enderror
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="height" class="col-2 col-form-label text-right">高(cm)</label>
+                        <div class="col-8">
+                            <input type="text" class="form-control @error('height') is-invalid @enderror"
+                                   name="height" autocomplete="off" value="{{ old('height') }}" required>
+                            @error('height')
+                            <span class="invalid-feedback" role="alert">
+                                        <strong>{{ $message }}</strong>
+                                    </span>
+                            @enderror
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="height" class="col-2 col-form-label text-right">选择货主</label>
+                        <div class="col-3">
+                            <div style="max-height: 130px;overflow-y: scroll;border: solid 1px #ddd;border-radius:5px;opacity:0.5;text-align: center;transform:scale(0.9)"  v-if="owners.length>0">
+                                <ul class="list-group">
+                                    <li id="selectLi" title="双击添加货主"   v-for="owner in owners" @dblclick="selectedOwner(owner)" style="list-style: none"><a >@{{ owner.name }}</a></li>
+                                </ul>
+                            </div>
+                        </div>
+                        <div class="col-5">
+                            <div style="max-height: 130px;overflow-y: scroll;border: solid 1px #ddd;border-radius:5px;text-align: center;" v-if="owners.length>0">
+                                <ul class="list-group">
+                                    <li v-for="selectedOwner in selectedOwners" title="双击删除货主"  @dblclick="owner(selectedOwner)" style="list-style: none">
+                                        <a>@{{ selectedOwner.name }}</a>
+                                        <input hidden name="owner_id[]" :value="selectedOwner.id">
+                                    </li>
+                                </ul>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="form-group row">
+                        <div class="col-8 offset-2">
+                            <input type="submit" class="btn btn-success form-control">
+                        </div>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+@endsection
+
+@section('lastScript')
+    <style>
+        li a:hover{background-color: #4aa0e6;display: block;cursor:pointer}
+    </style>
+    <script>
+        let vue=new Vue({
+            el:'#form',
+            data:{
+                owners:[
+                    @foreach($owners as $owner)
+                        {id:'{{$owner->id}}',name:'{{$owner->name}}'},
+                    @endforeach
+                ],
+                selectedOwners:[],
+            },
+
+            methods:{
+                selectedOwner(paperBox_owner){
+                    for (let i=0;i<this.owners.length;i++){
+                        if(this.owners[i]===paperBox_owner){
+                            this.owners.splice(i,1);
+                            break;
+                        }
+                    }
+                    this.selectedOwners.push(paperBox_owner);
+                },
+                owner(selectedOwner){
+                    for (let i=0;i<this.selectedOwners.length;i++){
+                        if(this.selectedOwners[i]===selectedOwner){
+                            this.selectedOwners.splice(i,1);
+                            break;
+                        }
+                    }
+                    this.owners.push(selectedOwner);
+                },
+            },
+        });
+    </script>
+@endsection

+ 154 - 0
resources/views/maintenance/paperBox/edit.blade.php

@@ -0,0 +1,154 @@
+@extends('layouts.app')
+
+
+
+@section('content')
+    <div id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.paperBox.menu')
+            <li class="nav-item">
+                <a class="nav-link" href="{{URL::current()}}" :class="{active:isActive('edit',4)}">修改</a>
+            </li>
+        @endcomponent
+    </div>
+    <div class="container mt-3" id="form">
+        <div class="card col-md-8 offset-md-2">
+            <div class="card-body">
+                <form method="POST" action="{{ url('maintenance/paperBox/'.$paperBox->id) }}">
+                    @csrf
+                    @method('PUT')
+                    <div class="form-group row text-center">
+                        <div class="col-12 text-danger">
+
+                            注意:为保证数据正确您输入的长宽高将会被重新定义<br>
+                            最大值为长,其次为宽,最小为高
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="model" class="col-2 col-form-label text-right">型号</label>
+                        <div class="col-8">
+                            <input type="text" class="form-control @error('model') is-invalid @enderror"
+                                   name="model" autocomplete="off" value="{{old('model')?old('model'):$paperBox->model}}" required>
+                            @error('model')
+                            <span class="invalid-feedback" role="alert">
+                                        <strong>{{ $message }}</strong>
+                                    </span>
+                            @enderror
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="length" class="col-2 col-form-label text-right">长(cm)</label>
+                        <div class="col-8">
+                            <input type="text" class="form-control @error('length') is-invalid @enderror"
+                                   name="length" autocomplete="off" value="{{old('length')?old('length'):$paperBox->length}}" required>
+                            @error('length')
+                            <span class="invalid-feedback" role="alert">
+                                        <strong>{{ $message }}</strong>
+                                    </span>
+                            @enderror
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="width" class="col-2 col-form-label text-right">宽(cm)</label>
+                        <div class="col-8">
+                            <input type="text" class="form-control @error('width') is-invalid @enderror"
+                                   name="width" autocomplete="off" value="{{old('width')?old('width'):$paperBox->width}}" required>
+                            @error('width')
+                            <span class="invalid-feedback" role="alert">
+                                        <strong>{{ $message }}</strong>
+                                    </span>
+                            @enderror
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="height" class="col-2 col-form-label text-right">高(cm)</label>
+                        <div class="col-8">
+                            <input type="text" class="form-control @error('height') is-invalid @enderror"
+                                   name="height" autocomplete="off" value="{{old('height')?old('height'):$paperBox->height}}" required>
+                            @error('height')
+                            <span class="invalid-feedback" role="alert">
+                                        <strong>{{ $message }}</strong>
+                                    </span>
+                            @enderror
+                        </div>
+                    </div>
+                    <div class="form-group row">
+                        <label for="height" class="col-2 col-form-label text-right">选择货主</label>
+                        <div class="col-3">
+                            <div style="max-height: 130px;overflow-y: scroll;border: solid 1px #ddd;border-radius:5px;opacity:0.5;text-align: center;transform:scale(0.9)"  v-if="owners.length>0">
+                                <ul class="list-group tooltipTarget" title="双击添加货主">
+                                    <li id="selectLi"  class="tooltipTarget"  v-for="owner in owners"  @dblclick="selectedOwner(owner)" style="list-style: none"><a >@{{ owner.name }}</a></li>
+                                </ul>
+                            </div>
+                        </div>
+                        <div class="col-5">
+                            <div style="max-height: 130px;overflow-y: scroll;border: solid 1px #ddd;border-radius:5px;text-align: center;" v-if="owners.length>0">
+                                <ul class="list-group ">
+                                    <li v-for="selectedOwner in selectedOwners" class="tooltipTarget" @dblclick="owner(selectedOwner)" title="双击删除货主"  style="list-style: none">
+                                        <a>@{{ selectedOwner.name }}</a>
+                                        <input hidden name="owner_id[]" :value="selectedOwner.id">
+                                    </li>
+                                </ul>
+                            </div>
+                        </div>
+                    </div>
+
+                    <div class="form-group row">
+                        <div class="col-8 offset-2">
+                            <input type="submit" class="btn btn-outline-dark form-control">
+                        </div>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+@endsection
+
+@section('lastScript')
+    <style>
+        li a:hover{background-color: #4aa0e6;display: block;cursor:pointer}
+    </style>
+    <script>
+        let vue=new Vue({
+            el:'#form',
+            data:{
+                owners:[
+                    @foreach($owners as $owner)
+                        {id:'{{$owner->id}}',name:'{{$owner->name}}'},
+                    @endforeach
+                ],
+                selectedOwners:[
+                    @foreach($paperBox->owners as $paperBox_owner)
+                        {id:'{{$paperBox_owner->id}}',name:'{{$paperBox_owner->name}}'},
+                    @endforeach
+                ],
+            },
+
+            methods:{
+                selectedOwner(paperBox_owner){
+                    let _this=this;
+                    let location=true;
+                    this.selectedOwners.some(function (selectedOwner) {
+                        if(selectedOwner.id===paperBox_owner.id){
+                            document.getElementById('selectLi').title='已存在';
+                            location=false;
+                            return true;
+                        }
+                    });
+                    if (location){
+                        _this.selectedOwners.push(paperBox_owner);
+                    }
+                },
+                owner(selectedOwner){
+                    let _this=this;
+                    for (let i=0;i<this.selectedOwners.length;i++){
+                        if (_this.selectedOwners[i]===selectedOwner){
+                            _this.selectedOwners.splice(i,1);
+                            break;
+                        }
+                    }
+                },
+            },
+        });
+    </script>
+@endsection

+ 114 - 0
resources/views/maintenance/paperBox/index.blade.php

@@ -0,0 +1,114 @@
+@extends('layouts.app')
+
+@section('content')
+    <div id="list">
+    <span id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.paperBox.menu')@endcomponent
+<div class="container">
+    <div class="form-inline" style="transform: scale(0.9)">
+        <button class="btn btn-outline-primary" onclick="window.location.href='{{url('maintenance/paperBox/index/model')}}'"  :class="{active:isActive('model',4)}">按型号查询</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button class="btn btn-outline-primary" onclick="window.location.href='{{url('maintenance/paperBox/index/owner')}}'"   :class="{active:isActive('owner',4)}">按货主查询</button>
+    </div>
+</div>
+    </span>
+        <div class="container mt-3">
+            <div class="card">
+                <div class="card-body">
+                    @if(Session::has('successTip'))
+                        <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
+                    @endif
+                    <table class="table table-striped table-sm">
+                        <tr>
+                            <th>纸箱ID</th>
+                            <th>型号</th>
+                            <th>长</th>
+                            <th>宽</th>
+                            <th>高</th>
+                            <th>货主</th>
+                            <th>操作</th>
+                        </tr>
+                        <tr v-for="paperBox in paperBoxes">
+                            <td>@{{paperBox.id}}</td>
+                            <td>@{{paperBox.model}}</td>
+                            <td>@{{paperBox.length}}</td>
+                            <td>@{{paperBox.width}}</td>
+                            <td>@{{paperBox.weight}}</td>
+                            <td>
+                                <div v-if="paperBox.detailFolding && paperBox.owners.length>1">
+                                    <a href="javascript:;" @click="paperBox.detailFolding=false">@{{paperBox.owners.length}}个货主,点击展开明细</a></div>
+                                <div class="table table-sm" v-else>
+                                    <p style="width:200px" v-for="owner in paperBox.owners">
+                                        @{{owner.name}}
+                                        @can('纸箱-编辑')
+                                            <button class="btn btn-sm btn-outline-primary pull-right" @click="edit(paperBox)">改</button> @endcan
+                                    </p>
+                                    <p v-if="!paperBox.detailFolding && paperBox.owners.length>1">
+                                        <a href="javascript:;" @click="paperBox.detailFolding=true">点击收起明细</a>
+                                    </p>
+                                </div>
+                            </td>
+                            <td>@can('纸箱-删除')
+                                    <button class="btn btn-sm btn-outline-dark " @click="destroy(paperBox)">删</button> @endcan</td>
+                        </tr>
+                    </table>
+                    {{$paperBoxes->links()}}
+                </div>
+            </div>
+        </div>
+    </div>
+@endsection
+
+@section('lastScript')
+    <script>
+        new Vue({
+            el:"#list",
+            data:{
+                paperBoxes:[
+                        @foreach( $paperBoxes as $paperBox )
+                    {id:'{{$paperBox->id}}',model:'{{$paperBox->model}}',length:'{{$paperBox->length}}',width:'{{$paperBox->width}}',height:'{{$paperBox->height}}',detailFolding:true,
+                        owners:[
+                                @foreach($paperBox->owners as $owner)
+                            {id:'{{$owner->id}}',name:'{{$owner->name}}'},
+                            @endforeach
+                        ],
+                    },
+                    @endforeach
+
+                ],
+            },
+            methods:{
+                edit:function(paperBox){
+                    let id=paperBox.id;
+                    location.href = "{{url('maintenance/paperBox')}}/"+id+"/edit";
+                },
+                 destroy:function(paperBox){
+                     if(!confirm('确定要删除纸箱“' + paperBox.model + '”吗?')){return};
+                     let data=this;
+                     let url = "{{url('maintenance/paperBox')}}/"+paperBox.id;
+                    axios.delete(url,{id:paperBox.id})
+                        .then(function (response) {
+                            if(response.data.success){
+                                for (let i = 0; i < data.paperBoxes.length; i++) {
+                                    if (data.paperBoxes[i].id===paperBox.id){
+                                        data.paperBoxes.splice(i,1);
+                                        break;
+                                    }
+                                }
+                                tempTip.setDuration(1000);
+                                tempTip.showSuccess('删除纸箱"'+paperBox.model+'"成功!')
+                            }else{
+                                tempTip.setDuration(1000);
+                                tempTip.show('删除纸箱"'+paperBox.model+'"失败!')
+                            }
+                        })
+                        .catch(function (err) {
+                            tempTip.setDuration(3000);
+                            tempTip.show('删除纸箱失败!'+'网络错误:' + err);
+                            console.log(err);
+                        });
+                },
+            }
+        });
+    </script>
+@endsection

+ 111 - 0
resources/views/maintenance/paperBox/indexOwner.blade.php

@@ -0,0 +1,111 @@
+@extends('layouts.app')
+
+@section('content')
+<div id="list">
+    <span id="nav2">
+        @component('maintenance.menu')@endcomponent
+        @component('maintenance.paperBox.menu')@endcomponent
+<div class="container">
+    <div class="form-inline" style="transform: scale(0.9)">
+        <button class="btn btn-outline-primary" onclick="window.location.href='{{url('maintenance/paperBox/index/model')}}'"  :class="{active:isActive('model',4)}">按型号查询</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+        <button class="btn btn-outline-primary" onclick="window.location.href='{{url('maintenance/paperBox/index/owner')}}'"   :class="{active:isActive('owner',4)}">按货主查询</button>
+    </div>
+</div>
+    </span>
+    <div class="container mt-3">
+        <div class="card">
+            <div class="card-body">
+                @if(Session::has('successTip'))
+                    <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
+                @endif
+                <table class="table table-striped table-sm table-bordered">
+                    <tr>
+                        <th style="width: 14%">货主</th>
+                        <th style="width: 14%">纸箱ID</th>
+                        <th style="width: 14%">型号</th>
+                        <th style="width: 14%">长</th>
+                        <th style="width: 14%">宽</th>
+                        <th style="width: 14%">高</th>
+                        <th style="width: 14%">操作</th>
+                    </tr>
+                    <tr v-for="paperBox_owner in paperBoxes_owner" v-if="paperBox_owner.paperBox.length>0">
+                        <td>@{{paperBox_owner.name}}</td>
+                        <td colspan="6">
+                            <table class="table table-striped table-sm">
+                                <tr v-for="paperBox in paperBox_owner.paperBox">
+                                    <td style="width: 16.5%">@{{paperBox.id}}</td>
+                                    <td style="width: 16.5%">@{{paperBox.model}}</td>
+                                    <td style="width: 16.5%">@{{paperBox.length}}</td>
+                                    <td style="width: 16.5%">@{{paperBox.width}}</td>
+                                    <td style="width: 16.5%">@{{paperBox.height}}</td>
+                                    <td style="width: 16.5%">
+                                        @can('纸箱-删除')
+                                            <button class="btn btn-sm btn-outline-dark " @click="destroy(paperBox)">删</button> @endcan
+                                        @can('纸箱-编辑')
+                                            <button class="btn btn-sm btn-outline-primary " @click="edit(paperBox)">改</button> @endcan</td>
+                                </tr>
+                            </table>
+                        </td>
+                    </tr>
+                </table>
+                {{$paperBoxes_owner->links()}}
+            </div>
+        </div>
+    </div>
+</div>
+@endsection
+
+@section('lastScript')
+    <script>
+        new Vue({
+            el:"#list",
+            data:{
+                paperBoxes_owner:[
+                    @foreach( $paperBoxes_owner as $paperBox_owner )
+                    {id:'{{$paperBox_owner->id}}',name:'{{$paperBox_owner->name}}',
+                     paperBox:[
+                        @foreach($paperBox_owner->paperBoxes as $paperBox)
+                        {id:'{{$paperBox->id}}',model:'{{$paperBox->model}}',length:'{{$paperBox->length}}',width:'{{$paperBox->width}}',height:'{{$paperBox->height}}'},
+                        @endforeach
+                            ],
+                    },
+                    @endforeach
+
+                ],
+            },
+             methods:{
+                 edit:function(paperBox){
+                     let id=paperBox.id;
+                     location.href = "{{url('maintenance/paperBox')}}/"+id+"/edit";
+                 },
+                 destroy:function(paperBox){
+                     if(!confirm('确定要删除纸箱“' + paperBox.model + '”吗?')){return};
+                     let url = "{{url('maintenance/paperBox')}}/"+paperBox.id;
+                     let _this=this;
+                     axios.delete(url,{id:paperBox.id})
+                         .then(function (response) {
+                             if(response.data.success){
+                                 _this.paperBoxes_owner.some(function (owner) {
+                                     for (let i = 0; i < owner.paperBox.length; i++) {
+                                         if (owner.paperBox[i].id===paperBox.id){
+                                             owner.paperBox.splice(i,1);
+                                         }
+                                     }
+                                 });
+                                 tempTip.setDuration(1000);
+                                 tempTip.showSuccess('删除纸箱"'+paperBox.model+'"成功!')
+                             }else{
+                                 tempTip.setDuration(1000);
+                                 tempTip.show('删除纸箱"'+paperBox.model+'"失败!')
+                             }
+                         })
+                         .catch(function (err) {
+                             tempTip.setDuration(3000);
+                             tempTip.show('删除纸箱失败!'+'网络错误:' + err);
+                             console.log(err);
+                         });
+                 },
+            }
+        });
+    </script>
+@endsection

+ 16 - 0
resources/views/maintenance/paperBox/menu.blade.php

@@ -0,0 +1,16 @@
+
+<div class="container">
+    <div class="card" style="background: #f9f0f0;transform: scale(0.95)">
+        <ul class="nav nav-pills">
+            @can('纸箱-查询')
+                <li class="nav-item">
+                    <a class="nav-link" href="{{url('maintenance/paperBox/index/model')}}" :class="{active:isActive('index',3)}">查询</a>
+                </li> @endcan
+            @can('纸箱-录入')
+                <li class="nav-item">
+                    <a class="nav-link" href="{{url('maintenance/paperBox/create')}}" :class="{active:isActive('create',3)}">录入</a>
+                </li> @endcan
+            {{$slot}}
+        </ul>
+    </div>
+</div>

+ 1 - 1
resources/views/maintenance/unit/index.blade.php

@@ -73,7 +73,7 @@
                         })
                         .catch(function (err) {
                             tempTip.setDuration(3000);
-                            tempTip.show('删除车辆失败!'+'网络错误:' + err);
+                            tempTip.show('删除单位失败!'+'网络错误:' + err);
                             console.log(err);
                         });
                 },

+ 1 - 1
resources/views/waybill/edit.blade.php

@@ -231,7 +231,7 @@
                     <div class="form-group row">
                         <label for="carType_id" class="col-2 col-form-label text-right text-primary">车型 *</label>
                         <div class="col-8">
-                            <select class="form-control" name="carType_id" style="width: 30%;height: 30px">
+                            <select class="form-control" name="carType_id" style="width: 30%;">
                                 @foreach($carTypes as $carType)
                                     @if($carType->id==$waybill->carType_id)
                                         <option value="{{$carType->id}}" selected>{{$carType->name}}@if($carType->length)({{$carType->length}}米)@endif</option>

+ 8 - 0
routes/web.php

@@ -38,6 +38,11 @@ Route::resource('maintenance/unit','UnitsController');
 Route::resource('maintenance/province','ProvincesController');
 Route::resource('maintenance/city','CitiesController');
 Route::resource('maintenance/commodity', 'CommodityController');
+Route::resource('maintenance/measuringMachine', 'MeasuringMachineController');
+
+Route::get('maintenance/paperBox/index/model', 'PaperBoxController@indexModel');
+Route::get('maintenance/paperBox/index/owner', 'PaperBoxController@indexOwner');
+Route::resource('maintenance/paperBox', 'PaperBoxController');
 
 Route::get('waybill/relating',function (){return view('waybill.menuWaybill');});
 Route::resource('maintenance/waybillPriceModel','WaybillPriceModelsController');
@@ -70,6 +75,8 @@ Route::any('waybillFinancialSnapshot/export/{id}','WaybillFinancialSnapshotsCont
 Route::post('waybillPriceModel/excel/import','WaybillPriceModelsController@import');
 
 
+Route::resource('weigh/measureMonitor','MeasureMonitorController');
+Route::get('weigh/relating', function () {return view('weigh.menuWeigh');});
 
 Route::post('rejectedBill/{rejectedBill}/edit', 'RejectedBillController@edit');
 Route::resource('rejectedBill', 'RejectedBillController');
@@ -85,6 +92,7 @@ Route::post('rejected/exportExcelOnFilterParams', 'RejectedController@exportExce
 Route::resource('rejected', 'RejectedController');
 
 Route::get('maintenance/', function () {return view('maintenance.index');});
+Route::get('weigh/', function () {return view('weigh.index');});
 
 
 Route::any('test/{method}', 'TestController@method'); //测试