From 5c01500b199a5403c2a69fbe67a81a2bea97b107 Mon Sep 17 00:00:00 2001 From: hagjoon Date: Thu, 11 Aug 2022 14:22:20 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B8=B0=EC=B2=B4=EC=A0=95=EB=B3=B4=20-=20?= =?UTF-8?q?=EC=8B=9D=EB=B3=84=EB=B2=88=ED=98=B8=20=EC=9C=A0=ED=9A=A8?= =?UTF-8?q?=EC=84=B1=EC=B2=B4=ED=81=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basis/dron/BasisIdntfContainer.js | 73 ++++++++++++++++--- 1 file changed, 64 insertions(+), 9 deletions(-) diff --git a/src/containers/basis/dron/BasisIdntfContainer.js b/src/containers/basis/dron/BasisIdntfContainer.js index 5e67cc9f..3932da73 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} /> + + + ); };