فهرست منبع

订单管理-快递单号变成可以支持分箱号

Zhouzhendong 5 سال پیش
والد
کامیت
6c814cd149
2فایلهای تغییر یافته به همراه55 افزوده شده و 27 حذف شده
  1. 9 2
      app/Http/Controllers/OrderController.php
  2. 46 25
      resources/views/order/index/delivering.blade.php

+ 9 - 2
app/Http/Controllers/OrderController.php

@@ -91,7 +91,7 @@ class OrderController extends Controller
         $checkData=$request->input('checkData');
         $alternate_sku1=$request->input('alternate_sku1');
         $export=$request->input('export');
-        $sql="select ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
+        $sql="select ACT_ALLOCATION_DETAILS_temp.picktotraceid,ACT_ALLOCATION_DETAILS.CHECKTIME,DOC_ORDER_HEADER.addtime,DOC_ORDER_HEADER.C_PROVINCE,DOC_ORDER_HEADER.C_CITY,DOC_ORDER_HEADER.C_DISTRICT,DOC_ORDER_HEADER.C_CONTACT,DOC_ORDER_HEADER.OrderNo,DOC_ORDER_HEADER.SOStatus,DOC_ORDER_HEADER.WAREHOUSEID,DOC_ORDER_HEADER.CustomerID
         ,DOC_ORDER_HEADER.C_Tel2,DOC_ORDER_HEADER.CarrierName,DOC_ORDER_HEADER.IssuePartyName,
        DOC_ORDER_HEADER.WaveNo,DOC_ORDER_HEADER.SOReference1
         ,DOC_ORDER_HEADER.soreference5,DOC_ORDER_HEADER.EDISENDFLAG2,DOC_ORDER_HEADER.EDISendTime2,DOC_ORDER_HEADER.Notes,DOC_ORDER_HEADER.ERPCANCELFLAG,
@@ -129,11 +129,18 @@ class OrderController extends Controller
                       left join BAS_CODES on BAS_CODES.CODE=DOC_ORDER_HEADER.sostatus and BAS_CODES.codeid='SO_STS'
                       left join BAS_Customer on BAS_Customer.customerid=DOC_ORDER_HEADER.customerid
                       left join  BAS_SKU on DOC_Order_Details.CustomerID=BAS_SKU.CustomerID and DOC_Order_Details.SKU=BAS_SKU.SKU
