hujiao-gui/database/seeds/MenuTableSeeder.php

233 lines
8.7 KiB
PHP

<?php
use Illuminate\Database\Seeder;
class MenuTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
\Illuminate\Support\Facades\DB::table('menu')->truncate();
$datas = [
[
'name' => '系统管理',
'route' => null,
'url' => null,
'icon' => 'layui-icon-auz',
'type' => 2,
'sort' => 1,
'permission_name' => 'system',
'child' => [
[
'name' => '用户管理',
'route' => 'system.user',
'url' => null,
'icon' => 'layui-icon-username',
'type' => 1,
'permission_name' => 'system.user',
],
[
'name' => '角色管理',
'route' => 'system.role',
'url' => null,
'icon' => 'layui-icon-group',
'type' => 1,
'permission_name' => 'system.role',
],
[
'name' => '权限管理',
'route' => 'system.permission',
'url' => null,
'icon' => 'layui-icon-key',
'type' => 1,
'permission_name' => 'system.permission',
],
[
'name' => '菜单管理',
'route' => 'system.menu',
'url' => null,
'icon' => 'layui-icon-menu-fill',
'type' => 1,
'permission_name' => 'system.menu',
],
]
],
[
'name' => '呼叫中心',
'route' => null,
'url' => null,
'icon' => 'layui-icon-windows',
'type' => 2,
'sort' => 2,
'permission_name' => 'call',
'child' => [
[
'name' => '分机管理',
'route' => 'call.sip',
'url' => null,
'icon' => 'layui-icon-cellphone',
'type' => 1,
'permission_name' => 'call.sip',
],
[
'name' => '网关管理',
'route' => 'call.gateway',
'url' => null,
'icon' => 'layui-icon-service',
'type' => 1,
'permission_name' => 'call.gateway',
],
[
'name' => '拨号计划',
'route' => 'call.extension',
'url' => null,
'icon' => 'layui-icon-chart',
'type' => 1,
'permission_name' => 'call.extension',
],
[
'name' => '通话记录',
'route' => 'call.cdr',
'url' => null,
'icon' => 'layui-icon-headset',
'type' => 1,
'permission_name' => 'call.cdr',
],
]
],
[
'name' => 'CRM管理',
'route' => null,
'url' => null,
'icon' => 'layui-icon-heart-fill',
'type' => 2,
'sort' => 2,
'permission_name' => 'crm',
'child' => [
[
'name' => '部门管理',
'route' => 'crm.department',
'url' => null,
'icon' => 'layui-icon-android',
'type' => 1,
'permission_name' => 'crm.department',
],
[
'name' => '节点管理',
'route' => 'crm.node',
'url' => null,
'icon' => 'layui-icon-cellphone-fine',
'type' => 1,
'permission_name' => 'crm.node',
],
[
'name' => '客户配置',
'route' => 'crm.customer_field',
'url' => null,
'icon' => 'layui-icon-set-fill',
'type' => 1,
'permission_name' => 'crm.customer_field',
],
[
'name' => '待分配库',
'route' => 'crm.assignment',
'url' => null,
'icon' => 'layui-icon-transfer',
'type' => 1,
'permission_name' => 'crm.assignment',
],
[
'name' => '经理库',
'route' => 'crm.business',
'url' => null,
'icon' => 'layui-icon-dialogue',
'type' => 1,
'permission_name' => 'crm.business',
],
[
'name' => '部门抢单',
'route' => 'crm.grab',
'url' => null,
'icon' => 'layui-icon-carousel',
'type' => 1,
'permission_name' => 'crm.grab',
],
[
'name' => '公海库',
'route' => 'crm.waste',
'url' => null,
'icon' => 'layui-icon-404',
'type' => 1,
'permission_name' => 'crm.waste',
],
[
'name' => '客户管理',
'route' => 'crm.customer',
'url' => null,
'icon' => 'layui-icon-reply-fill',
'type' => 1,
'permission_name' => 'crm.customer',
],
]
],
[
'name' => '实时聊天',
'route' => null,
'url' => null,
'icon' => 'layui-icon-cellphone-fine',
'type' => 2,
'sort' => 2,
'permission_name' => 'chat',
'child' => [
[
'name' => '消息中心',
'route' => 'chat.message',
'url' => null,
'icon' => 'layui-icon-note',
'type' => 1,
'permission_name' => 'chat.message',
],
[
'name' => '语音通话',
'route' => 'chat.audio',
'url' => null,
'icon' => 'layui-icon-service',
'type' => 1,
'permission_name' => 'chat.audio',
],
]
],
];
$permissions = \App\Models\Permission::pluck('id','name')->toArray();
foreach ($datas as $k1 => $d1){
$m1 = \App\Models\Menu::create([
'name' => $d1['name'],
'route' => $d1['route'],
'url' => $d1['url'],
'icon' => $d1['icon'],
'type' => $d1['type'],
'sort' => $k1+1,
'permission_id' => \Illuminate\Support\Arr::get($permissions,$d1['permission_name'],null),
]);
if (isset($d1['child'])&&!empty($d1['child'])){
foreach ($d1['child'] as $k2 => $d2){
$m2 = \App\Models\Menu::create([
'name' => $d2['name'],
'route' => $d2['route'],
'url' => $d2['url'],
'icon' => $d2['icon'],
'type' => $d2['type'],
'sort' => $k2+1,
'parent_id' => $m1->id,
'permission_id' => \Illuminate\Support\Arr::get($permissions,$d2['permission_name'],null),
]);
}
}
}
}
}