$billingModels]); } public function create() { if(!Gate::allows('计费模型-录入')){ return redirect(url('/')); } $carriers=Carrier::get(); $provinces=Province::with('cities')->get(); $units=Unit::get(); return view('waybill.billingModel.create',['carriers'=>$carriers,'provinces'=>$provinces,'units'=>$units]); } public function store(Request $request) { if(!Gate::allows('计费模型-录入')){ return redirect(url('/')); } $this->validateBillingModel($request)->validate(); $billingModel=$request->input('BillingModel'); BillingModel::create($billingModel); $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']); return redirect('billingModel')->with('successTip','新计费模型录入成功'); } public function edit($id) { if(!Gate::allows('计费模型-编辑')){ return redirect(url('/')); } $billingModel=BillingModel::find($id); $carriers=Carrier::get(); $provinces=Province::with('cities')->get(); $units=Unit::get(); return view('waybill.billingModel.edit',['billingModel'=>$billingModel,'carriers'=>$carriers,'provinces'=>$provinces,'units'=>$units]); } public function update(Request $request, $id) { if(!Gate::allows('计费模型-编辑')){ return redirect(url('/')); } $this->validateBillingModel($request)->validate(); $billingModel=BillingModel::find($id); $billingModel->fill($request->input('BillingModel')); if ($billingModel->save()){ $this->log(__METHOD__,__FUNCTION__,json_encode($request->toArray()),Auth::user()['id']); return redirect('billingModel')->with('successTip','新计费模型修改成功'); } } public function destroy($id) { if(!Gate::allows('计费模型-删除')){ return redirect(url('/')); } $billingModel=BillingModel::find($id); $this->log(__METHOD__,__FUNCTION__,json_encode($billingModel),Auth::user()['id']); $result=$billingModel->delete(); return ['success'=>$result]; } protected function validateBillingModel(Request $request){ $min = $request->input('BillingModel.range_min'); $validator= Validator::make($request->input(),[ 'BillingModel.province_id'=>'required|integer', 'BillingModel.carrier_id'=>'required|integer', 'BillingModel.unit_id'=>'required|integer', 'BillingModel.city_id'=>'required|Integer', 'BillingModel.range_min'=> 'required|min:0|numeric', 'BillingModel.range_max'=> "required|min:{$min}|numeric", 'BillingModel.unit_price'=>'required|min:0|numeric', 'BillingModel.initial_weight'=>'required|min:0|numeric', ],[ 'required'=>':attribute 为必填项', 'min' =>':attribute 数值过小', 'max' => ':attribute 数值过大', 'numeric' =>':attribute 应为数字', 'integer'=> ':attribute 选择错误', ],[ 'BillingModel.province_id'=>'省份', 'BillingModel.carrier_id'=>'承运商', 'BillingModel.unit_id'=>'计重单位', 'BillingModel.city_id'=>'城市', 'BillingModel.range_min'=>'价格区间最小值', 'BillingModel.range_max'=>'价格区间最大值', 'BillingModel.unit_price'=>'单价', 'BillingModel.initial_weight'=>'始重', ]); return $validator; } }