From 1a1550ad56b7b09f6b579001425f6bf3608b3c56 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Wed, 26 Apr 2023 11:00:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=88=B6=E7=BA=A7=E9=80=89?= =?UTF-8?q?=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Components.php | 3 +-- app/Admin/Controllers/RegionCategoryController.php | 10 ++++++++-- app/Admin/routes.php | 1 + app/Services/Admin/RegionCategoryService.php | 7 +++++++ 4 files changed, 17 insertions(+), 4 deletions(-) diff --git a/app/Admin/Components.php b/app/Admin/Components.php index 7b80c6f..3a21c01 100644 --- a/app/Admin/Components.php +++ b/app/Admin/Components.php @@ -15,8 +15,7 @@ class Components extends BaseRenderer { ->name($name)->label($label) ->showIcon(false) ->labelField($labelField) - ->valueField($valueField) - ->value(0)->source($apiUrl); + ->valueField($valueField)->source($apiUrl); } /** diff --git a/app/Admin/Controllers/RegionCategoryController.php b/app/Admin/Controllers/RegionCategoryController.php index d628ffa..66e73cf 100644 --- a/app/Admin/Controllers/RegionCategoryController.php +++ b/app/Admin/Controllers/RegionCategoryController.php @@ -10,6 +10,7 @@ use Slowlyo\OwlAdmin\Controllers\AdminController; use Slowlyo\OwlAdmin\Renderers\Button; use App\Services\Admin\RegionCategoryService; use App\Admin\Components; +use Illuminate\Http\Request; class RegionCategoryController extends AdminController { @@ -19,6 +20,7 @@ class RegionCategoryController extends AdminController public function list(): Page { + // dd(Components::make()->parentControl('region-categories/tree-list')); $crud = $this->baseCRUD() //关闭查询 ->filterTogglable(false) @@ -34,7 +36,7 @@ class RegionCategoryController extends AdminController ->filter( $this->baseFilter()->body([ amisMake()->TextControl()->make('name')->label('分类名称')->name('name'), - amisMake()->SelectControl()->make('parent_id')->label('父级')->name('parent_id'), + Components::make()->parentControl(admin_url('api/region-categories/tree-list'))->size('sm'), Button::make()->label(__('admin.reset'))->actionType('clear-and-submit'), amis('submit')->label(__('admin.search'))->level('primary'), @@ -65,7 +67,7 @@ class RegionCategoryController extends AdminController amisMake()->TextControl()->name('name')->label('名称')->required(true), amisMake()->ImageControl()->name('icon')->label('封面图')->autoUpload(true), amisMake()->TextControl()->name('description')->label('描述'), - Components::make()->parentControl(), + Components::make()->parentControl(admin_url('api/region-categories/tree-list')), Components::make()->sortControl(), amisMake()->SwitchControl()->name('is_enable')->label('状态'), ]); @@ -81,4 +83,8 @@ class RegionCategoryController extends AdminController TextControl::make()->static(true)->name('updated_at')->label('更新时间') ]); } + + public function getTreeList(Request $request){ + return $this->service->getTree(); + } } diff --git a/app/Admin/routes.php b/app/Admin/routes.php index 2bf0b89..964474b 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -13,6 +13,7 @@ Route::group([ 'prefix' => 'api', ], function (Router $router) { $router->get('keywords/tree-list', '\App\Admin\Controllers\KeywordController@getTreeList')->name('api.keywords.tree-list'); + $router->get('region-categories/tree-list', '\App\Admin\Controllers\RegionCategoryController@getTreeList')->name('api.region-categories.tree-list'); }); $router->get('dashboard', '\App\Admin\Controllers\HomeController@index'); diff --git a/app/Services/Admin/RegionCategoryService.php b/app/Services/Admin/RegionCategoryService.php index db0005b..75a0666 100644 --- a/app/Services/Admin/RegionCategoryService.php +++ b/app/Services/Admin/RegionCategoryService.php @@ -14,6 +14,13 @@ class RegionCategoryService extends AdminService { protected string $modelName = RegionCategory::class; + public function getTree() + { + $list = $this->query()->orderByDesc('sort')->get()->toArray(); + + return array2tree($list); + } + public function listQuery() { $model = $this->getModel();