Merge branch 'freight/feature/first_mile_invoice' of github.com:Tria-plc/edr-platform into freight/feature/first_mile_invoice

This commit is contained in:
yaschalew
2026-07-02 17:34:40 +03:00
4 changed files with 18 additions and 9 deletions

View File

@@ -48,12 +48,10 @@ export class DriversService {
const qb = this.driverRepo.createQueryBuilder('d'); const qb = this.driverRepo.createQueryBuilder('d');
if (query.search) { if (query.search) {
const searchTerm = `%${query.search}%`; qb.where(
qb.where('d.firstName ILIKE :search', { search: searchTerm }) '(d.firstName ILIKE :search OR d.lastName ILIKE :search OR d.email ILIKE :search OR d.licenseNumber ILIKE :search OR d.phoneNumber ILIKE :search)',
.orWhere('d.lastName ILIKE :search', { search: searchTerm }) { search: `%${query.search}%` },
.orWhere('d.email ILIKE :search', { search: searchTerm }) );
.orWhere('d.licenseNumber ILIKE :search', { search: searchTerm })
.orWhere('d.phoneNumber ILIKE :search', { search: searchTerm });
} }
if (query.status) { if (query.status) {

View File

@@ -50,7 +50,7 @@ export class VehiclesService {
if (query.search) { if (query.search) {
qb = qb.where( qb = qb.where(
'v.plateNumber ILIKE :search OR v.manufacturer ILIKE :search', '(v.plateNumber ILIKE :search OR v.manufacturer ILIKE :search OR v.model ILIKE :search)',
{ search: `%${query.search}%` }, { search: `%${query.search}%` },
); );
} }

View File

@@ -46,17 +46,22 @@ const FleetResourcePage = () => {
const { viewMode, setViewMode } = useFleetViewMode(slug); const { viewMode, setViewMode } = useFleetViewMode(slug);
const serverListFilters = useMemo((): FleetListFilters | undefined => { const serverListFilters = useMemo((): FleetListFilters | undefined => {
if (slug !== "wagons" && slug !== "locomotives") return undefined; const serverFilteredSlugs: FleetResourceSlug[] = ["wagons", "locomotives", "vehicles", "drivers"];
if (!serverFilteredSlugs.includes(slug)) return undefined;
const filters: FleetListFilters = {}; const filters: FleetListFilters = {};
const status = listFilterValues.status; const status = listFilterValues.status;
const currentYardId = listFilterValues.currentYardId; const currentYardId = listFilterValues.currentYardId;
const availability = listFilterValues.availability;
if (status && status !== "ALL") { if (status && status !== "ALL") {
(filters as { status?: string }).status = status; (filters as { status?: string }).status = status;
} }
if (currentYardId && currentYardId !== "ALL") { if (currentYardId && currentYardId !== "ALL") {
filters.currentYardId = currentYardId; filters.currentYardId = currentYardId;
} }
if (slug === "wagons" && search.trim()) { if (availability && availability !== "ALL") {
(filters as { availability?: string }).availability = availability;
}
if (slug !== "locomotives" && search.trim()) {
filters.search = search.trim(); filters.search = search.trim();
} }
return filters; return filters;

View File

@@ -49,6 +49,12 @@ export const vehiclesConfig: FleetResourceConfig = {
allLabel: "All statuses", allLabel: "All statuses",
options: VEHICLE_STATUS_OPTIONS, options: VEHICLE_STATUS_OPTIONS,
}, },
{
key: "availability",
label: "Availability",
allLabel: "All availability",
options: VEHICLE_AVAILABILITY_OPTIONS,
},
], ],
searchKeys: ["plateNumber", "registrationNumber", "manufacturer", "model", "vehicleType", "status"], searchKeys: ["plateNumber", "registrationNumber", "manufacturer", "model", "vehicleType", "status"],
columns: [ columns: [