MaterialController.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Exceptions\WarningException;
  4. use App\Filters\MaterialFilters;
  5. use App\Material;
  6. use Illuminate\Http\Request;
  7. class MaterialController extends Controller
  8. {
  9. // 耗材
  10. public function index(Request $request,MaterialFilters $filter)
  11. {
  12. $materials = Material::query()->filter($filter)->paginate($request['paginate' ?? 50]);
  13. return view('maintenance/material/index',compact('materials'));
  14. }
  15. public function storeApi(Request $request)
  16. {
  17. }
  18. public function updateApi(Request $request):array
  19. {
  20. $material = Material::query()->find($request['id']);
  21. try {
  22. $material->update($request->all(['code', 'name']));
  23. return ['success' => true,'date'=>$material];
  24. } catch (WarningException $e) {
  25. return ['success'=>false,'message'=>$e->getMessage()];
  26. }
  27. }
  28. public function destroyApi($id):array
  29. {
  30. /** @var Material $material */
  31. $material = Material::query()->find($id);
  32. try {
  33. $bool = $material->delete();
  34. if($bool>0)return ['success'=>true];
  35. else return ['success'=>false,'message'=>'删除失败'];
  36. } catch (WarningException $e) {
  37. return ['success'=>false,'message'=>$e->getMessage()];
  38. }
  39. }
  40. }