diff --git a/src/components/cstmrService/inquiry/QnaDetail.js b/src/components/cstmrService/inquiry/QnaDetail.js index f71a183..0f2dc1a 100644 --- a/src/components/cstmrService/inquiry/QnaDetail.js +++ b/src/components/cstmrService/inquiry/QnaDetail.js @@ -85,27 +85,30 @@ export default function QnaDetatil({ /> + {console.log(adminDetailForm)} - - - -
- -
-
+ {adminDetailForm.files?.length > 0 && ( + + + +
+ +
+
+ )} diff --git a/src/components/map/geojson/flatGimpoAirportAirArea.json b/src/components/map/geojson/flatGimpoAirportAirArea.json index 7511d1b..8f04d8d 100644 --- a/src/components/map/geojson/flatGimpoAirportAirArea.json +++ b/src/components/map/geojson/flatGimpoAirportAirArea.json @@ -2524,11 +2524,9 @@ [126.8343583222, 37.5066285444, 0], [126.8350552999, 37.5069242042, 0], [126.8357471374, 37.5072274331, 0], - [126.8364337051, 37.5075381744, 0], - - [126.8292431825, 37.5156880512, 0], [126.8286940695, 37.5154535639, 0], + [126.8281409584, 37.5152251192, 0], [126.8275839539, 37.5150027604, 0], [126.8270231615, 37.5147865297, 0], diff --git a/src/components/map/mapbox/draw/LaancDrawControl.js b/src/components/map/mapbox/draw/LaancDrawControl.js index 670e40c..bb0edec 100644 --- a/src/components/map/mapbox/draw/LaancDrawControl.js +++ b/src/components/map/mapbox/draw/LaancDrawControl.js @@ -79,17 +79,6 @@ export const LaancDrawControl = props => { const type = handlerReturnMode(drawObj.getMode()); const obj = state[type?.toLowerCase()]; - // const features = mapObject.queryRenderedFeatures(e.point, { - // layers: ['maine'] - // }); - // if (features.length > 0 && obj) { - // if (features[0].properties.description.includes('김포공항 비행불가')) { - // if (!obj?.properties?.isUnable) { - // drawObj.setFeatureProperty(obj.id, 'isUnable', true); - // } - // } - // } - if (type && obj) { const feature = drawObj.get(obj.id); const coordinates = feature.geometry.coordinates; @@ -343,7 +332,13 @@ export const LaancDrawControl = props => { if (isBreak) { props.setModal({ title: '비행 불가 지역', - desc: <>비행불가!, + desc: ( + <> + 설정하신 비행구역 중 허용고도가 0m인 구역이 있습니다. +
+ 비행구역 설정 시 허용고도를 다시 확인해주시기 바랍니다. + + ), isOpen: true }); handlerRemoveError(data.id); diff --git a/src/containers/cstmrService/inquiry/AdminInquiryContainer.js b/src/containers/cstmrService/inquiry/AdminInquiryContainer.js index 6e038d0..11166cf 100644 --- a/src/containers/cstmrService/inquiry/AdminInquiryContainer.js +++ b/src/containers/cstmrService/inquiry/AdminInquiryContainer.js @@ -6,7 +6,8 @@ import { ADMIN_DETAIL, ADMIN_ANSWER, ADMIN_FILE_DOWN, - ADMIN_DELETE + ADMIN_DELETE, + ADMIN_DETAIL_INITAL } from '../../../modules/cstmrService/inquiry/action'; import QnaSearchBox from '../../../components/cstmrService/inquiry/QnaSearchBox'; import QnaGrid from '../../../components/cstmrService/inquiry/QnaGrid'; @@ -56,6 +57,12 @@ export default function AdminInquiryContainer() { setAdminDetailForm({ ...adminDetail }); }, [adminDetail]); + useEffect(() => { + if (!isDetailModal) { + dispatch(ADMIN_DETAIL_INITAL()); + } + }, [isDetailModal]); + // 관리자 문의 목록 조회 const handlerGetQnaList = () => { const { category, anserStatus, createUserNm } = searchData; @@ -92,7 +99,7 @@ export default function AdminInquiryContainer() { ); const handlerFileDownload = () => { - if (adminDetailForm.files.length <= 0) return; + console.log(adminDetailForm.files); dispatch(ADMIN_FILE_DOWN.request(adminDetailForm.files)); }; diff --git a/src/containers/laanc/LaancPlanContainer.js b/src/containers/laanc/LaancPlanContainer.js index 2cd92f4..ae797f3 100644 --- a/src/containers/laanc/LaancPlanContainer.js +++ b/src/containers/laanc/LaancPlanContainer.js @@ -8,7 +8,8 @@ import { initFlightBas } from '../../modules/laanc/models/laancModels'; import { Modal } from 'reactstrap'; import { AREA_DETAIL_INIT, - FLIGHT_PLAN_AREA_BUFFER_LIST + FLIGHT_PLAN_AREA_BUFFER_LIST, + FLIGHT_PLAN_AREA_INAIRAREA } from '../../modules/basis/flight/actions/basisFlightAction'; import { useDispatch, useSelector } from 'react-redux'; import { drawTypeChangeAction } from '../../modules/control/map/actions/controlMapActions'; @@ -25,6 +26,9 @@ export default function LaancPlanContainer({ const { user } = useSelector(state => state.authState); const { laancApply } = useSelector(state => state.laancState); + const [isBuffer, setIsBuffer] = useState(false); + const { inAirArea } = useSelector(state => state.flightState); + const [step, setStep] = useState(1); const [detailData, setDetailData] = useState(initFlightBas.initDetail); const [finalDetailData, setFinalDetailData] = useState({}); @@ -126,6 +130,18 @@ export default function LaancPlanContainer({ } }, [laancApply]); + // 버퍼 변경될 때 관제권 포함유무 체크 + useEffect(() => { + if (isBuffer) { + dispatch(FLIGHT_PLAN_AREA_INAIRAREA.request(areaCoordList)); + setIsBuffer(false); + } + }, [areaCoordList]); + + // useEffect(() => { + // console.log(inAirArea, '----inairarea'); + // }, [inAirArea]); + // step 핸들러 const handlerStep = step => { setStep(step); @@ -378,6 +394,7 @@ export default function LaancPlanContainer({ array.push(copy); dispatch(FLIGHT_PLAN_AREA_BUFFER_LIST.request(array)); + setIsBuffer(true); } } else { setIsErrorModal({ diff --git a/src/modules/cstmrService/inquiry/reducers/index.ts b/src/modules/cstmrService/inquiry/reducers/index.ts index d8475dc..6c6bf32 100644 --- a/src/modules/cstmrService/inquiry/reducers/index.ts +++ b/src/modules/cstmrService/inquiry/reducers/index.ts @@ -23,6 +23,6 @@ export const qnaReducer = createReducer( // 관리자 상세 초기화 .handleAction(Actions.ADMIN_DETAIL_INITAL, (state, action) => produce(state, draft => { - draft.adminDetail = state.adminDetail; + draft.adminDetail = initalState.adminDetail; }) ); diff --git a/src/modules/cstmrService/inquiry/sagas/index.ts b/src/modules/cstmrService/inquiry/sagas/index.ts index 793d1dc..2153378 100644 --- a/src/modules/cstmrService/inquiry/sagas/index.ts +++ b/src/modules/cstmrService/inquiry/sagas/index.ts @@ -1,11 +1,6 @@ import { call, put, takeEvery } from '@redux-saga/core/effects'; import { ActionType } from 'typesafe-actions'; -import { - DELETE_MESSAGE, - DUPLATE_MESSAGE, - ERROR_MESSAGE, - SAVE_MESSAGE -} from '../../../../configs/constants'; +import { DELETE_MESSAGE, HOST } from '../../../../configs/constants'; import * as MessageActions from '../../../comn/message/actions/comnMessageAction'; import * as Actions from '../action'; import * as Apis from '../apis'; @@ -97,23 +92,21 @@ function* adminFileDownSaga( ) { try { const payload = action.payload; - const res = yield call(Apis.qnaAPI.adminFileDown, payload); - const { errorCode } = res; - - if (errorCode) { - // 오류메시지 호출 - yield put( - MessageActions.IS_ERROR({ - errorCode: errorCode, - errorMessage: '처리중 오류가 발생하였습니다', - isHistoryBack: false, - isRefresh: false - }) - ); - - return; - } - // yield put(Actions.ADMIN_FILE_DOWN.success(data)); + console.log(payload); + let alink = document.createElement('a'); + alink.href = `${HOST}${payload[0].downloadUrl.substring(1)}`; + alink.download = payload[0].fileName; + alink.click(); + document.removeChild(alink); + + // Promise.all( + // payload.map(i => { + + // let alink = document.createElement('a'); + // alink.href = `${HOST}${i.downloadUrl.substring(1)}`; + // alink.click(); + // document.removeChild(alink); + // }) } catch (error) { yield put(Actions.ADMIN_FILE_DOWN.failure(error)); }