-                      left join ACT_ALLOCATION_DETAILS on DOC_Order_Details.orderno=ACT_ALLOCATION_DETAILS.orderno and DOC_Order_Details.orderlineno=ACT_ALLOCATION_DETAILS.orderlineno ";
+                      left join ACT_ALLOCATION_DETAILS on DOC_Order_Details.orderno=ACT_ALLOCATION_DETAILS.orderno and DOC_Order_Details.orderlineno=ACT_ALLOCATION_DETAILS.orderlineno
+                      LEFT JOIN (select listagg(picktotraceid,',') WITHIN GROUP ( order by ORDERNO) as picktotraceid,
+                                    ORDERNO from ACT_ALLOCATION_DETAILS group by ORDERNO)ACT_ALLOCATION_DETAILS_temp
+                                ON DOC_ORDER_HEADER.orderno = ACT_ALLOCATION_DETAILS_temp.orderno";
         if ($alternate_sku1)$sql.=" where BAS_SKU.Alternate_SKU1 like '".$alternate_sku1."%'";
         $orders=DB::connection('oracle')->select(DB::raw($sql));
         $commodities=[];
         foreach ($orders as $index=>$order){
+            if ($order->picktotraceid){
+                $picktotraceid=array_unique(explode(',',$order->picktotraceid));
+                $order->picktotraceid=$picktotraceid;
+            }
             if (isset($commodities[$order->orderno])){
                 array_push($commodities[$order->orderno],
                     ["sku"=>$order->sku,"alternate_sku1"=>$order->alternate_sku1,"descr_c"=>$order->descr_c,"qtyordered"=>$order->qtyordered

+ 46 - 25
resources/views/order/index/delivering.blade.php

@@ -181,7 +181,20 @@
                         <td class="text-nowrap">@{{ order.customer_descr_c }}</td>
                         <td class="text-nowrap">@{{ order.soreference1 }}</td>
                         <td class="text-muted text-nowrap">@{{ order.carriername }}</td>
-                        <td class="text-nowrap">@{{ order.soreference5 }}</td>
+                        <td class="text-nowrap">
+                            <div v-if="order.picktotraceid && order.picktotraceid.length>1">
+                                <span>@{{ order.picktotraceid[0] }}
+                                    <button class="btn btn-sm" :class="order.is_unfold ? 'btn-outline-dark' : 'btn-outline-info'" @click="isUnfold(order)">
+                                        <span v-if="order.is_unfold">收起</span>
+                                        <span v-else>分箱 @{{ order.picktotraceid.length }} 件,展开单号</span>
+                                    </button>
+                                </span>
+                                <span v-for="(picktotraceid,i) in order.picktotraceid" v-if="order.is_unfold && i!=0">
+                                    <br>@{{ picktotraceid }}
+                                </span>
+                            </div>
+                            <span v-else>@{{ order.soreference5 }}</span>
+                        </td>
                         <td class="text-muted text-nowrap">@{{ order.c_contact }}</td>
                         <td class="text-muted text-nowrap">@{{ order.c_tel2 }}</td>
                         <td class="text-nowrap"> @{{ order.c_province }}</td>
@@ -259,6 +272,7 @@
                 content:'',
                 codes:{!! $codes !!},
                 selectedStyle:'',
+                picktotraceidMap:[],
             },
             mounted:function () {
                 $(".tooltipTarget").tooltip({'trigger':'hover'});
@@ -330,23 +344,23 @@
                 },
                 href(){
                     let url="{{url('order/index/delivering?page=')}}"+this.page;
-                    if (this.filterData.orderdate_start)url+="&&orderdate_start="+this.filterData.orderdate_start;
-                    if (this.filterData.orderdate_end)url+="&&orderdate_end="+this.filterData.orderdate_end;
-                    if (this.filterData.ordertime_start)url+="&&ordertime_start="+this.filterData.ordertime_start;
-                    if (this.filterData.ordertime_end)url+="&&ordertime_end="+this.filterData.ordertime_end;
-                    if (this.filterData.customerid)url+="&&customerid="+this.filterData.customerid;
-                    if (this.filterData.paginate)url+="&&paginate="+this.filterData.paginate;
-                    if (this.filterData.orderno)url+="&&orderno="+this.filterData.orderno;
-                    if (this.filterData.soreference5)url+="&&soreference5="+this.filterData.soreference5;
-                    if (this.filterData.codename_c)url+="&&codename_c="+this.filterData.codename_c;
-                    if (this.filterData.carriername)url+="&&carriername="+this.filterData.carriername;
-                    if (this.filterData.soreference1)url+="&&soreference1="+this.filterData.soreference1;
-                    if (this.filterData.issuepartyname)url+="&&issuepartyname="+this.filterData.issuepartyname;
-                    if (this.filterData.notes)url+="&&notes="+this.filterData.notes;
-                    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;
+                    if (this.filterData.orderdate_start)url+="&orderdate_start="+this.filterData.orderdate_start;
+                    if (this.filterData.orderdate_end)url+="&orderdate_end="+this.filterData.orderdate_end;
+                    if (this.filterData.ordertime_start)url+="&ordertime_start="+this.filterData.ordertime_start;
+                    if (this.filterData.ordertime_end)url+="&ordertime_end="+this.filterData.ordertime_end;
+                    if (this.filterData.customerid)url+="&customerid="+this.filterData.customerid;
+                    if (this.filterData.paginate)url+="&paginate="+this.filterData.paginate;
+                    if (this.filterData.orderno)url+="&orderno="+this.filterData.orderno;
+                    if (this.filterData.soreference5)url+="&soreference5="+this.filterData.soreference5;
+                    if (this.filterData.codename_c)url+="&codename_c="+this.filterData.codename_c;
+                    if (this.filterData.carriername)url+="&carriername="+this.filterData.carriername;
+                    if (this.filterData.soreference1)url+="&soreference1="+this.filterData.soreference1;
+                    if (this.filterData.issuepartyname)url+="&issuepartyname="+this.filterData.issuepartyname;
+                    if (this.filterData.notes)url+="&notes="+this.filterData.notes;
+                    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;
                 },
                 //提交表单
@@ -398,13 +412,13 @@
                         if (!confirm("需要导出的条数超过了一万条,等待时间较长,是否继续?"))return;
                     }
                     window.open("{{url('order/index/delivering?ordertime_start=')}}"+this.filterData.ordertime_start
-                        +"&&ordertime_end="+this.filterData.ordertime_end+"&&orderdate_start="+this.filterData.orderdate_start
-                        +"&&orderdate_end="+this.filterData.orderdate_end+"&&orderno="+this.filterData.orderno
-                        +"&&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
-                        +"&&edisendflag2="+this.filterData.edisendflag2);
+                        +"&ordertime_end="+this.filterData.ordertime_end+"&orderdate_start="+this.filterData.orderdate_start
+                        +"&orderdate_end="+this.filterData.orderdate_end+"&orderno="+this.filterData.orderno
+                        +"&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
+                        +"&edisendflag2="+this.filterData.edisendflag2);
                 },
                 modal(){
                     $("#myModal").modal('show');
@@ -490,6 +504,13 @@
                         tempTip.show('网络异常:'+err);
                     });
                 },
+                isUnfold(order){
+                    if (!order.is_unfold){
+                        this.$set(order,'is_unfold',true);
+                        return
+                    }
+                    order.is_unfold=false;
+                }
             },
         });
     </script>