Pārlūkot izejas kodu

工单处理 添加工单删除

ajun 4 gadi atpakaļ
vecāks
revīzija
4cd98985eb

+ 1 - 4
app/Filters/WorkOrderFilters.php

@@ -70,10 +70,7 @@ class WorkOrderFilters
             $this->id(explode(',',$this->params['data']));
 
         if (!isset($this->params['owner'])){
-            $owners = app(OwnerService::class)->getAuthorizedOwners();
-            $this->getOrderQuery()->whereIn('owner_id',$owners->map(function($item){
-                return $item->id;
-            }));
+            $this->getOrderQuery()->whereIn('owner_id', app('UserService')->getPermittingOwnerIds(Auth::user())??[]);
         }
     }
 

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

@@ -100,4 +100,13 @@ class WorkOrderController extends Controller
         return ['success' => true,'data' => $items];
     }
 
+    // 删除
+    public function destroyApi($id): array
+    {
+        if (Gate::denies('订单管理-工单处理-删除'))
+            return ['success' => false,'message' => '没有对应权限'];
+        WorkOrder::query()->where('id',$id)->Delete();
+        return ['success' => true];
+    }
+
 }

+ 20 - 2
resources/views/order/workOrder/index.blade.php

@@ -65,6 +65,12 @@
                                             审核
                                         </button>
                                     @endcan
+                                    @can('订单管理-工单处理-删除')
+                                        <button class="btn btn-sm btn-outline-danger"
+                                                @click="destroy(item,i)">
+                                            删除
+                                        </button>
+                                    @endcan
                                 </td>
                                 <td class="text-center">@{{ item.status }}</td>
                                 <td class="text-center">@{{ item.owner ? item.owner.name : '' }}</td>
@@ -196,7 +202,6 @@
                                 <td class="text-center">@{{ item.created_at }}</td>
                                 <td>@{{ item.reviewer ? item.reviewer.name : ''}}</td>
                                 <td>@{{ item.review_at }}</td>
-
                             </tr>
                         </template>
                         </tbody>
@@ -595,7 +600,20 @@
                         window.tempTip.show(err)
                     })
                 },
-
+                destroy(item,i){
+                    let url = '{{url('apiLocal/workOrder/')}}'+'/'+item.id;
+                    if(!confirm('是否删除当前工单')) return ;
+                    window.axios.delete(url).then(res=>{
+                        if (res.data.success){
+                            this.$delete(this.workOrders,i);
+                            window.tempTip.showSuccess('删除成功');
+                        }else {
+                            window.tempTip.show(res.data.message ? res.data.message : '');
+                        }
+                    }).catch(err=>{
+                        window.tempTip.show(err);
+                    })
+                }
             },
         });
     </script>

+ 1 - 0
routes/apiLocal.php

@@ -267,4 +267,5 @@ Route::prefix('workOrder')->group(function(){
     Route::post('buildOrderIssue','WorkOrderController@buildOrderIssueApi')->name('workOrder.buildOrderIssueApi');  // 生成问题件
     Route::post('updateIssueType','WorkOrderController@updateIssueTypeApi')->name('workOrder.updateIssueTypeApi'); // 修改问题类型
     Route::post('batchUpdateIssueType','WorkOrderController@batchUpdateIssueTypeApi')->name('workOrder.batchUpdateIssueTypeApi'); // 修改问题类型
+    Route::delete('/{id}','WorkOrderController@destroyApi')->name('workOrder.destroyApi');
  });