Bläddra i källkod

工单处理-查询->批量添加处理日志

loustwo 4 år sedan
förälder
incheckning
4a1a938a5b

+ 1 - 1
app/Http/Controllers/WorkOrderProcessLogController.php

@@ -110,7 +110,7 @@ class WorkOrderProcessLogController extends Controller
             Gate::denies('订单管理-工单处理-承运商编辑')) {
             return ['success' => false, 'message' => '没有对应的权限'];
         }
-        if ($request->has(['ids', 'content'])) {
+        if (!$request->has(['ids', 'content'])) {
             return ['success' => false, 'message' => '参数缺失'];
         }
         $workOrders = WorkOrder::query()->where('status', '!=', 5)->find($request->ids);

+ 4 - 1
app/Services/WorkOrderProcessLogService.php

@@ -62,8 +62,11 @@ class WorkOrderProcessLogService
     {
         $user = Auth::user();
         $process_logs = [];
+        /** @var WorkOrder $workOrder */
         foreach ($workOrders as $workOrder) {
-            $detail = $workOrders->toBeProcessDetail();
+            /** @var WorkOrderDetail $detail */
+            $detail = $workOrder->details()->where('order_issue_type_id',$workOrder->order_issue_type_id)->orderByDesc('created_at')->first();
+            if (!$detail) continue;
             $process_logs[] = $this->createProcessLog($detail, $params, $user);
         }
         return $process_logs;

+ 4 - 1
resources/views/order/workOrder/_edit_process_log.blade.php

@@ -10,7 +10,10 @@
     </div>
     <div slot="footer" class="dialog-footer">
         <el-button @click="dialogProcessLogVisible = false">关 闭</el-button>
-        <el-button type="primary" @click="storeProcessLog">
+        <el-button type="primary" @click="storeProcessLog" v-show="processLogs.select_id">
+            提交
+        </el-button>
+        <el-button type="primary" @click="batchStoreProcessLogs" v-show="!processLogs.select_id">
             提交
         </el-button>
     </div>

+ 16 - 3
resources/views/order/workOrder/index.blade.php

@@ -30,6 +30,10 @@
                                 class="ml-1 btn btn-outline-primary btn-sm"
                                 @click="baoShiBatchHandler">宝时批量处理
                         </button>
+                        <button type="button"
+                            class="ml-1 btn btn-outline-primary btn-sm"
+                            @click="showBatchStoreProcessLogs">批量处理日志
+                        </button>
                     @endcan
                     @can('订单管理-问题件-编辑')
                         <button type="button"
@@ -3170,7 +3174,9 @@
                             this.pushProcessLog(res.data.data);
                             this.successTempTip('处理完成');
                             if (this.dialogProcessLogVisible) this.dialogProcessLogVisible = false;
-
+                            this.processLogs.select_id = null;
+                            this.selectIndex = null;
+                            this.content = null;
                             return;
                         }
                         this.errorTempTip(res.data.message ? res.data.message : '处理出现异常,请刷新页面重试');
@@ -3179,8 +3185,15 @@
                         this.errorTempTip(err);
                     })
                 },
+                showBatchStoreProcessLogs(){
+                    if (checkData.length === 0){
+                        this.errorTempTip('请选择需要处理工单')
+                        return;
+                    }
+                    this.dialogProcessLogVisible= true;
+                },
                 batchStoreProcessLogs() {
-                    let url = "{{route('workOrder.processLog.batchStore')}}}";
+                    let url = "{{route('workOrder.processLog.batchStore')}}";
                     let data = {
                         ids: checkData,
                         content: this.processLogs.content,
@@ -3189,8 +3202,8 @@
                     window.axios.post(url, data).then(res => {
                         window.tempTip.cancelWaitingTip();
                         if (res.data.success) {
+                            this.successTempTip('处理完成')
                             this.pushProcessLogs(res.data.data);
-                            window.tempTip.successTempTip('处理完成')
                             this.dialogProcessLogVisible = false;
                             return;
                         }