diff --git a/app/Admin/Controllers/RegionCategoryController.php b/app/Admin/Controllers/RegionCategoryController.php index 4ff9739..87fc5e8 100644 --- a/app/Admin/Controllers/RegionCategoryController.php +++ b/app/Admin/Controllers/RegionCategoryController.php @@ -7,6 +7,7 @@ use Slowlyo\OwlAdmin\Renderers\Form; use Slowlyo\OwlAdmin\Renderers\TableColumn; use Slowlyo\OwlAdmin\Renderers\TextControl; use Slowlyo\OwlAdmin\Controllers\AdminController; +use Slowlyo\OwlAdmin\Renderers\Button; use App\Services\Admin\RegionCategoryService; use App\Admin\Components; @@ -29,6 +30,14 @@ class RegionCategoryController extends AdminController $this->createButton(true), ...$this->baseHeaderToolBar(), ]) + ->filter( + $this->baseFilter()->body([ + amisMake()->TextControl()->make('name')->label('分类名称')->name('name'), + + Button::make()->label(__('admin.reset'))->actionType('clear-and-submit'), + amis('submit')->label(__('admin.search'))->level('primary'), + ])->actions([]) + ) ->columns([ TableColumn::make()->name('id')->label('ID')->sortable(true), TableColumn::make()->name('name')->label('名称'), @@ -59,6 +68,7 @@ class RegionCategoryController extends AdminController return $this->baseDetail()->body([ TextControl::make()->static(true)->name('id')->label('ID'), TextControl::make()->static(true)->name('name')->label('名称'), + TextControl::make()->static(true)->name('description')->label('描述'), TextControl::make()->static(true)->name('created_at')->label('创建时间'), TextControl::make()->static(true)->name('updated_at')->label('更新时间') ]); diff --git a/app/Filters/Admin/RegionCategoryFilter.php b/app/Filters/Admin/RegionCategoryFilter.php new file mode 100644 index 0000000..990fe21 --- /dev/null +++ b/app/Filters/Admin/RegionCategoryFilter.php @@ -0,0 +1,30 @@ +where('name', 'like', '%'.$name.'%'); + } + + /** + * 父级分类 + */ + public function parent($parentId){ + return $this->where('parent_id', $parentId); + } + + /** + * 是否开启 + */ + public function isEnable($isEnable){ + return $this->where('is_enbale', $isEnable); + } + +} diff --git a/app/Models/RegionCategory.php b/app/Models/RegionCategory.php index cac116a..58fe2cb 100644 --- a/app/Models/RegionCategory.php +++ b/app/Models/RegionCategory.php @@ -13,6 +13,9 @@ class RegionCategory extends Model protected $fillable = ['name', 'icon', 'description', 'parent_id', 'level', 'sort', 'path', 'is_enable']; + protected function serializeDate(\DateTimeInterface $date){ + return $date->format('Y-m-d H:i:s'); + } protected static function boot() { diff --git a/app/Services/Admin/RegionCategoryService.php b/app/Services/Admin/RegionCategoryService.php index 346cd46..db0005b 100644 --- a/app/Services/Admin/RegionCategoryService.php +++ b/app/Services/Admin/RegionCategoryService.php @@ -3,6 +3,7 @@ namespace App\Services\Admin; use App\Models\RegionCategory; +use App\Filters\Admin\RegionCategoryFilter; use Slowlyo\OwlAdmin\Services\AdminService; /** @@ -12,4 +13,14 @@ use Slowlyo\OwlAdmin\Services\AdminService; class RegionCategoryService extends AdminService { protected string $modelName = RegionCategory::class; + + public function listQuery() + { + $model = $this->getModel(); + + return $this->query() + ->with('parent') + ->filter(request()->input(), RegionCategoryFilter::class) + ->orderByDesc($model->getUpdatedAtColumn() ?? $model->getKeyName()); + } } diff --git a/public/agricultural-map.png b/public/agricultural-map.png new file mode 100644 index 0000000..8ebda0b Binary files /dev/null and b/public/agricultural-map.png differ