Forráskód Böngészése

问题件 添加路由信息

ajun 4 éve
szülő
commit
12b5fba3df

+ 7 - 0
app/Http/Controllers/TestController.php

@@ -699,4 +699,11 @@ sql;
         dump($hash);
         return $hash;
     }
+
+    public function sortTransferStatus()
+    {
+        $orderPackage = OrderPackage::query()->where('logistic_number','75601831068018')->first();
+        app('OrderPackageService')->sortOrderPackageTransferStatus($orderPackage);
+        dd($orderPackage);
+    }
 }

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

@@ -11,8 +11,7 @@
                         <button type="button"
                                 class="btn btn-outline-dark btn-sm form-control-sm dropdown-toggle tooltipTarget"
                                 data-toggle="dropdown" title="导出所有页将会以搜索条件得到的筛选结果,将其全部记录(每一页)导出"
-                                :class="[checkData.length>0?'btn-dark text-light':'']"
-                        >导出Excel
+                                :class="[checkData.length>0?'btn-dark text-light':'']">导出Excel
                         </button>
                         <div class="dropdown-menu">
                             <a class="dropdown-item" href="javascript:" @click="orderIssueExport(false)">导出勾选内容</a>
@@ -84,7 +83,7 @@
                     <tr class="tr-yellow align-center">
                         <th class=" font-weight-bolder header-1"></th>
                         <th class="td-yellow  font-weight-bolder original-class table-head-warning  header-2 text-center"
-                            colspan="8">
+                            colspan="9">
                             原始运单
                         </th>
                         <th class="font-weight-bolder header-3 text-center" colspan="14">
@@ -137,6 +136,9 @@
                         <th class="tow-layer align-middle td-yellow" rowspan="2"
                             style="max-width: 150px;min-width: 150px;">原始运单号
                         </th>
+                        <th class="tow-layer align-middle td-yellow" rowspan="2"
+                            style="max-width: 500px;min-width: 400px;">快递路由
+                        </th>
                         {{--原始商品明细 开始--}}
                         <th class="tow-layer align-middle td-yellow" v-show="isShowOrderInfo" rowspan="2"
                             style="min-width: 200px">收货人名称
@@ -416,6 +418,33 @@
                                 </button>
                             </template>
                         </td>
+                        <td>
+                            <div class="alert alert-light " v-for="(item,i) in orderIssue.order.packages">
+                                <div class="text-left">
+                                    <span v-text="item.logistic_number"></span>
+                                    <span class="float-right" v-if="item['transfer_status'].length === 0">暂无路由信息</span>
+                                    <button type="button" class="btn btn-sm btn-outline-primary float-right" v-if="item['transfer_status'].length > 0 && selectOrderPackage!==item.id" @click="selectOrderPackage = item.id">展开</button>
+                                    <button type="button" class="btn btn-sm btn-outline-primary float-right" v-if="selectOrderPackage === item.id" @click="selectOrderPackage = null">收起</button>
+                                </div>
+                                <div class="text-left" v-if="selectOrderPackage === item.id">
+                                    <div v-for="transfer in item['transfer_status']">
+                                        <div >
+                                            <hr>
+                                            <span class="mr-1 text-monospace">时间:</span>
+                                            <span v-text="transfer['accept_time']"></span>
+                                        </div>
+                                        <div>
+                                            <span class="mr-1 text-monospace">到达地:</span>
+                                            <span v-text="transfer['accept_address']"></span>
+                                        </div>
+                                        <div>
+                                            <span class="mr-1 text-monospace">详情:</span>
+                                            <span v-text="transfer['remark']"></span>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                        </td>
 
                         {{--商品明细 开始--}}
                         <td class="td-yellow child-layer-2-hide text-wrap text-letter"
@@ -1202,6 +1231,7 @@
                     orderIssue: {id: null, showId: ''},
                 },
                 toggleBtnHeight: null,
+                selectOrderPackage: null,
             },
             created() {
                 let _this = this;
@@ -1460,7 +1490,7 @@
                 },
                 isShowOrderInfo(newValue) {
                     setTimeout(function () {
-                        $('.header-2').attr('colspan', 8 + (newValue ? 9 : 0));
+                        $('.header-2').attr('colspan', 9 + (newValue ? 9 : 0));
                     }, 2);
                 },
                 isShowRejectedBill(newValue) {
@@ -1483,12 +1513,30 @@
                     this.isShowRejectedBill = false;
                     this.isShowSecondOrderInfo = false;
                 },
+                sortTransferStatus(item){
+                    item.isShowTransferStatus = false;
+                    item.isShowRemark = false;
+                    if (item['transfer_status'] == null) {
+                        item['transfer_status'] = [];
+                        return;
+                    }
+                    if (item['transfer_status'].length === 0) return;
+                    item['transfer_status'].sort((item1,item2)=>{
+                        let date1 = new Date(item1['accept_time']);
+                        let date2 = new Date(item2['accept_time']);
+                        if (date1 - date2 > 0) return -1;
+                        if (date1 - date2 < 0) return 1;
+                        return 0;
+                    });
+                },
                 regroupOrder(order) {
                     if (!order) return;
                     let amounts = 0; // 商品总数
                     let type_numbers = 0; // 商品类型数量
-                    $.each(order.packages, function (i, package) {
-                        $.each(package.commodities, function (i, commodity) {
+                    let _this = this;
+                    $.each(order.packages, function (i, item) {
+                        _this.sortTransferStatus(item);
+                        $.each(item.commodities, function (i, commodity) {
                             type_numbers++;
                             amounts += commodity.amount;
                         });