فهرست منبع

订单,退货 标记用红色badge标记“问题件”

ajun 5 سال پیش
والد
کامیت
358c7199fc

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

@@ -45,11 +45,12 @@ class RejectedController extends Controller
         if(!Gate::allows('退货管理-查询')){ return redirect(url('/login'));  }
         if(!Gate::allows('退货管理-查询')){ return redirect(url('/login'));  }
         $paginateParams = $request->input();
         $paginateParams = $request->input();
         $rejectedBills=app('rejectedService')->paginate($request);
         $rejectedBills=app('rejectedService')->paginate($request);
+        $issueIds = app('rejectedService')->返回有问题件的ID($request);
         $owners = $ownerService->getSelection();
         $owners = $ownerService->getSelection();
         $qualityLabels = $qualityLabelService->get();
         $qualityLabels = $qualityLabelService->get();
         $logistics=$logisticService->getSelection();
         $logistics=$logisticService->getSelection();
         return view('rejected.search.general',compact('rejectedBills','owners','logistics',
         return view('rejected.search.general',compact('rejectedBills','owners','logistics',
-            'paginateParams','qualityLabels'));
+            'paginateParams','qualityLabels','issueIds'));
     }
     }
     public function recycle(Request $request)
     public function recycle(Request $request)
     {
     {

+ 1 - 2
app/Services/OrderPackageService.php

@@ -213,8 +213,6 @@ class OrderPackageService
         unset($orderHeaders);
         unset($orderHeaders);
     }
     }
 
 
-
-
     public function getParamsByOrderHeader($orderHeader,$order,$order_packages_logistic_number_map){
     public function getParamsByOrderHeader($orderHeader,$order,$order_packages_logistic_number_map){
         /** @var DataHandlerService $dataHandlerService */
         /** @var DataHandlerService $dataHandlerService */
         $dataHandlerService = app(DataHandlerService::class);
         $dataHandlerService = app(DataHandlerService::class);
@@ -224,6 +222,7 @@ class OrderPackageService
         $created_at = Carbon::now()->format('Y-m-d H:i:s');;
         $created_at = Carbon::now()->format('Y-m-d H:i:s');;
         $updated_at = Carbon::now()->format('Y-m-d H:i:s');;
         $updated_at = Carbon::now()->format('Y-m-d H:i:s');;
         foreach ($logistic_numbers as $logistic_number) {
         foreach ($logistic_numbers as $logistic_number) {
+            if($logistic_number == $orderHeader->orderno)continue;
             $key  = ['order_id'=>$order->id,'logistic_number'=>$logistic_number];
             $key  = ['order_id'=>$order->id,'logistic_number'=>$logistic_number];
             $orderPackage = $dataHandlerService->getKeyValue($key,$order_packages_logistic_number_map);
             $orderPackage = $dataHandlerService->getKeyValue($key,$order_packages_logistic_number_map);
             if(isset($orderPackage)){ continue;}
             if(isset($orderPackage)){ continue;}

+ 1 - 1
app/Services/OrderService.php

@@ -649,7 +649,7 @@ class OrderService
 
 
     public function 返回有问题件的订单号($orders)
     public function 返回有问题件的订单号($orders)
     {
     {
-        if($arr ?? false){return ;}
+        if(!isset($orders)){return ;}
         $orderNo =  data_get($orders,'*.orderno');
         $orderNo =  data_get($orders,'*.orderno');
         $orderIssues = OrderIssue::query()->with('order')
         $orderIssues = OrderIssue::query()->with('order')
             ->whereHas('order',function($query)use($orderNo){
             ->whereHas('order',function($query)use($orderNo){

+ 15 - 0
app/Services/RejectedService.php

@@ -56,6 +56,7 @@ class RejectedService
             }
             }
             unset($param["is_checked"]);
             unset($param["is_checked"]);
         }
         }
+
         if (isset($param["is_loaded"])) {
         if (isset($param["is_loaded"])) {
             $is_loaded = $param["is_loaded"];
             $is_loaded = $param["is_loaded"];
             if ($is_loaded == 'null') $is_loaded = null;
             if ($is_loaded == 'null') $is_loaded = null;
@@ -78,7 +79,12 @@ class RejectedService
                 $columnQueryRules['logistic_number_return'] = ['timeLimit' => 15];
                 $columnQueryRules['logistic_number_return'] = ['timeLimit' => 15];
             }
             }
         }
         }
+        if(isset($param['is_issue'])){
+            $rejectedBills->whereHas('orderIssue');
+            unset($param['is_issue']);
+        }
         $rejectedBills = app(QueryService::class)->query($param, $rejectedBills, $columnQueryRules,"rejected_bills");
         $rejectedBills = app(QueryService::class)->query($param, $rejectedBills, $columnQueryRules,"rejected_bills");
+
         return $rejectedBills;
         return $rejectedBills;
     }
     }
 
 
@@ -155,4 +161,13 @@ class RejectedService
         }
         }
         return RejectedBill::with('items')->where('logistic_number_return',$ASNHeader->asnrefernce3)->first();
         return RejectedBill::with('items')->where('logistic_number_return',$ASNHeader->asnrefernce3)->first();
     }
     }
