Browse Source

비행계획서 버그 수정 - 삭제

pull/2/head
이학준 2 years ago
parent
commit
4005975317
  1. 15
      src/components/basis/flight/plan/FlightPlanForm.js
  2. 108
      src/containers/basis/flight/plan/FlightPlanDetailContainer.js

15
src/components/basis/flight/plan/FlightPlanForm.js

@ -646,23 +646,20 @@ const PilotForm = ({data, handleChange, index, handleDeleteArray}) => {
/>
</FormGroup>
</Col>
{index !== 0 ?
<Col className='count-del-btn' xs={12} md={2} xl={2} >
<Button.Ripple
color='danger'
className='text-nowrap px-1'
onClick={() =>
handleDeleteArray({ type: 'pilot', index })
handleDeleteArray({ type: 'pilot'})
}
outline
>
<X size={14} className='mr-50' />
<span>삭제</span>
</Button.Ripple>
</Col>
:
null
}
</Col>
</Row>
</div>)
}
@ -775,7 +772,7 @@ const ArcrftForm = ({data, handleChange, index, handleDeleteArray}) => {
/>
</FormGroup>
</Col>
{index !== 0 ?
<Col className='count-del-btn' xs={12} md={2} xl={2} >
<Button.Ripple
color='danger'
@ -789,9 +786,7 @@ const ArcrftForm = ({data, handleChange, index, handleDeleteArray}) => {
<span>삭제</span>
</Button.Ripple>
</Col>
:
null
}
</Row>
</div>)
}

108
src/containers/basis/flight/plan/FlightPlanDetailContainer.js

@ -4,7 +4,8 @@ import {CustomDetailLayout} from '../../../../components/layout/CustomDetailLayo
import {useHistory, useLocation, useParams} from 'react-router-dom';
import {useDispatch, useSelector} from 'react-redux';
import * as Actions from '../../../../modules/basis/flight/actions/basisFlightAction';
import {initFlightBas} from '../../../../modules/basis/flight/models/basisFlightModel';
import {initFlight, initFlightBas} from '../../../../modules/basis/flight/models/basisFlightModel';
import { AiFillPropertySafety } from 'react-icons/ai';
const initModal = {
@ -39,7 +40,8 @@ const FlightPlanDetailContainer = () => {
useEffect(() => {
if(pilotSelect !== undefined) {
const pilotList = detailData.pilotList.concat();
const pilot = Object.assign({}, initFlightBas['pilot']);
const pilot = Object.assign({}, initFlightBas['pilot']);
console.log(pilotSelect);
pilot.cstmrSno = pilotSelect.cstmrSno;
pilot.groupNm = pilotSelect.groupNm;
@ -48,22 +50,37 @@ const FlightPlanDetailContainer = () => {
pilot.memberName = pilotSelect.memberName;
pilot.hpno = pilotSelect.hpno;
pilotList.forEach((p, i) => {
if(p.cstmrSno === 0) {
pilotList[i] = pilot
} else {
if(i === pilotList.length-1) {
return pilotList.push(pilot);
// 파일럿 중복 확인
let checking = true
pilotList.forEach(p => {
if(p.cstmrSno !== 0) {
if(p.cstmrSno === pilotSelect.cstmrSno) {
alert('중복');
checking = false;
return false;
}
}
});
});
setDetailData(prevState => {
return {
...prevState,
['pilotList']: pilotList
}
})
if(checking) {
pilotList.forEach((p, i) => {
console.log(pilotList);
if(p.cstmrSno === 0) {
pilotList[i] = pilot
} else {
return pilotList.push(pilot);
}
});
setDetailData(prevState => {
return {
...prevState,
['pilotList']: pilotList
}
})
}
}
}, [pilotSelect])
@ -80,17 +97,29 @@ const FlightPlanDetailContainer = () => {
arcrft.idntfTypeCd = arcrftSelect.idntfTypeCd;
arcrft.arcrftTypeCd = arcrftSelect.arcrftTypeCd;
arcrft.idntfNum = arcrftSelect.idntfNum;
arcrft.ownerNm = arcrftSelect.ownerNm;
arcrft.ownerNm = arcrftSelect.ownerNm;
arcrftList.forEach((p, i) => {
if(p.arcrftSno === 0) {
arcrftList[i] = arcrft
} else {
if(i === arcrftList.length-1) {
return arcrftList.push(arcrft);
let checking = true;
arcrftList.forEach(p => {
if(p.arcrftSno !== 0){
if(p.arcrftSno === arcrftSelect.arcrftSno) {
alert('중복');
checking = false;
return false;
}
}
});
});
if(checking){
arcrftList.forEach((p,i) => {
console.log('>>>>>>>>>>', arcrftList);
if(p.arcrftSno === 0){
arcrftList[i] = arcrft
} else {
return arcrftList.push(arcrft);
}
});
}
setDetailData(prevState => {
return {
@ -302,30 +331,45 @@ const FlightPlanDetailContainer = () => {
setDetailData(prevState => {
const arr = [...prevState[arrName]];
const deleteData = arr.splice(index, 1);
return {
...prevState,
[arrName]: arr
}
console.log(deleteData);
const id = initFlight.detail['pilotList']
console.log(id);
if(arr.length > 0) {
debugger
return {
...prevState,
[arrName]: arr
}
}
else {
debugger
return {
...prevState,
[arrName]: id
}
}
})
break;
case 'arcrft':
setDetailData(prevState => {
const arr = [...prevState[arrName]];
const deleteData = arr.splice(index, 1);
console.log(deleteData);
const id = initFlight.detail['arcrftList']
if(arr.length > 0) {
return {
...prevState,
[arrName]: arr
}
} else {
}
else{
return {
...prevState,
['pilotList']: initFlightBas[arrName]
[arrName]: id
}
}
})
break;
default:
break;
}

Loading…
Cancel
Save