order-food-admin/app/Admin/Controllers/LuckDrawActivityController.php

114 lines
4.2 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?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');
});
}
}