Browse Source

직접 입력 기능 추가

pull/2/head
sanguu516(박상현) 11 months ago
parent
commit
ff10ef4e20
  1. 60
      src/containers/laanc/LaancPlanContainer.js
  2. 6
      src/modules/laanc/models/laancModels.ts
  3. 1
      src/views/laanc/LaancStep1.js

60
src/containers/laanc/LaancPlanContainer.js

@ -26,6 +26,7 @@ export default function LaancPlanContainer({
const [step, setStep] = useState(1); const [step, setStep] = useState(1);
const [detailData, setDetailData] = useState(initFlightBas.initDetail); const [detailData, setDetailData] = useState(initFlightBas.initDetail);
const [finalDetailData, setFinalDetailData] = useState({});
const [centeredModal, setCenteredModal] = useState(false); const [centeredModal, setCenteredModal] = useState(false);
const [formModal, setFormModal] = useState(false); const [formModal, setFormModal] = useState(false);
const [modal2, setModal2] = useState({ const [modal2, setModal2] = useState({
@ -34,6 +35,12 @@ export default function LaancPlanContainer({
desc: '' desc: ''
}); });
useEffect(() => {
if (Object.getOwnPropertyNames(finalDetailData).length != 0) {
dispatch(LaancAction.LAANC_FLIGHT_Approval.request(finalDetailData));
setStep(2);
}
}, [finalDetailData]);
useEffect(() => { useEffect(() => {
setDetailData({ setDetailData({
...detailData, ...detailData,
@ -101,13 +108,41 @@ export default function LaancPlanContainer({
[name]: 0 [name]: 0
}; };
arr[0] = updateData; arr[0] = updateData;
console.log('>', arr[0]);
return { return {
...prevState, ...prevState,
[arrName]: arr [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 => { setDetailData(prevState => {
const arr = [...prevState[arrName]]; const arr = [...prevState[arrName]];
const updateData = { const updateData = {
@ -306,8 +341,25 @@ export default function LaancPlanContainer({
return false; return false;
} else { } else {
//api 호출 부분 //api 호출 부분
dispatch(LaancAction.LAANC_FLIGHT_Approval.request(detailData)); if (detailData.areaList[0].selffltMethod) {
setStep(2); // 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);
}
} }
}; };

6
src/modules/laanc/models/laancModels.ts

@ -85,6 +85,7 @@ export const LaancFlightData = {
planSno: 0, planSno: 0,
areaType: '', areaType: '',
fltMethod: '', fltMethod: '',
selffltMethod: '',
bufferZone: 0, bufferZone: 0,
fltElev: 0, fltElev: 0,
createUserId: '', createUserId: '',
@ -127,6 +128,7 @@ export const LaancFlightData = {
planSno: 0, planSno: 0,
areaType: '', areaType: '',
fltMethod: '', fltMethod: '',
selffltMethod: '',
bufferZone: 0, bufferZone: 0,
fltElev: 0, fltElev: 0,
createUserId: '', createUserId: '',
@ -277,6 +279,7 @@ export interface FlightPlanAreaData {
fltMethod: string; fltMethod: string;
bufferZone: number; bufferZone: number;
fltElev: number; fltElev: number;
selffltMethod: string;
createUserId?: string; createUserId?: string;
createDt?: string; createDt?: string;
updateUserId?: string; updateUserId?: string;
@ -387,6 +390,7 @@ export const laancControlData = {
planSno: 0, planSno: 0,
areaType: '', areaType: '',
fltMethod: '', fltMethod: '',
selffltMethod: '',
bufferZone: 0, bufferZone: 0,
fltElev: 0, fltElev: 0,
createUserId: '', createUserId: '',
@ -495,6 +499,7 @@ export const initFlightBas = {
planSno: 0, planSno: 0,
areaType: '', areaType: '',
fltMethod: '', fltMethod: '',
selffltMethod: '',
bufferZone: 0, bufferZone: 0,
fltElev: 0, fltElev: 0,
createUserId: '', createUserId: '',
@ -538,6 +543,7 @@ export const initFlightBas = {
planSno: 0, planSno: 0,
areaType: '', areaType: '',
fltMethod: '', fltMethod: '',
selffltMethod: '',
bufferZone: 0, bufferZone: 0,
fltElev: 0, fltElev: 0,
createUserId: '', createUserId: '',

1
src/views/laanc/LaancStep1.js

@ -377,6 +377,7 @@ export default function LaancStep1({
value value
}); });
}} }}
value={data.areaList[0].selffltMethod}
placeholder='직접입력 선택 후 활성화' placeholder='직접입력 선택 후 활성화'
disabled={ disabled={
data.areaList[0].fltMethod === '직접입력' ? false : true data.areaList[0].fltMethod === '직접입력' ? false : true

Loading…
Cancel
Save