column('id');
// $grid->column('name');
$grid->column('type')->using($types)->label();
// $grid->column('attire_id');
$grid->column('attire.name', '装扮名称');
$grid->column('attire.img_1', '图片')->display(function($v) {
if($this->type == 1) {
return "
url($this->img)."' style='height:100px;width:auto;' />";
} else {
return "
url($v)."' style='height:100px;width:auto;' />";
}
});
$grid->column('info')->width("250px");
$grid->column('attire.cate', '装扮类别');
$grid->column('cost_pasters');
$grid->column('limit')->help("限购规则:礼劵是按每月(自然月)限购,装扮是永久");
$grid->column('sort')->editable(true);
// $grid->column('created_at');
// $grid->column('updated_at');
$grid->filter(function (Grid\Filter $filter) {
$filter->equal('id');
});
$grid->model()->orderBy("sort");
$grid->enableDialogCreate();
$grid->setDialogFormDimensions('50%', '60%');
$grid->withBorder();
$grid->addTableClass(['table-text-center']);
$grid->actions(function (Grid\Displayers\Actions $actions) {
$actions->quickEdit(true);
$actions->disableEdit();
$actions->disableView();
});
$grid->tools(function (Grid\Tools $tools) {
$tools->append('兑换记录');
});
//
$grid->export()->rows(function ($rows) use ($types) {
// dump($rows);
foreach ($rows as &$row) {
unset($row['attire.img_1']);
$tmp = $row->toArray();
$row['type'] = $types[$row['type']];
// dd($tmp);
$row['attire.name'] = $tmp['attire']? $tmp['attire']['name']:'-';
$row['attire.cate'] = $tmp['attire']? $tmp['attire']['cate']:'-';
}
//
return $rows;
});
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new Gift(), function (Show $show) {
$show->field('id');
$show->field('type');
$show->field('attire_id');
$show->field('limit');
$show->field('sort');
$show->field('created_at');
$show->field('updated_at');
});
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new Gift(), function (Form $form) {
$form->radio('type')
->when(1, function (Form $form) {
$form->image('img','礼劵图片')->autoUpload();
})->when(2, function (Form $form) {
$form->selectTable('attire_id', '装扮') // 设置渲染类实例,并传递自定义参数
->title('装扮列表')
->dialogWidth('50%') // 弹窗宽度,默认 800px
->from(AttireTable::make())
->model(\App\Models\Attire::class, 'id', 'name')
->default(0);
})->options([1=>'礼劵',2=>'装扮'])
->required()
->default(2);
$form->textarea("info")->help("建议字数控制在40字左右,超出会省略...")->required();
$form->number('cost_pasters')->default(0)->required()->help("限购规则:礼劵是每月限购,装扮是永久");
$form->number('limit')->default(1)->required();
$form->number('sort')->help("数字大的优先展示");
});
}
}