From 2b44bc6824c271c4d570f3a980734b274f0f5517 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Thu, 16 Mar 2023 15:33:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8F=9C=E5=8D=95=E8=BF=81?= =?UTF-8?q?=E7=A7=BB=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Admin/Controllers/HomeController.php | 4 +- app/Admin/Controllers/KeywordController.php | 51 +++++++++++++ app/Models/Keyword.php | 11 +++ app/Services/Admin/KeywordService.php | 15 ++++ config/admin.php | 2 +- ...023_03_16_145212_create_keywords_table.php | 38 ++++++++++ database/seeders/AdminMenuSeeder.php | 72 +++++++++++++++++++ 7 files changed, 190 insertions(+), 3 deletions(-) create mode 100644 app/Admin/Controllers/KeywordController.php create mode 100644 app/Models/Keyword.php create mode 100644 app/Services/Admin/KeywordService.php create mode 100644 database/migrations/2023_03_16_145212_create_keywords_table.php create mode 100644 database/seeders/AdminMenuSeeder.php diff --git a/app/Admin/Controllers/HomeController.php b/app/Admin/Controllers/HomeController.php index af79862..5028ebe 100644 --- a/app/Admin/Controllers/HomeController.php +++ b/app/Admin/Controllers/HomeController.php @@ -25,7 +25,7 @@ class HomeController extends AdminController { $page = $this->basePage()->css($this->css())->body([ Grid::make()->columns([ - $this->frameworkInfo()->md(5), + // $this->frameworkInfo()->md(5), Flex::make()->items([ $this->pieChart(), $this->cube(), @@ -35,7 +35,7 @@ class HomeController extends AdminController $this->lineChart()->md(8), Flex::make()->className('h-full')->items([ $this->clock(), - $this->giteeWidget(), + // $this->giteeWidget(), ])->direction('column'), ]), ]); diff --git a/app/Admin/Controllers/KeywordController.php b/app/Admin/Controllers/KeywordController.php new file mode 100644 index 0000000..c15f8d7 --- /dev/null +++ b/app/Admin/Controllers/KeywordController.php @@ -0,0 +1,51 @@ +baseCRUD() + ->filterTogglable(false) + ->headerToolbar([ + $this->createButton(true), + ...$this->baseHeaderToolBar(), + ]) + ->columns([ + TableColumn::make()->name('id')->label('ID')->sortable(true), + TableColumn::make()->name('created_at')->label('创建时间')->type('datetime')->sortable(true), + TableColumn::make()->name('updated_at')->label('更新时间')->type('datetime')->sortable(true), + $this->rowActions(true), + ]); + + return $this->baseList($crud); + } + + public function form(): Form + { + return $this->baseForm()->body([ + TextControl::make()->name('id')->label('Id'), + ]); + } + + public function detail(): Form + { + return $this->baseDetail()->body([ + TextControl::make()->static(true)->name('id')->label('ID'), + TextControl::make()->static(true)->name('created_at')->label('创建时间'), + TextControl::make()->static(true)->name('updated_at')->label('更新时间') + ]); + } +} diff --git a/app/Models/Keyword.php b/app/Models/Keyword.php new file mode 100644 index 0000000..d1d544f --- /dev/null +++ b/app/Models/Keyword.php @@ -0,0 +1,11 @@ + 'Owl Admin', + 'name' => '农业园区平台', // 应用 logo 'logo' => '/admin/logo.png', diff --git a/database/migrations/2023_03_16_145212_create_keywords_table.php b/database/migrations/2023_03_16_145212_create_keywords_table.php new file mode 100644 index 0000000..37c987d --- /dev/null +++ b/database/migrations/2023_03_16_145212_create_keywords_table.php @@ -0,0 +1,38 @@ +id(); + $table->string('key')->unique(); + $table->string('name')->comment('名字'); + $table->string('value')->nullable(); + $table->string('type_key')->nullable(); + $table->unsignedInteger('sort')->default(0)->comment('排序'); + $table->unsignedBigInteger('parent_id')->default(0)->comment('上级ID'); + $table->unsignedInteger('level')->default(1)->comment('层级'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('keywords'); + } +}; diff --git a/database/seeders/AdminMenuSeeder.php b/database/seeders/AdminMenuSeeder.php new file mode 100644 index 0000000..3cd4ebd --- /dev/null +++ b/database/seeders/AdminMenuSeeder.php @@ -0,0 +1,72 @@ + '主页', 'icon' => 'icon-park:home-two', 'url' => '/dashboard', 'is_home'=>1], + ['title' => '区域管理', 'icon' => 'icon-park:category-management', 'url' => '', + 'children' => [ + ['title' => '分类管理', 'icon' => 'icon-park:graphic-stitching-four', 'url' => '/region-categories'], + ['title' => '实验田', 'icon' => 'icon-park:freezing-line-column', 'url' => '/regions'], + ] + ], + ['title' => '育秧中心', 'icon' => 'icon-park:lotus', 'url' => '/devices'], + ['title' => '实验稻田', 'icon' => 'icon-park:four-leaves', 'url' => '/devices'], + + ['title' => '设备管理', 'icon' => 'icon-park:devices', 'url' => '/devices'], + ['title' => '系统管理', 'icon' => 'icon-park:setting', 'url' => '/system', + 'children' => [ + ['title' => '用户管理', 'icon' => 'icon-park:people-plus', 'url' => '/system/admin_users'], + ['title' => '角色管理', 'icon' => 'icon-park:people-plus-one', 'url' => '/system/admin_roles'], + ['title' => '权限管理', 'icon' => 'icon-park:key-one', 'url' => '/system/admin_permissions'], + ['title' => '菜单管理', 'icon' => 'icon-park:menu-fold-one', 'url' => '/system/admin_menus'], + ['title' => '字典管理', 'icon' => 'icon-park:arrow-keys', 'url' => '/keywords'], + ], + ], + ]; + DB::table('admin_menus')->truncate(); + try { + DB::begintransaction(); + $this->createMenus($menus); + DB::commit(); + } catch (Throwable $th) { + DB::rollBack(); + report($th); + } + } + + public function createMenus(array $menus, $pid = 0) + { + foreach ($menus as $menu) { + $mm = AdminMenu::create([ + 'title' => $menu['title'], + 'icon' => $menu['icon'], + 'url' => $menu['url'], + 'parent_id' => $pid, + 'url_type' => $menu['url_type'] ?? 1, + 'visible' => $menu['visible'] ?? 1, + 'is_home' => $menu['is_home'] ?? 0, + ]); + + if (isset($menu['children'])) { + $this->createMenus($menu['children'], $mm->id); + } + } + } +}