+
+    public function 返回有问题件的ID($rejectedBill)
+    {
+        if(!isset($rejectedBill)){return ;}
+        $rejectedBills =  RejectedBill::query()->with('orderIssue')->whereHas('orderIssue')->get();
+        return $rejectedBills->map(function($rejectedBill){
+            return $rejectedBill->id;
+        });
+    }
 }
 }

+ 15 - 0
resources/sass/layout.scss

@@ -109,6 +109,21 @@ table,table.table-striped tbody{
             background: #fdf3db;
             background: #fdf3db;
         }
         }
     }
     }
+    tr.focusing td,{
+        background: #d5aba1;
+        &.td-warm{
+            background: rgb(231, 174, 128);
+        }
+        &.td-cool{
+            background: #5f8fcd;
+        }
+        &.td-helpful{
+            background: #69cb9c;
+        }
+        &.td-yellow{
+            background: #d9c290;
+        }
+    }
 }
 }
 .row-even{
 .row-even{
     background-color: rgba(0, 0, 0, .05)
     background-color: rgba(0, 0, 0, .05)

+ 6 - 5
resources/views/order/index/delivering.blade.php

@@ -4,7 +4,7 @@
 @section('content')
 @section('content')
     @component('order.index.menu')@endcomponent
     @component('order.index.menu')@endcomponent
     <div class="container-fluid">
     <div class="container-fluid">
-        <div style="min-width: 4070px;">
+        <div style="min-width: 4120px;">{{--4070--}}
             <div id="list" class="d-none">
             <div id="list" class="d-none">
                 <div id="form_div"></div>
                 <div id="form_div"></div>
                 <div class="ml-3 form-inline">
                 <div class="ml-3 form-inline">
@@ -57,7 +57,7 @@
                     </div><!-- /.modal -->
                     </div><!-- /.modal -->
                 </div>
                 </div>
                 <label for="all" id="cloneCheckAll" class="d-none">
                 <label for="all" id="cloneCheckAll" class="d-none">
-                    <input id="all" type="checkbox" @click="checkAll($event)">全选
+                    <input id="all" type="checkbox" @click="checkAll($event)">
                 </label>
                 </label>
                 <table class="table table-sm table-striped table-bordered table-hover card-body mt-2 ml-3 d-none" id="headerRoll"></table>
                 <table class="table table-sm table-striped table-bordered table-hover card-body mt-2 ml-3 d-none" id="headerRoll"></table>
                 <table class="table table-sm table-striped table-bordered table-hover card-body mt-2 ml-3" id="headerParent">
                 <table class="table table-sm table-striped table-bordered table-hover card-body mt-2 ml-3" id="headerParent">
@@ -66,10 +66,11 @@
                         <td>
                         <td>
                             <input class="checkItem" type="checkbox" :value="order.orderno" v-model="checkData">
                             <input class="checkItem" type="checkbox" :value="order.orderno" v-model="checkData">
                         </td>
                         </td>
-                        <td>@{{ i+1 }}</td>
+                        <td class="text-nowrap">
+                            @{{ i+1 }}<span v-if="orderIssueNos.includes(order.orderno)" class="badge badge-pill badge-danger">问题件</span>
+                        </td>
                         <td class="text-dark font-weight-bold text-nowrap">
                         <td class="text-dark font-weight-bold text-nowrap">
                             @{{ order.orderno }}
                             @{{ order.orderno }}
-                            <span v-if="orderIssueNos.includes(order.orderno)" class="badge badge-pill badge-warning">问</span>
                         </td>
                         </td>
                         <td class="text-muted text-nowrap">@{{ order.ordercodename }}</td>
                         <td class="text-muted text-nowrap">@{{ order.ordercodename }}</td>
                         <td class="text-nowrap">@{{ order.addtime }}</td>
                         <td class="text-nowrap">@{{ order.addtime }}</td>
@@ -690,7 +691,7 @@
                 },
                 },
                 isRejectedBillExist(){
                 isRejectedBillExist(){
                     let _this = this;
                     let _this = this;
-                    if(confirm('是否生成退货单')){return;}
+                    if(!confirm('是否生成退货单')){return;}
                     axios.post('{{url('order/isRejectedBillExist')}}',{data:this.checkData})
                     axios.post('{{url('order/isRejectedBillExist')}}',{data:this.checkData})
                         .then(function (response) {
                         .then(function (response) {
                             if (!response.data.success){
                             if (!response.data.success){

+ 6 - 4
resources/views/order/issue/index.blade.php

@@ -152,8 +152,8 @@
                     </tr>
                     </tr>
 
 
                     <tr class="tr-yellow text-center table-body"  v-if="orderIssues" v-for="(orderIssue,index) in orderIssues"
                     <tr class="tr-yellow text-center table-body"  v-if="orderIssues" v-for="(orderIssue,index) in orderIssues"
-                        @click="selectedColor(orderIssue.id)" :class="orderIssue.remark ? 'tr_top':''" v-on:mouseover="hidetop($event)" v-on:mouseleave="showtop($event)"
-                        :style="[{'font-weight': orderIssue.id===selectedStyle?'bold':''}]">
+                        @click="selectedColor(orderIssue.id,$event)" :class="orderIssue.remark ? 'tr_top':''" v-on:mouseover="hidetop($event)" v-on:mouseleave="showtop($event)">
+{{--                        :style="[{'font-weight': orderIssue.id===selectedStyle?'bold':''}]">--}}
                         <td class="child-layer-1">
                         <td class="child-layer-1">
                             <div class="m-0 p-0 " :style="[{'min-height':orderIssue.remark ?'72px':'45px'}]">
                             <div class="m-0 p-0 " :style="[{'min-height':orderIssue.remark ?'72px':'45px'}]">
                                 <input class="checkItem" type="checkbox" :value="orderIssue.id" v-model="checkData">
                                 <input class="checkItem" type="checkbox" :value="orderIssue.id" v-model="checkData">
@@ -775,12 +775,14 @@
                 },
                 },
             },
             },
             methods: {
             methods: {
-                selectedColor(orderno) {
+                selectedColor(orderno,e) {
+                    $('.table-body').removeClass('focusing')
                     if (orderno === this.selectedStyle) {
                     if (orderno === this.selectedStyle) {
                         this.selectedStyle = '';
                         this.selectedStyle = '';
                         return;
                         return;
                     }
                     }
                     this.selectedStyle = orderno;
                     this.selectedStyle = orderno;
+                    $(e.target).parent('tr').addClass('focusing')
                 },
                 },
                 editOrderIssue($event) {
                 editOrderIssue($event) {
                     let id = $($event.target).attr('data-value');
                     let id = $($event.target).attr('data-value');
@@ -1318,7 +1320,7 @@
                 removeShow(id){
                 removeShow(id){
                     let index = this.edit.isShow.indexOf(id)
                     let index = this.edit.isShow.indexOf(id)
                     if(index!==-1) this.edit.isShow.splice(index,1)
                     if(index!==-1) this.edit.isShow.splice(index,1)
-                }
+                },
             }
             }
         })
         })
         // modal 隐藏时修改 input 为空
         // modal 隐藏时修改 input 为空

+ 5 - 3
resources/views/rejected/search/general.blade.php

@@ -66,8 +66,8 @@
                         <td>
                         <td>
                             <input type="checkbox" v-model="rejectedBills_checkBoxes" :value="rejectedBill.id"/>
                             <input type="checkbox" v-model="rejectedBills_checkBoxes" :value="rejectedBill.id"/>
                         </td>
                         </td>
-                        <td class="text-muted" style="opacity:0.7">
-                            @{{ i+1 }}
+                        <td class="text-nowrap">
+                            <span class="text-muted" style="opacity:0.7">@{{ i+1 }}</span> <span v-if="issueIds.includes(rejectedBill.id)" class="badge badge-pill badge-danger">问题件</span>
                         </td>
                         </td>
                         <td class="text-muted">
                         <td class="text-muted">
                             <span v-if="rejectedBill.is_checked==1" class="text-success">
                             <span v-if="rejectedBill.is_checked==1" class="text-success">
@@ -189,6 +189,7 @@
                     {name:'{{$owner->id}}',value:'{{$owner->name}}'},
                     {name:'{{$owner->id}}',value:'{{$owner->name}}'},
                     @endforeach
                     @endforeach
                 ],
                 ],
