This commit is contained in:
@@ -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()));
|
||||
});
|
||||
}, []);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user