| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- namespace App\Http\Controllers;
- use App\Components\AsyncResponse;
- use App\Filters\OwnerMaterialFilters;
- use App\Material;
- use App\OwnerMaterial;
- use App\Services\OwnerService;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\Auth;
- class OwnerMaterialController extends Controller
- {
- use AsyncResponse;
- public function index(Request $request,OwnerMaterialFilters $filters)
- {
- $ownerMaterials = OwnerMaterial::query()->with(['owner','material','initiator','uploadFile'])->orderByDesc('id')->filter($filters)->paginate($request['paginate'] ?? 50);
- $owners = app(OwnerService::class)->getAuthorizedOwners();
- $materials = Material::all();
- return view('/maintenance/ownerMaterial/index',compact('ownerMaterials','owners','materials'));
- }
- public function storeApi(Request $request):array
- {
- $params = $request->all(['owner_id', 'material_id', 'material_code', 'size', 'special', 'specification']);
- $params['initiator'] = Auth::user()['id'];
- try {
- $material = OwnerMaterial::query()->create($params);
- if ($material) return ['success' => true,'data' => $material->loadMissing(['owner','material','initiator','uploadFile'])];
- else return ['success' => false, 'message' => '添加失败'];
- } catch (\Exception $e) {
- return ['success' => false,'message' => $e->getMessage()];
- }
- }
- public function updateApi(Request $request)
- {
- //$this->gate("xx");
- $material = OwnerMaterial::query()->find($request['id']);
- if(!$material)$this->error("对应的项目耗材没有找到");
- $bool = $material->update($request->all(['owner_id', 'material_id', 'material_code', 'size', 'special', 'specification']));
- if($bool==0)$this->error("更新异常");
- $this->success($material->loadMissing(['owner','material','initiator','uploadFile']));
- }
- public function destroyApi($id)
- {
- $ownerMaterial = OwnerMaterial::query()->find($id);
- if(!$ownerMaterial)$this->error('对应的项目耗材没有找到');
- $ownerMaterial->delete();
- $this->success();
- }
- }
|