feat: module new feat
This commit is contained in:
parent
e5e1f8bc55
commit
c2f68d349f
@ -5,6 +5,7 @@ namespace Modules\Develop\Support;
|
||||
use Catch\CatchAdmin;
|
||||
use Catch\Exceptions\FailedException;
|
||||
use Catch\Facade\Zipper;
|
||||
use Illuminate\Support\Facades\File;
|
||||
|
||||
/**
|
||||
* module install
|
||||
@ -63,5 +64,7 @@ class ModuleInstall
|
||||
$zipRepository->getArchive()->extractTo(CatchAdmin::getModulePath($title));
|
||||
|
||||
$this->installWithTitle($title);
|
||||
|
||||
File::delete($zip);
|
||||
}
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ namespace Modules\Permissions\Models;
|
||||
use Catch\Base\CatchModel as Model;
|
||||
use Catch\CatchAdmin;
|
||||
use Catch\Enums\Status;
|
||||
use Illuminate\Database\Eloquent\Casts\Attribute;
|
||||
use Illuminate\Database\Eloquent\Relations\HasMany;
|
||||
use Modules\Permissions\Enums\MenuStatus;
|
||||
use Modules\Permissions\Enums\MenuType;
|
||||
@ -34,19 +35,19 @@ class Permissions extends Model
|
||||
{
|
||||
protected $table = 'permissions';
|
||||
|
||||
protected $fillable = ['id', 'parent_id', 'permission_name', 'route', 'icon', 'module', 'permission_mark', 'component', 'redirect', 'keepalive', 'type', 'hidden', 'sort', 'creator_id', 'created_at', 'updated_at', 'deleted_at'];
|
||||
protected $fillable = ['id', 'parent_id', 'permission_name', 'route', 'icon', 'module', 'permission_mark', 'component', 'redirect', 'keepalive', 'type', 'hidden', 'is_inner', 'sort', 'creator_id', 'created_at', 'updated_at', 'deleted_at'];
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected array $fields = ['id','parent_id','permission_name','route','icon','module','permission_mark','component','redirect','keepalive','type','hidden','sort','created_at','updated_at'];
|
||||
protected array $fields = ['id','parent_id','permission_name','route','icon','module','permission_mark','component','redirect','keepalive','type','hidden','is_inner','sort','created_at','updated_at'];
|
||||
|
||||
protected bool $isPaginate = false;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected array $form = ['parent_id','permission_name','route','icon','module','permission_mark','component','redirect','keepalive','type','hidden','sort'];
|
||||
protected array $form = ['parent_id','permission_name','route','icon','module','permission_mark','component','redirect','keepalive','type','is_inner', 'hidden','sort'];
|
||||
|
||||
/**
|
||||
* @var array
|
||||
@ -89,6 +90,17 @@ class Permissions extends Model
|
||||
'status' => MenuStatus::class
|
||||
];
|
||||
|
||||
/**
|
||||
* is inner
|
||||
*
|
||||
* @return Attribute
|
||||
*/
|
||||
public function isInner(): Attribute
|
||||
{
|
||||
return Attribute::make(
|
||||
get: fn($value) => $value == 1
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* is hidden
|
||||
|
@ -10,8 +10,9 @@ class Installer extends ModuleInstaller
|
||||
{
|
||||
// TODO: Implement info() method.
|
||||
return [
|
||||
'name' => '权限管理',
|
||||
'path' => 'Permissions',
|
||||
'title' => '权限管理',
|
||||
'name' => 'permissions',
|
||||
'path' => 'permissions',
|
||||
'keywords' => '权限, 角色, 部门',
|
||||
'description' => '权限管理模块',
|
||||
'provider' => PermissionsServiceProvider::class
|
||||
|
@ -26,10 +26,11 @@ return new class () extends Migration {
|
||||
$table->string('permission_mark', 100)->default('')->comment('权限标识,使用 @ 分割');
|
||||
$table->string('component')->comment('组件');
|
||||
$table->string('redirect')->nullable()->comment('跳转地址');
|
||||
$table->tinyInteger('keepalive')->default('1')->comment('1 缓存 2 不缓存');
|
||||
$table->tinyInteger('type')->default('1')->comment('1 目录 2 菜单 3 按钮');
|
||||
$table->tinyInteger('hidden')->default('1')->comment('1 显示 2 隐藏');
|
||||
$table->integer('sort')->default('1')->comment('排序');
|
||||
$table->tinyInteger('keepalive')->default(1)->comment('1 缓存 2 不缓存');
|
||||
$table->tinyInteger('type')->default(1)->comment('1 目录 2 菜单 3 按钮');
|
||||
$table->tinyInteger('is_inner')->default(2)->comment('1 是 2 否');
|
||||
$table->tinyInteger('hidden')->default(1)->comment('1 显示 2 隐藏');
|
||||
$table->integer('sort')->default(1)->comment('排序');
|
||||
$table->creatorId();
|
||||
$table->createdAt();
|
||||
$table->updatedAt();
|
||||
|
601
modules/Permissions/database/seeder/PermissionsMenusSeeder.php
Normal file
601
modules/Permissions/database/seeder/PermissionsMenusSeeder.php
Normal file
@ -0,0 +1,601 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
return new class extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the seeder.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$menus = $this->menus();
|
||||
|
||||
importTreeData($menus, 'permissions');
|
||||
}
|
||||
|
||||
|
||||
public function menus(): array
|
||||
{
|
||||
return array (
|
||||
0 =>
|
||||
array (
|
||||
'id' => 1,
|
||||
'parent_id' => 0,
|
||||
'permission_name' => '权限管理',
|
||||
'route' => '/permission',
|
||||
'icon' => 'arrow-down-on-square-stack',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => '',
|
||||
'component' => '/admin/layout/index.vue',
|
||||
'redirect' => NULL,
|
||||
'keepalive' => 1,
|
||||
'type' => 1,
|
||||
'hidden' => 1,
|
||||
'sort' => 1,
|
||||
'creator_id' => 0,
|
||||
'created_at' => 1670579928,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
'children' =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'id' => 2,
|
||||
'parent_id' => 1,
|
||||
'permission_name' => '角色管理',
|
||||
'route' => 'roles',
|
||||
'icon' => 'arrow-left-circle',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Roles',
|
||||
'component' => '/Permissions/views/roles/index.vue',
|
||||
'redirect' => NULL,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'hidden' => 1,
|
||||
'sort' => 6,
|
||||
'creator_id' => 0,
|
||||
'created_at' => 1670579968,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
'children' =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'id' => 53,
|
||||
'parent_id' => 2,
|
||||
'permission_name' => '列表',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Roles@index',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 1,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671526858,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
'id' => 54,
|
||||
'parent_id' => 2,
|
||||
'permission_name' => '新增',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Roles@store',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 2,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671526858,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
'id' => 55,
|
||||
'parent_id' => 2,
|
||||
'permission_name' => '读取',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Roles@show',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 3,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671526858,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
'id' => 56,
|
||||
'parent_id' => 2,
|
||||
'permission_name' => '更新',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Roles@update',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 4,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671526858,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
'id' => 57,
|
||||
'parent_id' => 2,
|
||||
'permission_name' => '删除',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Roles@destroy',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 5,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671526858,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
),
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
'id' => 3,
|
||||
'parent_id' => 1,
|
||||
'permission_name' => '菜单管理',
|
||||
'route' => 'permissions',
|
||||
'icon' => 'finger-print',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Permissions',
|
||||
'component' => '/Permissions/views/permissions/index.vue',
|
||||
'redirect' => NULL,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'hidden' => 1,
|
||||
'sort' => 1,
|
||||
'creator_id' => 0,
|
||||
'created_at' => 1670641371,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
'children' =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'id' => 27,
|
||||
'parent_id' => 3,
|
||||
'permission_name' => '列表',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Permissions@index',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 1,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524755,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
'id' => 28,
|
||||
'parent_id' => 3,
|
||||
'permission_name' => '新增',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Permissions@store',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 2,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524755,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
'id' => 29,
|
||||
'parent_id' => 3,
|
||||
'permission_name' => '读取',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Permissions@show',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 3,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524755,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
'id' => 30,
|
||||
'parent_id' => 3,
|
||||
'permission_name' => '更新',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Permissions@update',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 4,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524756,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
'id' => 31,
|
||||
'parent_id' => 3,
|
||||
'permission_name' => '删除',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Permissions@destroy',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 5,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524756,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
'id' => 32,
|
||||
'parent_id' => 3,
|
||||
'permission_name' => '禁用/启用',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Permissions@enable',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 6,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524756,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
),
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
'id' => 4,
|
||||
'parent_id' => 1,
|
||||
'permission_name' => '岗位管理',
|
||||
'route' => 'jobs',
|
||||
'icon' => 'globe-americas',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Jobs',
|
||||
'component' => '/Permissions/views/jobs/index.vue',
|
||||
'redirect' => NULL,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'hidden' => 1,
|
||||
'sort' => 1,
|
||||
'creator_id' => 0,
|
||||
'created_at' => 1670641399,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
'children' =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'id' => 21,
|
||||
'parent_id' => 4,
|
||||
'permission_name' => '列表',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Jobs@index',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 1,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524747,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
'id' => 22,
|
||||
'parent_id' => 4,
|
||||
'permission_name' => '新增',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Jobs@store',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 2,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524747,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
'id' => 23,
|
||||
'parent_id' => 4,
|
||||
'permission_name' => '读取',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Jobs@show',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 3,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524747,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
'id' => 24,
|
||||
'parent_id' => 4,
|
||||
'permission_name' => '更新',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Jobs@update',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 4,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524747,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
'id' => 25,
|
||||
'parent_id' => 4,
|
||||
'permission_name' => '删除',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Jobs@destroy',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 5,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524747,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
'id' => 26,
|
||||
'parent_id' => 4,
|
||||
'permission_name' => '禁用/启用',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Jobs@enable',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 6,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524747,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
),
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
'id' => 5,
|
||||
'parent_id' => 1,
|
||||
'permission_name' => '部门管理',
|
||||
'route' => 'departments',
|
||||
'icon' => 'table-cells',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Departments',
|
||||
'component' => '/Permissions/views/departments/index.vue',
|
||||
'redirect' => NULL,
|
||||
'keepalive' => 1,
|
||||
'type' => 2,
|
||||
'hidden' => 1,
|
||||
'sort' => 1,
|
||||
'creator_id' => 0,
|
||||
'created_at' => 1670641426,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
'children' =>
|
||||
array (
|
||||
0 =>
|
||||
array (
|
||||
'id' => 12,
|
||||
'parent_id' => 5,
|
||||
'permission_name' => '列表',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Departments@index',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 1,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671501850,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
1 =>
|
||||
array (
|
||||
'id' => 13,
|
||||
'parent_id' => 5,
|
||||
'permission_name' => '新增',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Departments@store',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 1,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671501861,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
2 =>
|
||||
array (
|
||||
'id' => 14,
|
||||
'parent_id' => 5,
|
||||
'permission_name' => '读取',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Departments@show',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 1,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671501872,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
3 =>
|
||||
array (
|
||||
'id' => 15,
|
||||
'parent_id' => 5,
|
||||
'permission_name' => '更新',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Departments@update',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 1,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671517311,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
4 =>
|
||||
array (
|
||||
'id' => 16,
|
||||
'parent_id' => 5,
|
||||
'permission_name' => '删除',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Departments@destroy',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 1,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671517324,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
5 =>
|
||||
array (
|
||||
'id' => 17,
|
||||
'parent_id' => 5,
|
||||
'permission_name' => '禁用/启用',
|
||||
'route' => '',
|
||||
'icon' => '',
|
||||
'module' => 'permissions',
|
||||
'permission_mark' => 'Departments@enable',
|
||||
'component' => '',
|
||||
'redirect' => '',
|
||||
'keepalive' => 1,
|
||||
'type' => 3,
|
||||
'hidden' => 1,
|
||||
'sort' => 6,
|
||||
'creator_id' => 1,
|
||||
'created_at' => 1671524493,
|
||||
'updated_at' => 1672798090,
|
||||
'deleted_at' => 0,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
};
|
@ -32,6 +32,20 @@
|
||||
<el-form-item label="排序" prop="sort">
|
||||
<el-input-number v-model="formData.sort" name="sort" :min="1" />
|
||||
</el-form-item>
|
||||
<el-form-item label="内页" prop="is_inner" v-if="isMenu">
|
||||
<el-radio-group v-model="formData.is_inner">
|
||||
<el-radio
|
||||
v-for="item in [
|
||||
{ label: '是', value: 1 },
|
||||
{ label: '否', value: 2 },
|
||||
]"
|
||||
:key="item.value"
|
||||
:label="item.value"
|
||||
name="hidden"
|
||||
>{{ item.label }}</el-radio
|
||||
>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div>
|
||||
<el-form-item label="父级菜单" prop="parent_id">
|
||||
@ -111,12 +125,14 @@ const closeSelectIcon = () => {
|
||||
const defaultSort = 1
|
||||
const defaultKeepalive = 1
|
||||
const defaultHidden = 1
|
||||
|
||||
const defaultIsInner = 2
|
||||
// 初始化
|
||||
formData.value.sort = defaultSort
|
||||
formData.value.keepalive = defaultKeepalive
|
||||
formData.value.type = MenuType.TOP_TYPE
|
||||
formData.value.hidden = defaultHidden
|
||||
formData.value.is_inner = defaultIsInner
|
||||
|
||||
// 默认目录
|
||||
const isTop = ref<boolean>(true)
|
||||
const isMenu = ref<boolean>(false)
|
||||
|
38
modules/Permissions/views/router.ts
Normal file
38
modules/Permissions/views/router.ts
Normal file
@ -0,0 +1,38 @@
|
||||
import { RouteRecordRaw } from 'vue-router'
|
||||
|
||||
// @ts-ignore
|
||||
const router: RouteRecordRaw[] = [
|
||||
{
|
||||
path: '/permission',
|
||||
component: () => import('/admin/layout/index.vue'),
|
||||
meta: { title: '权限管理', icon: 'user' },
|
||||
children: [
|
||||
{
|
||||
path: 'roles',
|
||||
name: 'roles',
|
||||
meta: { title: '角色管理', icon: 'home' },
|
||||
component: () => import('./roles/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'permissions',
|
||||
name: 'permissions',
|
||||
meta: { title: '菜单管理', icon: 'home' },
|
||||
component: () => import('./permissions/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'jobs',
|
||||
name: 'jobs',
|
||||
meta: { title: '岗位管理', icon: 'home' },
|
||||
component: () => import('./jobs/index.vue'),
|
||||
},
|
||||
{
|
||||
path: 'departments',
|
||||
name: 'departments',
|
||||
meta: { title: '部门管理', icon: 'home' },
|
||||
component: () => import('./departments/index.vue'),
|
||||
},
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
// export default router
|
Loading…
x
Reference in New Issue
Block a user