From 7df41cc799c07bb5503125deaf60439254ce804b Mon Sep 17 00:00:00 2001 From: Jing Li Date: Fri, 22 Mar 2024 13:21:15 +0800 Subject: [PATCH] Update --- .../Controllers/Hr/EmployeeController.php | 65 +++++++++++++++++++ app/Admin/Controllers/Plan/PlanController.php | 9 +++ .../Controllers/Store/StoreController.php | 9 +++ app/Admin/routes.php | 52 ++++++++++----- 4 files changed, 119 insertions(+), 16 deletions(-) create mode 100644 app/Admin/Controllers/Hr/EmployeeController.php create mode 100644 app/Admin/Controllers/Plan/PlanController.php create mode 100644 app/Admin/Controllers/Store/StoreController.php diff --git a/app/Admin/Controllers/Hr/EmployeeController.php b/app/Admin/Controllers/Hr/EmployeeController.php new file mode 100644 index 0000000..eea7642 --- /dev/null +++ b/app/Admin/Controllers/Hr/EmployeeController.php @@ -0,0 +1,65 @@ +baseCRUD() + ->tableLayout('fixed') + ->headerToolbar([ + $this->createButton(true), + ...$this->baseHeaderToolBar(), + ]) + ->filter($this->baseFilter()->body([ + amis()->GroupControl()->mode('horizontal')->body([ + amisMake()->TextControl()->name('name')->label(__('employee.name'))->columnRatio(3)->clearable(), + amisMake()->TextControl()->name('phone')->label(__('employee.phone'))->columnRatio(3)->clearable(), + amisMake()->SelectControl()->name('employee_status')->label(__('employee.employee_status'))->columnRatio(3)->clearable()->options(EmployeeStatus::options()), + ]), + ])) + ->columns([ + amisMake()->TableColumn()->name('id')->label(__('employee.id')), + amisMake()->TableColumn()->name('name')->label(__('employee.name')), + amisMake()->TableColumn()->name('phone')->label(__('employee.phone')), + amisMake()->TableColumn()->name('employee_status_text')->label(__('employee.employee_status')), + amisMake()->TableColumn()->name('created_at')->label(__('employee.created_at')), + $this->rowActions([ + $this->rowShowButton(), + $this->rowEditButton(true), + $this->rowDeleteButton(), + ]), + ]); + + return $this->baseList($crud); + } + + public function form($edit): Form + { + return $this->baseForm()->title('')->body([ + amisMake()->TextControl()->name('name')->label(__('employee.name'))->required(), + amisMake()->TextControl()->name('phone')->label(__('employee.phone'))->required(), + + amisMake()->TextControl()->name('username')->label(__('admin.username'))->value('${admin_user.username}')->required(!$edit), + amisMake()->TextControl()->name('password')->set('type', 'input-password')->label(__('admin.password'))->required(!$edit), + amisMake()->TextControl()->name('confirm_password')->set('type', 'input-password')->label(__('admin.confirm_password'))->required(!$edit), + ]); + } + + public function detail(): Form + { + return $this->baseDetail()->title('')->body(amisMake()->Property()->items([ + ['label' => __('employee.name'), 'content' => '${name}'], + ['label' => __('employee.phone'), 'content' => '${phone}'], + ])); + } +} diff --git a/app/Admin/Controllers/Plan/PlanController.php b/app/Admin/Controllers/Plan/PlanController.php new file mode 100644 index 0000000..3509535 --- /dev/null +++ b/app/Admin/Controllers/Plan/PlanController.php @@ -0,0 +1,9 @@ + config('admin.route.domain'), - 'prefix' => config('admin.route.prefix'), + 'domain' => config('admin.route.domain'), + 'prefix' => config('admin.route.prefix'), 'middleware' => config('admin.route.middleware'), + 'as' => 'admin.', ], function (Router $router) { - - $router->group([ - 'prefix' => 'api', - ], function (Router $router) { - $router->get('keywords/tree-list', '\App\Admin\Controllers\KeywordController@getTreeList')->name('api.keywords.tree-list'); - }); + $router->post('login', [App\Admin\Controllers\AuthController::class, 'login']); $router->resource('index', \App\Admin\Controllers\HomeController::class); - $router->post('login', [App\Admin\Controllers\AuthController::class, 'login']); + /* + |-------------------------------------------------------------------------- + | 门店管理 + |-------------------------------------------------------------------------- + */ + $router->resource('store/stores', \App\Admin\Controllers\Store\StoreController::class); + /* + |-------------------------------------------------------------------------- + | 人事管理 + |-------------------------------------------------------------------------- + */ + $router->resource('hr/employees', \App\Admin\Controllers\Hr\EmployeeController::class); + + /* + |-------------------------------------------------------------------------- + | 任务计划 + |-------------------------------------------------------------------------- + */ + $router->resource('plan/plans', \App\Admin\Controllers\Plan\PlanController::class); + + /* + |-------------------------------------------------------------------------- + | 系统管理 + |-------------------------------------------------------------------------- + */ $router->resource('system/admin_users', App\Admin\Controllers\AdminUserController::class); - $router->post('quick-edit/admin_users/{admin_user}',[\App\Admin\Controllers\AdminUserController::class, 'update']); - - $router->get('system/admin_roles', [App\Admin\Controllers\AdminRoleController::class, 'index']); - + $router->get('system/admin_roles', [App\Admin\Controllers\AdminRoleController::class, 'index'])->name('admin_roles.index'); $router->resource('system/settings', \App\Admin\Controllers\SettingController::class); - $router->resource('system/keywords', \App\Admin\Controllers\KeywordController::class); + $router->post('quick-edit/admin_users/{admin_user}', [\App\Admin\Controllers\AdminUserController::class, 'update']); $router->resource('articles', \App\Admin\Controllers\ArticleController::class); @@ -41,6 +58,9 @@ Route::group([ $router->post('save_chunk_upload_file', [\App\Admin\Controllers\IndexController::class, 'saveChunk']); $router->post('finish_chunk_upload_file', [\App\Admin\Controllers\IndexController::class, 'finishChunk']); - // 员工管理 - $router->resource('employees', \App\Admin\Controllers\EmployeeController::class); + $router->group([ + 'prefix' => 'api', + ], function (Router $router) { + $router->get('keywords/tree-list', [\App\Admin\Controllers\KeywordController::class, 'getTreeList'])->name('api.keywords.tree-list'); + }); });