From c0963121c176e580fe78bdd6de85a00476438206 Mon Sep 17 00:00:00 2001 From: JANGHYUNn Date: Thu, 19 Oct 2023 15:14:56 +0900 Subject: [PATCH] =?UTF-8?q?laanc=20areaType=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cstmrService/inquiry/action/index.ts | 21 ++++++++++ .../cstmrService/inquiry/apis/index.ts | 11 +++++ .../cstmrService/inquiry/model/index.ts | 11 +++++ .../cstmrService/inquiry/reducers/index.ts | 15 +++++++ .../cstmrService/inquiry/sagas/index.ts | 40 +++++++++++++++++++ src/views/laanc/FlightArea.js | 2 +- src/views/laanc/LaancStep1.js | 9 ++++- 7 files changed, 106 insertions(+), 3 deletions(-) create mode 100644 src/modules/cstmrService/inquiry/action/index.ts create mode 100644 src/modules/cstmrService/inquiry/apis/index.ts create mode 100644 src/modules/cstmrService/inquiry/model/index.ts create mode 100644 src/modules/cstmrService/inquiry/reducers/index.ts create mode 100644 src/modules/cstmrService/inquiry/sagas/index.ts diff --git a/src/modules/cstmrService/inquiry/action/index.ts b/src/modules/cstmrService/inquiry/action/index.ts new file mode 100644 index 0000000..031e8dc --- /dev/null +++ b/src/modules/cstmrService/inquiry/action/index.ts @@ -0,0 +1,21 @@ +import { AxiosError } from 'axios'; +import { createAsyncAction, ActionType, createAction } from 'typesafe-actions'; + +import { IQnaAdminSearch, IQnaAdminList } from '../model'; + +// 목록 조회 +const ADMIN_LIST_REQUEST = 'cstmrService/qna/ADMIN_LIST_REQUEST'; +const ADMIN_LIST_SUCCESS = 'cstmrService/qna/ADMIN_LIST_SUCCESS'; +const ADMIN_LIST_FAILURE = 'cstmrService/qna/ADMIN_LIST_FAILURE'; + +export const ADMIN_LIST = createAsyncAction( + ADMIN_LIST_REQUEST, + ADMIN_LIST_SUCCESS, + ADMIN_LIST_FAILURE +)(); + +const actions = { + ADMIN_LIST +}; + +export type QnaAction = ActionType; diff --git a/src/modules/cstmrService/inquiry/apis/index.ts b/src/modules/cstmrService/inquiry/apis/index.ts new file mode 100644 index 0000000..4d40fd4 --- /dev/null +++ b/src/modules/cstmrService/inquiry/apis/index.ts @@ -0,0 +1,11 @@ +import axios from '../../../utils/customAxiosUtil'; + +export const qnaAPI = { + adminList: async ({ category, searchType, word }) => { + // const url = + // category === '전체' + // ? `api/bas/cns/faq?word=${word}` + // : `api/bas/cns/faq?category=${category}&word=${word}`; + return await axios.get(``); + } +}; diff --git a/src/modules/cstmrService/inquiry/model/index.ts b/src/modules/cstmrService/inquiry/model/index.ts new file mode 100644 index 0000000..821c1d6 --- /dev/null +++ b/src/modules/cstmrService/inquiry/model/index.ts @@ -0,0 +1,11 @@ +export interface IQnaState { + adminList: []; +} + +export interface IQnaAdminList {} + +export interface IQnaAdminSearch { + category: string; + searchType: string; + word: string; +} diff --git a/src/modules/cstmrService/inquiry/reducers/index.ts b/src/modules/cstmrService/inquiry/reducers/index.ts new file mode 100644 index 0000000..e515374 --- /dev/null +++ b/src/modules/cstmrService/inquiry/reducers/index.ts @@ -0,0 +1,15 @@ +import { createReducer } from 'typesafe-actions'; +import produce from 'immer'; +import * as Actions from '../action'; +import { IQnaState } from '../model'; + +export const faqReducer = createReducer({ + adminList: [] +}) + // 목록 + .handleAction(Actions.ADMIN_LIST.success, (state, action) => + produce(state, draft => { + const data = action.payload; + // draft.adminList = data; + }) + ); diff --git a/src/modules/cstmrService/inquiry/sagas/index.ts b/src/modules/cstmrService/inquiry/sagas/index.ts new file mode 100644 index 0000000..73408a6 --- /dev/null +++ b/src/modules/cstmrService/inquiry/sagas/index.ts @@ -0,0 +1,40 @@ +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 * as MessageActions from '../../../comn/message/actions/comnMessageAction'; +import * as Actions from '../action'; +import * as Apis from '../apis'; + +function* adminListSaga(action: ActionType) { + try { + const payload = action.payload; + const res = yield call(Apis.qnaAPI.adminList, payload); + const { data, count, errorCode } = res; + + if (errorCode) { + // 오류메시지 호출 + yield put( + MessageActions.IS_ERROR({ + errorCode: errorCode, + errorMessage: '처리중 오류가 발생하였습니다', + isHistoryBack: false, + isRefresh: false + }) + ); + + return; + } + yield put(Actions.ADMIN_LIST.success(data)); + } catch (error) { + yield put(Actions.ADMIN_LIST.failure(error)); + } +} + +export function* faqSaga() { + yield takeEvery(Actions.ADMIN_LIST.request, adminListSaga); +} diff --git a/src/views/laanc/FlightArea.js b/src/views/laanc/FlightArea.js index 337ba21..ebefc30 100644 --- a/src/views/laanc/FlightArea.js +++ b/src/views/laanc/FlightArea.js @@ -481,7 +481,7 @@ export default function FlightArea({ handleChange({ type: 'area', name: 'areaType', - value: mapControl.drawType + value: areas.areaType }); } ); diff --git a/src/views/laanc/LaancStep1.js b/src/views/laanc/LaancStep1.js index e3159ff..71bc437 100644 --- a/src/views/laanc/LaancStep1.js +++ b/src/views/laanc/LaancStep1.js @@ -579,7 +579,6 @@ export default function LaancStep1({ - {console.log('>>>>>>>>>', data)}