박상현 11 months ago
parent
commit
f625259e12
  1. 43
      src/components/cstmrService/inquiry/QnaDetail.js
  2. 4
      src/components/map/geojson/flatGimpoAirportAirArea.json
  3. 19
      src/components/map/mapbox/draw/LaancDrawControl.js
  4. 11
      src/containers/cstmrService/inquiry/AdminInquiryContainer.js
  5. 19
      src/containers/laanc/LaancPlanContainer.js
  6. 2
      src/modules/cstmrService/inquiry/reducers/index.ts
  7. 39
      src/modules/cstmrService/inquiry/sagas/index.ts

43
src/components/cstmrService/inquiry/QnaDetail.js

@ -85,27 +85,30 @@ export default function QnaDetatil({
/>
</FormGroup>
</Col>
{console.log(adminDetailForm)}
<Col className='list-input' md='4'>
<FormGroup>
<Label for='test'>첨부 파일</Label>
<Input
type='text'
bsSize='sm'
placeholder=''
value='파일명.jpg'
disabled
/>
<div className='user-phone-btn'>
<Button
size='sm'
type='button'
color='primary'
onClick={handlerFileDownload}
>
<span className='d-sm-inline-block'>다운로드</span>
</Button>
</div>
</FormGroup>
{adminDetailForm.files?.length > 0 && (
<FormGroup>
<Label for='test'>첨부 파일</Label>
<Input
type='text'
bsSize='sm'
placeholder=''
value={adminDetailForm.files[0].fileName}
disabled
/>
<div className='user-phone-btn'>
<Button
size='sm'
type='button'
color='primary'
onClick={handlerFileDownload}
>
<span className='d-sm-inline-block'>다운로드</span>
</Button>
</div>
</FormGroup>
)}
</Col>
<Col className='list-input' md='12'>

4
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],

19
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인 구역이 있습니다.
<br />
비행구역 설정 허용고도를 다시 확인해주시기 바랍니다.
</>
),
isOpen: true
});
handlerRemoveError(data.id);

11
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));
};

19
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({

2
src/modules/cstmrService/inquiry/reducers/index.ts

@ -23,6 +23,6 @@ export const qnaReducer = createReducer<IQnaState, Actions.QnaAction>(
// 관리자 상세 초기화
.handleAction(Actions.ADMIN_DETAIL_INITAL, (state, action) =>
produce(state, draft => {
draft.adminDetail = state.adminDetail;
draft.adminDetail = initalState.adminDetail;
})
);

39
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));
}

Loading…
Cancel
Save