Sfoglia il codice sorgente

修复了广播切换问题

Zhouzhendong 6 anni fa
parent
commit
7d2a19acb6

+ 1 - 0
app/Events/WeighedEvent.php

@@ -2,6 +2,7 @@
 
 namespace App\Events;
 
+use App\Http\Controllers\Controller;
 use App\Package;
 use Illuminate\Broadcasting\Channel;
 use Illuminate\Contracts\Broadcasting\ShouldBroadcast;

+ 1 - 1
app/Http/Controllers/api/thirdPart/weight/PackageController.php

@@ -152,7 +152,7 @@ class PackageController extends Controller
                 $measuringMachine->touch();
                 MeasuringMachineQueue::dispatch($measuringMachine)->delay(\Carbon\Carbon::now()->addMinutes(30));
                 MarkPackageExcepted::dispatch($createPackage)->delay(Carbon::now()->addMinutes(1440));
-                event(new WeightEvent($createPackage));
+                event(new WeighedEvent($createPackage));
                 $response=["msg"=>"保存成功",
                     "code"=>200,
                     "data"=>true,

+ 1 - 1
config/database.php

@@ -123,7 +123,7 @@ return [
 
         'options' => [
             'cluster' => env('REDIS_CLUSTER', 'predis'),
-            'prefix' => Str::slug(env('APP_NAME', 'laravel'), '_').'_database_',
+            //'prefix' => Str::slug(env('APP_NAME', 'laravel'), '_').'_database_',
         ],
 
         'default' => [

+ 3 - 0
laravel-echo-server.lock

@@ -0,0 +1,3 @@
+{
+	"process": 15096
+}

+ 94 - 86
resources/views/weight/measureMonitor/index.blade.php

@@ -11,58 +11,58 @@
                         <audio id="audio" src="" autoplay></audio>
                         <div class="card">
                             <div class="card-header">
-                            <div class="form-inline">
-                                <h5>
-                                <ul class="nav nav-pills">
-                                        <b style="padding: 10px">请选择设备:</b>
-                                        <li v-for="measuringMachine in measuringMachines" @click="clickMeasuringMachine(measuringMachine.id)" :class="[measuringMachine.name==package.measuringMachine ?  selectedMachine : otherMachine] " style="padding: 10px">
-                                            <span v-if="package.measuringMachine==measuringMachine.name" :class="[package.measuringMachine_status=='离线' ?  off : on] " style="font-size:12px;"></span>
-                                            <span v-else :class="[measuringMachine.status=='离线' ?  off : on] " style="font-size:12px;"></span>
-                                            <a style="text-decoration:none;cursor:pointer" class="text-dark"  >@{{measuringMachine.name}}</a>
-                                        </li>
-                                </ul>
-                                </h5>
-                            </div>
-                            <div class="card-body" v-if="package.id">
-                                <h1>
+                                <div class="form-inline">
+                                    <h5>
+                                        <ul class="nav nav-pills">
+                                            <b style="padding: 10px">请选择设备:</b>
+                                            <li v-for="measuringMachine in measuringMachines" @click="clickMeasuringMachine(measuringMachine.id)" :class="[measuringMachine.name==package.measuringMachine ?  selectedMachine : otherMachine] " style="padding: 10px">
+                                                {{--<span v-if="package.measuringMachine==measuringMachine.name" :class="[package.measuringMachine_status=='离线' ?  off : on] " style="font-size:12px;"></span>--}}
+                                                <span :class="[measuringMachine.status=='离线' ?  off : on] " style="font-size:12px;"></span>
+                                                <a style="text-decoration:none;cursor:pointer" class="text-dark"  >@{{measuringMachine.name}}</a>
+                                            </li>
+                                        </ul>
+                                    </h5>
+                                </div>
+                                <div class="card-body" v-if="package.id">
+                                    <h1>
 
-                                <table class="table card-text dashboard" :class="[package.measuringMachine_status=='在线'?'on':'off']" style="height: 800px">
-                                    <tr>
-                                        <th class="tag" scope="row">货主</th>
-                                        <td style="border-right:thick double #aaaaaa;">@{{package.owner}}</td>
-                                        <th class="tag" scope="row" scope="row">重量(KG)</th>
-                                        <td>@{{package.weight}}</td>
-                                    </tr>
-                                    <tr>
-                                        <th class="tag" scope="row" scope="row">发货单号</th>
-                                        <td style="border-right:thick double #aaaaaa;">@{{package.delivery_number}}</td>
-                                        <th class="tag" scope="row" scope="row">收件人</th>
-                                        <td>@{{package.recipient}}</td>
-                                    </tr>
-                                    <tr>
-                                        <th class="tag" scope="row" scope="row">承运商</th>
-                                        <td style="border-right:thick double #aaaaaa;">@{{package.logistic}}</td>
-                                        <th class="tag" scope="row" scope="row">快递单号</th>
-                                        <td>@{{package.logistic_number}}</td>
-                                    </tr>
-                                    <tr>
-                                        <th class="tag" scope="row" scope="row">纸箱名称</th>
-                                        <td style="border-right:thick double #aaaaaa;">@{{package.paperBox}}</td>
-                                        <th class="tag" scope="row" scope="row">体积(CM³)</th>
-                                        <td>@{{package.bulk}}</td>
-                                    </tr>
-                                    <tr>
-                                        <th  class="tag" scope="row" scope="row">状态</th>
-                                        <td style="border-right:thick double #aaaaaa;">@{{package.status}}</td>
-                                        <th  class="tag" scope="row" scope="row">操作时间</th>
-                                        <td>@{{package.weighed_at}}</td>
-                                    </tr>
-                                </table>
-                                </h1>
+                                        <table class="table card-text dashboard" :class="[package.measuringMachine_status=='在线'?'on':'off']" style="height: 800px">
+                                            <tr>
+                                                <th class="tag" scope="row">货主</th>
+                                                <td style="border-right:thick double #aaaaaa;">@{{package.owner}}</td>
+                                                <th class="tag" scope="row" scope="row">重量(KG)</th>
+                                                <td>@{{package.weight}}</td>
+                                            </tr>
+                                            <tr>
+                                                <th class="tag" scope="row" scope="row">发货单号</th>
+                                                <td style="border-right:thick double #aaaaaa;">@{{package.delivery_number}}</td>
+                                                <th class="tag" scope="row" scope="row">收件人</th>
+                                                <td>@{{package.recipient}}</td>
+                                            </tr>
+                                            <tr>
+                                                <th class="tag" scope="row" scope="row">承运商</th>
+                                                <td style="border-right:thick double #aaaaaa;">@{{package.logistic}}</td>
+                                                <th class="tag" scope="row" scope="row">快递单号</th>
+                                                <td>@{{package.logistic_number}}</td>
+                                            </tr>
+                                            <tr>
+                                                <th class="tag" scope="row" scope="row">纸箱名称</th>
+                                                <td style="border-right:thick double #aaaaaa;">@{{package.paperBox}}</td>
+                                                <th class="tag" scope="row" scope="row">体积(CM³)</th>
+                                                <td>@{{package.bulk}}</td>
+                                            </tr>
+                                            <tr>
+                                                <th  class="tag" scope="row" scope="row">状态</th>
+                                                <td style="border-right:thick double #aaaaaa;">@{{package.status}}</td>
+                                                <th  class="tag" scope="row" scope="row">操作时间</th>
+                                                <td>@{{package.weighed_at}}</td>
+                                            </tr>
+                                        </table>
+                                    </h1>
+                                </div>
                             </div>
                         </div>
                     </div>
-                    </div>
                 </div>
             </section>
         </div>
@@ -80,14 +80,15 @@
             data:{
                 package:
                     {id:'',logistic_number:'',delivery_number:'',
-                    weight:'',owner:'',paperBox:'',
-                    measuringMachine:'',recipient:'',measuringMachine_status:'',
-                    status:'',weighed_at:'',bulk:'',logistic:''},
+                        weight:'',owner:'',paperBox:'',
+                        measuringMachine:'',recipient:'',measuringMachine_status:'',
+                        status:'',weighed_at:'',bulk:'',logistic:''},
                 measuringMachines:[
-                    @foreach($measuringMachines as $measuringMachine)
+                        @foreach($measuringMachines as $measuringMachine)
                     {id:'{{$measuringMachine->id}}',name:'{{$measuringMachine->name}}',code:'{{$measuringMachine->code}}',status:'{{$measuringMachine->status}}',},
                     @endforeach
                 ],
+                measuringMachinesIndex:{},
                 on:'fa fa-circle text-success',
                 off:'fa fa-circle text-danger',
                 selectedMachine:'nav-item btn btn-primary',
@@ -96,14 +97,20 @@
                 offColor:{color:'red'},
             },
             mounted(){
+                let _this=this;
+                _this.measuringMachines.forEach(function(machine){
+                    _this.measuringMachinesIndex[machine.name]=machine;
+                });
+
                 initEcho();
-                Echo.channel('bswas_database_package').listen('.weight',(e)=>{
+                Echo.channel('package').listen('.weight',(e)=>{
                     let package=e.package;
                     let _this=this;
                     let audio=document.getElementById('audio');
-                    if (package){
+                    if (package&& package.measuringMachine_name===_this.package.measuringMachine){
                         if (package.id===_this.package.id){
                             _this.package.measuringMachine_status=package.measuringMachine_status;
+                            _this.measuringMachinesIndex[package.measuringMachine_name].status=package.measuringMachine_status;
                             tempTip.setDuration(4000);
                             tempTip.showSuccess('暂无新数据');
                         }else {
@@ -127,40 +134,41 @@
                         }
                     }
                 });
-/*                if(this.timer){
-                    clearInterval(this.timer);
-                }else {
-                    this.timer=setInterval(()=>{this.flushData();},18000);
-                }*/
+                /*                if(this.timer){
+                                    clearInterval(this.timer);
+                                }else {
+                                    this.timer=setInterval(()=>{this.flushData();},18000);
+                                }*/
             },
-           methods:{
-               clickMeasuringMachine(e){
-                   let _this=this;
-                   axios.post('/package/measureMonitor/data',{id:e})
-                       .then(function (response) {
-                           if (response.data.id){
-                               let package=response.data;
+            methods:{
+                clickMeasuringMachine(e){
+                    let _this=this;
+                    axios.post('/package/measureMonitor/data',{id:e})
+                        .then(function (response) {
+                            if (response.data.id){
+                                let package=response.data;
                                 _this.updateData(_this,package);
-                           }else {
-                               tempTip.setDuration(4000);
-                               tempTip.showSuccess('暂无数据!');
-                           }
-                       })
-                       .catch(function (err) {
-                           tempTip.setDuration(4000);
-                           tempTip.showSuccess('切换设备错误:'+err);
-                       });
-               },
-               updateData(_this,package){
-                   _this.package.id=package.id;
-                   _this.package.logistic_number=package.logistic_number;_this.package.delivery_number=package.delivery_number;
-                   _this.package.weight=package.weight;_this.package.owner=package.owner_name;
-                   _this.package.paperBox=package.paperBox_name;_this.package.measuringMachine=package.measuringMachine_name;
-                   _this.package.recipient=package.recipient;_this.package.status=package.status;
-                   _this.package.weighed_at=package.weighed_at;_this.package.bulk=package.bulk;
-                   _this.package.logistic=package.logistic_name;
-                   _this.package.measuringMachine_status=package.measuringMachine_status;
-               }
+                                _this.package.measuringMachine=package.measuringMachine_name;                            }else {
+                                tempTip.setDuration(4000);
+                                tempTip.showSuccess('暂无数据!');
+                            }
+                        })
+                        .catch(function (err) {
+                            tempTip.setDuration(4000);
+                            tempTip.showSuccess('切换设备错误:'+err);
+                        });
+                },
+                updateData(_this,package){
+                    _this.package.id=package.id;
+                    _this.package.logistic_number=package.logistic_number;_this.package.delivery_number=package.delivery_number;
+                    _this.package.weight=package.weight;_this.package.owner=package.owner_name;
+                    _this.package.paperBox=package.paperBox_name;
+                    _this.package.recipient=package.recipient;_this.package.status=package.status;
+                    _this.package.weighed_at=package.weighed_at;_this.package.bulk=package.bulk;
+                    _this.package.logistic=package.logistic_name;
+                    _this.package.measuringMachine_status=package.measuringMachine_status;
+                    _this.measuringMachinesIndex[package.measuringMachine_name].status=package.measuringMachine_status;
+                }
             },
         });
     </script>

+ 1 - 1
tests/webApi/test.http

@@ -8,7 +8,7 @@
 POST http://bswas/api/thirdPart/weight/new
 Content-Type: application/json
 
-{"barcode":"test4","weight":"5","id":"00C94707266","key":"2C7FACD3AFC3FFE547FC54CDA076A25D","time":"2020-2-26 14:17:07"}
+{"barcode":"testA7","weight":"5","id":"564151","key":"2C7FACD3AFC3FFE547FC54CDA076A25D","time":"2020-2-26 14:17:07"}
 
 ###
 

+ 2 - 5
tests/webApi/weight.http

@@ -5,13 +5,10 @@
 ## * 'ptr' and 'ptrp' create a POST request with a simple or parameter-like body;
 ## * 'mptr' and 'fptr' create a POST request to submit a form with a text or file field (multipart/form-data);
 
-POST https://testwas.baoshi56.com/api/thirdPart/flux/package/new
+POST https://testwas.baoshi56.com/api/thirdPart/weight/new
 Content-Type: application/json
 
-{"TASKID": "testTASKID02111","Orderno":"tes1tTASKI21D011","palletid":"test1TASK1I2D011","SOReference5":"test1T2A1SKID011",
-  "Customer":"te1st1TA2SKID011","Consigneename":"tes2tT1ASK1ID011","CarrierID":"t1es2tT1ASKID011",
-  "USERDEFINE1":"TESTFLUX","USERDEFINE2":"te1st2USERDE1FINE2","USERDEFINE3":"tes1tU2SE1RDEFINE3"
-}
+{"barcode":"testChannel11","weight":"5","id":"00C66186389","key":"2C7FACD3AFC3FFE547FC54CDA076A25D","time":"2020-2-26 14:17:07"}
 
 ###