Kaynağa Gözat

工单处理 破损工单 图片处理

ajun 4 yıl önce
ebeveyn
işleme
947b4c155f

+ 1 - 0
app/Services/WorkOrderService.php

@@ -104,6 +104,7 @@ class WorkOrderService
         $order = Order::query()->where('code', $param['order_no'])->first();
         $remake = $param['remark'] ?? '';
         $workOrder = $this->createAndNotification($order, $orderIssueType, $remake);
+        $workOrder->saveWorkOrderDetail($param);
         $workOrder->addPackageImages($param['packageImages']);      // 外包装图片
         $workOrder->addCommodityImage($param['commodityImages']);    // 内物破损图片
         $workOrder->addDealImages($param['dealImages']);            // 交易图片

+ 9 - 2
app/WorkOrder.php

@@ -164,6 +164,12 @@ class WorkOrder extends Model
         return $this->hasMany(WorkOrderImage::class)->where('type', 3);
     }
 
+    // 工单详情
+    public function details(): HasMany
+    {
+        return $this->hasMany(WorkOrderDetail::class);
+    }
+
 
     public function scopeFilter($query, $filters)
     {
@@ -245,8 +251,9 @@ class WorkOrder extends Model
         }
     }
 
-    public function addWorkOrderDetail()
+    public function saveWorkOrderDetail($params)
     {
-
+        $param  = (new WorkOrderDetail($params))->getAttributes();
+        $this->details()->create($param);
     }
 }

+ 2 - 1
app/WorkOrderDetail.php

@@ -19,7 +19,8 @@ class WorkOrderDetail extends Model
         'skus', // 破损sku
         'receive_address', // 收方信息
         'reissue_logistic_number', // 补发单号
-        'return_logistic_number'   // 退回单号
+        'return_logistic_number',   // 退回单号
+        'logistic_number',
     ];
 
     public function workOrder(): BelongsTo

+ 2 - 1
database/migrations/2021_09_22_135941_create_work_order_details_table.php

@@ -20,7 +20,8 @@ class CreateWorkOrderDetailsTable extends Migration
             $table->decimal('price',11,3)->comment('价格');
             $table->string('receive_address')->comment('收方信息');
             $table->string('reissue_logistic_number')->comment('补发单号');
-            $table->string(' return_logistic_number')->comment('退回单号');
+            $table->string('return_logistic_number')->comment('退回单号');
+            $table->string('logistic_number')->comment('快递单号');
             $table->timestamps();
         });
     }

+ 6 - 6
resources/views/order/index/_work_order_modal.blade.php

@@ -10,7 +10,7 @@
             <div class="modal-body">
                 {{--工单类型--}}
                 <div class="form-group row">
-                    <label for="order_issue_type" class="col-sm-2 col-form-label">工单类型</label>
+                    <label for="order_issue_type" class="col-sm-2 col-form-label text-right">工单类型</label>
                     <div class="col-sm-10">
                         <select name="type" id="order_issue_type" class="form-control" v-model="workOrder.orderIssueType">
                             <option value=""></option>
@@ -21,7 +21,7 @@
                 {{--其他--}}
                 <div class="form-group row" v-if="['其他',null,'快递异常','错漏发','破损'].includes(workOrder.orderIssueType)">
                     <hr>
-                    <label for="remake_info" class="col-sm-2 col-form-label">问题描述</label>
+                    <label for="remake_info" class="col-sm-2 col-form-label text-right">问题描述</label>
                     <div class="col-sm-10">
                         <textarea class="form-control" name="" id="remake_info" cols="30" rows="2" v-model="workOrder.remark.info"></textarea>
                     </div>
@@ -29,22 +29,22 @@
 
                 {{--破损商品价格--}}
                 <div class="form-group row" v-if="'破损' === workOrder.orderIssueType">
-                    <label for="work-order-price" class="col-sm-2 col-form-label">破损商品价格</label>
+                    <label for="work-order-price" class="col-sm-2 col-form-label text-right">破损商品价格</label>
                     <div class="col-sm-10">
                         <input type="number" id="work-order-price" class="form-control" v-model="workOrder.price" placeholder="破损商品价格">
                     </div>
                 </div>
                 {{--快递单号--}}
                 <div class="form-group row" v-if="'破损' === workOrder.orderIssueType">
-                    <label for="work-order-logistic-number" class="col-sm-2 col-form-label">快递单号</label>
+                    <label for="work-order-logistic-number" class="col-sm-2 col-form-label text-right">快递单号</label>
                     <div class="col-sm-10">
-                        <input type="text" id="work-order-logistic-number" class="form-control" v-model="workOrder.logisticNumber" placeholder="快递单号">
+                        <input type="text" id="work-order-logistic-number" class="form-control" v-model="workOrder['logistic_number']" placeholder="快递单号">
                     </div>
                 </div>
 
 
                 {{--信息更改--}}
-                <div class="form-group row" v-else-if="'信息更改' === workOrder.orderIssueType ">
+                <div class="form-group row" v-if="'信息更改' === workOrder.orderIssueType ">
                     <hr>
                     <label for="order_issue_type" class="col-sm-2 col-form-label">新的收方信息</label>
                     <div class="col-sm-10">

+ 3 - 1
resources/views/order/index/delivering.blade.php

@@ -388,7 +388,7 @@
                     commodityImages: [], // 内物破损图片
                     dealImages: [], // 交易截图
                     commodities: [],
-                    logisticNumber: null, // 快递单号
+                    logistic_number: null, // 快递单号
                     price: null,
                 },
                 grads: [
@@ -1291,6 +1291,8 @@
                     formData.append('order_no', data[0]['order_no']);
                     formData.append('remark', data[0]['remark']);
                     formData.append('type', '破损');
+                    formData.append('logistic_number', this.workOrder.logistic_number);
+                    formData.append('price', this.workOrder.price);
                     this.setFormDataImagePrefix(formData, 'packageImages', packageImages);
                     this.setFormDataImagePrefix(formData, 'commodityImages', commodityImages);
                     this.setFormDataImagePrefix(formData, 'dealImages', dealImages);