From 7656feff1e959ed3a3f7beb618d6fe80f28f3ff9 Mon Sep 17 00:00:00 2001 From: liangyuyan <1103300295@qq.com> Date: Mon, 24 Aug 2020 14:07:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E6=83=A0=E5=88=B8=E8=BF=81=E7=A7=BB-?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/CouponController.php | 95 ++++++++++------------ app/Models/Coupon.php | 4 +- config/coupon.php | 2 +- resources/lang/zh-CN/coupon.php | 7 +- 4 files changed, 52 insertions(+), 56 deletions(-) diff --git a/app/Admin/Controllers/CouponController.php b/app/Admin/Controllers/CouponController.php index d37117a..e28affc 100644 --- a/app/Admin/Controllers/CouponController.php +++ b/app/Admin/Controllers/CouponController.php @@ -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'); - } - /** * 组装新数组 */ diff --git a/app/Models/Coupon.php b/app/Models/Coupon.php index b8dd611..e339fdb 100644 --- a/app/Models/Coupon.php +++ b/app/Models/Coupon.php @@ -14,6 +14,7 @@ class Coupon extends Model use SoftDeletes; protected $dateFormat = 'U'; + // protected $timestamp = true; protected $table = 'ims_system_coupon_user'; /* 查询记录数 limit */ @@ -30,7 +31,7 @@ class Coupon extends Model 'end_time_text', 'usable_start_time_text', 'usable_end_time_text', - 'receive_type_text', + // 'receive_type_text', 'created_at_text', 'updated_at_text' ]; @@ -110,6 +111,7 @@ class Coupon extends Model // 设置 protected function setStartTimeAttribute($value) { + $value = $this->start_time_text; $this->attributes['start_time'] = strtotime($value); } diff --git a/config/coupon.php b/config/coupon.php index 276b4f2..4dd3a89 100644 --- a/config/coupon.php +++ b/config/coupon.php @@ -6,7 +6,7 @@ return [ -1=> '已删除', 0=>'草稿', 1=>'正常', - 2=>'已用完', + 2=>'已领完', 3=>'禁用', ], 'status_label'=>[ diff --git a/resources/lang/zh-CN/coupon.php b/resources/lang/zh-CN/coupon.php index c01c389..8ea37fc 100644 --- a/resources/lang/zh-CN/coupon.php +++ b/resources/lang/zh-CN/coupon.php @@ -23,8 +23,8 @@ return [ 'storetype_id' => '店铺类型', 'category' => '分类', 'category_text' => '分类', - 'active_type' => '优惠券活动类型', - 'active_type_text' => '优惠券活动类型', + 'active_type' => '活动类型', + 'active_type_text' => '活动类型', 'status' => '状态', 'status_text' => '状态', 'remark' => '备注', @@ -39,7 +39,8 @@ return [ 'receive_type' => '领取方式', 'receive_type_text' => '领取方式', 'created_at_text' => '创建时间', - 'updated_at_text' => '更新时间' + 'updated_at_text' => '更新时间', + 'use_number' => '已使用数量' ], 'options' => [ ],