import React, { useState } from 'react' import { FaTimes, FaSave, FaExclamationTriangle } from 'react-icons/fa' import { PmWorkCenter, WorkCenterStatusEnum, CriticalityLevelEnum } from '../../../types/pm' import { getCriticalityLevelText, getWorkCenterStatusText } from '../../../utils/erp' interface StatusUpdateModalProps { isOpen: boolean onClose: () => void onSave: (updatedWorkCenters: PmWorkCenter[]) => void selectedWorkCenters: PmWorkCenter[] } const StatusUpdateModal: React.FC = ({ isOpen, onClose, onSave, selectedWorkCenters, }) => { const [newStatus, setNewStatus] = useState(WorkCenterStatusEnum.Operational) const [newCriticality, setNewCriticality] = useState( CriticalityLevelEnum.Medium, ) const [updateStatus, setUpdateStatus] = useState(true) const [updateCriticality, setUpdateCriticality] = useState(false) const [reason, setReason] = useState('') if (!isOpen) return null const handleSave = () => { const updatedWorkCenters = selectedWorkCenters.map((workCenter) => ({ ...workCenter, status: updateStatus ? newStatus : workCenter.status, criticality: updateCriticality ? newCriticality : workCenter.criticality, lastModificationTime: new Date(), })) onSave(updatedWorkCenters) onClose() } const isStatusCritical = newStatus === WorkCenterStatusEnum.OutOfOrder || newStatus === WorkCenterStatusEnum.UnderMaintenance return (
{/* Header */}

Durum Güncelle ({selectedWorkCenters.length} iş merkezi)

{/* Content */}
{/* Selected WorkCenter List */}

Seçili İş Merkezleri

{selectedWorkCenters.map((workCenter) => (
{workCenter.code} - {workCenter.name}
Mevcut: {getWorkCenterStatusText(workCenter.status)} {getCriticalityLevelText(workCenter.criticality)}
))}
{/* Status Update Options */}
setUpdateStatus(e.target.checked)} className="rounded border-gray-300 text-blue-600 focus:ring-blue-500" />
{updateStatus && (
{isStatusCritical && (
Dikkat!

Bu durum değişikliği iş merkezinin üretim kapasitesini etkileyebilir.

)}
)}
setUpdateCriticality(e.target.checked)} className="rounded border-gray-300 text-blue-600 focus:ring-blue-500" />
{updateCriticality && (
)}
{/* Reason */}