diff --git a/mechanic-pwa/frontend/src/api/repairsCreate.ts b/mechanic-pwa/frontend/src/api/repairsCreate.ts index 0d3bcce..4524ab6 100644 --- a/mechanic-pwa/frontend/src/api/repairsCreate.ts +++ b/mechanic-pwa/frontend/src/api/repairsCreate.ts @@ -61,6 +61,7 @@ export interface CreateOilChangePayload { enabled: boolean; mileage_at_change: number | null; next_in_km: number; + oil_type: string; // engine | cvt | akpp sticker_photo_uuid: string | null; sticker_extension: string | null; } diff --git a/mechanic-pwa/frontend/src/pages/repairs/CreateRepairPage.tsx b/mechanic-pwa/frontend/src/pages/repairs/CreateRepairPage.tsx index b9027db..ca129b6 100644 --- a/mechanic-pwa/frontend/src/pages/repairs/CreateRepairPage.tsx +++ b/mechanic-pwa/frontend/src/pages/repairs/CreateRepairPage.tsx @@ -61,11 +61,14 @@ interface PartRow { qty: number; } +type OilKind = "engine" | "cvt" | "akpp"; + interface OilChangeState { enabled: boolean; mileage_at_change: number | null; mileage_is_dirty: boolean; // У24: мягкая подписка с шапочным next_in_km: number; + oil_type: OilKind; sticker: PhotoState | null; } @@ -98,6 +101,7 @@ export default function CreateRepairPage() { mileage_at_change: null, mileage_is_dirty: false, next_in_km: 10000, + oil_type: "engine", sticker: null, }); @@ -302,6 +306,7 @@ export default function CreateRepairPage() { enabled: true, mileage_at_change: oilChange.mileage_at_change, next_in_km: oilChange.next_in_km, + oil_type: oilChange.oil_type, sticker_photo_uuid: oilChange.sticker?.status === "uploaded" ? oilChange.sticker.presign.photo_uuid @@ -579,6 +584,27 @@ export default function CreateRepairPage() { {oilChange.enabled && (
+ Интервал {oilChange.oil_type === "cvt" ? "вариатора" : "АКПП"} задаётся по модели авто в + отчёте СТО. +
+ )}