114 lines
4.2 KiB
PHP
114 lines
4.2 KiB
PHP
<?php
|
||
|
||
namespace App\Admin\Controllers;
|
||
|
||
use Carbon\Carbon;
|
||
use App\Admin\Repositories\LuckDrawActivity;
|
||
use Dcat\Admin\Form;
|
||
use Dcat\Admin\Grid;
|
||
use Dcat\Admin\Show;
|
||
use App\Admin\Renderable\LuckDrawTable;
|
||
use Dcat\Admin\Http\Controllers\AdminController;
|
||
|
||
class LuckDrawActivityController extends AdminController
|
||
{
|
||
/**
|
||
* Make a grid builder.
|
||
*
|
||
* @return Grid
|
||
*/
|
||
protected function grid()
|
||
{
|
||
return Grid::make(new LuckDrawActivity(), function (Grid $grid) {
|
||
$grid->column('id')->sortable();
|
||
$grid->column('activity_name');
|
||
// $grid->column('activity_kv');
|
||
// $grid->column('activity_desc');
|
||
$grid->column('options', '奖品列表')->display('奖品列表')->modal(LuckDrawTable::make());
|
||
$grid->column('one_draw')->append('分');
|
||
$grid->column('five_draw')->append('分');
|
||
$grid->column('start_time');
|
||
$grid->column('end_time');
|
||
$grid->column('created_at');
|
||
// $grid->column('updated_at')->sortable();
|
||
|
||
$grid->model()->orderBy('created_at', 'desc');
|
||
|
||
$grid->filter(function (Grid\Filter $filter) {
|
||
$filter->equal('id');
|
||
|
||
});
|
||
});
|
||
}
|
||
|
||
/**
|
||
* Make a show builder.
|
||
*
|
||
* @param mixed $id
|
||
*
|
||
* @return Show
|
||
*/
|
||
protected function detail($id)
|
||
{
|
||
return Show::make($id, new LuckDrawActivity(), function (Show $show) {
|
||
$show->field('id');
|
||
$show->field('activity_name');
|
||
$show->field('activity_kv');
|
||
$show->field('activity_desc');
|
||
$show->field('one_draw');
|
||
$show->field('five_draw');
|
||
$show->field('start_time');
|
||
$show->field('end_time');
|
||
$show->field('created_at');
|
||
$show->field('updated_at');
|
||
});
|
||
}
|
||
|
||
/**
|
||
* Make a form builder.
|
||
*
|
||
* @return Form
|
||
*/
|
||
protected function form()
|
||
{
|
||
return Form::make(LuckDrawActivity::with('options'), function (Form $form) {
|
||
$form->display('id');
|
||
$form->text('activity_name')->required();
|
||
// $form->text('activity_kv');
|
||
$form->textarea('activity_desc');
|
||
$form->number('one_draw')->attribute('min', 0);
|
||
$form->number('five_draw')->attribute('min', 0);
|
||
$form->dateRange('start_time', 'end_time', '活动时间范围')->required()->help('开始日期0点~结束日期0点');
|
||
$form->hasMany('options', function($form) {
|
||
// $form->row(function (Form\Row $form){
|
||
// $form->horizontal();
|
||
// $form->width(6)->text('username')->width(8,4)->required();
|
||
// $form->text('title')->width(8);
|
||
// });
|
||
$form->column(2, function(Form\NestedForm $form){
|
||
});
|
||
$form->column(4, function(Form\NestedForm $form){
|
||
$form->select('draw_info','奖品')->options(admin_route('quan_ticket.api'))->required();
|
||
$form->text('draw_name','奖品名称')->required();
|
||
$form->image('draw_logo', '奖品图片')
|
||
->accept('jpg,png,gif,jpeg', 'image/*')
|
||
->move('milk-tea/activities/'.Carbon::now()->toDateString())
|
||
->saveFullUrl()->removable(false)
|
||
->required()->help('建议图片尺寸:750*580');
|
||
});
|
||
$form->column(4, function(Form\NestedForm $form){
|
||
$form->currency('draw_rate', '中奖概率')->symbol('%')->default(0)->required();
|
||
$form->switch('is_five', '是否5连必中')->options(['0'=>'否','1'=>'是'])->default(0);
|
||
$form->radio('is_num', '是否限量')->when(0, function (Form\NestedForm $form) {
|
||
// $form->
|
||
})->when(1, function (Form\NestedForm $form) {
|
||
$form->number('draw_num', '限制数量');
|
||
})->options(['0'=>'不限量','1'=>'限量'])->default(0)->required();
|
||
});
|
||
});
|
||
$form->display('created_at');
|
||
$form->display('updated_at');
|
||
});
|
||
}
|
||
}
|