You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
1.9 KiB

<?php
/**
* Created by PhpStorm.
* User: weizongsong
* Date: 2019-04-12
* Time: 22:34
*/
namespace App\Http\Controllers\Admin;
use App\Events\FactorSaved;
use App\Forms\FactorForm;
use App\Models\Factor;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Kris\LaravelFormBuilder\FormBuilder;
class FactorController extends CommonController
{
public $bladePath = "admin.factor";
public $urlPrefix = "admin/factor";
public $modelName = "产品型号";
public $modelClass = Factor::class;
public $formClass = FactorForm::class;
public function index(Request $request)
{
$data = $this->model->paginate(10);
return view($this->bladePath . ".index", compact("data"));
}
public function create(FormBuilder $formBuilder)
{
$form = $formBuilder->create($this->formClass, [
"method" => "POST",
"id" => "fm",
"url" => url($this->urlPrefix . "/store")
]);
$form->remove('buttons');
$html = view("public._form", compact("form"))->render();
return $this->ajaxResponse($html);
}
public function edit($id = null, Request $request, FormBuilder $formBuilder)
{
$vo = $this->model->with("factorItems")->find($id ?: $request->id);
$form = $formBuilder->create($this->formClass, [
"method" => "POST",
"id" => "fm",
"url" => url($this->urlPrefix . "/update/" . $vo->id),
"class" => "form form-horizontal validate-form",
"model" => $vo
]);
$form->remove('buttons');
$html = view("public._form", compact("form"))->render();
return $this->ajaxResponse($html);
}
public function stored($model)
{
event(new FactorSaved($model));
}
public function updated($model)
{
event(new FactorSaved($model));
}
}