70 lines
1.7 KiB
PHP
70 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace Modules\Mall\Http\Controllers\Admin;
|
|
|
|
use Encore\Admin\Form;
|
|
use Encore\Admin\Grid;
|
|
use Encore\Admin\Layout\Content;
|
|
use Illuminate\Routing\Controller;
|
|
use Modules\Mall\Models\Goods;
|
|
use Modules\Mall\Models\GoodsSpec;
|
|
use Modules\Mall\Models\GoodsSpecValue;
|
|
|
|
class SpecValueController extends Controller
|
|
{
|
|
|
|
public function index(Content $content, Goods $good, GoodsSpec $spec): Content
|
|
{
|
|
return $content
|
|
->header($spec->name)
|
|
->description('属性值列表')
|
|
->body($this->grid($spec));
|
|
}
|
|
|
|
public function grid($spec): Grid
|
|
{
|
|
$grid = new Grid(new GoodsSpecValue());
|
|
|
|
$grid->model()->where('spec_id', $spec->id);
|
|
$grid->column('value', '属性值');
|
|
|
|
return $grid;
|
|
}
|
|
|
|
public function create(Content $content, Goods $good, GoodsSpec $spec): Content
|
|
{
|
|
return $content
|
|
->header($spec->name)
|
|
->description('属性列表')
|
|
->body($this->form($spec));
|
|
}
|
|
|
|
public function form($spec): Form
|
|
{
|
|
$form = new Form(new GoodsSpecValue());
|
|
|
|
$form->text('value', '属性值');
|
|
$form->hidden('spec_id')->value($spec->id);
|
|
|
|
return $form;
|
|
}
|
|
|
|
public function store(Goods $good, GoodsSpec $spec)
|
|
{
|
|
return $this->form($spec)->store();
|
|
}
|
|
|
|
public function edit(Content $content, Goods $good, GoodsSpec $spec, GoodsSpecValue $value): Content
|
|
{
|
|
return $content
|
|
->header($spec->name)
|
|
->description('属性列表')
|
|
->body($this->form($spec)->edit($value->id));
|
|
}
|
|
|
|
public function update(Goods $good, GoodsSpec $spec, GoodsSpecValue $value)
|
|
{
|
|
return $this->form($spec)->update($value->id);
|
|
}
|
|
|
|
} |