From ff10ef4e20895d03271b38c4d65b219d80b741e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?sanguu516=28=EB=B0=95=EC=83=81=ED=98=84=29?= Date: Thu, 12 Oct 2023 10:47:56 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A7=81=EC=A0=91=20=EC=9E=85=EB=A0=A5=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/containers/laanc/LaancPlanContainer.js | 60 ++++++++++++++++++++-- src/modules/laanc/models/laancModels.ts | 6 +++ src/views/laanc/LaancStep1.js | 1 + 3 files changed, 63 insertions(+), 4 deletions(-) diff --git a/src/containers/laanc/LaancPlanContainer.js b/src/containers/laanc/LaancPlanContainer.js index 29baed94..ebdff551 100644 --- a/src/containers/laanc/LaancPlanContainer.js +++ b/src/containers/laanc/LaancPlanContainer.js @@ -26,6 +26,7 @@ export default function LaancPlanContainer({ const [step, setStep] = useState(1); const [detailData, setDetailData] = useState(initFlightBas.initDetail); + const [finalDetailData, setFinalDetailData] = useState({}); const [centeredModal, setCenteredModal] = useState(false); const [formModal, setFormModal] = useState(false); const [modal2, setModal2] = useState({ @@ -34,6 +35,12 @@ export default function LaancPlanContainer({ desc: '' }); + useEffect(() => { + if (Object.getOwnPropertyNames(finalDetailData).length != 0) { + dispatch(LaancAction.LAANC_FLIGHT_Approval.request(finalDetailData)); + setStep(2); + } + }, [finalDetailData]); useEffect(() => { setDetailData({ ...detailData, @@ -101,13 +108,41 @@ export default function LaancPlanContainer({ [name]: 0 }; arr[0] = updateData; - console.log('>', arr[0]); return { ...prevState, [arrName]: arr }; }); - } else { + } else if (name === 'fltMethod' && value != '직접입력') { + setDetailData(prevState => { + const arr = [...prevState[arrName]]; + const updateData = { + ...prevState[arrName][0], + [name]: value, + selffltMethod: '' + }; + arr[0] = updateData; + return { + ...prevState, + [arrName]: arr + }; + }); + } + // else if (name === 'selffltMethod') { + // setDetailData(prevState => { + // const arr = [...prevState[arrName]]; + // const updateData = { + // ...prevState[arrName][0], + // fltMethod: value + // }; + // arr[0] = updateData; + // return { + // ...prevState, + // [arrName]: arr + // }; + // }); + // } + else { setDetailData(prevState => { const arr = [...prevState[arrName]]; const updateData = { @@ -306,8 +341,25 @@ export default function LaancPlanContainer({ return false; } else { //api 호출 부분 - dispatch(LaancAction.LAANC_FLIGHT_Approval.request(detailData)); - setStep(2); + if (detailData.areaList[0].selffltMethod) { + // const concatData = {}; + // concatData ={ + // ...detailData.areaList[0], + // fltMethod: detailData.areaList[0].selffltMethod + // } + setFinalDetailData({ + ...detailData, + areaList: [ + { + ...detailData.areaList[0], + fltMethod: detailData.areaList[0].selffltMethod + } + ] + }); + } else { + dispatch(LaancAction.LAANC_FLIGHT_Approval.request(detailData)); + setStep(2); + } } }; diff --git a/src/modules/laanc/models/laancModels.ts b/src/modules/laanc/models/laancModels.ts index d1f0ff37..e8c09f02 100644 --- a/src/modules/laanc/models/laancModels.ts +++ b/src/modules/laanc/models/laancModels.ts @@ -85,6 +85,7 @@ export const LaancFlightData = { planSno: 0, areaType: '', fltMethod: '', + selffltMethod: '', bufferZone: 0, fltElev: 0, createUserId: '', @@ -127,6 +128,7 @@ export const LaancFlightData = { planSno: 0, areaType: '', fltMethod: '', + selffltMethod: '', bufferZone: 0, fltElev: 0, createUserId: '', @@ -277,6 +279,7 @@ export interface FlightPlanAreaData { fltMethod: string; bufferZone: number; fltElev: number; + selffltMethod: string; createUserId?: string; createDt?: string; updateUserId?: string; @@ -387,6 +390,7 @@ export const laancControlData = { planSno: 0, areaType: '', fltMethod: '', + selffltMethod: '', bufferZone: 0, fltElev: 0, createUserId: '', @@ -495,6 +499,7 @@ export const initFlightBas = { planSno: 0, areaType: '', fltMethod: '', + selffltMethod: '', bufferZone: 0, fltElev: 0, createUserId: '', @@ -538,6 +543,7 @@ export const initFlightBas = { planSno: 0, areaType: '', fltMethod: '', + selffltMethod: '', bufferZone: 0, fltElev: 0, createUserId: '', diff --git a/src/views/laanc/LaancStep1.js b/src/views/laanc/LaancStep1.js index 0c06dfcf..1a320ce2 100644 --- a/src/views/laanc/LaancStep1.js +++ b/src/views/laanc/LaancStep1.js @@ -377,6 +377,7 @@ export default function LaancStep1({ value }); }} + value={data.areaList[0].selffltMethod} placeholder='직접입력 선택 후 활성화' disabled={ data.areaList[0].fltMethod === '직접입력' ? false : true