header('奖品列表')
->description('请确保总概率达到100%')
->body(view('admin.lottery.prize')->with(['grid'=>$this->grid()]));
}
/**
* Edit interface.
*
* @param mixed $id
* @param Content $content
* @return Content
*/
public function edit($id, Content $content)
{
return $content
->header('奖品设置')
->description(' ')
->body($this->editForm($id)->edit($id));
}
/**
* Create interface.
*
* @param Content $content
* @return Content
*/
public function create(Content $content)
{
return $content
->header('奖品设置')
->description(' ')
->body($this->form());
}
/**
* Make a grid builder.
*
* @return Grid
*/
protected function grid()
{
$grid = new Grid(new LotteryPrize);
$grid->model();
$grid->id('ID');
$grid->column('prize_name','奖品名称');
$grid->prize_image('奖品图片')->display(function () {
if ($this->prize_image) {
return '
';
} else {
return '';
}
});
$grid->prize_odds('中奖概率')->display(function () {
return $this->prize_odds . '%';
});
$grid->prize_bg('奖品背景色')->display(function () {
if ($this->prize_bg) {
return '
';
} else {
return '';
}
});
$grid->column('prize_number','奖品数量');
//新增按钮
if (userAdmin::user()->can('prize_add')) {
$grid->disableCreateButton(false);
}
//批量删除
if (userAdmin::user()->can('prize_delete')) {
$grid->tools(function ($tools) {
$tools->batch(function ($batch) {
$batch->disableDelete(false);
});
});
} else {
$grid->disableRowSelector();
}
$grid->actions(function ($actions) {
if (userAdmin::user()->can('prize_delete')) {
$actions->disableEdit(false);
}
if (userAdmin::user()->can('prize_edit')) {
$actions->disableDelete(false);
}
});
return $grid;
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
$form = new ValidateForm(new LotteryPrize());
$form->text('prize_name', '奖品名称')->rules('required|max:100', ['required' => '奖品名称不能为空。', 'max' => '标题长度不能大于100。'])->setWidth(4)->setMustMark();
$form->image('prize_image', '奖品图片')->uniqueName()->rules('image|mimes:jpeg,bmp,png', ['image' => '缩略图请选择图片文件。', 'mimes' => '请选择jpeg,bmp,png格式的缩略图上传。'])->setWidth(4);
$form->number('prize_odds', '中奖概率(%)')->rules('required', ['required' => '中奖概率不能为空。'])->setWidth(4)->setMustMark();
$form->color('prize_bg', '背景颜色')->rules('required|regex:/^#[a-fA-F0-9]{6}$/', ['required' => '标题颜色不能为空。', 'regex' => '标题颜色格式不正确。'])->default('#000000');
$form->number('prize_number', '奖品数量')->rules('required', ['required' => '奖品数量不能为空。'])->setWidth(4)->setMustMark();
$form->saved(function (Form $form) {
//如果没有上传logo,判断是否
$prize_image = \Illuminate\Support\Facades\Request::input('prize_image');
if (!$form->model()->prize_image && $prize_image) {
$form->model()->prize_image = $prize_image;
$form->model()->save();
}
});
$form->footer(function ($footer) {
$footer->disableViewCheck();
$footer->disableEditingCheck();
$footer->disableCreatingCheck();
$footer->disableReset();
});
return $form;
}
protected function editForm($id)
{
$form = new ValidateForm(new LotteryPrize);
$form->text('prize_name', '奖品名称')->rules('required|max:100', ['required' => '奖品名称不能为空。', 'max' => '标题长度不能大于100。'])->setWidth(4)->setMustMark();
$form->image('prize_image', '奖品图片')->uniqueName()->rules('image|mimes:jpeg,bmp,png', ['image' => '缩略图请选择图片文件。', 'mimes' => '请选择jpeg,bmp,png格式的缩略图上传。'])->setWidth(4);
$form->number('prize_odds', '中奖概率(%)')->rules('required', ['required' => '中奖概率不能为空。'])->setWidth(4)->setMustMark();
$form->color('prize_bg', '背景颜色')->rules('required|regex:/^#[a-fA-F0-9]{6}$/', ['required' => '标题颜色不能为空。', 'regex' => '标题颜色格式不正确。'])->default('#000000');
$form->number('prize_number', '奖品数量')->rules('required', ['required' => '奖品数量不能为空。'])->setWidth(4)->setMustMark();
$form->saved(function (Form $form) {
//如果没有上传logo,判断是否
$prize_image = \Illuminate\Support\Facades\Request::input('prize_image');
if (!$form->model()->prize_image && $prize_image) {
$form->model()->prize_image = $prize_image;
$form->model()->save();
}
});
$form->footer(function ($footer) {
$footer->disableViewCheck();
$footer->disableEditingCheck();
$footer->disableCreatingCheck();
$footer->disableReset();
});
$form->tools(function (Form\Tools $tools) {
$tools->disableDelete();
$tools->disableView();
});
return $form;
}
public function destroy($id)
{
//是否存在报名列表
if ($this->form()->destroy($id)) {
$data = [
'status' => true,
'message' => trans('admin.delete_succeeded'),
];
} else {
$data = [
'status' => false,
'message' => trans('admin.delete_failed'),
];
}
return response()->json($data);
}
}