|
|
|
@ -16,8 +16,6 @@ use App\Models\v3\Market as MarketModel; |
|
|
|
use App\Models\v3\Category as CategoryModel; |
|
|
|
use Dcat\Admin\Form\NestedForm; |
|
|
|
|
|
|
|
use function GuzzleHttp\json_decode; |
|
|
|
|
|
|
|
class CouponController extends AdminController |
|
|
|
{ |
|
|
|
protected $receive_type = 0; |
|
|
|
@ -28,12 +26,9 @@ class CouponController extends AdminController |
|
|
|
*/ |
|
|
|
protected function grid() |
|
|
|
{ |
|
|
|
// $model = new CouponModel();
|
|
|
|
// $list = $model->setAppends([])->select('id','title')->get();
|
|
|
|
// dd($list->toArray());
|
|
|
|
return Grid::make(new Coupon(), function (Grid $grid) { |
|
|
|
$grid->id->sortable(); |
|
|
|
$grid->title; |
|
|
|
$grid->title->width('12%'); |
|
|
|
$grid->start_time_text; |
|
|
|
$grid->end_time_text; |
|
|
|
|
|
|
|
@ -47,7 +42,7 @@ class CouponController extends AdminController |
|
|
|
$grid->active_type_text; |
|
|
|
$grid->status |
|
|
|
->using( |
|
|
|
CouponModel::$_STATUS |
|
|
|
CouponModel::$status |
|
|
|
) |
|
|
|
->label( |
|
|
|
config('label.status_label') |
|
|
|
@ -67,10 +62,12 @@ class CouponController extends AdminController |
|
|
|
} |
|
|
|
}); |
|
|
|
$grid->filter(function (Grid\Filter $filter) { |
|
|
|
$discountTypeList = CouponModel::$discountType; |
|
|
|
$activeTypeList = CouponModel::$activeType; |
|
|
|
$filter->like('title','标题'); |
|
|
|
$filter->equal('discount_type')->select(config('coupon.discount_type')); |
|
|
|
$filter->equal('active_type')->select(config('coupon.active_type')); |
|
|
|
$status = config('coupon.status'); |
|
|
|
$filter->equal('discount_type')->select($discountTypeList); |
|
|
|
$filter->equal('active_type')->select($activeTypeList); |
|
|
|
$status = CouponModel::$status; |
|
|
|
unset($status[-1]);/* 去掉删除状态 */ |
|
|
|
$filter->in('status')->multipleSelect($status); |
|
|
|
}); |
|
|
|
@ -78,7 +75,8 @@ class CouponController extends AdminController |
|
|
|
$grid->disableBatchDelete(); |
|
|
|
$grid->disableCreateButton(); |
|
|
|
$grid->disableDeleteButton(); |
|
|
|
$grid->disableEditButton(); |
|
|
|
// $grid->disableEditButton();
|
|
|
|
$grid->disableRowSelector(); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
@ -90,9 +88,10 @@ class CouponController extends AdminController |
|
|
|
* @return Show |
|
|
|
*/ |
|
|
|
protected function detail($id) |
|
|
|
{ |
|
|
|
return Show::make($id, new Coupon(), function (Show $show) use($id){ |
|
|
|
// $show->id;
|
|
|
|
{ |
|
|
|
$builder = CouponModel::with('receiveType'); |
|
|
|
return Show::make($id, $builder, function (Show $show) use($id){ |
|
|
|
$show->id; |
|
|
|
$show->title; |
|
|
|
$show->introduce; |
|
|
|
$show->full_amount; |
|
|
|
@ -107,10 +106,17 @@ class CouponController extends AdminController |
|
|
|
$show->usable_end_time_text; |
|
|
|
|
|
|
|
$show->active_type_text; |
|
|
|
$show->receive_type_text; |
|
|
|
$show->column('receive_type.receive_type','')->as(function($receiveTypeId) use($show){ |
|
|
|
$text = ''; |
|
|
|
if($receiveTypeId > 0){ |
|
|
|
$receiveTypeName = SettingModel::getSettingInfo($receiveTypeId,'name'); |
|
|
|
$text = $receiveTypeName ? $receiveTypeName : $text; |
|
|
|
} |
|
|
|
return $text; |
|
|
|
}); |
|
|
|
$show->type_text; |
|
|
|
$show->category_text; |
|
|
|
$show->market_id->as(function($marketId){ |
|
|
|
$show->market_ids->as(function($marketId){ |
|
|
|
$text = '全部市场'; |
|
|
|
if($marketId > 0){ |
|
|
|
$market = marketModel::select('name')->find($marketId)->toArray(); |
|
|
|
@ -118,14 +124,14 @@ class CouponController extends AdminController |
|
|
|
} |
|
|
|
return $text; |
|
|
|
}); |
|
|
|
$show->storetype_id->as(function($storeTypeId){ |
|
|
|
$text = '全部店铺类型'; |
|
|
|
if($storeTypeId > 0){ |
|
|
|
$storeType = storeTypeModel::select('type_name')->find($storeTypeId)->toArray(); |
|
|
|
$text = $storeType ? $storeType['type_name'] : $text ; |
|
|
|
} |
|
|
|
return $text; |
|
|
|
}); |
|
|
|
// $show->category_ids->as(function($storeTypeId){
|
|
|
|
// $text = '全部店铺类型';
|
|
|
|
// if($storeTypeId > 0){
|
|
|
|
// $storeType = storeTypeModel::select('type_name')->find($storeTypeId)->toArray();
|
|
|
|
// $text = $storeType ? $storeType['type_name'] : $text ;
|
|
|
|
// }
|
|
|
|
// return $text;
|
|
|
|
// });
|
|
|
|
$show->is_new_user_text; |
|
|
|
|
|
|
|
$show->usable_number; |
|
|
|
@ -152,25 +158,44 @@ class CouponController extends AdminController |
|
|
|
$form->textarea('introduce')->required(); |
|
|
|
$form->currency('full_amount')->required()->symbol('¥'); |
|
|
|
$form->currency('discounts')->required()->symbol('¥'); |
|
|
|
$form->radio('discount_type')->options(CouponModel::$_DISCOUNTTYPE)->default(1); |
|
|
|
$form->radio('discount_type')->options(CouponModel::$discountType)->default(1); |
|
|
|
$form->number('inventory')->required()->type('number')->attribute('min', 1)->default(1); |
|
|
|
$form->number('weigh')->type('number')->attribute('min', 0)->default(0); |
|
|
|
$form->hidden('is_new_user')->options(CouponModel::$_ISNEWUSER)->default(2); |
|
|
|
$form->hidden('is_new_user')->options(CouponModel::$isNewUser)->default(2); |
|
|
|
}); |
|
|
|
|
|
|
|
$form->column(6,function(Form $form) { |
|
|
|
$form->select('active_type')->required()->options(CouponModel::$_ACTIVETYPE)->default(1); |
|
|
|
|
|
|
|
$form->datetimeRange('start_time','end_time','活动时间')->required(); |
|
|
|
// ->rules('after:now',[
|
|
|
|
// 'after' => '只能选择今天和之后的时间'
|
|
|
|
// ]);
|
|
|
|
$form->datetimeRange('usable_start_time','usable_end_time','可用时间')->required()->rules('after:start_time',[ |
|
|
|
'after' => '可用时间必须比活动开始时间晚' |
|
|
|
]); |
|
|
|
$receiveTypes = SettingModel::getSettingArray(); |
|
|
|
$form->select('active_type')->required()->options(CouponModel::$activeType)->default(1); |
|
|
|
// $form->select('receive_type.receive_type','领取方式')->required()->options($receiveTypes)->default(2);
|
|
|
|
$form->datetime('start_time')->required() |
|
|
|
->customFormat(function ($start_time){ |
|
|
|
return date('Y-m-d H:i:s',$start_time); |
|
|
|
}); |
|
|
|
// ->rules('after:now',[
|
|
|
|
// 'after' => '只能选择今天和之后的时间'
|
|
|
|
// ]);
|
|
|
|
$form->datetime('end_time')->required() |
|
|
|
->customFormat(function ($start_time){ |
|
|
|
return date('Y-m-d H:i:s',$start_time); |
|
|
|
}) |
|
|
|
->rules('after:start_time',[ |
|
|
|
'after' => '只能选择活动开始之后的时间' |
|
|
|
]); |
|
|
|
$form->datetime('usable_start_time')->required() |
|
|
|
->customFormat(function ($start_time){ |
|
|
|
return date('Y-m-d H:i:s',$start_time); |
|
|
|
}); |
|
|
|
$form->datetime('usable_end_time')->required() |
|
|
|
->customFormat(function ($start_time){ |
|
|
|
return date('Y-m-d H:i:s',$start_time); |
|
|
|
}) |
|
|
|
->rules('after:end_time',[ |
|
|
|
'after' => '只能选择活动结束之后的时间' |
|
|
|
]); |
|
|
|
|
|
|
|
// $form->select('type')->options(CouponModel::$_TYPE)->default(1)->disable();
|
|
|
|
// $form->select('category')->options(CouponModel::$_CATEGORY)->default(1)->disable();
|
|
|
|
|
|
|
|
/* 默认全平台的市场 */ |
|
|
|
$marketList = MarketModel::getMarketArray(); |
|
|
|
$form->multipleSelect('market_ids')->options($marketList)->help('不选默认所有市场可用'); |
|
|
|
@ -180,7 +205,7 @@ class CouponController extends AdminController |
|
|
|
}); |
|
|
|
|
|
|
|
$form->column(12,function(Form $form){ |
|
|
|
$form->tags('activity_available','可用活动')->options(CouponModel::$_ACTIVITY_AVAILABLE); |
|
|
|
$form->tags('activity_available','可用活动')->options(CouponModel::$activityAvailable); |
|
|
|
$form->tags('tags','标签')->options(['新人专享','满39减10','满19减5']); |
|
|
|
$form->text('remark')->maxLength(500,'最多只能输入500个字')->default(''); |
|
|
|
}); |
|
|
|
|