Просмотр исходного кода

订单管理--批量取消分配
人事管理--修改出场跨日和进出场问题

haozi 5 лет назад
Родитель
Сommit
a90f550527

+ 11 - 14
LogExpireDelete.php → app/Console/Commands/FluxOrderFix.php

@@ -2,26 +2,26 @@
 
 namespace App\Console\Commands;
 
+use App\Http\Controllers\Controller;
+use App\OracleDOCOrderHeader;
 use Carbon\Carbon;
 use Illuminate\Console\Command;
-use Illuminate\Support\Facades\Date;
-use Illuminate\Support\Facades\DB;
 
-class LogExpireDelete extends Command
+class FluxOrderFix extends Command
 {
     /**
      * The name and signature of the console command.
      *
      * @var string
      */
-    protected $signature = 'LogExpireDelete';
+    protected $signature = 'FluxOrderFix';
 
     /**
      * The console command description.
      *
      * @var string
      */
-    protected $description = 'LogExpireDelete';
+    protected $description = 'FluxOrderFix';
 
     /**
      * Create a new command instance.
@@ -40,16 +40,13 @@ class LogExpireDelete extends Command
      */
     public function handle()
     {
-        $this->deleteLog();
+        $this->fixEdisendflagAtWrong();
     }
 
-    public function deleteLog(){
-        //前一天
-//        $date=Carbon::now()->subDays(150)->format('Y-m-d');
-//        DB::table('logs')->where('created_at','like',$date.'%')->delete();
-        DB::table('logs')->insert([
-            ['operation' => 'App', 'type' => 'test','created_at'=>new Date()],
-        ]);
-
+    public function fixEdisendflagAtWrong(){
+        OracleDOCOrderHeader::where('edisendflag','W')->whereNotNull('edisendtime')->where('edisendtime','>',Carbon::now()->subDays(2))
+            ->update(['edisendflag'=>'N','manualflag'=>'N',
+//                'edisendtime'=>null
+            ]);
     }
 }

+ 2 - 3
app/Console/Commands/LogExpireDelete.php

@@ -2,9 +2,9 @@
 
 namespace App\Console\Commands;
 
+use App\Http\Controllers\Controller;
 use Carbon\Carbon;
 use Illuminate\Console\Command;
-use Illuminate\Support\Facades\Date;
 use Illuminate\Support\Facades\DB;
 
 class LogExpireDelete extends Command
@@ -44,8 +44,7 @@ class LogExpireDelete extends Command
     }
 
     public function deleteLog(){
-        //前150天
-        $expire_duration=config('logging.expire_duration');
+        $expire_duration=config('logging.expire_duration');//前150天
         $date=Carbon::now()->subDays($expire_duration)->format('Y-m-d');
         DB::table('logs')->where('created_at','like',$date.'%')->delete();
     }

+ 2 - 0
app/Console/Kernel.php

