107 lines
3.5 KiB
PHP
107 lines
3.5 KiB
PHP
<?php
|
|
|
|
namespace App\Admin\Controllers;
|
|
|
|
use App\Admin\Repositories\ActivityDayGood;
|
|
use Dcat\Admin\Form;
|
|
use Dcat\Admin\Grid;
|
|
use Dcat\Admin\Show;
|
|
use Dcat\Admin\Http\Controllers\AdminController;
|
|
|
|
class ActivityDayGoodController extends AdminController
|
|
{
|
|
/**
|
|
* Make a grid builder.
|
|
*
|
|
* @return Grid
|
|
*/
|
|
protected function grid()
|
|
{
|
|
$builder = ActivityDayGood::with('goods');
|
|
return Grid::make($builder, function (Grid $grid) {
|
|
$grid->column('id')->sortable();
|
|
$grid->column('title');
|
|
$grid->column('goods.goods_name', '商品名称');
|
|
$grid->column('start_time');
|
|
$grid->column('end_time');
|
|
$grid->column('goods_num')->help('库存修改,次日生效');
|
|
$grid->column('buy_times');
|
|
$grid->column('buy_num');
|
|
$grid->column('created_at');
|
|
$grid->column('updated_at')->sortable();
|
|
|
|
$grid->filter(function (Grid\Filter $filter) {
|
|
$filter->equal('id');
|
|
|
|
});
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Make a show builder.
|
|
*
|
|
* @param mixed $id
|
|
*
|
|
* @return Show
|
|
*/
|
|
protected function detail($id)
|
|
{
|
|
$builder = ActivityDayGood::with('goods');
|
|
return Show::make($id, $builder, function (Show $show) {
|
|
$show->field('id');
|
|
$show->field('title');
|
|
$show->field('goods.goods_name', '商品名称');
|
|
$show->field('start_time');
|
|
$show->field('end_time');
|
|
$show->field('goods_num');
|
|
$show->field('buy_times');
|
|
$show->field('buy_num');
|
|
$show->field('created_at');
|
|
$show->field('updated_at');
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Make a form builder.
|
|
*
|
|
* @return Form
|
|
*/
|
|
protected function form()
|
|
{
|
|
$builder = ActivityDayGood::with('dayNum');
|
|
return Form::make($builder, function (Form $form) {
|
|
$form->display('id');
|
|
$form->text('title')->required();
|
|
$form->select('goods_id', '活动商品')->options(admin_route('goods.api', ['is_sell'=>0]))->required();
|
|
$form->editor('content', '活动详情')->required();
|
|
$form->dateRange('start_time', 'end_time', '活动时间范围')->required();
|
|
$form->number('buy_times')->default(1);
|
|
$form->number('buy_num')->default(1);
|
|
$form->number('goods_num')->default(1)->help('库存修改,次日生效');
|
|
|
|
$form->hasMany('day_num', function(Form\NestedForm $form) {
|
|
$form->column(2, function(Form\NestedForm $form){
|
|
});
|
|
$form->column(4, function(Form\NestedForm $form){
|
|
$form->date('time');
|
|
});
|
|
$form->column(4, function(Form\NestedForm $form){
|
|
$form->number('goods_num', '每日库存')->default(1);
|
|
});
|
|
});
|
|
$form->saving(function (Form $form) {
|
|
// 判断是否是新增操作
|
|
$form->start_time .= ' 00:00:00';
|
|
$form->end_time .= ' 23:59:59';
|
|
if ($form->start_time >= $form->end_time) {
|
|
// 中断后续逻辑
|
|
return $form->response()->error('开始时间不能大于结束时间。');
|
|
}
|
|
});
|
|
|
|
$form->display('created_at');
|
|
$form->display('updated_at');
|
|
});
|
|
}
|
|
}
|