Ver Fonte

工单页面修改

loustwo há 4 anos atrás
pai
commit
9afa4fa0ab

+ 22 - 1
app/Filters/WorkOrderFilters.php

@@ -8,6 +8,7 @@ use App\OrderIssue;
 use App\OrderIssueProcessLog;
 use App\OrderIssueType;
 use App\OrderPackage;
+use App\Shop;
 use App\Traits\ModelSearchWay;
 use App\User;
 use App\WorkOrder;
@@ -45,7 +46,8 @@ class WorkOrderFilters
         'process_progress',
         'order_issue_log',
         'log_content',
-        'tags'
+        'tags',
+        'shop_name',
     ];
     protected $array_filter;
     protected $params = [];
@@ -56,6 +58,7 @@ class WorkOrderFilters
     protected $issueTypeQuery;
     protected $orderIssueLogQuery;
     protected $orderIssueQuery;
+    protected $shopQuery;
 
 
 
@@ -158,6 +161,11 @@ class WorkOrderFilters
 
     public function beforeApply()
     {
+
+        if ($this->shopQuery){
+            $this->getOrderQuery()->whereIn('orders.shop_id',$this->shopQuery);
+        }
+
         if ($this->orderPackageQuery) {
             $this->queryBuilder->whereIn('order_id', $this->orderPackageQuery);
         }
@@ -230,6 +238,14 @@ class WorkOrderFilters
         return $this->orderIssueLogQuery;
     }
 
+    public function getShopQuery(): Builder
+    {
+        if (!$this->shopQuery) {
+            $this->shopQuery = Shop::query()->select('id');
+        }
+        return $this->shopQuery;
+    }
+
     public function id($id)
     {
         if (is_array($id)) $this->queryBuilder->whereIn('work_orders.id', $id);
@@ -383,4 +399,9 @@ class WorkOrderFilters
             $this->queryBuilder->where('logistic_tag',$tag);
         }
     }
+
+    public function shop_name($shop_name)
+    {
+        $this->searchWay($this->getShopQuery(),$shop_name,'shops.name');
+    }
 }

+ 3 - 1
app/WorkOrder.php

@@ -249,7 +249,9 @@ class WorkOrder extends Model
             }]);
         },
             'reviewer',
-            'order.packages',
+            'order'=> function($query){
+                return $query->with('packages','shop');
+            },
             'orderIssue' => function ($query) {
                 /** @var Builder $query */
                 $query->with(['issueType', 'logs' => function ($query) {

+ 18 - 9
resources/views/order/workOrder/index.blade.php

@@ -173,16 +173,18 @@
                                     <span class="badge badge-pill badge-warning" v-if="'快递异常' === item.issue_type_name"
                                           v-text="item.type"></span>
                                 </td>
-                                <td v-text="item.created_at"></td>
-                                <td v-text="item.status"></td>
-                                <td v-text="item.owner? item.owner.name : ''"></td>
-                                <td v-text="item.order? item.order.client_code : ''"></td>
+                                <td v-text="item.shop_name"></td>
+                                <td v-text="item.owner_name"></td>
+                                <td v-text="item.order_client_code"></td>
+                                <td v-text="item.logisitc_name"></td>
                                 <td>
                                     <div v-for="logistic_number in item.logistic_numbers">
                                         <span v-text="logistic_number"></span>
                                     </div>
                                 </td>
-                                <td v-text="item.logistic ? item.logistic.name : ''"></td>
+
+                                <td v-text="item.created_at"></td>
+                                <td v-text="item.status"></td>
                                 <td v-text="item.creator ? item.creator.name : ''"></td>
                                 <td v-text="item.result_explain ? item.result_explain: item.remark"></td>
                                 <td class="log-td"
@@ -578,6 +580,7 @@
                             {name:1, value:'无'},
                         ],
                     },
+                    {name:'shop_name',type:'input',placeholder:'商铺名'},
                 ]];
                 this.form = new query({
                     el: '#form_div',
@@ -590,12 +593,14 @@
                     {name: 'operation', value: '操作', neglect: true},
                     {name: 'work_type', value: '工单类型', neglect: true},
                     {name: 'process_progress', value: '当前进度', neglect: true},
+
+                    {name: 'shop_name' , value: '店铺名称'},
+                    {name: 'owner', value: '客户', neglect: true},
+                    {name: 'client_no', value: '客户订单号'},
+                    {name: 'logistic_name', value: '承运人'},
+                    {name: 'logistic_numbers', value: '快递单号'},
                     {name: 'created_at', value: '创建时间', neglect: true},
                     {name: 'status', value: '当前处理人', neglect: true},
-                    {name: 'owner', value: '货主', neglect: true},
-                    {name: 'order_code', value: '订单号', neglect: true},
-                    {name: 'logistic_numbers', value: '快递单号'},
-                    {name: 'logistic', value: '承运商'},
                     {name: 'creator', value: '创建人'},
                     {name: 'remark', value: '情况说明'},
                     {name: 'process_logs', value: '处理日志'},
@@ -740,6 +745,10 @@
                     workOrder.orderno = workOrder.order ? workOrder.order.code : '';
                     workOrder.process_logs = this.groupProcess_logs(workOrder.pending_detail);
                     workOrder.log_is_show = false;
+                    workOrder.shop_name = workOrder.order ? (workOrder.order.shop ? workOrder.order.shop.name : '') : '';
+                    workOrder.owner_name = workOrder.owner ? workOrder.owner.name : '';
+                    workOrder.logisitc_name = workOrder.logistic ? workOrder.logistic.name : '';
+                    workOrder.order_client_code = workOrder.order ? workOrder.order.client_code : '';
                 },
                 groupPendingDetail(workOrder) {
                     let details = workOrder.details.filter(item => {