fix
All checks were successful
Build And Deploy Main / build-and-deploy (push) Successful in 29s

This commit is contained in:
2026-03-16 16:33:42 -04:00
parent d7ddbbbb70
commit fb6a996d9e

View File

@@ -46,6 +46,22 @@ const RouteEdit = () => {
const permissions = Array.isArray(employee.permissions) ? employee.permissions : [];
return roles.includes('driver') || permissions.includes('isDriver');
};
const buildExternalDriverOptions = (records = []) => {
return (records || [])
.filter((record) => Array.isArray(record?.permissions) && record.permissions.includes('isDriver'))
.map((record) => ({
id: record?.external_user_id,
name: record?.name || record?.username || '',
name_cn: '',
title: record?.title || '',
employment_status: 'external',
license_type: '',
phone: '',
email: record?.email || '',
status: 'active'
}))
.filter((record) => record.id && record.name);
};
const scheduleDate = paramsQuery.get('dateSchedule');
const editSection = paramsQuery.get('editSection')
@@ -309,9 +325,21 @@ const RouteEdit = () => {
CustomerService.getAllCustomers().then(data => {
setAllCustomers(data?.data || []);
});
EmployeeService.getAllEmployees().then((data) => {
const employees = data?.data || [];
setDriverOptions(employees.filter(isDriverEligibleEmployee));
Promise.all([
EmployeeService.getAllEmployees(),
EmployeeService.getExternalUserPermissionsList(EventsService.site)
]).then(([employeeResponse, externalPermissionResponse]) => {
const employees = employeeResponse?.data || [];
const internalDrivers = employees.filter(isDriverEligibleEmployee);
const externalDrivers = buildExternalDriverOptions(externalPermissionResponse?.data || []);
const mergedById = new Map();
[...internalDrivers, ...externalDrivers].forEach((driverItem) => {
if (!driverItem?.id) return;
if (!mergedById.has(driverItem.id)) {
mergedById.set(driverItem.id, driverItem);
}
});
setDriverOptions(Array.from(mergedById.values()));
});
}, []);