generated from liutk/owl-admin-base
门店管理和员工管理相关权限
parent
49d45db03c
commit
495824eb8d
|
|
@ -6,6 +6,7 @@ use App\Admin\Services\EmployeeService;
|
||||||
use App\Enums\EmployeeStatus;
|
use App\Enums\EmployeeStatus;
|
||||||
use App\Models\Employee;
|
use App\Models\Employee;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Slowlyo\OwlAdmin\Admin;
|
||||||
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Form;
|
use Slowlyo\OwlAdmin\Renderers\Form;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Page;
|
use Slowlyo\OwlAdmin\Renderers\Page;
|
||||||
|
|
@ -19,9 +20,10 @@ class EmployeeController extends AdminController
|
||||||
$crud = $this->baseCRUD()
|
$crud = $this->baseCRUD()
|
||||||
->tableLayout('fixed')
|
->tableLayout('fixed')
|
||||||
->headerToolbar([
|
->headerToolbar([
|
||||||
$this->createButton(true),
|
$this->createButton(true)->visible(Admin::user()->can('admin.hr.employees.create')),
|
||||||
...$this->baseHeaderToolBar(),
|
...$this->baseHeaderToolBar(),
|
||||||
])
|
])
|
||||||
|
->bulkActions([])
|
||||||
->filter($this->baseFilter()->body([
|
->filter($this->baseFilter()->body([
|
||||||
amis()->GroupControl()->mode('horizontal')->body([
|
amis()->GroupControl()->mode('horizontal')->body([
|
||||||
amisMake()->TextControl()->name('name')->label(__('employee.name'))->columnRatio(3)->clearable(),
|
amisMake()->TextControl()->name('name')->label(__('employee.name'))->columnRatio(3)->clearable(),
|
||||||
|
|
@ -36,15 +38,16 @@ class EmployeeController extends AdminController
|
||||||
amisMake()->TableColumn()->name('employee_status_text')->label(__('employee.employee_status'))->set('type', 'tag')->set('color', '${employee_status_color}'),
|
amisMake()->TableColumn()->name('employee_status_text')->label(__('employee.employee_status'))->set('type', 'tag')->set('color', '${employee_status_color}'),
|
||||||
amisMake()->TableColumn()->name('created_at')->label(__('employee.created_at')),
|
amisMake()->TableColumn()->name('created_at')->label(__('employee.created_at')),
|
||||||
$this->rowActions([
|
$this->rowActions([
|
||||||
$this->rowShowButton(),
|
$this->rowShowButton()->visible(Admin::user()->can('admin.hr.employees.view')),
|
||||||
$this->rowEditButton(true),
|
$this->rowEditButton(true)->visible(Admin::user()->can('admin.hr.employees.update')),
|
||||||
$this->rowDeleteButton(),
|
$this->rowDeleteButton()->visible(Admin::user()->can('admin.hr.employees.delete')),
|
||||||
amisMake()->AjaxAction()
|
amisMake()->AjaxAction()
|
||||||
->label(__('employee.leave'))
|
->label(__('employee.leave'))
|
||||||
->level('link')
|
->level('link')
|
||||||
->icon('fa fa-sign-out')
|
->icon('fa fa-sign-out')
|
||||||
->confirmText(__('employee.leave_confirm'))
|
->confirmText(__('employee.leave_confirm'))
|
||||||
->api('post:'.admin_url('hr/employees/${id}/leave')),
|
->api('post:'.admin_url('hr/employees/${id}/leave'))
|
||||||
|
->visible(Admin::user()->can('admin.hr.employees.leave')),
|
||||||
]),
|
]),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
namespace App\Admin\Controllers\Store;
|
namespace App\Admin\Controllers\Store;
|
||||||
|
|
||||||
use App\Admin\Services\StoreService;
|
use App\Admin\Services\StoreService;
|
||||||
|
use Slowlyo\OwlAdmin\Admin;
|
||||||
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Form;
|
use Slowlyo\OwlAdmin\Renderers\Form;
|
||||||
use Slowlyo\OwlAdmin\Renderers\Page;
|
use Slowlyo\OwlAdmin\Renderers\Page;
|
||||||
|
|
@ -16,9 +17,10 @@ class StoreController extends AdminController
|
||||||
$crud = $this->baseCRUD()
|
$crud = $this->baseCRUD()
|
||||||
->tableLayout('fixed')
|
->tableLayout('fixed')
|
||||||
->headerToolbar([
|
->headerToolbar([
|
||||||
$this->createButton(),
|
$this->createButton()->visible(Admin::user()->can('admin.store.stores.create')),
|
||||||
...$this->baseHeaderToolBar(),
|
...$this->baseHeaderToolBar(),
|
||||||
])
|
])
|
||||||
|
->bulkActions([])
|
||||||
->filter($this->baseFilter()->body([
|
->filter($this->baseFilter()->body([
|
||||||
amis()->GroupControl()->mode('horizontal')->body([
|
amis()->GroupControl()->mode('horizontal')->body([
|
||||||
amisMake()->TextControl()->name('title')->label(__('store.title'))->columnRatio(3)->clearable(),
|
amisMake()->TextControl()->name('title')->label(__('store.title'))->columnRatio(3)->clearable(),
|
||||||
|
|
@ -57,9 +59,9 @@ class StoreController extends AdminController
|
||||||
amisMake()->TableColumn()->name('business_status_text')->label(__('store.business_status'))->set('type', 'tag')->set('color', '${business_status_color}'),
|
amisMake()->TableColumn()->name('business_status_text')->label(__('store.business_status'))->set('type', 'tag')->set('color', '${business_status_color}'),
|
||||||
amisMake()->TableColumn()->name('created_at')->label(__('store.created_at')),
|
amisMake()->TableColumn()->name('created_at')->label(__('store.created_at')),
|
||||||
$this->rowActions([
|
$this->rowActions([
|
||||||
$this->rowShowButton(),
|
$this->rowShowButton()->visible(Admin::user()->can('admin.store.stores.view')),
|
||||||
$this->rowEditButton(),
|
$this->rowEditButton()->visible(Admin::user()->can('admin.store.stores.update')),
|
||||||
$this->rowDeleteButton(),
|
$this->rowDeleteButton()->visible(Admin::user()->can('admin.store.stores.delete')),
|
||||||
]),
|
]),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use App\Admin\Controllers\Hr\EmployeeController;
|
||||||
|
use App\Admin\Controllers\Store\StoreController;
|
||||||
use App\Admin\Controllers\System\AdminMenuController;
|
use App\Admin\Controllers\System\AdminMenuController;
|
||||||
use App\Admin\Controllers\System\AdminPermissionController;
|
use App\Admin\Controllers\System\AdminPermissionController;
|
||||||
use App\Admin\Controllers\System\AdminRoleController;
|
use App\Admin\Controllers\System\AdminRoleController;
|
||||||
|
|
@ -23,15 +25,29 @@ Route::group([
|
||||||
| 门店管理
|
| 门店管理
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
$router->resource('store/stores', \App\Admin\Controllers\Store\StoreController::class);
|
$router->group([
|
||||||
|
'prefix' => 'store',
|
||||||
|
'as' => 'store.',
|
||||||
|
], function (Router $router) {
|
||||||
|
// 门店管理
|
||||||
|
$router->resource('stores', StoreController::class);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| 人事管理
|
| 人事管理
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
$router->resource('hr/employees', \App\Admin\Controllers\Hr\EmployeeController::class);
|
$router->group([
|
||||||
$router->post('hr/employees/{id}/leave', [\App\Admin\Controllers\Hr\EmployeeController::class, 'leave']);
|
'prefix' => 'hr',
|
||||||
|
'as' => 'hr.',
|
||||||
|
], function (Router $router) {
|
||||||
|
// 人事管理
|
||||||
|
$router->resource('employees', EmployeeController::class);
|
||||||
|
$router->post('employees/{id}/leave', [EmployeeController::class, 'leave'])->name('employees.leave');
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,47 @@ class AdminPermissionSeeder extends Seeder
|
||||||
'children' => [],
|
'children' => [],
|
||||||
],
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 门店管理
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
'store' => [
|
||||||
|
'name' => '门店管理',
|
||||||
|
'icon' => 'material-symbols:store-rounded',
|
||||||
|
'uri' => '/store',
|
||||||
|
'children' => [
|
||||||
|
'stores' => [
|
||||||
|
'name' => '门店管理',
|
||||||
|
'icon' => 'material-symbols:store-rounded',
|
||||||
|
'uri' => '/store/stores',
|
||||||
|
'resource' => true,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| 人事管理
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
'hr' => [
|
||||||
|
'name' => '人事管理',
|
||||||
|
'icon' => 'flowbite:user-settings-solid',
|
||||||
|
'uri' => '/hr',
|
||||||
|
'children' => [
|
||||||
|
'employees' => [
|
||||||
|
'name' => '员工管理',
|
||||||
|
'icon' => 'mdi:user-tie',
|
||||||
|
'uri' => '/hr/employees',
|
||||||
|
'resource' => true,
|
||||||
|
'children' => [
|
||||||
|
'leave' => '离职',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| 系统管理
|
| 系统管理
|
||||||
|
|
@ -36,7 +77,7 @@ class AdminPermissionSeeder extends Seeder
|
||||||
'system' => [
|
'system' => [
|
||||||
'name' => '系统管理',
|
'name' => '系统管理',
|
||||||
'icon' => 'material-symbols:settings-outline',
|
'icon' => 'material-symbols:settings-outline',
|
||||||
'uri' => '',
|
'uri' => '/system',
|
||||||
'children' => [
|
'children' => [
|
||||||
'admin_users' => [
|
'admin_users' => [
|
||||||
'name' => '账号管理',
|
'name' => '账号管理',
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue