From 038427493c532f047b17c304e00139dfeccea8b8 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Sat, 23 Dec 2023 12:00:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=B9=BF=E5=91=8A=E6=90=9C?= =?UTF-8?q?=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/AdController.php | 19 +++++++++- app/Models/Filters/AdFilter.php | 52 ++++++++++++++++++++++++-- app/Models/Filters/ArticleFilter.php | 2 +- 3 files changed, 68 insertions(+), 5 deletions(-) diff --git a/app/Admin/Controllers/AdController.php b/app/Admin/Controllers/AdController.php index 352c169..4b8e442 100644 --- a/app/Admin/Controllers/AdController.php +++ b/app/Admin/Controllers/AdController.php @@ -28,7 +28,24 @@ class AdController extends AdminController $this->createButton(), ...$this->baseHeaderToolBar(), ]) - ->filter($this->baseFilter()->body()) + ->filter($this->baseFilter()->labelWidth('80px')->body([ + amis()->TextControl('id', __('admin.ads.id')) + ->size('md') + ->placeholder(__('admin.id')), + amis()->TextControl('remark', __('admin.ads.remark')) + ->size('md') + ->placeholder(__('admin.ads.remark')), + Components::make()->parentControl(admin_url('api/keywords/tree-list?parent_name=banner_address&has_owner=0'), 'address', __('admin.ads.address'), 'name', 'key') + ->size('md'), + amis()->InputDatetimeRange()->label(__('admin.ads.published_at'))->name('published_at'), + + amis()->SelectControl('enable', __('admin.ads.is_enable')) + ->options([ + 1=>'开启',0=>'关闭' + ]) + ->size('md'), + amis()->InputDatetimeRange()->label(__('admin.created_at'))->name('created_at'), + ])) ->columns([ amis()->TableColumn('id', __('admin.ads.id'))->width('50px')->sortable(), amis()->TableColumn('address', __('admin.ads.address'))->type('mapping') diff --git a/app/Models/Filters/AdFilter.php b/app/Models/Filters/AdFilter.php index b7e8c68..a0535ad 100644 --- a/app/Models/Filters/AdFilter.php +++ b/app/Models/Filters/AdFilter.php @@ -7,10 +7,56 @@ use EloquentFilter\ModelFilter; class AdFilter extends ModelFilter { /** - * 标题 + * 主键 */ - public function name($name) + public function id($id) { - return $this->where('name','like', '%'.$name.'%'); + return $this->where('id', $id); + } + /** + * 备注 + */ + public function remark($remark) + { + return $this->where('remark','like', '%'.$remark.'%'); + } + + /** + * 位置 + */ + public function address($address) + { + return $this->where('address', $address); + } + public function publishedAt($publishedAt){ + $publishedAt = explode(',',$publishedAt); + return $this->where(function($q) use ($publishedAt) { + $startAt = Arr::get($publishedAt, 0) ?? null; + $endAt = Arr::get($publishedAt, 1) ?? null; + if(!empty($startAt)){ + $q->where('published_at', '>=', $startAt); + } + if(!empty($endAt)){ + $q->where('published_at', '<=', $endAt); + } + }); + } + + public function createdAt($createdAt){ + $createdAt = explode(',',$createdAt); + return $this->where(function($q) use ($createdAt) { + $startAt = Arr::get($createdAt, 0) ?? null; + $endAt = Arr::get($createdAt, 1) ?? null; + if(!empty($startAt)){ + $q->where('created_at', '>=', $startAt); + } + if(!empty($endAt)){ + $q->where('created_at', '<=', $endAt); + } + }); + } + + public function enable($enable){ + return $this->where('is_enable', $enable); } } diff --git a/app/Models/Filters/ArticleFilter.php b/app/Models/Filters/ArticleFilter.php index 5a16496..a9230bd 100644 --- a/app/Models/Filters/ArticleFilter.php +++ b/app/Models/Filters/ArticleFilter.php @@ -8,7 +8,7 @@ use Illuminate\Support\Arr; class ArticleFilter extends ModelFilter { /** - * 标题 + * 主键 */ public function id($id) {