Browse Source

工单->自定义退回状态部分提交

loustwo 4 năm trước cách đây
mục cha
commit
70815c4e74

+ 10 - 0
app/Http/Controllers/WorkOrderController.php

@@ -336,4 +336,14 @@ class WorkOrderController extends Controller
         });
         return Export::make($row, $json, "工单");
     }
+
+    public function customRejectedStatusApi(Request $request): array
+    {
+        $result = $this->service->customRejectedStatus($request->input('ids'),$request->input('rejectedStatus'));
+        if($result){
+            return ['success' => true,];
+        }
+        return ['success' => false,'message' => '操作异常请稍后重试'];
+
+    }
 }

+ 5 - 0
app/Services/WorkOrderService.php

@@ -404,4 +404,9 @@ class WorkOrderService
         $detail->processLogs()->where('status', '未同步')->update(['status' => '同步']);
     }
 
+    public function customRejectedStatus($ids,$customRejectedStatus): int
+    {
+        return WorkOrder::query()->whereIn('id',$ids)->update(['custom_rejected_status' => $customRejectedStatus]);
+    }
+
 }

+ 1 - 0
app/WorkOrder.php

@@ -56,6 +56,7 @@ class WorkOrder extends Model
         'bao_shi_indemnity_money',      // 宝时赔偿金额
         'bao_shi_express_remission',    // 宝时减免
         'user_owner_group_id',
+        'custom_rejected_status',       // 自定义退回标记
     ];
     /**
      * @var int 默认

+ 32 - 0
database/migrations/2022_02_16_140349_work_orders_add_custom_rejected_status.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class WorkOrdersAddCustomRejectedStatus extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('work_orders', function (Blueprint $table) {
+            $table->enum('custom_rejected_status',['无','待退回','退回中'])->default('无');
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('work_orders', function (Blueprint $table) {
+            $table->dropColumn('custom_rejected_status');
+        });
+    }
+}

+ 18 - 0
resources/views/order/workOrder/_custom_rejected_status.blade.php

@@ -0,0 +1,18 @@
+<el-dialog :visible.sync="dialogCustomRejectedStatusVisible" width="25%">
+    <div slot="title">
+        退回状态
+    </div>
+    <div class="form-group row">
+        <select class="form-control col-sm-10" id="customRejectedStatus">
+            <option value="无"></option>
+            <option value="待退回"></option>
+            <option value="退回中"></option>
+        </select>
+    </div>
+    <div slot="footer" class="dialog-footer">
+        <el-button @click="dialogCostomRejectedStatusVisible = false">关 闭</el-button>
+        <el-button type="primary" @click="batchCustomRejectedStatus">
+            提交
+        </el-button>
+    </div>
+</el-dialog>

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

@@ -421,6 +421,7 @@
         @include('order.workOrder._edit_process_log')
         @include('order.workOrder._order_commodity_info')
         @include('order.workOrder._rejected_item_equals_order_commodity')
+        @include('order.workOrder._custom_rejected_status')
     </div>
 @endsection()
 
@@ -650,7 +651,7 @@
                 dialogProcessLogVisible: false,              // 工单处理日志
                 dialogOrderCommoditiesVisible: false,              // 订单商品详情
                 dialogCommoditiesEqualsVisible: false,       // 商品对比
-
+                dialogCustomRejectedStatusVisible: false,    // 自定义退回状态
                 showProcessLogId: null,         // workOrder->id
                 showAddDetailProcessLog: null,        // workOrderDetail->ids
                 showAddProcessLogFrom: null,     //
@@ -687,8 +688,8 @@
                 ],
                 commodityEqualsMap: [],
                 hideRejectedBills: true,
-                tableHeader:null,
-                toggleBtnHeight:0,
+                tableHeader: null,
+                toggleBtnHeight: 0,
             },
             computed: {},
             mounted() {
@@ -869,7 +870,7 @@
                 },
             },
             methods: {
-                initTableHeader(){
+                initTableHeader() {
                     let column = this.headerColumn();
                     this.tableHeader = new Header({
                         el: "table",
@@ -3660,7 +3661,7 @@
                 },
                 toggleRejectedBill() {
                     this.hideRejectedBills = !this.hideRejectedBills;
-                    if(this.tableHeader !== null){
+                    if (this.tableHeader !== null) {
                         let column = this.headerColumn();
                         this.tableHeader.redrawHeader(column);
                     }
@@ -3680,7 +3681,7 @@
                         {name: 'status', value: '当前处理人', neglect: true},
                         {name: 'creator', value: '创建人'},
                         {name: 'remark', value: '情况说明'},
-                        {name: 'rejectedBills', value: '展开',neglect: true,max_width:30},)
+                        {name: 'rejectedBills', value: '展开', neglect: true, max_width: 30},)
                     if (!this.hideRejectedBills) {
                         columns.push({name: 'return_logistic_number', value: '退回单号'});
                         @if( \Illuminate\Support\Facades\Gate::check('订单管理-工单处理-宝时编辑') || \Illuminate\Support\Facades\Gate::check('订单管理-工单处理-商家编辑') )
@@ -3720,6 +3721,30 @@
                             ], neglect: true
                         },);
                     return columns;
+                },
+                showBatchCustomRejectedStatus(){
+
+                },
+                batchCustomRejectedStatus(ids,rejectedStatus) {
+                    let url = "{{route('workOrder.customRejectedStatusApi')}}";
+                    let data = {
+                        ids: ids,
+                        rejectedStatus: rejectedStatus,
+                    }
+                    window.tempTip.setIndex(1999)
+                    window.tempTip.setDuration(9999)
+                    window.tempTip.waitingTip('处理中')
+                    axios.post(url, data).then(res => {
+                        window.tempTip.cancelWaitingTip();
+                        if(res.data.success) {
+
+                        } else {
+                            this.errorTempTip(res.data.message)
+                        }
+                    }).catch(err => {
+                        window.tempTip.cancelWaitingTip();
+                        this.errorTempTip(err)
+                    })
                 }
             },
         });

+ 4 - 1
routes/apiLocal.php

@@ -303,7 +303,10 @@ Route::prefix('workOrder')->group(function(){
 
     Route::post('end','WorkOrderController@ownerEndWorkOrderApi')->name('workOrder.owner.endApi');                              // 承运商完结工单
     Route::post('batchEnd','WorkOrderController@ownerBatchEndWorkOrderApi')->name('workOrder.owner.batchEndApi');               // 承运商处理标记
-    Route::post('logisticTag','WorkOrderController@logisticHandlerTagApi')->name('workOrder.logistic.handlerTagApi');           // 承运商处理标记
+    Route::post('logisticTag','WorkOrderController@logisticHandlerTagApi')->name('workOrder.logistic.handlerTagApi');
+    Route::post('customRejectedStatusApi','WorkOrderController@customRejectedStatusApi')->name('workOrder.customRejectedStatusApi');
+
+    // 承运商处理标记
     Route::prefix('intercept')->group(function(){           // 拦截
         Route::post('store','WorkOrderInterceptController@storeApi')->name('workOrder.intercept.storeApi');                                       // 拦截订单创建
         Route::post('store/batch','WorkOrderInterceptController@batchStoreApi')->name('workOrder.intercept.BatchStoreApi');                       // 拦截订单创建