diff --git a/mechanic-pwa/frontend/src/pages/warehouse/TyresPage.tsx b/mechanic-pwa/frontend/src/pages/warehouse/TyresPage.tsx index ee8ce58..492b6d2 100644 --- a/mechanic-pwa/frontend/src/pages/warehouse/TyresPage.tsx +++ b/mechanic-pwa/frontend/src/pages/warehouse/TyresPage.tsx @@ -51,6 +51,13 @@ function daysOn(iso: string): number { return Number.isNaN(d) ? 0 : Math.max(0, Math.round((Date.now() - d) / 86_400_000)); } +/** Подпись кнопки выдачи. «Комплект» — только когда колёс действительно четыре: + * с тех пор как выдавать можно поштучно, на одной покрышке эта подпись врала. */ +function issueLabel(qty: number): string { + if (qty === 4) return "Выдать комплект"; + return `Выдать ${qty} ${qty === 1 ? "покрышку" : "покрышки"}`; +} + export default function TyresPage() { const navigate = useNavigate(); const [sp, setSp] = useSearchParams(); @@ -230,7 +237,7 @@ function IssueForm({ carId, onDone }: { carId: number; onDone: () => void }) { toast.success(`Выдано ${qty} шт · ${ctx.car_number ?? ""}`.trim()); onDone(); } catch (e) { - toast.error(await apiErrorText(e, "Не удалось выдать комплект")); + toast.error(await apiErrorText(e, "Не удалось выдать резину")); setSaving(false); } }; @@ -344,8 +351,11 @@ function IssueForm({ carId, onDone }: { carId: number; onDone: () => void }) { {/* Количество и состояние */}

Сколько покрышек

+ {/* Поштучно, а не только комплектом: в переобувку часто уходит одно-два + колеса — порезали боковину, поймали грыжу. Раньше выбор был 2/4/5 и + под такой случай не подходил (задача 4684). */}
- {[2, 4, 5].map((n) => ( + {[1, 2, 3, 4].map((n) => (