@@ -16,6 +16,7 @@ class Kernel extends ConsoleKernel
      */
     protected $commands = [
         \App\Console\Commands\LogExpireDelete::class,
+        \App\Console\Commands\FluxOrderFix::class,
     ];
 
     /**
@@ -27,6 +28,7 @@ class Kernel extends ConsoleKernel
     protected function schedule(Schedule $schedule)
     {
         $schedule->command('LogExpireDelete')->dailyAt('00:01');
+        $schedule->command('FluxOrderFix')->hourlyAt(6);
     }
 
     /**

+ 2 - 2
app/Http/Controllers/LaborReportController.php

@@ -90,8 +90,8 @@ class LaborReportController extends Controller
             }
             $createdAtDate=Carbon::parse($laborReport->created_at)->format('Y-m-d H');
             $userDutyCheck=UserDutyCheck::where('checked_at','like',$createdAtDate.'%')->where('user_id',$laborReport->user_id)->where('type','登入')->first();
-            //dd($userDutyCheck);
-            $addOneHourCheckedAt=Carbon::parse($userDutyCheck['checked_at'])->subHours(-1)->format('Y-m-d H-i-s');
+            if(!$userDutyCheck)$addOneHourCheckedAt=Carbon::parse($laborReport['created_at'])->subHours(-1)->format('Y-m-d H-i-s');
+            else $addOneHourCheckedAt=Carbon::parse($userDutyCheck['checked_at'])->subHours(-1)->format('Y-m-d H-i-s');
             if ($userDutyCheck['verify_user_id']) $laborReport->userDutyCheck=$userDutyCheck;
             if (!$userDutyCheck['verify_user_id']&&Carbon::now()->format('Y-m-d H-i-s')<$addOneHourCheckedAt){
                 $laborReport->userDutyCheck=$userDutyCheck;

+ 23 - 3
app/Http/Controllers/OrderController.php

@@ -9,6 +9,7 @@ use App\OracleDOCWaveDetails;
 use Doctrine\DBAL\Schema\AbstractAsset;
 use Illuminate\Database\Eloquent\Collection;
 use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Auth;
 use Illuminate\Support\Facades\DB;
 use Illuminate\Support\Facades\Gate;
 use Maatwebsite\Excel\Facades\Excel;
@@ -30,6 +31,7 @@ class OrderController extends Controller
         $notes=$request->input('notes');
         $addtime=$request->input('addtime');
         $waveno=$request->input('waveno');
+        $edisendflag2=$request->edisendflag2;
         if ($orderdate_start){
             $sql.=" and ordertime>='".$orderdate_start;
             if ($ordertime_start)$sql.=" ".$ordertime_start.":00'";
@@ -78,6 +80,9 @@ class OrderController extends Controller
                 $sql.=")";
             }
         }
+        if ($edisendflag2){
+            $sql.=" and edisendflag2 = '".$edisendflag2."'";
+        }
         return $sql;
     }
 
@@ -164,6 +169,7 @@ class OrderController extends Controller
         $data=[];
         foreach ($ordersNotNull as $order){
             OracleDOCOrderHeader::where('orderno',$order->orderno)->update(["notes"=>($order->notes).",".$content]);
+            $this->log(__METHOD__,'批量备注追加修改'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             $order->notes=($order->notes).",".$content;
             array_push($data,$order);
         }
@@ -175,13 +181,15 @@ class OrderController extends Controller
     //批量冻结
     public function freezeAll(Request $request){
         if(!Gate::allows('订单管理-编辑')){ return redirect(url('/'));  }
-        $checkData=$request->input('checkData');
+        $checkData=$request->input('checkData')??'';
         $orders=OracleDOCOrderHeader::whereIn('orderno',$checkData)->get();
         foreach ($orders as $order){
             $is_freeze=OracleDOCOrderHeader::where('orderno',$order->orderno)->update(['releasestatus'=>'H','waveno'=>'*']);
+            $this->log(__METHOD__,'批量冻结修改'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             $waveno=OracleDOCOrderHeader::where('orderno',$order->orderno)->value('waveno');
             if ($waveno && $waveno!='*'){
                 OracleDOCWaveDetails::where('waveno',$waveno)->where('orderno',$order->orderno)->delete();
+                $this->log(__METHOD__,'批量冻结删除波次号'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             }
             if (!$is_freeze)return ['success'=>'false','fail_info'=>"数据 {$order['orderno']} 更新失败"];
         }
@@ -190,14 +198,20 @@ class OrderController extends Controller
     //批量取消分配
     public function deAllocationAll(Request $request){
         if(!Gate::allows('订单管理-编辑')){ return redirect(url('/'));  }
-        $checkData=$request->input('checkData');
-        $orders=OracleDOCOrderHeader::whereIn('orderno',$checkData)->get();
+        $checkData=$request->input('checkData')??'';
+        $sostatus=['30','40'];
+//        $orders=OracleDOCOrderHeader::select('OrderNo','SoStatus')->whereIn('orderno',$checkData)->where(function($query){
+//            $query->orWhere('SoStatus','30')->orWhere('SoStatus','40');
+//        })->toSql();
+        $orders=OracleDOCOrderHeader::select('OrderNo','SoStatus')->whereIn('orderno',$checkData)->whereIn('SoStatus',$sostatus)->get();
         foreach ($orders as $order){
             $is_deAllocation=$this->isDeAllocation($order->orderno);
             $deAllocation=OracleDOCOrderHeader::where('orderno',$order->orderno)->update(['sostatus'=>'00','waveno'=>'*']);
+            $this->log(__METHOD__,'批量取消分配'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             $waveno=OracleDOCOrderHeader::where('orderno',$order->orderno)->value('waveno');
             if ($waveno && $waveno!='*'){
                 OracleDOCWaveDetails::where('waveno',$waveno)->where('orderno',$order->orderno)->delete();
+                $this->log(__METHOD__,'批量取消分配删除波次号'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
             }
             if (!$is_deAllocation||!$deAllocation)return ['success'=>'false','fail_info'=>"数据 {$order['orderno']} 更新失败"];
         }
@@ -213,8 +227,10 @@ class OrderController extends Controller
 //            return ['success'=>false];
 //        }
         OracleDOCOrderHeader::where('orderno',$orderno)->update(['releasestatus'=>'H','waveno'=>'*']);
+        $this->log(__METHOD__,'冻结'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         if ($waveno && $waveno!='*'){
             OracleDOCWaveDetails::where('waveno',$waveno)->where('orderno',$orderno)->delete();
+            $this->log(__METHOD__,'冻结删除波次号'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         }
         return ['success'=>true];
     }
@@ -222,6 +238,7 @@ class OrderController extends Controller
         if(!Gate::allows('订单管理-编辑')){ return redirect(url('/'));  }
         $orderno=$request->input('orderno');
         OracleDOCOrderHeader::where('orderno',$orderno)->update(['releasestatus'=>'N']);
+        $this->log(__METHOD__,'解冻'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         return ['success'=>true];
     }
 
@@ -325,8 +342,10 @@ class OrderController extends Controller
         $orderno=$request->input('orderno');
         $waveno=$request->input('waveno');
         OracleDOCOrderHeader::where('orderno',$orderno)->update(['sostatus'=>'00','waveno'=>'*']);
+        $this->log(__METHOD__,'取消分配'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         if ($waveno && $waveno!='*'){
             OracleDOCWaveDetails::where('waveno',$waveno)->where('orderno',$orderno)->delete();
+            $this->log(__METHOD__,'取消分配删除波次号'.__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']);
         }
         $is_deAllocation=$this->isDeAllocation($orderno);
         if($is_deAllocation) return ['success'=>true];
@@ -362,6 +381,7 @@ class OrderController extends Controller
         oci_bind_by_name($stmt,':IN_Language',$IN_Language);
         oci_bind_by_name($stmt,':IN_UserID',$IN_UserID);
         oci_bind_by_name($stmt,':OUT_Return_Code',$OUT_Return_Code);
+        $this->log(__METHOD__,'调用sp根据订单取消分配'.__FUNCTION__,json_encode($orderno),Auth::user()['id']);
         return oci_execute($stmt);
 
     }

+ 4 - 1
app/Http/Controllers/ProcessController.php

@@ -78,6 +78,7 @@ class ProcessController extends Controller
                 });
             }
         }
+        if (!$request->is_accomplish)$processes=$processes->where('status','!=','交接完成');
         $processes=$processes->paginate($request->input('paginate')??50);
         return $processes;
     }
@@ -126,8 +127,10 @@ class ProcessController extends Controller
         $id=$request->input('id');
         $processDailies=ProcessDaily::with(['processDailyParticipants','process'])->orderBy('date','DESC')
             ->where('process_id',$id)->get();
+        $process=Process::find($id);
         if (count($processDailies)>0){
-            $result=$this->createDeficiencyData($processDailies,$today);
+            if ((($process->amount)-($process->completed_amount))<=0 || $process->status=='交接完成')$result=true;
+            else $result=$this->createDeficiencyData($processDailies,$today);
             if ($result){
                 $processDailies=ProcessDaily::with(['processDailyParticipants','process'])
                     ->orderBy('date','DESC')->where('process_id',$id)->get();

+ 7 - 2
app/Http/Controllers/RejectedController.php

@@ -49,8 +49,8 @@ class RejectedController extends Controller
         $rejectedBills=$rejectedQuery->paginate($paginate, ['*'], 'page', $page);
         $owners = Owner::filterAuthorities()->get();
         $qualityLabels = QualityLabel::all();
-
-        return view('rejected.search.general',compact('rejectedBills','owners',
+        $logistics=Logistic::get();
+        return view('rejected.search.general',compact('rejectedBills','owners','logistics',
             'paginateParams','qualityLabels'));
     }
     public function recycle(Request $request)
@@ -95,6 +95,7 @@ class RejectedController extends Controller
             'barcode_goods'=> $request->input('barcode_goods'),
             'logistic_number_return'=> $request->input('logistic_number_return'),
             'logistic_number'=> $request->input('logistic_number'),
+            'id_logistic_return'=> $request->id_logistic_return,
         ];
 
         if(Session::get('rejected.index.isFromEditPage')){
@@ -117,6 +118,7 @@ class RejectedController extends Controller
         $barcode_goods = $params['barcode_goods'];
         $logistic_number_return = $params['logistic_number_return'];
         $logistic_number = $params['logistic_number'];
+        $id_logistic_return= $params['id_logistic_return'];
         $rejectedBillsQuery=RejectedBill::with(['owner','logistic','items',]);
         if($created_at_start&&!$created_at_end){
             $created_at_end = $created_at_start;
@@ -217,6 +219,9 @@ class RejectedController extends Controller
                 $rejectedBillsQuery=$rejectedBillsQueryTem;
             }
         }
+        if ($id_logistic_return){
+            $rejectedBillsQuery=$rejectedBillsQuery->where('id_logistic_return',$id_logistic_return);
+        }
         return $rejectedBillsQuery;
     }
 

+ 6 - 1
app/Http/Controllers/TestController.php

@@ -108,7 +108,12 @@ class TestController extends Controller
 
     function t1(Request $request)
     {
-
+        dd(OracleDOCOrderHeader::select('addtime')->where('edisendflag','W')->where('edisendtime','>',Carbon::now()->subWeek())
+            ->orderBy('edisendtime','desc')
+            ->get()->
+        map(function($order){
+            return $order['addtime'];
+        }));
 
     }
 

+ 25 - 25
app/Http/Controllers/api/thirdPart/flux/PackageController.php

@@ -177,31 +177,31 @@ class PackageController extends Controller
 //            return ['result'=>$success];
             return ['result'=>true];
             //对WMS接口请求不需要了,直接写其数据库
-//            $json=["request"=>['TASKID'=>$package->WMSReflectPackage_name,
-//                'SOReference5'=>$package->logistic_number,
-//                'Weigh'=>$package->weight,
-//                'Addwho'=>'',
-//                'Addtime'=>Carbon::now(),
-//                'Package'=>$package->paperBox_name,
-//                'USERDEFINE1'=>$package->batch_number,
-//                'USERDEFINE2'=>$package->batch_rule,
-//                'USERDEFINE3'=>'OK',
-//            ]];
-//            $json=json_encode($json);
-//            $url=url(config('api.flux.package.new'));
-//            $response = Zttp::post($url, json_decode($json));
-//            $this->log(__METHOD__,'Sign'.__FUNCTION__,json_encode($response->json()),null);
-//            $response=$response->json();
-//            $noIssues=true;
-//            if(!$response||!isset($response['response'])||!$response['response']['flag']=='Y'){
-//                $noIssues=false;
-//            }
-//            if($noIssues&&$response['response']['flag']=='Y'){
-//                $this->log(__METHOD__,'SUCCESS_'.__FUNCTION__,json_encode($json).'| response: '.json_encode($response),null);
-//                return ['result'=>'success'];
-//            }
-//            $this->log(__METHOD__,'ERROR_'.__FUNCTION__,json_encode($json).'| response: '.json_encode($response),null);
-//            return ['result'=>'false'];
+            $json=["request"=>['TASKID'=>$package->WMSReflectPackage_name,
+                'SOReference5'=>$package->logistic_number,
+                'Weigh'=>$package->weight,
+                'Addwho'=>'',
+                'Addtime'=>Carbon::now(),
+                'Package'=>$package->paperBox_name,
+                'USERDEFINE1'=>$package->batch_number,
+                'USERDEFINE2'=>$package->batch_rule,
+                'USERDEFINE3'=>'OK',
+            ]];
+            $json=json_encode($json);
+            $url=url(config('api.flux.package.new'));
+            $response = Zttp::post($url, json_decode($json));
+            $this->log(__METHOD__,'Sign'.__FUNCTION__,json_encode($response->json()),null);
+            $response=$response->json();
+            $noIssues=true;
+            if(!$response||!isset($response['response'])||!$response['response']['flag']=='Y'){
+                $noIssues=false;
+            }
+            if($noIssues&&$response['response']['flag']=='Y'){
+                $this->log(__METHOD__,'SUCCESS_'.__FUNCTION__,json_encode($json).'| response: '.json_encode($response),null);
+                return ['result'=>'success'];
+            }
+            $this->log(__METHOD__,'ERROR_'.__FUNCTION__,json_encode($json).'| response: '.json_encode($response),null);
+            return ['result'=>'false'];
         }catch (\Exception $exception){
             Controller::logS(__METHOD__,'Exception_'.__FUNCTION__,'请求异常:'.$exception->getMessage(),null);
             return ['result'=>'false'];

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

@@ -65,6 +65,7 @@ class PackageController extends Controller
         }else{
             $max=0;$centre=0;$min=0;
         }
+        $accomplishToWMS=new \App\Http\Controllers\Api\thirdPart\flux\PackageController();
         if ($package){
             $packagePaperBox=new Package();
             $paperBox_id=null;
@@ -74,7 +75,6 @@ class PackageController extends Controller
             }else{
                 $this->log(__METHOD__,'weightApi(no owner)'.__FUNCTION__,json_encode($request),null);
             }
-            $accomplishToWMS=new \App\Http\Controllers\Api\thirdPart\flux\PackageController();
             $packageController=new \App\Http\Controllers\PackageController();
             //处理活动波次
             if ($package->batch_rule&&strstr($package->batch_rule,'组合')){
@@ -124,6 +124,21 @@ class PackageController extends Controller
             return json_encode($response,JSON_UNESCAPED_UNICODE);
         }
         if (!$package){
+            $logisticNumber=$request['barcode'];
+            $createPackage=new Package([
+                'logistic_number'=>$logisticNumber,
+                'measuring_machine_id'=>$measuringMachine->id,
+                'weight'=>$request['weight'],
+                'length'=>$max,
+                'width'=>$centre,
+                'height'=>$min,
+                'bulk'=>$max*$centre*$min,
+                'weighed_at'=>$reqDate,
+                'status'=>"未下发",
+            ]);
+            $result=$accomplishToWMS->accomplishToWMS($package);
+
+
             $logisticNumberFeature=new LogisticNumberFeatureController();
             $logistic=$logisticNumberFeature->getLogisticByFeatures($request['barcode']);
             $createPackage=new Package([

+ 0 - 9
app/LaborReport.php

@@ -37,13 +37,6 @@ class LaborReport extends Model
     }
     public function getIsExportAttribute(){
         $userDutyChecks=UserDutyCheck::where('user_id',$this['user_id'])->where('type','登出')->get();
-//        orderBy('id','desc')
-//        if ( $userDutyCheck['type']=='登出'){
-//            $updated_at=Carbon::parse($this['updated_at'])->format('Y-m-d H-i');
-//            $checked_at=Carbon::parse($userDutyCheck['checked_at'])->format('Y-m-d H-i');
-//            return $updated_at==$checked_at? true:false;
-//        }
-//        return false;
             $updated_at = Carbon::parse($this['updated_at'])->format('Y-m-d H-i');
             foreach ($userDutyChecks as $userDutyCheck){
                 $checked_at = Carbon::parse($userDutyCheck['checked_at'])->format('Y-m-d H-i');
@@ -53,8 +46,6 @@ class LaborReport extends Model
                 continue;
             }
             return false;
-
-
     }
     public function getIsExportReplenishAttribute()
     {

+ 1 - 1
app/OracleDOCOrderHeader.php

@@ -15,7 +15,7 @@ class OracleDOCOrderHeader extends Model
         'oracleBASCode_codename_c'
     ];
     protected $fillable=[
-        'NOTES','ReleaseStatus'
+        'NOTES','ReleaseStatus','SoStatus',
     ];
 
     /*

+ 32 - 0
database/migrations/2020_07_10_145923_change_rejected_bills_column_id_logistic_return.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class ChangeRejectedBillsColumnIdLogisticReturn extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('rejected_bills', function (Blueprint $table) {
+            $table->bigInteger('id_logistic_return')->index()->change();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('rejected_bills', function (Blueprint $table) {
+            $table->dropIndex('rejected_bills_id_logistic_return_index');
+        });
+    }
+}

+ 6 - 1
resources/js/singles/rejectedIndex.js

@@ -2,12 +2,13 @@
 let vueList=new Vue({
     el:"#list",
     data:{
-        filterParams:{created_at:'',owner_id:'',order_number:'',logistic_number_return:'',mobile_sender:'',barcode_goods:'',
+        filterParams:{created_at:'',owner_id:'',order_number:'',logistic_number_return:'',mobile_sender:'',barcode_goods:'',id_logistic_return:'',
             is_checked:'',created_at_start:'',created_at_end:'',id_quality_label:'',is_loaded:'',checked_numbers:'',paginate:'50'},
         checkBoxAll:[],
         rejectedBills:rejectedBills,
         rejectedBills_checkBoxes:[],
         owners:owners,
+        logistics:logistics,
         qualityLabels:qualityLabels,
     },
     mounted:function(){
@@ -54,6 +55,10 @@ let vueList=new Vue({
             this.filterParams.is_loaded=e.target.value;
             this.filterRun();
         },
+        id_logistic_return_change:function(e){
+            this.filterParams.id_logistic_return=e.target.value;
+            this.filterRun();
+        },
         initInputs:function(){
             let data=this;
             // let uriParts = decodeURI(location.href).split("?");

+ 2 - 2
resources/views/maintenance/role/create.blade.php

@@ -36,7 +36,7 @@
                         <label class="col-2"></label>
                         <div class="col-5">
                             <input name="authority" hidden   v-model="authorities" >
-                            <div class="input-group" style="max-height: 150px; overflow-y: scroll;border-radius:5px;opacity:0.5;text-align: center;">
+                            <div class="input-group" style="max-height: 245px; overflow-y: scroll;border-radius:5px;opacity:0.5;text-align: center;">
                                 <ul class="list-group tooltipTarget" style="width: 100%"  onselectstart="return false;">
                                     <li  :data-original-title="authority.style ? '双击删除权限' :'双击添加权限'"    v-for="authority in authoritiesAll" v-if="authority.permission=='允许'" :id="authority.name" class="tooltipTarget list-group-item list-group-item-action pt-0 pb-0"
                                          @dblclick="selectedAuthority(authority)" :class="authority.style ? 'active' :''"><span style="cursor: default;" > @{{ authority.name }}  </span></li>
@@ -49,7 +49,7 @@
                             @enderror
                         </div>
                         <div class="col-3" v-if="authoritiesList.length>0">
-                            <div class="input-group" style="max-height: 150px; overflow-y: scroll;border-radius:5px;text-align: center;">
+                            <div class="input-group" style="max-height: 245px; overflow-y: scroll;border-radius:5px;text-align: center;">
                                 <ul class="list-group tooltipTarget" style="width: 100%"  onselectstart="return false;">
                                     <li  title="双击删除权限"    v-for="authority in authoritiesList"  v-if="authority.permission=='允许'" class=" list-group-item list-group-item-action pt-0 pb-0"
                                          @dblclick="selectedAuthority(authority)"><span style="cursor: default;"> @{{ authority.name }}  </span></li>

+ 2 - 2
resources/views/maintenance/role/edit.blade.php

@@ -42,7 +42,7 @@
                         <label class="col-2"></label>
                         <div class="col-5">
                             <input name="authority" hidden   v-model="authorities" >
-                            <div class="input-group" style="max-height: 150px; overflow-y: scroll;border-radius:5px;opacity:0.5;text-align: center;">
+                            <div class="input-group" style="max-height: 245px; overflow-y: scroll;border-radius:5px;opacity:0.5;text-align: center;">
                                 <ul class="list-group" style="width: 100%" onselectstart="return false;">
                                     <li  :data-original-title="authority.style ? '双击删除权限' :'双击添加权限'"    v-for="authority in authoritiesFilterAll" v-if="authority.permission=='允许'" :id="authority.name" class="list-group-item list-group-item-action pt-0 pb-0"
                                          @dblclick="selectedAuthority(authority)" :class="authority.style ? 'active' :''"><span style="cursor: default;" :id="authority.name"> @{{ authority.name }} </span></li>
@@ -55,7 +55,7 @@
                             @enderror
                         </div>
                         <div class="col-3" v-if="authoritiesList.length>0">
-                            <div class="input-group" style="max-height: 150px; overflow-y: scroll;border-radius:5px;text-align: center;">
+                            <div class="input-group" style="max-height: 245px; overflow-y: scroll;border-radius:5px;text-align: center;">
                                 <ul class="list-group tooltipTarget" style="width: 100%"  onselectstart="return false;">
                                     <li  title="双击删除权限"    v-for="authority in authoritiesList" v-if="authority.permission=='允许'" class=" list-group-item list-group-item-action pt-0 pb-0"
                                          @dblclick="selectedAuthority(authority)"><span style="cursor: default;"> @{{ authority.name }}  </span></li>

+ 2 - 2
resources/views/maintenance/user/create.blade.php

@@ -97,7 +97,7 @@
                                 <div class="col-md-4">
                                     <input name="role" hidden v-model="roles">
                                     <div class="input-group"
-                                         style="max-height: 150px; overflow-y: scroll;border-radius:5px;opacity:0.5;text-align: center;">
+                                         style="max-height: 190px; overflow-y: scroll;border-radius:5px;opacity:0.5;text-align: center;">
                                         <ul class="list-group tooltipTarget" style="width: 100%"
                                             onselectstart="return false;">
                                             <li :data-original-title="role.style ? '双击删除角色' : '双击添加角色'"
@@ -110,7 +110,7 @@
                                 </div>
                                 <div class="col-md-3">
                                     <div class="input-group"
-                                         style="max-height: 150px; overflow-y: scroll;border-radius:5px;text-align: center;">
+                                         style="max-height: 190px; overflow-y: scroll;border-radius:5px;text-align: center;">
                                         <ul class="list-group" style="width: 100%" onselectstart="return false;">
                                             <li title="双击删除角色" v-for="role in rolesList" :id="role.name"
                                                 class="list-group-item list-group-item-action pt-0 pb-0"

+ 2 - 2
resources/views/maintenance/user/edit.blade.php

@@ -62,7 +62,7 @@
                         <label class="col-md-3"></label>
                         <div class="col-md-4">
                             <input name="role" hidden    v-model="roles" >
-                            <div class="input-group" style="max-height: 150px; overflow-y: scroll;border-radius:5px;opacity:0.5;text-align: center;">
+                            <div class="input-group" style="max-height: 190px; overflow-y: scroll;border-radius:5px;opacity:0.5;text-align: center;">
                                 <ul class="list-group tooltipTarget" style="width: 100%" onselectstart="return false;">
                                     <li  :data-original-title="role.style ? '双击删除角色' :'双击添加角色'"    v-for="role in rolesFilter" :id="role.name" class="list-group-item list-group-item-action pt-0 pb-0"
                                          @dblclick="selectedRole(role)" :class="role.style ? 'active' :''"><span style="cursor: default;" :id="role.name"> @{{ role.name }}  </span></li>
@@ -70,7 +70,7 @@
                             </div>
                         </div>
                         <div class="col-md-3">
-                            <div class="input-group" style="max-height: 150px; overflow-y: scroll;border-radius:5px;text-align: center;">
+                            <div class="input-group" style="max-height: 190px; overflow-y: scroll;border-radius:5px;text-align: center;">
                                 <ul class="list-group" style="width: 100%" onselectstart="return false;">
                                     <li  title="双击删除角色"    v-for="role in rolesList" :id="role.name" class="list-group-item list-group-item-action pt-0 pb-0"
                                          @dblclick="selectedRole(role)" ><span style="cursor: default;" > @{{ role.name }}  </span></li>

+ 18 - 10
resources/views/order/index/delivering.blade.php

@@ -56,7 +56,13 @@
                             <td style="width: 300px">
                                 <input style="max-width: 200px" name="issuepartyname" v-model="filterData.issuepartyname" class="form-control form-control-sm tooltipTarget" placeholder="店铺名称" :class="filterData.issuepartyname?'bg-warning':''">
                             </td>
-                            <td colspan="4"></td>
+                            <td colspan="4">
+                                <select name="edisendflag2" class="form-control form-control-sm tooltipTarget" style="max-width: 150px" title="快递获取标记" @change="submit">
+                                    <option value="">快递获取标记</option>
+                                    <option value="Y">是</option>
+                                    <option value="N">否</option>
+                                </select>
+                            </td>
                         </tr>
                         <tr>
                             <td >
@@ -93,12 +99,6 @@
                         </tr>
                         <tr>
                             <td colspan="10">
-                                @can('订单管理-编辑')
-                                    <span class="btn btn-sm" @click="freezeAll" style="cursor: pointer"
-                                          :class="[checkData.length>0?'btn-dark':'btn-outline-dark']">冻结</span>
-                                    <span class="btn btn-sm" @click="deAllocationAll" style="cursor: pointer"
-                                          :class="[checkData.length>0?'btn-dark':'btn-outline-dark']">取消分配</span>
-                                @endcan
                        <span class="dropdown">
                                 <button type="button" class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget" :class="[checkData.length>0?'btn-dark text-light':'']"
                                         data-toggle="dropdown" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
@@ -110,6 +110,12 @@
                                 </div>
                         </span>
                                 @can('订单管理-批量备注')<button @click="modal()" type="button" class="btn btn-sm ml-2 btn-outline-primary">批量备注追加</button>@endcan
+                                @can('订单管理-编辑')
+                                    <span class="btn btn-sm" @click="freezeAll" style="cursor: pointer"
+                                          :class="[checkData.length>0?'btn-dark':'btn-outline-dark']">冻结</span>
+                                    <span class="btn btn-sm" @click="deAllocationAll" style="cursor: pointer"
+                                          :class="[checkData.length>0?'btn-dark':'btn-outline-dark']">取消分配</span>
+                                @endcan
                             </td>
                         </tr>
                     </table>
@@ -190,7 +196,7 @@
                         <td class="text-muted">@{{ order.c_address1 }}</td>
                         <td class="text-nowrap">@{{ order.waveno }}</td>
                         <td class="text-nowrap"> @{{ order.warehouseid }}</td>
-                        <td class="text-nowrap">@{{ order.edisendflag2 }}</td>
+                        <td class="text-nowrap"><span v-if="order.edisendflag2=='Y'">是</span><span v-else>否</span></td>
                         <td class="text-nowrap">@{{ order.edisendtime2 }}</td>
                         <td colspan="5" class="text-center">
                             <table v-if="commodities[order.orderno]&&commodities[order.orderno].length==1 || isBtn[order.orderno]" class="table text-nowrap table-sm">
@@ -251,7 +257,7 @@
             data:{
                 filterData:{
                     paginate:50,ordertime_start:'',orderdate_start:'',orderdate_end:'',ordertime_end:'',customerid:'',orderno:'',soreference5:'',codename_c:'',
-                    carriername:'',issuepartyname:'',soreference1:'',notes:'',addtime:'31',alternate_sku1:'',waveno:'',
+                    carriername:'',issuepartyname:'',soreference1:'',notes:'',addtime:'31',alternate_sku1:'',waveno:'',edisendflag2:'',
                 },
                 page:Number('{{$page}}'),
                 maxPage:1,
@@ -355,6 +361,7 @@
                     if (this.filterData.addtime)url+="&&addtime="+this.filterData.addtime;
                     if (this.filterData.alternate_sku1)url+="&&alternate_sku1="+this.filterData.alternate_sku1;
                     if (this.filterData.waveno)url+="&&waveno="+this.filterData.waveno;
+                    if (this.filterData.edisendflag2) url+="&&edisendflag2="+this.filterData.edisendflag2;
                     window.location.href=url;
                 },
                 //提交表单
@@ -411,7 +418,8 @@
                         +"&&soreference5="+this.filterData.soreference5+"&&export="+true+"&&codename_c="+this.filterData.codename_c
                         +"&&issuepartyname="+this.filterData.issuepartyname+"&&customerid="+this.filterData.customerid
                         +"&&soreference1="+this.filterData.soreference1+"&&notes="+this.filterData.notes
-                        +"&&addtime="+this.filterData.addtime+"&&alternate_sku1="+this.filterData.alternate_sku1+"&&waveno="+this.filterData.waveno);
+                        +"&&addtime="+this.filterData.addtime+"&&alternate_sku1="+this.filterData.alternate_sku1+"&&waveno="+this.filterData.waveno
+                        +"&&edisendflag2="+this.filterData.edisendflag2);
                 },
                 modal(){
                     $("#myModal").modal('show');

+ 11 - 3
resources/views/personnel/laborReport/index.blade.php

@@ -223,7 +223,7 @@
                     {paginate:'50',created_at_start:'',created_at_end:'',enter_number:'',identity_number:'',user_workgroup_id: '',mobile_phone:''},
                 checkData:[],
                 permittingWorkgroups:{!! $permittingWorkgroups !!},
-                relax_time:'',
+                relax_time:'',dateTime:'',
             },
             mounted:function(){
                 initEcho();
@@ -404,9 +404,18 @@
                 },
                 //组长点击退场,不包含晚饭时长情况
                 groupExport(id,name){
+                    let _this=this;
+                    _this.laborReports.every(function (laborReport) {
+                        if (laborReport.id==id){
+                            _this.dateTime=new Date(new Date(laborReport.created_at).toLocaleDateString());
+                            return false;
+                        }
+                        return true;
+                    });
+                    const dateTime=new Date(_this.dateTime.setDate(_this.dateTime.getDate()+1));
                     const start = new Date(new Date(new Date().toLocaleDateString()).getTime()+19*60*60*1000);
                     if(!confirm("确定要临时工“"+name+"“退场吗?")){return}
-                    if (new Date()>start){
+                    if (new Date()>start || new Date()>dateTime){
                         if (confirm('是否晚餐')){
                             selectId(id);
                             $('#exampleModal').modal('show');
@@ -414,7 +423,6 @@
                         }
                     }
                     let url='{{url("laborReport/groupExport")}}';
-                    let _this=this;
                     axios.post(url,{id:id})
                         .then(function (response) {
                             if (!response.data.success){

+ 48 - 33
resources/views/process/index.blade.php

@@ -63,13 +63,15 @@
                                    <option value="待验收">待验收</option>
                                    <option value="交接完成">交接完成</option>
                                </select>
+                                <input hidden name="is_accomplish" v-model="filterData.is_accomplish">
                                <button class="btn btn-sm btn-outline-dark pull-left ml-5" type="submit">按条件搜索</button></div>
                            </td>
                            <td colspan="6"></td>
                        </tr>
                        <tr>
                            <td colspan="9">
-                               <span class="dropdown">
+                               <div class="form-inline">
+                                   <span class="dropdown">
                                         <button class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget" :class="[checkData.length>0?'btn-dark text-light':'']"
                                                 data-toggle="dropdown" title="导出所有页将会以搜索条件得到的过滤结果,将其全部记录(每一页)导出">
                                             导出Excel
@@ -78,7 +80,14 @@
                                             <a class="dropdown-item" @click="processExport(1)" href="javascript:">导出勾选内容</a>
                                             <a class="dropdown-item" @click="processExport(2)" href="javascript:">导出所有页</a>
                                         </div>
-                                    </span>
+                                   </span>
+                                   <div class="form-check ml-4">
+                                        <label class="form-check-label text-muted">
+                                            <input v-if="filterData.is_accomplish" checked @click="is_checked($event)" type="checkbox" class="form-check-input">
+                                            <input v-else @click="is_checked($event)" type="checkbox" class="form-check-input">显示交接完成的记录
+                                        </label>
+                                   </div>
+                               </div>
                            </td>
                        </tr>
                    </table>
@@ -232,7 +241,8 @@
                         </label>
                     </th>
                     <th>序号</th>
-                    <th >操作</th>
+                    <th>操作</th>
+                    <th>状态</th>
                     <th>任务号</th>
                     <th>经手人</th>
                     <th>货主</th>
@@ -242,7 +252,6 @@
                     <th>单价</th>
                     <th>完成数量</th>
                     <th>提交日期</th>
-                    <th>状态</th>
                     <th style="min-width: 200px">单据类型</th>
                     <th style="min-width: 200px">单据号</th>
                     <th style="min-width: 200px">本单数量</th>
@@ -258,8 +267,6 @@
                     </td>
                     <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.serial_number }}</td>
                     <td v-if="processOne.id" style="min-width:200px;" :rowspan="processOne.is_multi_row?2:''">
-                        <span v-if="!processOne.openProcessHour && processOne.status=='已驳回'" class="text-muted">已驳回</span>
-                        <span v-if="!processOne.openProcessHour && processOne.status=='交接完成'" class="text-success font-weight-bold">交接完成</span>
                         @can("二次加工管理-审核")
                         <button v-if="!processOne.openProcessHour && (processOne.status=='待审核' || processOne.status=='已驳回')"  @mouseenter="processOne.buttonTexts.审核='审核'" @mouseleave="processOne.buttonTexts.审核='审'" class="btn btn-sm btn-outline-success" @click="audit(processOne)"><span>@{{ processOne.buttonTexts.审核 }}</span></button>@endcan
                         @can("二次加工管理-回滚")
@@ -279,6 +286,8 @@
                                     @mouseleave="processOne.buttonTexts.编辑='编'" style="opacity: 0.6">@{{processOne.buttonTexts.编辑}}</button>
                         @endcan
                     </td>
+                    <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''"
+                        :class="processOne.status==='已驳回' ? 'text-danger' : (processOne.status==='交接完成' ? 'text-success font-weight-bold' : 'text-muted')">@{{ processOne.status }}</td>
                     <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">
                         <button style="transform: scale(0.85);opacity: 0.8;" class="btn btn-sm btn-info" @click="show(processOne.id)" @mouseenter="processOne.buttonTexts.查看单据='查看单据'" @mouseleave="processOne.buttonTexts.查看单据='查'">@{{ processOne.buttonTexts.查看单据 }}</button>
                         @{{ processOne.code }}
@@ -332,34 +341,33 @@
                             </div>
                         </div>
                     </td>
-                <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">
-                    @can('二次加工管理-修改价格')
-                        <div v-if="processOne.status=='交接完成'">
-                            <div v-if="processOne.signs.length<=0">
-                                <div v-if="processOne.is_update_unit_price" >
-                                    <input type="text" :value="processOne.unit_price" :id="'unit_price_'+processOne.id" class="form-control form-control-sm" style="min-width: 50px;">
-                                    <button type="button" class="btn btn-sm btn-outline-success" @click="updateUnitPrice(processOne)">确定</button>
-                                    <button type="button" class="btn btn-sm btn-outline-danger" @click="processOne.is_update_unit_price=false;">取消</button>
+                    <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">
+                        @can('二次加工管理-修改价格')
+                            <div v-if="processOne.status=='交接完成'">
+                                <div v-if="processOne.signs.length<=0">
+                                    <div v-if="processOne.is_update_unit_price" >
+                                        <input type="text" :value="processOne.unit_price" :id="'unit_price_'+processOne.id" class="form-control form-control-sm" style="min-width: 50px;">
+                                        <button type="button" class="btn btn-sm btn-outline-success" @click="updateUnitPrice(processOne)">确定</button>
+                                        <button type="button" class="btn btn-sm btn-outline-danger" @click="processOne.is_update_unit_price=false;">取消</button>
+                                    </div>
+                                    <input readonly @click="processOne.is_update_unit_price=true;" v-else style="cursor: pointer;min-width: 50px" :value="processOne.unit_price" class="form-control form-control-sm">
                                 </div>
-                                <input readonly @click="processOne.is_update_unit_price=true;" v-else style="cursor: pointer;min-width: 50px" :value="processOne.unit_price" class="form-control form-control-sm">
-                            </div>
-                            <div v-else @mouseleave="processOne.is_update_unit_price=false;" @mouseenter="processOne.is_update_unit_price=true;">
-                                <span class="flicker" style="cursor: move">@{{ processOne.unit_price }}</span>
-                                <div v-if="processOne.is_update_unit_price" style="position: absolute;width: 150px;background-color: white;white-space: normal;margin-left: -50px"
-                                     @mouseleave="processOne.is_update_unit_price=false;" @mouseenter="processOne.is_update_unit_price=true;">
-                                    <p class="text-center text-dark font-weight-bold">待确认</p>
-                                    @can('二次加工管理-组长确认')<button v-if="!signs[processOne.code]['二次加工组确认']" class="btn btn-sm btn-outline-success" @click="verify(processOne,'workGroup')">组长确认</button>@endcan
-                                    @can('二次加工管理-财务确认')<button v-if="!signs[processOne.code]['财务确认']" class="btn btn-sm btn-outline-success" @click="verify(processOne,'accountant')">财务确认</button>@endcan
+                                <div v-else @mouseleave="processOne.is_update_unit_price=false;" @mouseenter="processOne.is_update_unit_price=true;">
+                                    <span class="flicker" style="cursor: move">@{{ processOne.unit_price }}</span>
+                                    <div v-if="processOne.is_update_unit_price" style="position: absolute;width: 150px;background-color: white;white-space: normal;margin-left: -50px"
+                                         @mouseleave="processOne.is_update_unit_price=false;" @mouseenter="processOne.is_update_unit_price=true;">
+                                        <p class="text-center text-dark font-weight-bold">待确认</p>
+                                        @can('二次加工管理-组长确认')<button v-if="!signs[processOne.code]['二次加工组确认']" class="btn btn-sm btn-outline-success" @click="verify(processOne,'workGroup')">组长确认</button>@endcan
+                                        @can('二次加工管理-财务确认')<button v-if="!signs[processOne.code]['财务确认']" class="btn btn-sm btn-outline-success" @click="verify(processOne,'accountant')">财务确认</button>@endcan
+                                    </div>
                                 </div>
                             </div>
-                        </div>
-                        <div v-else>@{{ processOne.unit_price }} </div>
-                    @endcan
-                    @cannot('二次加工管理-修改价格') @{{ processOne.unit_price }}@endcannot
-                </td>
+                            <div v-else>@{{ processOne.unit_price }} </div>
+                        @endcan
+                        @cannot('二次加工管理-修改价格') @{{ processOne.unit_price }}@endcannot
+                    </td>
                     <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.completed_amount }}</td>
                     <td v-if="processOne.id" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.created_at }}</td>
-                    <td v-if="processOne.id" class="text-muted" :rowspan="processOne.is_multi_row?2:''">@{{ processOne.status }}</td>
                     <td colspan="5" style="margin:0;padding:0;position: relative">
                         <table class="table table-sm table-striped" style="margin:0;padding:0;" v-if="processUnfold[processOne.code+processOne.id] || processOne.processesContents.length==1 ||
                         (processOne.is_multi_row &&  (processOne.processesContents.length)-(processFullSum[processOne.code])==1) || (!processOne.id &&  processFullSum[processOne.code]==1)">
@@ -399,7 +407,7 @@
                                 <span :title="processesContent.sign_mark?processesContent.sign_mark:processesContent.commodity_name" class="text-muted tooltipTarget" style="max-width:100px;overflow:hidden;">@{{ processesContent.sign_mark?processesContent.sign_mark:processesContent.commodity_name }}</span>
                             </div>
                         </div>
-                        <div style="overflow: auto;zoom:1;position:absolute;margin-top: -35px;margin-left: 50%;background-color: white" v-if="!processUnfold[processOne.code+processOne.id] && processOne.processesContents.length>1 &&
+                        <div style="overflow: auto;zoom:1;position:absolute;margin-top: -35px;left:calc(50% - 50px);background-color: white" v-if="!processUnfold[processOne.code+processOne.id] && processOne.processesContents.length>1 &&
                         ((processFullSum[processOne.code]!=processOne.processesContents.length && (processOne.processesContents.length)-(processFullSum[processOne.code])!=1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id  ? false :true) : true)) ||
                         processFullSum[processOne.code] && processFullSum[processOne.code]>1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id  ? true :false) : true))" class="text-center">
                         <button type="button" class="btn btn-sm btn-outline-primary" v-if="processFullSum[processOne.code]!=processOne.processesContents.length && (processOne.processesContents.length)-(processFullSum[processOne.code])!=1 && ((processOne.is_multi_row || !processOne.id) ? (!processOne.id  ? false :true) : true)" @click="unfold(processOne.code,processOne.id,'原料单')">点击展开原料单</button>
@@ -542,7 +550,7 @@
                 ],
                 errors:{},
                 checkData:[],
-                filterData:{paginate:50,date_start:'',date_end:'',owner_id:'',commodity_barcode:'',wms_code:'',status:''},
+                filterData:{paginate:50,date_start:'',date_end:'',owner_id:'',commodity_barcode:'',wms_code:'',status:'',is_accomplish:''},
                 processDailies:[],
                 processDailyParticipants:[],
                 isShow:{
@@ -573,7 +581,7 @@
                 isBeingFilterConditions:function(){
                     for(let key in this.filterData){
                         if(this.filterData[key]){
-                            if(key==='paginate')continue;
+                            if(key==='paginate' || key==='is_accomplish')continue;
                             return true
                         }
                     }
@@ -675,7 +683,7 @@
                         location.href = "{{url('process?checkSign=-1&date_start=')}}" +
                             data.date_start + "&date_end=" + data.date_end + "&owner_id=" +
                             data.owner_id + "&commodity_barcode=" + data.commodity_barcode + "&wms_code=" + data.wms_code +
-                            "&status=" + data.status;
+                            "&status=" + data.status+"$is_accomplish="+data.is_accomplish;
                     }
                 },
                 //获取登记工时
@@ -1499,6 +1507,13 @@
                         tempTip.show('网络错误:' + err);
                     })
                 },
+                is_checked(e){
+                    if (e.target.checked) this.filterData.is_accomplish=e.target.checked;
+                    else this.filterData.is_accomplish='';
+                    setTimeout( res=>{
+                        this.submit();
+                    },1);
+                }
             },
         });
     </script>

+ 14 - 4
resources/views/rejected/search/general.blade.php

@@ -76,7 +76,12 @@
                                         <option value="0">未审核</option>
                                     </select>
                                 </td>
-                                <td width="36%"></td>
+                                <td width="36%">
+                                    <select style="max-width: 120px" name="id_logistic_return" class="form-control form-control-sm tooltipTarget" @change="id_logistic_return_change" title="快递名称" :class="filterParams.id_logistic_true?'bg-warning':''">
+                                        <option value="">快递名称</option>
+                                        <option v-for="logistic in logistics" :value="logistic.id">@{{ logistic.name }}</option>
+                                    </select>
+                                </td>
                             </tr>
                             <tr>
                                 <td colspan="2">
@@ -241,9 +246,9 @@
                             <span v-else>@{{rejectedBill.is_loaded | yesNoIsLoaded}}</span>
                         </td>
                         <td class="text-muted">@{{rejectedBill.created_at}}</td>
-                        <td>@{{rejectedBill.owner.name}}</td>
+                        <td><span v-if="rejectedBill.owner">@{{rejectedBill.owner.name}}</span></td>
                         <td>@{{rejectedBill.logistic_number_return}}</td>
-                        <td class="text-muted">@{{rejectedBill.logistic.name}}</td>
+                        <td class="text-muted"><span v-if="rejectedBill.logistic">@{{rejectedBill.logistic.name}}</span></td>
                         <td>@{{rejectedBill.order_number}}</td>
                         <td class="text-muted">@{{rejectedBill.sender}}</td>
                         <td class="text-muted">@{{rejectedBill.mobile_sender}}</td>
@@ -309,6 +314,11 @@
             {id:'{{$owner->id}}',name:'{{$owner->name}}'},
             @endforeach
         ];
+        let logistics=[
+            @foreach($logistics as $logistic)
+            {!! $logistic !!},
+            @endforeach
+        ];
         let qualityLabels=[
                 @foreach($qualityLabels as $qualityLabel)
             {id:'{{$qualityLabel->id}}',name:'{{$qualityLabel->name}}'},
@@ -328,5 +338,5 @@
         let exportExcelOnFilterParamsURL='{{url("rejected/exportExcelOnFilterParams")}}';
         let csrfInput='@csrf';
     </script>
-    <script src="{{asset('js/singles/rejectedIndex200513.js')}}"></script>
+    <script src="{{asset('js/singles/rejectedIndex200710.js')}}"></script>
 @endsection

+ 1 - 1
webpack.mix.js

@@ -13,7 +13,7 @@ const mix = require('laravel-mix');
 
 mix.js('resources/js/app.js', 'public/js')
     .sass('resources/sass/app.scss', 'public/css/app200708.css');
-mix.js('resources/js/singles/rejectedIndex.js', 'public/js/singles/rejectedIndex200513.js');
+mix.js('resources/js/singles/rejectedIndex.js', 'public/js/singles/rejectedIndex200710.js');
 mix.js('resources/js/singles/searchAnalyze.js', 'public/js/singles/searchAnalyze200513.js');
 
 mix.copy('resources/sass/fonts/','public/fonts');