You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
570 lines
25 KiB
570 lines
25 KiB
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
|
use Illuminate\Database\Seeder;
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
use function Illuminate\Events\queueable;
|
|
|
|
class AdminMenuSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
//
|
|
DB::table('admin_menu')->insert($this->data());
|
|
}
|
|
|
|
private function data(): array
|
|
{
|
|
$data = [];
|
|
|
|
$array = $this->returnArray();
|
|
$id = 0;
|
|
foreach ($array as $key => $value) {
|
|
$id += 1;
|
|
$data[] = $this->insertData($id, $key, 1);
|
|
if (is_array($value)) {
|
|
$parent_id = $id;
|
|
foreach ($value as $k => $v) {
|
|
$id += 1;
|
|
$data[] = $this->insertData(
|
|
$id,
|
|
$k,
|
|
1,
|
|
$parent_id,
|
|
$v['uri'],
|
|
0,
|
|
$v['page_uri']
|
|
);
|
|
|
|
$order = 0;
|
|
$parent2_id = $id;
|
|
foreach ($v['child'] as $title => $uri) {
|
|
$id += 1;
|
|
$data[] = $this->insertData(
|
|
$id,
|
|
$title,
|
|
0,
|
|
$parent2_id,
|
|
$uri,
|
|
$order
|
|
);
|
|
$order += 1;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return $data;
|
|
}
|
|
|
|
private function returnArray(): array
|
|
{
|
|
return [
|
|
'model_manage' => [
|
|
'event_calendar' => [
|
|
'uri' => 'eventCalendar',
|
|
'page_uri' => '/calendar',
|
|
'child' => [
|
|
'read_only' => 'eventCalendar.index',
|
|
'add' => 'eventCalendar.store',
|
|
'edit' => 'eventCalendar.update',
|
|
'import' => 'eventCalendar.import',
|
|
'export' => 'eventCalendar.export',
|
|
'delete' => 'eventCalendar.destroy',
|
|
'batch_delete' => 'eventCalendar.destroy',
|
|
'download_template' => 'eventCalendar.export',
|
|
'end' => 'eventCalendar.end',
|
|
'change_mode' => 'eventCalendar.changeMode'
|
|
]
|
|
],
|
|
'model_manage' => [
|
|
'uri' => 'pattern',
|
|
'page_uri' => '/mode',
|
|
'child' => [
|
|
'read_only' => 'pattern.index',
|
|
'add' => 'pattern.import',
|
|
'edit' => 'pattern.update',
|
|
'delete' => 'pattern.destroy',
|
|
'batch_import' => 'pattern.batchImport',
|
|
'view_details' => 'patternSpace.index',
|
|
'download_template' => 'pattern.importTemplate',
|
|
'reserved_parking' => 'pattern.release',
|
|
'departure_reminder' => 'pattern.change',
|
|
'add_parking_space' => 'patternSpace.store',
|
|
'edit_parking_space' => 'patternSpace.update',
|
|
'delete_parking_space' => 'patternSpace.destroy'
|
|
]
|
|
]
|
|
],
|
|
'appointment_management' => [
|
|
'appointment_list' => [
|
|
'uri' => 'parkingReservation',
|
|
'page_uri' => '/reserve/appointmentList',
|
|
'child' => [
|
|
'read_only' => 'parkingReservation.index'
|
|
]
|
|
],
|
|
'appointment_statistics' => [
|
|
'uri' => 'parkingReservationStatistics',
|
|
'page_uri' => '/reserve/appointmentStatistics',
|
|
'child' => [
|
|
'read_only' => 'parkingReservationStatistics.index'
|
|
]
|
|
]
|
|
],
|
|
'cat_status' => [
|
|
'cat_map' => [
|
|
'uri' => 'parkingSpaceMap',
|
|
'page_uri' => '/parking/map',
|
|
'child' => [
|
|
'read_only' => 'parkingSpaceMap.floorOverview',
|
|
'view' => 'parkingSpaceMap.map'
|
|
]
|
|
],
|
|
'cat_reserve_list' => [
|
|
'uri' => 'parkingReservation',
|
|
'page_uri' => '/parking/reservation_list',
|
|
'child' => [
|
|
'read_only' => 'parkingReservation.index'
|
|
]
|
|
],
|
|
'cat_list' => [
|
|
'uri' => 'parkingSpace',
|
|
'page_uri' => '/parking/list',
|
|
'child' => [
|
|
'read_only' => 'parkingSpace.index',
|
|
'add_new_energy' => '',
|
|
'delete_new_energy' => ''
|
|
]
|
|
],
|
|
'cat_type' => [
|
|
'uri' => 'spaceType',
|
|
'page_uri' => '/parking/type',
|
|
'child' => [
|
|
'read_only' => 'spaceType.index',
|
|
'add' => 'spaceType.store',
|
|
'delete' => 'spaceType.delete',
|
|
'view_details' => 'spaceType.show',
|
|
'edit' => 'spaceType.update',
|
|
'download_template' => 'licensePlate.importTemplate',
|
|
'license_plate_management' => 'licensePlate.index',
|
|
'batch_import' => 'licensePlate.import',
|
|
'add_license_plate' => 'licensePlate.store',
|
|
'delete_license_plate' => 'licensePlate.destroy',
|
|
'edit_license_plate' => 'licensePlate.update',
|
|
'clear_license_plate' => 'licensePlate.clear'
|
|
]
|
|
],
|
|
'cat_attr' => [
|
|
'uri' => 'spaceAttr',
|
|
'page_uri' => '/parking/attr',
|
|
'child' => [
|
|
'read_only' => 'spaceAttr.index',
|
|
'add' => 'spaceAttr.store',
|
|
'edit' => 'spaceAttr.update',
|
|
'delete' => 'spaceAttr.destroy'
|
|
]
|
|
],
|
|
'draw_map' => [
|
|
'uri' => 'map',
|
|
'page_uri' => '/parking/draw_map',
|
|
'child' => [
|
|
'read_only' => 'map.index'
|
|
]
|
|
],
|
|
'parking_information' => [
|
|
'uri' => 'information',
|
|
'page_uri' => '/parking/vehicle_info',
|
|
'child' => [
|
|
'read_only' => 'information.index',
|
|
'add' => 'information.store',
|
|
'clear' => 'information.clear',
|
|
'delete' => 'information.destroy'
|
|
]
|
|
],
|
|
'parking_repair_list' => [
|
|
'uri' => 'parkingRepair',
|
|
'page_uri' => '/parking/RepairList',
|
|
'child' => [
|
|
'read_only' => 'parkingRepair.index',
|
|
'region_list' => 'parkingRepair.regionList',
|
|
'synchronize_list' => 'parkingRepair.synchronizeList',
|
|
'batch_parking_repair' => 'parkingRepair.batchParkingRepair',
|
|
'download_template' => 'parkingRepair.downloadTemplate',
|
|
'batch_delete' => 'parkingRepair.batchDelete',
|
|
'add' => 'parkingRepair.store',
|
|
'edit' => 'parkingRepair.update',
|
|
'delete' => 'parkingRepair.destroy'
|
|
]
|
|
]
|
|
],
|
|
'special_car_manage' => [
|
|
'vip_list' => [
|
|
'uri' => 'vipList',
|
|
'page_uri' => '/special/vip_list',
|
|
'child' => [
|
|
'read_only' => 'vipList.index',
|
|
'add' => 'vipList.store',
|
|
'edit' => 'vipList.update',
|
|
'delete' => 'vipList.destroy',
|
|
'import' => 'vipList.import',
|
|
'export' => 'vipList.export',
|
|
'download_template' => 'vipList.importTemplate'
|
|
]
|
|
],
|
|
'vip_access_record' => [
|
|
'uri' => 'vipAccessRecord',
|
|
'page_uri' => '/special/vip_record',
|
|
'child' => [
|
|
'read_only' => 'vipAccessRecord.index',
|
|
'view_details' => 'vipAccessRecord.show'
|
|
]
|
|
],
|
|
'whitelist' => [
|
|
'uri' => 'whitelist',
|
|
'page_uri' => '/special/whitelist',
|
|
'child' => [
|
|
'read_only' => 'whitelist.index',
|
|
'add' => 'whitelist.store',
|
|
'edit' => 'whitelist.update',
|
|
'delete' => 'whitelist.destroy',
|
|
'batch_import' => 'whitelist.batchImport',
|
|
'export' => 'whitelist.export',
|
|
'download_template' => 'whitelist.downloadTemplate',
|
|
]
|
|
]
|
|
],
|
|
'information_center' => [
|
|
'alarm_notice' => [
|
|
'uri' => 'notice',
|
|
'page_uri' => '/info/alarms',
|
|
'child' => [
|
|
'read_only' => 'notice.index',
|
|
'view_details' => 'notice.show',
|
|
'export' => 'notice.export',
|
|
'alarm_settings' => 'notice.setting'
|
|
]
|
|
],
|
|
'alarm_information' => [
|
|
'uri' => 'alarmInformation',
|
|
'page_uri' => '/info/alarmInformation',
|
|
'child' => [
|
|
'read_only' => 'alarmInformation.index',
|
|
'allocation' => 'alarmInformation.allocation',
|
|
'edit_remark' => 'alarmInformation.edit_remark'
|
|
]
|
|
],
|
|
'abnormal_resource_usage' => [
|
|
'uri' => 'abnormalResourceUsage',
|
|
'page_uri' => '/info/abnormalResourceUsage',
|
|
'child' => [
|
|
'read_only' => 'abnormalResourceUsage.index',
|
|
'abnormal_handle' => 'abnormalResourceUsage.handle',
|
|
'abnormal_ignore' => 'abnormalResourceUsage.ignore'
|
|
]
|
|
]
|
|
],
|
|
'gate_management' => [
|
|
'stop_on_duty' => [
|
|
'uri' => '',
|
|
'page_uri' => '/gate/guardpost',
|
|
'child' => [
|
|
'read_only' => ''
|
|
]
|
|
],
|
|
'lane_video' => [
|
|
'uri' => '',
|
|
'page_uri' => '/gate/Lanevideo',
|
|
'child' => [
|
|
'read_only' => ''
|
|
]
|
|
]
|
|
],
|
|
'statistics_report' => [
|
|
'recognition_rate' => [
|
|
'uri' => 'licensePlateRecognition',
|
|
'page_uri' => '/report/plate_rate',
|
|
'child' => [
|
|
'read_only' => 'licensePlateRecognition.index',
|
|
'export' => 'licensePlateRecognition.export'
|
|
]
|
|
],
|
|
'parking_behavior' => [
|
|
'uri' => 'parkingBehavior',
|
|
'page_uri' => '/report/behavior',
|
|
'child' => [
|
|
'read_only' => 'parkingBehavior.index',
|
|
'export' => 'parkingBehavior.export',
|
|
'view_details' => ''
|
|
]
|
|
],
|
|
'utilization_rate' => [
|
|
'uri' => 'utilizationRate',
|
|
'page_uri' => '/report/usage_rate',
|
|
'child' => [
|
|
'read_only' => 'utilizationRate.index',
|
|
'export' => 'utilizationRate.export'
|
|
]
|
|
],
|
|
'access_record' => [
|
|
'uri' => 'accessRecord',
|
|
'page_uri' => '/report/entry_exit',
|
|
'child' => [
|
|
'read_only' => 'accessRecord.index',
|
|
'export' => 'accessRecord.export'
|
|
]
|
|
],
|
|
'occupancy_rate' => [
|
|
'uri' => 'occupancyRate',
|
|
'page_uri' => '/report/occupancy_rate',
|
|
'child' => [
|
|
'read_only' => 'occupancyRate.index',
|
|
'export' => 'occupancyRate.export'
|
|
]
|
|
],
|
|
'manual_correction' => [
|
|
'uri' => 'manualCorrection',
|
|
'page_uri' => '/report/plate_correction',
|
|
'child' => [
|
|
'read_only' => 'manualCorrection.index',
|
|
'view_details' => 'manualCorrection.show',
|
|
'export' => 'manualCorrection.export'
|
|
]
|
|
]
|
|
],
|
|
'system_log' => [
|
|
'system_log' => [
|
|
'uri' => 'operationLog',
|
|
'page_uri' => '/log/system',
|
|
'child' => [
|
|
'read_only' => 'operationLog.index',
|
|
'export' => 'operationLog.export'
|
|
]
|
|
]
|
|
],
|
|
'device_manage' => [
|
|
'camera_management' => [
|
|
'uri' => 'parkingCamera',
|
|
'page_uri' => '/device/camera',
|
|
'child' => [
|
|
'read_only' => 'parkingCamera.index',
|
|
'add' => 'parkingCamera.store',
|
|
'edit' => 'parkingCamera.update',
|
|
'delete' => 'parkingCamera.destroy',
|
|
'import' => '',
|
|
'export' => 'parkingCamera.export',
|
|
'debug' => '',
|
|
'download_template' => ''
|
|
]
|
|
]
|
|
],
|
|
'system_manage' => [
|
|
'total_configuration' => [
|
|
'uri' => 'config',
|
|
'page_uri' => '/system/config',
|
|
'child' => [
|
|
'read_only' => 'config.index',
|
|
'edit' => 'config.update'
|
|
]
|
|
],
|
|
'floor_plan' => [
|
|
'uri' => 'floors',
|
|
'page_uri' => '/parkingmanagement/floorManagement',
|
|
'child' => [
|
|
'read_only' => 'floors.index',
|
|
'add_floor' => 'floors.store',
|
|
'edit_floor' => 'floors.update',
|
|
'delete' => 'floors.destroy'
|
|
]
|
|
],
|
|
'translation' => [
|
|
'uri' => 'translations',
|
|
'page_uri' => '/system/translation',
|
|
'child' => [
|
|
'read_only' => 'translations.index',
|
|
'add' => 'translations.store',
|
|
'edit' => 'translations.update',
|
|
'delete' => 'translations.destroy'
|
|
]
|
|
]
|
|
],
|
|
'parking_management' => [
|
|
'parking_management_list' => [
|
|
'uri' => 'parkingManagement',
|
|
'page_uri' => '/parkingmanagement/parkingManagementlist',
|
|
'child' => [
|
|
'read_only' => 'parkingManagement.index',
|
|
'add' => 'parkingManagement.store',
|
|
'edit' => 'parkingManagement.update',
|
|
'delete' => 'parkingManagement.destroy'
|
|
]
|
|
],
|
|
'parking_list' => [
|
|
'uri' => 'parkingList',
|
|
'page_uri' => '/parkingmanagement/parkingList',
|
|
'child' => [
|
|
'read_only' => 'parkingList.index',
|
|
'add' => 'parkingList.store',
|
|
'edit' => 'parkingList.update',
|
|
'delete' => 'parkingList.destroy',
|
|
'batch_update_attr' => 'parkingList.batchUpdateAttr',
|
|
'batch_delete' => 'parkingList.batchDelete'
|
|
]
|
|
],
|
|
'parking_attendant' => [
|
|
'uri' => 'parkingAttendant',
|
|
'page_uri' => '/parkingmanagement/parkingAttendant',
|
|
'child' => [
|
|
'read_only' => 'parkingAttendant.index',
|
|
'add' => 'parkingAttendant.store',
|
|
'edit' => 'parkingAttendant.update',
|
|
'delete' => 'parkingAttendant.destroy',
|
|
]
|
|
],
|
|
'floor_plan' => [
|
|
'uri' => 'floors',
|
|
'page_uri' => '/parkingmanagement/floorManagement',
|
|
'child' => [
|
|
'read_only' => 'floors.index',
|
|
'add_floor' => 'floors.store',
|
|
'edit_floor' => 'floors.update',
|
|
'delete' => 'floors.destroy'
|
|
]
|
|
],
|
|
'regional_management' => [
|
|
'uri' => 'regionalManagement',
|
|
'page_uri' => '/parkingmanagement/regionalManagement',
|
|
'child' => [
|
|
'read_only' => 'regionalManagement.index',
|
|
'add' => 'regionalManagement.store',
|
|
'edit' => 'regionalManagement.update',
|
|
'delete' => 'regionalManagement.destroy'
|
|
]
|
|
],
|
|
'channel_management' => [
|
|
'uri' => 'channelManagement',
|
|
'page_uri' => '/parkingmanagement/channelManagement',
|
|
'child' => [
|
|
'read_only' => 'channelManagement.index',
|
|
'add' => 'channelManagement.store',
|
|
'edit' => 'channelManagement.update',
|
|
'delete' => 'channelManagement.destroy'
|
|
]
|
|
],
|
|
'guard_booth_management' => [
|
|
'uri' => 'guardBoothManagement',
|
|
'page_uri' => '/parkingmanagement/guardBoothManagement',
|
|
'child' => [
|
|
'read_only' => 'guardBoothManagement.index',
|
|
'add' => 'guardBoothManagement.store',
|
|
'edit' => 'guardBoothManagement.update',
|
|
'delete' => 'guardBoothManagement.destroy'
|
|
]
|
|
],
|
|
'equipment_management' => [
|
|
'uri' => 'equipmentManagement',
|
|
'page_uri' => '/parkingmanagement/equipmentManagement',
|
|
'child' => [
|
|
'read_only' => 'equipmentManagement.index',
|
|
'add' => 'equipmentManagement.store',
|
|
'edit' => 'equipmentManagement.update',
|
|
'delete' => 'equipmentManagement.destroy'
|
|
]
|
|
],
|
|
'departure_management' => [
|
|
'uri' => 'departureReasonManagement',
|
|
'page_uri' => '/parkingmanagement/departureReasonManagement',
|
|
'child' => [
|
|
'read_only' => 'departureReasonManagement.index',
|
|
'add' => 'departureReasonManagement.store',
|
|
'edit' => 'departureReasonManagement.update',
|
|
'delete' => 'departureReasonManagement.destroy'
|
|
]
|
|
],
|
|
'parking_space_management' => [
|
|
'uri' => 'parkingSpaceManagement',
|
|
'page_uri' => '/parkingmanagement/parkingManagement',
|
|
'child' => [
|
|
'read_only' => 'parkingSpaceManagement.index',
|
|
'add' => 'parkingSpaceManagement.store',
|
|
'edit' => 'parkingSpaceManagement.update',
|
|
'delete' => 'parkingSpaceManagement.destroy',
|
|
'batch_update_attr' => 'parkingSpaceManagement.batchUpdateAttr',
|
|
'batch_delete' => 'parkingSpaceManagement.batchDelete'
|
|
]
|
|
],
|
|
],
|
|
'user_manage' => [
|
|
'user_list' => [
|
|
'uri' => 'users',
|
|
'page_uri' => '/user/list',
|
|
'child' => [
|
|
'read_only' => 'users.index',
|
|
'add' => 'users.store',
|
|
'edit' => 'users.update',
|
|
'delete' => 'users.destroy',
|
|
'view' => 'users.show'
|
|
]
|
|
],
|
|
'role_manage' => [
|
|
'uri' => 'roles',
|
|
'page_uri' => '/user/role',
|
|
'child' => [
|
|
'read_only' => 'roles.index',
|
|
'add' => 'roles.store',
|
|
'view' => 'roles.show',
|
|
'edit' => 'roles.update',
|
|
'delete' => 'roles.destroy'
|
|
]
|
|
],
|
|
'channel_permissions' => [
|
|
'uri' => 'channelPermissions',
|
|
'page_uri' => '/user/channelPermissions',
|
|
'child' => [
|
|
'read_only' => 'channelPermissions.index',
|
|
'add' => 'channelPermissions.store',
|
|
'edit' => 'channelPermissions.update',
|
|
'delete' => 'channelPermissions.destroy'
|
|
]
|
|
]
|
|
]
|
|
];
|
|
}
|
|
|
|
/**
|
|
* @param int $id
|
|
* @param string $title
|
|
* @param int $show
|
|
* @param int $parent_id
|
|
* @param string $uri
|
|
* @param int $order
|
|
* @param string $page_uri
|
|
* @return array
|
|
*/
|
|
private function insertData(
|
|
int $id,
|
|
string $title,
|
|
int $show = 0,
|
|
int $parent_id = 0,
|
|
string $uri = '#',
|
|
int $order = 0,
|
|
string $page_uri = ''
|
|
): array {
|
|
return [
|
|
'id' => $id,
|
|
'parent_id' => $parent_id,
|
|
'order' => $order,
|
|
'title' => $title,
|
|
'icon' => '',
|
|
'uri' => $uri,
|
|
'page_uri' => $page_uri,
|
|
'show' => $show,
|
|
'created_at' => date("Y-m-d H:i:s", time())
|
|
];
|
|
}
|
|
}
|
|
|