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