+                issueIds:{!! $issueIds !!},
                 logistics:[
                 logistics:[
                     @foreach($logistics as $logistic)
                     @foreach($logistics as $logistic)
                     {name:'{{$logistic->id}}',value:'{{$logistic->name}}'},
                     {name:'{{$logistic->id}}',value:'{{$logistic->name}}'},
@@ -220,7 +221,8 @@
                         {name:'mobile_sender',type:'input',tip:'寄件人手机:输入完成敲回车提交',placeholder:'寄件人手机'},
                         {name:'mobile_sender',type:'input',tip:'寄件人手机:输入完成敲回车提交',placeholder:'寄件人手机'},
                         {name:'checked_numbers',type:'input',tip:'审核批次号:支持右位留空的模糊搜索',placeholder:'审核批次号'},
                         {name:'checked_numbers',type:'input',tip:'审核批次号:支持右位留空的模糊搜索',placeholder:'审核批次号'},
                         {name:'is_loaded',type:'select',placeholder: '是否入库',data:[{name:1,value:'是'},{name:0,value:'否'},
                         {name:'is_loaded',type:'select',placeholder: '是否入库',data:[{name:1,value:'是'},{name:0,value:'否'},
-                                {name:'null',value:'无需入库'},{name:2,value:'待推单'},{name:4,value:'待确认'},{name:3,value:'交互异常'}]},
+                        {name:'null',value:'无需入库'},{name:2,value:'待推单'},{name:4,value:'待确认'},{name:3,value:'交互异常'}]},
+                        {name:'is_issue',type:'checkbox',data:[{name:'true',value:'对应问题件'}]}
                     ]
                     ]
                 ];
                 ];
                 this.form=new query({
                 this.form=new query({