Просмотр исходного кода

工单处理 批量处理问题件类型

ajun 4 лет назад
Родитель
Сommit
b1cc4f31a4

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

@@ -87,4 +87,16 @@ class WorkOrderController extends Controller
         WorkOrder::query()->where('id',$request['id'])->update(['order_issue_type_id' => $request['type_id']]);
         return ['success' => true];
     }
+
+    // 批量修改问题件类型
+    public function batchUpdateIssueTypeApi(Request $request,WorkOrderService $service): array
+    {
+        if (Gate::denies('订单管理-工单处理-审核'))
+            return ['success' => false,'message' => '没有对应权限'];
+        WorkOrder::query()->whereIn('id',$request['ids'])->update(['order_issue_type_id' => $request['type']]);
+        $items = WorkOrder::query()->defaultWith()->whereIn('id',$request['ids'])->get();
+        $service->tags($items);
+        return ['success' => true,'data' => $items];
+    }
+
 }

+ 27 - 0
resources/views/order/workOrder/_edit_issue_type.blade.php

@@ -0,0 +1,27 @@
+<div class="modal fade" id="edit-issue-type-type-modal" data-backdrop="static" data-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true" z-index="51">
+    <div class="modal-dialog">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title" id="edit-issue-type-type">问题件类型修改</h5>
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                    <span aria-hidden="true">&times;</span>
+                </button>
+            </div>
+            <div class="modal-body">
+                <div class="form-group">
+                    <label for="">
+                        问题件类型
+                    </label>
+                    <select v-model="selectIssueType" class="form-control">
+                        <option value=""></option>
+                        <option v-for="type in orderIssueTypes" :value="type.name">@{{ type.value }}</option>
+                    </select>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button @click="selectIssueType = ''" type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button @click="editOrderIssueType" type="button" class="btn btn-primary">提交</button>
+            </div>
+        </div>
+    </div>
+</div>

+ 44 - 1
resources/views/order/workOrder/index.blade.php

@@ -30,6 +30,14 @@
                     <button type="button" class="btn btn-outline-dark btn-sm form-control-sm  tooltipTarget"
                             @click="copyLogisticNumber()" style="background: #dad7e8;">批量复制单号</button>
                     </span>
+                        @can('订单管理-工单处理-审核')
+                            <span class="ml-1">
+                        <button type="button" class="btn btn-outline-success btn-sm form-control-sm  tooltipTarget"
+                                @click="showEditIssueType">
+                            批量修改问题件类型
+                        </button>
+                        </span>
+                        @endcan
                 </div>
 
                 <div>
@@ -189,6 +197,9 @@
                     {{ $workOrders->withQueryString()->links() }}
                 </div>
             </div>
+            @can('订单管理-工单处理-审核')
+                @include('order.workOrder._edit_issue_type')
+            @endcan
         </div>
     </div>
 @endsection()
@@ -226,6 +237,7 @@
                 selectOrderPackage: null,
                 selectOrder: null,
                 selectOrderIssue:null,
+                selectIssueType:'',
             },
             mounted() {
                  let data = [[
@@ -531,7 +543,38 @@
                         });
                     })
                     this.copyText(logistic_numbers);
-                }
+                },
+                showEditIssueType(){
+                    this.selectIssueType = 0;
+                    $("#edit-issue-type-type-modal").modal('show');
+                },
+                editOrderIssueType(){
+                    let url = '{{route('workOrder.batchUpdateIssueTypeApi')}}'
+                    let data = {ids:checkData,type:this.selectIssueType};
+                    let _this = this;
+                    window.tempTip.setIndex(1999);
+                    window.axios.post(url,data).then(res=>{
+                        if (res.data.success){
+                            window.tempTip.showSuccess('修改问题件类型成功');
+
+                            res.data.data.forEach(item=>{
+                                _this.sortOrder(item);
+                                _this.workOrders.forEach((workOrder,i,array)=>{
+                                    if (workOrder.id === item.id){
+                                        array[i] = item;
+                                    }
+                                })
+                            });
+                            this.$forceUpdate();
+                            $("#edit-issue-type-type-modal").modal('hide');
+                            return;
+                        }
+                        window.tempTip.show(res.data.message ? res.data.message : '修改异常');
+                    }).catch(err=>{
+                        window.tempTip.show(err)
+                    })
+                },
+
             },
         });
     </script>

+ 1 - 0
routes/apiLocal.php

@@ -266,4 +266,5 @@ Route::prefix('workOrder')->group(function(){
     Route::post('batchReview','WorkOrderController@batchReviewApi')->name('workOrder.batchReviewApi');  // 批量审核
     Route::post('buildOrderIssue','WorkOrderController@buildOrderIssueApi')->name('workOrder.buildOrderIssueApi');  // 生成问题件
     Route::post('updateIssueType','WorkOrderController@updateIssueTypeApi')->name('workOrder.updateIssueTypeApi'); // 修改问题类型
+    Route::post('batchUpdateIssueType','WorkOrderController@batchUpdateIssueTypeApi')->name('workOrder.batchUpdateIssueTypeApi'); // 修改问题类型
  });