diff --git a/src/pages/HousekeepingPage.tsx b/src/pages/HousekeepingPage.tsx index c97138e..69f5176 100644 --- a/src/pages/HousekeepingPage.tsx +++ b/src/pages/HousekeepingPage.tsx @@ -171,9 +171,11 @@ export function HousekeepingPage() { } } - const updateStatus = async (id: string, status: HousekeepingTask['status']) => { + const updateStatus = async (id: string, status: HousekeepingTask['status'], resolutionNotes?: string) => { try { - const updated = await api.housekeeping.update(slug, id, { status }) + const payload: Record = { status } + if (resolutionNotes) payload.resolution_notes = resolutionNotes + const updated = await api.housekeeping.update(slug, id, payload) if (updated.status === 'done') { setActiveTasks(prev => prev.filter(t => t.id !== id)) if (activeTab === 'history' && updated.completedAt?.startsWith(historyDate)) { @@ -582,7 +584,7 @@ const SEVERITY_CONFIG = { function TaskCard({ task, onStatusChange, onReport }: { task: HousekeepingTask - onStatusChange: (id: string, status: HousekeepingTask['status']) => void + onStatusChange: (id: string, status: HousekeepingTask['status'], resolutionNotes?: string) => void onReport: (id: string, note: string, severity: 'low' | 'medium' | 'high', photos: string[]) => void }) { const [reportOpen, setReportOpen] = useState(false) @@ -591,6 +593,8 @@ function TaskCard({ task, onStatusChange, onReport }: { const [reportPhotos, setReportPhotos] = useState([]) const [photoUploading, setPhotoUploading] = useState(false) const photoInputRef = useRef(null) + const [completingOpen, setCompletingOpen] = useState(false) + const [completionComment, setCompletionComment] = useState('') const uploadReportPhoto = async (file: File) => { setPhotoUploading(true) @@ -755,6 +759,42 @@ function TaskCard({ task, onStatusChange, onReport }: { )} + {completingOpen && ( +
+
+

+ Завершение уборки +

+ +
+