with(['warehouse']) ->orderBy('id', 'desc') ->paginate(35); return view('maintenance.laborCompany.index', ['laborCompanys' => $laborCompanys]); } public function create() { if (!Gate::allows('劳务所-录入')) { return redirect(url('/')); } $warehouses = Warehouse::all(); return view('maintenance.laborCompany.create', compact('warehouses')); } public function store(Request $request) { if (!Gate::allows('劳务所-录入')) { return redirect(url('/')); } $this->validatorCreate($request->all())->validate(); $laborCompany = new LaborCompany($request->all()); $laborCompany->save(); app('LaborCompanyService')->createRole($laborCompany); app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']); return redirect('maintenance/laborCompany/create')->with('successTip', "成功录入劳务所“{$request->input('name')}”"); } protected function validatorCreate(array $data) { return Validator::make($data, [ 'name' => ['required', 'string', 'max:50', 'unique:labor_companies'], ]); } protected function validatorUpdate(array $data) { return Validator::make($data, [ 'name' => ['required', 'string', 'max:50'], ]); } /** * Display the specified resource. * * @param $laborCompany * @return */ public function show(LaborCompany $laborCompany) { // } /** * Show the form for editing the specified resource. * * @param $laborCompany * @return */ public function edit(LaborCompany $laborCompany) { if (!Gate::allows('劳务所-编辑')) { return redirect(url('/')); } $warehouses = Warehouse::all(); return view('maintenance.laborCompany.edit', compact('laborCompany', 'warehouses')); } /** * @param Request $request * @param LaborCompany $laborCompany * @return array|Application|RedirectResponse|Redirector|void * @throws ValidationException */ public function update(Request $request, LaborCompany $laborCompany) { if (!Gate::allows('劳务所-编辑')) { return redirect(url('/')); } if (!empty($request->input('name'))) { $this->validatorUpdate($request->all())->validate(); $laborCompany->fill($request->all()); $laborCompany->update(); app('LaborCompanyService')->updateRole($laborCompany); app('LogService')->log(__METHOD__, __FUNCTION__, json_encode($request->toArray()), Auth::user()['id']); return redirect('maintenance/laborCompany/')->with('successTip', "成功修改劳务所“{$laborCompany['name']}”!"); } else if (!empty($request->input('status'))) { $laborCompany = LaborCompany::query()->find($request->input('id')); $laborCompany->status = $request->input('status'); $laborCompany->save(); return ['success' => true, 'data' => ['status' => $request->input('status')]]; } } /** * Remove the specified resource from storage. * * @param $laborCompany * @return array * @throws */ public function destroy(LaborCompany $laborCompany) { if (!Gate::allows('劳务所-删除')) { return redirect(url('/')); } app('LogService')->log(__METHOD__, __FUNCTION__, $laborCompany->toJson(), Auth::user()['id']); $re = $laborCompany->delete(); return ['success' => $re]; } }