import { useEffect, useState } from 'react'; import { Box, Button, Divider, FormControl, FormLabel, IconButton, Stack, Select, MenuItem, } from '@mui/material'; import { ModalBackdrop, ModalContainer, HeaderContainer, ModalTitle, } from '../../common/Modal/ModalStyled'; import { Cancel } from '../../common/icons/icons'; import { DictVspApi } from '../../../api/dict-vsp'; import { toast } from 'react-toastify'; export const SelectVspModal = ({ isOpen, onClose, onSelect, formId, title = 'Выбор ВСП', isSaving = false, }) => { const [selectedValue, setSelectedValue] = useState(''); const [vspOptions, setVspOption] = useState([]) useEffect(() => { if (formId === null) return; DictVspApi.getDropdownVsp({ form_id: formId }).then(data => { if (data.success) { setVspOption(data.result) return; } toast.error('Ошибка получения ВСП') }) }, [formId]) useEffect(() => { if (!isOpen) { setSelectedValue(''); } }, [isOpen]) const handleCancel = () => { setSelectedValue(''); onClose(); }; const handleBackdropClick = (e) => { if (e.target === e.currentTarget) { handleCancel(); } }; const handleSave = () => { onSelect?.(selectedValue); onClose(); }; const isFormValid = selectedValue; if (!isOpen) return null; return ( {title} {/* Выбор ВСП */} ); };