Browse Source

添加对应问题件信息

ajun 4 năm trước cách đây
mục cha
commit
886ec8153b
2 tập tin đã thay đổi với 28 bổ sung8 xóa
  1. 22 0
      app/WorkOrder.php
  2. 6 8
      resources/views/order/workOrder/index.blade.php

+ 22 - 0
app/WorkOrder.php

@@ -117,13 +117,35 @@ class WorkOrder extends Model
         return $this->belongsTo(OrderIssueType::class,'order_issue_type_id');
     }
 
+    /** 对应问题件 */
+    public function orderIssue(): BelongsTo
+    {
+        return $this->belongsTo(OrderIssue::class,'order_id','order_id');
+    }
+
     public function scopeFilter($query, $filters)
     {
         return $filters->apply($query);
     }
 
+
+    /** 默认 with 参数 */
     public function scopeDefaultWith($query)
     {
+        $query->with(['type','issueType','creator','reviewer','order'=>function($query){
+            /** @var $query Builder */
+            $query->with('packages','logistic');
+        },'orderIssue'=>function($query){
+            /** @var $query Builder */
+            $query->with(['issueType','logs'=>function($query){
+                if (Gate::denies('订单管理-问题件-客户不可见')){
+                    $query->with('user')->orderByDesc('created_at');
+                } else{
+                    $query->with('user')->where('tag','=',0)->orderByDesc('created_at');
+                }
+            }]);
+        }]);
+
         $query->with(['type', 'creator', 'order' => function ($query) {
             /** @var $query Builder */
             $query->with(['packages', 'issue'=>function($query){

+ 6 - 8
resources/views/order/workOrder/index.blade.php

@@ -270,13 +270,13 @@
                 sortOrder(workOrder) {
                     let self = this;
                     if (!workOrder.order) return;
-                    if (workOrder.order.issue){
-                        workOrder.result_explain = workOrder.order.issue.result_explain;
-                        if (workOrder.order.issue.issue_type){
-                            workOrder.issue_order_type = workOrder.order.issue.issue_type.name;
+                    if (workOrder.order_issue){
+                        workOrder.result_explain = workOrder.order_issue.result_explain;
+                        if (workOrder.order_issue.issue_type){
+                            workOrder.issue_order_type = workOrder.order_issue.issue_type.name;
                         }
-                        if (workOrder.order.issue.logs){
-                            workOrder.issue_logs  = workOrder.order.issue.logs.map(item=>{
+                        if (workOrder.order_issue.logs){
+                            workOrder.issue_logs  = workOrder.order_issue.logs.map(item=>{
                                 return {
                                     username : item.user ? item.user.name : '',
                                     content: item.content,
@@ -284,10 +284,8 @@
                                 };
                             });
                         }
-
                     }
                     if (!workOrder.order.packages) return;
-
                     $.each(workOrder.order.packages, function (i, item) {
                         self.sortTransfer(item);
                     })