feat: allow admin/logistician to re-edit delivery date after agreement
This commit is contained in:
parent
1f285ea718
commit
58dc110007
|
|
@ -425,7 +425,8 @@ export const OrderDetailPanel = ({
|
||||||
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
setSelectedDriverId(order?.assignedDriverId || "");
|
setSelectedDriverId(order?.assignedDriverId || "");
|
||||||
}, [order?.assignedDriverId]);
|
setIsEditingDate(false);
|
||||||
|
}, [order?.id, order?.assignedDriverId]);
|
||||||
|
|
||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
const normalizedDeliveryDate = normalizeDateForInput(order?.deliveryDate);
|
const normalizedDeliveryDate = normalizeDateForInput(order?.deliveryDate);
|
||||||
|
|
@ -447,6 +448,8 @@ export const OrderDetailPanel = ({
|
||||||
}
|
}
|
||||||
|
|
||||||
const isDeliveryAgreed = (order.deliveryStatus || order.delivery_status) === "agreed";
|
const isDeliveryAgreed = (order.deliveryStatus || order.delivery_status) === "agreed";
|
||||||
|
const canEditDelivery = canManageDelivery && ["admin", "mega_admin", "logistician"].includes(userRole);
|
||||||
|
const [isEditingDate, setIsEditingDate] = React.useState(false);
|
||||||
const agreedDeliveryLabel = [
|
const agreedDeliveryLabel = [
|
||||||
formatDeliveryDateDisplay(order.deliveryDate),
|
formatDeliveryDateDisplay(order.deliveryDate),
|
||||||
order.deliveryTime || order.deliveryHalfDay,
|
order.deliveryTime || order.deliveryHalfDay,
|
||||||
|
|
@ -611,7 +614,8 @@ export const OrderDetailPanel = ({
|
||||||
: "Если клиент согласовал доставку по телефону, сохраните дату и половину дня здесь."}
|
: "Если клиент согласовал доставку по телефону, сохраните дату и половину дня здесь."}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
{isDeliveryAgreed ? (
|
{isDeliveryAgreed && !isEditingDate ? (
|
||||||
|
<div className="space-y-3">
|
||||||
<div className="rounded-[24px] border border-[rgba(18,128,92,0.35)] bg-[var(--color-accent-soft)] p-4 !text-[var(--color-text)]">
|
<div className="rounded-[24px] border border-[rgba(18,128,92,0.35)] bg-[var(--color-accent-soft)] p-4 !text-[var(--color-text)]">
|
||||||
<div className="flex flex-wrap items-center justify-between gap-3">
|
<div className="flex flex-wrap items-center justify-between gap-3">
|
||||||
<div>
|
<div>
|
||||||
|
|
@ -625,6 +629,17 @@ export const OrderDetailPanel = ({
|
||||||
<Badge tone="accent">Согласовано</Badge>
|
<Badge tone="accent">Согласовано</Badge>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{canEditDelivery ? (
|
||||||
|
<Button
|
||||||
|
variant="secondary"
|
||||||
|
onClick={() => { setIsEditingDate(true); setFormMessage(""); }}
|
||||||
|
disabled={isSavingDeliveryChoice}
|
||||||
|
className="text-sm"
|
||||||
|
>
|
||||||
|
Изменить дату доставки
|
||||||
|
</Button>
|
||||||
|
) : null}
|
||||||
|
</div>
|
||||||
) : (
|
) : (
|
||||||
<div className="flex flex-col gap-3 md:flex-row md:items-start md:relative md:z-10">
|
<div className="flex flex-col gap-3 md:flex-row md:items-start md:relative md:z-10">
|
||||||
<div className="space-y-3 md:relative md:z-30 md:min-w-0 md:flex-1 md:pr-4">
|
<div className="space-y-3 md:relative md:z-30 md:min-w-0 md:flex-1 md:pr-4">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue