diff --git a/src/containers/basis/dron/BasisIdntfContainer.js b/src/containers/basis/dron/BasisIdntfContainer.js index 5e67cc9..3932da7 100644 --- a/src/containers/basis/dron/BasisIdntfContainer.js +++ b/src/containers/basis/dron/BasisIdntfContainer.js @@ -3,7 +3,7 @@ import { useDispatch, useSelector } from 'react-redux'; import { Card, CardBody, Col, Row } from 'reactstrap'; import { BasisIdntfForm } from '../../../components/basis/dron/BasisIdntform'; import * as Actions from '../../../modules/basis/dron/actions/basisDronAction'; - +import { ErrorModal } from '../../../components/modal/ErrorModal'; export const BasisIdntfContainer = props => { const { listIdntf, idntfCount, detail, isRefreshIdntf } = useSelector( state => state.dronState @@ -18,6 +18,12 @@ export const BasisIdntfContainer = props => { hpno:'', isSave: false }); + //모달 관련 설정 + const [modal, setModal] = useState({ + isOpen: false, + title: '', + desc: '' + }); const [idntDataList, setIdntfDataList] = useState([]); @@ -50,16 +56,60 @@ export const BasisIdntfContainer = props => { dispatch(Actions.IDNTF_LIST.request(props.id)); }; - const handlerCreate = async data => { + const handlerCreate = async () => { console.log('idntDataList>>>', idntDataList); - let saveArr = idntDataList.filter(item => item.isSave === false); - dispatch( - Actions.IDNTF_CREATE.request({ - arcrftSno: detail?.arcrftSno, - data: saveArr - }) - ); + + if (saveArr.length > 0) { + let checking = true; + + saveArr.forEach(idntf => { + + if (!idntf.idntfNum && idntf.idntfNum === '') { + setModal({ + isOpen: true, + title: '필수값 입력 오류', + desc: '식별번호를 입력해주세요.' + }); + checking = false; + return false; + } + if(!idntf.ownerNm && idntf.ownerNm === '') { + setModal({ + isOpen: true, + title: '필수값 입력 오류', + desc: '소유자명을 입력해주세요.' + }); + checking = false; + return false; + } + if(!idntf.hpno && idntf.hpno === '') { + setModal({ + isOpen: true, + title: '필수값 입력 오류', + desc: '연락처를 입력해주세요.' + }); + checking = false; + return false; + } + }); + + if (!checking) return false; + + dispatch( + Actions.IDNTF_CREATE.request({ + arcrftSno: detail?.arcrftSno, + data: saveArr + }) + ); + } else { + setModal({ + isOpen: true, + title: '필수값 입력 오류', + desc: '식별장치 정보를 입력해주세요.' + }); + return false; + } }; const handlerDelete = async data => { @@ -104,6 +154,8 @@ export const BasisIdntfContainer = props => { ) : ( + + { handlerSave={handlerCreate} handlerDelete={handlerDelete} /> + + + ); };