diff --git a/src/components/orders/OrdersTable.jsx b/src/components/orders/OrdersTable.jsx
index 454d9e7..d2ce72c 100644
--- a/src/components/orders/OrdersTable.jsx
+++ b/src/components/orders/OrdersTable.jsx
@@ -15,6 +15,9 @@ const buildGroupSummary = (group) => {
const datePart = group.deliveryTime ? `${group.deliveryDate} · ${group.deliveryTime}` : group.deliveryDate;
parts.push(datePart);
}
+ if (group.assignedDriverName) {
+ parts.push(group.assignedDriverName);
+ }
return parts.join(" · ");
};
@@ -105,6 +108,7 @@ export const OrdersTable = ({
Клиент |
Номера |
Статус |
+ Водитель |
Дата доставки |
Готовность |
Обновлён |
@@ -136,6 +140,9 @@ export const OrdersTable = ({
{getOrderGroupDisplayStatusLabel(group)}
|
+
+ {group.assignedDriverName || —}
+ |
{group.deliveryDate ? (
{group.deliveryDate}{group.deliveryTime ? · {group.deliveryTime} : ""}
diff --git a/src/services/supabase/orderGroupRepository.js b/src/services/supabase/orderGroupRepository.js
index 4c91ed6..838a0f5 100644
--- a/src/services/supabase/orderGroupRepository.js
+++ b/src/services/supabase/orderGroupRepository.js
@@ -232,11 +232,17 @@ export const assignDriverToOrderGroup = async ({
throw fetchCurrentError;
}
- // If status is 'agreed' or beyond, keep it — don't downgrade to 'driver_assigned'
- const keepStatus = ["agreed", "loaded", "on_route", "delivered"].includes(currentGroup.delivery_status);
+ // When assigning a driver, advance status to driver_assigned if currently agreed.
+ // For loaded/on_route/delivered, keep existing status (driver reassigned mid-delivery).
+ // For pending/manual statuses, also set driver_assigned (driver chosen before formal agreement).
+ const currentStatus = currentGroup.delivery_status;
+ const ADVANCED_STATUSES = ["loaded", "on_route", "delivered"];
+ const newStatus = driverId
+ ? (ADVANCED_STATUSES.includes(currentStatus) ? undefined : "driver_assigned")
+ : null; // removing driver → reset to pending
const updates = {
assigned_driver_id: driverId || null,
- delivery_status: driverId && !keepStatus ? "driver_assigned" : undefined,
+ ...(newStatus !== undefined && { delivery_status: newStatus }),
updated_at: new Date().toISOString(),
};
|