停车场管理系统
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

<?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())
];
}
}