Commit 0a618642 authored by hangjun83's avatar hangjun83

后端 数据表初始化修改

parent 94f7d7ff
......@@ -18,7 +18,7 @@ class CreateMenusTable extends Migration
$table->string('menu_name')->comment('菜单名称');
$table->string('title')->comment('菜单标题');
$table->string('menu_path')->comment('菜单路径');
$table->TinyInteger('parent_id')->comment('父级菜单id');
$table->smallInteger('parent_id')->comment('父级菜单id');
$table->enum('menu_type',['top','page','button'])->comment('菜单类型');
$table->string('menu_icon')->nullable()->comment('菜单图标');
$table->string('component')->nullable()->comment('页面组件');
......
......@@ -22,104 +22,167 @@ class MenusSeeder extends Seeder
'sort' => 1.0,
'created_by' => 0,
'created_at' => '',
'updated_at' => ''
'updated_at' => '',
'children' => [
[
'menu_name' => 'sys_manager',
'title' => '系统管理',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'page',
'menu_icon' => 'ios-settings',
'component' => 'Main',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.0,
'created_by' => 0,
'created_at' => '',
'updated_at' => ''
]
],
],
[
'menu_name' => 'sys_manager',
'title' => '系统管理',
'menu_name' => 'page_doc',
'title' => '物料中心',
'menu_path' => '#',
'parent_id' => 0,
'menu_type' => 'page',
'menu_icon' => 'ios-settings',
'component' => 'Main',
'parent_id' => -1,
'menu_type' => 'top',
'menu_icon' => 'md-book',
'component' => '',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.0,
'created_by' => 0,
'created_at' => '',
'updated_at' => ''
'updated_at' => '',
'children' => [
[
'menu_name' => 'doc_manage',
'title' => '文档管理',
'menu_path' => '/doc-manage',
'parent_id' => 0,
'menu_type' => 'page',
'menu_icon' => 'md-albums',
'component' => 'Main',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => ''
]
],
],
];
protected $subMenusList = [
[
'menu_name' => 'menu_permission',
'title' => '菜单权限管理',
'menu_path' => '/menus',
'parent_id' => 0,
'menu_type' => 'page',
'menu_icon' => 'md-menu',
'component' => 'sys/menu-manage/menuManage',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.10,
'created_by' => 0,
'created_at' => '',
'updated_at' => ''
],
[
'menu_name' => 'role_permission',
'title' => '用户权限管理',
'menu_path' => '/permission',
'parent_id' => 0,
'menu_type' => 'page',
'menu_icon' => 'md-contacts',
'component' => 'sys/role-manage/roleManage',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => ''
],
[
'menu_name' => 'user_manage',
'title' => '用户管理',
'menu_path' => '/user-manage',
'parent_id' => 0,
'menu_type' => 'page',
'menu_icon' => 'md-person',
'component' => 'sys/user-manage/userManage',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => ''
],
'sys_manager' =>
[
[
'menu_name' => 'menu_permission',
'title' => '菜单权限管理',
'menu_path' => '/menus',
'parent_id' => 0,
'menu_type' => 'page',
'menu_icon' => 'md-menu',
'component' => 'sys/menu-manage/menuManage',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.10,
'created_by' => 0,
'created_at' => '',
'updated_at' => ''
],
[
'menu_name' => 'role_permission',
'title' => '用户权限管理',
'menu_path' => '/permission',
'parent_id' => 0,
'menu_type' => 'page',
'menu_icon' => 'md-contacts',
'component' => 'sys/role-manage/roleManage',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => ''
],
[
'menu_name' => 'user_manage',
'title' => '用户管理',
'menu_path' => '/user-manage',
'parent_id' => 0,
'menu_type' => 'page',
'menu_icon' => 'md-person',
'component' => 'sys/user-manage/userManage',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => ''
],
],
'doc_manage' =>
[
[
'menu_name' => 'sys_doc',
'title' => '系统文档',
'menu_path' => '/doc-manage',
'parent_id' => 0,
'menu_type' => 'page',
'menu_icon' => 'ios-document',
'component' => 'doc/doc-manage/docManage',
'status' => 1,
'is_show' => 1,
'sys_default' => 1,
'sort' => 1.11,
'created_by' => 0,
'created_at' => '',
'updated_at' => ''
],
]
];
public function run()
{
collect($this->menuList)->map(function($menu){
foreach($this->menuList as $menu){
$menu['created_at'] = date('Y-m-d H:i:s',time());
$menu['updated_at'] = date('Y-m-d H:i:s',time());
$id = Menus::query()->insertGetId($menu);
if($id && $menu['parent_id'] == 0){
//初始化系统子菜单
collect($this->subMenusList)->map(function($subMenus) use ($id){
$subMenus['parent_id'] = $id;
$subMenus['created_at'] = date('Y-m-d H:i:s',time());
$subMenus['updated_at'] = date('Y-m-d H:i:s',time());
$childrenItem = $menu['children'];
unset($menu['children']);
Menus::query()->insertGetId($subMenus);
});
}
});
$topMenus = Menus::where('parent_id','=', -1)->first()->toArray();
$pageMenus = Menus::where(['parent_id' => 0, 'menu_type' => 'page'])->first();
$id = Menus::query()->insertGetId($menu);
if(isset($childrenItem) && !empty($childrenItem)){
foreach($childrenItem as $children){
$children['parent_id'] = $id;
$children['created_at'] = date('Y-m-d H:i:s',time());
$children['updated_at'] = date('Y-m-d H:i:s',time());
$newPageMenus = $pageMenus->toArray();
$newPageMenus['parent_id'] = $topMenus['id'];
$childrenId = Menus::query()->insertGetId($children);
$pageMenus->update($newPageMenus);
if(isset($this->subMenusList[$children['menu_name']]) && !empty($this->subMenusList[$children['menu_name']])){
collect($this->subMenusList[$children['menu_name']])->map(function($subMenus) use ($childrenId){
$subMenus['parent_id'] = $childrenId;
$subMenus['created_at'] = date('Y-m-d H:i:s',time());
$subMenus['updated_at'] = date('Y-m-d H:i:s',time());
Menus::query()->insertGetId($subMenus);
});
}
}
}
}
}
}
......@@ -11,7 +11,6 @@ class RolesSeeder extends Seeder
protected $rolesList = [
[
'name' => 'admin',
'title' => '管理员',
'is_default' => 0,
'remark' => '超级管理员组,拥有最高权限',
'guard_name' => '',
......@@ -30,7 +29,6 @@ class RolesSeeder extends Seeder
Role::create($role,$role['guard_name']);
//$id = Menus::query()->insertGetId($menu);
});
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment