|
|
|
@ -12,9 +12,13 @@ use App\Models\CouponSetting as SettingModel; |
|
|
|
use App\Models\Coupon as CouponModel; |
|
|
|
use App\Models\ImsCjdcMarket as marketModel; |
|
|
|
use App\Models\StoreType as storeTypeModel; |
|
|
|
use Illuminate\Support\Facades\DB; |
|
|
|
|
|
|
|
use function GuzzleHttp\json_decode; |
|
|
|
|
|
|
|
class CouponController extends AdminController |
|
|
|
{ |
|
|
|
protected $receive_type = 0; |
|
|
|
/** |
|
|
|
* Make a grid builder. |
|
|
|
* |
|
|
|
@ -22,6 +26,10 @@ class CouponController extends AdminController |
|
|
|
*/ |
|
|
|
protected function grid() |
|
|
|
{ |
|
|
|
// DB::select();
|
|
|
|
// $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; |
|
|
|
@ -34,6 +42,7 @@ class CouponController extends AdminController |
|
|
|
|
|
|
|
$grid->inventory; |
|
|
|
$grid->inventory_use; |
|
|
|
$grid->use_number; |
|
|
|
$grid->active_type_text; |
|
|
|
$grid->status |
|
|
|
->using( |
|
|
|
@ -42,17 +51,14 @@ class CouponController extends AdminController |
|
|
|
->label( |
|
|
|
config('coupon.status_label') |
|
|
|
); |
|
|
|
|
|
|
|
// $grid->usable_start_time->display(function($time){
|
|
|
|
// return date('Y-m-d H:i:s',$time);
|
|
|
|
// });
|
|
|
|
// $grid->usable_end_time->display(function($time){
|
|
|
|
// return date('Y-m-d H:i:s',$time);
|
|
|
|
// });
|
|
|
|
|
|
|
|
$grid->filter(function (Grid\Filter $filter) { |
|
|
|
$filter->like('name'); |
|
|
|
|
|
|
|
$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'); |
|
|
|
unset($status[-1]); |
|
|
|
$filter->in('status')->multipleSelect($status); |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
@ -120,14 +126,21 @@ class CouponController extends AdminController |
|
|
|
protected function form() |
|
|
|
{ |
|
|
|
return Form::make(new Coupon(), function (Form $form) { |
|
|
|
$receiveTypeId = 0; |
|
|
|
// $startTime = null;
|
|
|
|
// $receiveTypeId = 0;
|
|
|
|
$startTime = null; |
|
|
|
$endTime = null; |
|
|
|
$usableStartTime = null; |
|
|
|
$usableEndTime = null; |
|
|
|
if($form->isEditing()){ |
|
|
|
$id = $form->getKey(); |
|
|
|
// 查询已选择的领取方式
|
|
|
|
$receiveType = ReceiveTypeModel::where('system_coupon_user_id',$id)->first('receive_type'); |
|
|
|
$receiveTypeId = $receiveType ? $receiveType->receive_type : $receiveTypeId ; |
|
|
|
// $startTime = date('Y-m-d H:i:s',$form->model()->start_time);
|
|
|
|
$receiveTypeId = $receiveType ? $receiveType->receive_type : $this->receive_type ; |
|
|
|
$startTime = date('Y-m-d H:i:s',$form->model()->start_time); |
|
|
|
$endTime = date('Y-m-d H:i:s',$form->model()->end_time); |
|
|
|
$usableStartTime = date('Y-m-d H:i:s',$form->model()->usable_start_time); |
|
|
|
$usableEndTime = date('YmdHis',$form->model()->usable_end_time); |
|
|
|
// dd($usableEndTime);
|
|
|
|
} |
|
|
|
|
|
|
|
/* 页面按钮 */ |
|
|
|
@ -136,7 +149,6 @@ class CouponController extends AdminController |
|
|
|
$form->hidden('id'); |
|
|
|
$form->hidden('created_at'); |
|
|
|
$form->hidden('updated_at'); |
|
|
|
$form->hidden('receive_type'); |
|
|
|
|
|
|
|
/* 编辑字段 */ |
|
|
|
$form->text('title')->required()->maxLength(255,'最多只能输入500个字'); |
|
|
|
@ -146,14 +158,18 @@ class CouponController extends AdminController |
|
|
|
$form->text('discounts')->width(2)->required()->floatTwo(); |
|
|
|
$form->radio('discount_type')->options(config('coupon.discount_type'))->default(1)->required(); |
|
|
|
$form->text('inventory')->width(2)->required()->type('number')->attribute('min', 1)->default(1); |
|
|
|
|
|
|
|
$form->datetime('start_time')->width(3)->required() |
|
|
|
->format('YYYY-MM-DD HH:mm:ss') |
|
|
|
->value('2020-08-21 20:20:20') |
|
|
|
; |
|
|
|
$form->datetime('end_time')->width(3)->required(); |
|
|
|
$form->datetime('usable_start_time')->width(3)->required(); |
|
|
|
$form->datetime('usable_end_time')->width(3)->required(); |
|
|
|
|
|
|
|
$form->datetime('start_time_text')->width(3)->required() |
|
|
|
// ->value($startTime)
|
|
|
|
; |
|
|
|
$form->datetime('end_time')->width(3)->required()->value($endTime); |
|
|
|
$form->datetime('usable_start_time')->width(3)->required()->value($usableStartTime); |
|
|
|
$form->datetime('usable_end_time')->width(3)->required() |
|
|
|
// ->value(20200810121222)
|
|
|
|
// ->value('2020-08-10 10:10:00')
|
|
|
|
// ->value($usableEndTime)
|
|
|
|
// ->format('YYYY-MM-DD HH:mm:ss')
|
|
|
|
; |
|
|
|
|
|
|
|
$form->select('active_type')->width(3)->options(config('coupon.active_type'))->default(1); |
|
|
|
/* 领取方式 */ |
|
|
|
@ -174,15 +190,15 @@ class CouponController extends AdminController |
|
|
|
$form->text('weigh')->width(2)->type('number')->attribute('min', 0)->default(0); |
|
|
|
$form->text('remark')->maxLength(500,'最多只能输入500个字'); |
|
|
|
|
|
|
|
$form->saving(function (Form $form) use(&$receiveTypeId){ |
|
|
|
$form->saving(function (Form $form){ |
|
|
|
if( $form->discount_type == 2 && $form->discount > 0 && $form->discount < 10){ |
|
|
|
return $form->error('优惠金额请输入1~10之间的数字'); |
|
|
|
} |
|
|
|
$receiveTypeId = $form->receive_type; |
|
|
|
$this->receive_type = $form->receive_type; |
|
|
|
$form->deleteInput('receive_type'); |
|
|
|
// $form->model()->deleteFiles('receive_type');
|
|
|
|
$form->deleteInput('start_time_text'); |
|
|
|
}); |
|
|
|
$form->saved(function (Form $form, $result) use($receiveTypeId){ |
|
|
|
$form->saved(function (Form $form, $result){ |
|
|
|
|
|
|
|
$id = $form->getKey(); |
|
|
|
|
|
|
|
@ -202,9 +218,9 @@ class CouponController extends AdminController |
|
|
|
// 添加领取方式
|
|
|
|
$receiveModel = new ReceiveTypeModel(); |
|
|
|
$receiveModel->system_coupon_user_id = $id; |
|
|
|
$receiveModel->receive_type = $receiveTypeId; |
|
|
|
$receiveModel->receive_type = $this->receive_type; |
|
|
|
// 获取一次可领取数量
|
|
|
|
$receiveNumber = SettingModel::select('value')->find($receiveTypeId); |
|
|
|
$receiveNumber = SettingModel::select('value')->find($this->receive_type); |
|
|
|
$receiveModel->one_receive_number = $receiveNumber ? $receiveNumber['value'] :1; |
|
|
|
$receiveModel->save(); |
|
|
|
}); |
|
|
|
@ -216,32 +232,9 @@ class CouponController extends AdminController |
|
|
|
$model->status = -1; |
|
|
|
$model->save(); |
|
|
|
}); |
|
|
|
|
|
|
|
/* 忽略字段 */ |
|
|
|
// $form->ignore(['receive_type']);
|
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Handle the form request. |
|
|
|
* |
|
|
|
* @param array $input |
|
|
|
* |
|
|
|
* @return Response |
|
|
|
*/ |
|
|
|
public function handle(array $input) |
|
|
|
{ |
|
|
|
dd($input); |
|
|
|
$data = $input; |
|
|
|
|
|
|
|
$coupon = 1; |
|
|
|
if($coupon === false){ |
|
|
|
return $this->error('数据保存失败'); |
|
|
|
} |
|
|
|
|
|
|
|
return $this->success('数据保存成功', '/coupon'); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 组装新数组 |
|
|
|
*/ |
|
|
|
|