From a33ea7e7af6869119cf78458ddbfae7fe98415d7 Mon Sep 17 00:00:00 2001 From: hhjk00 Date: Thu, 26 Oct 2023 16:53:44 +0900 Subject: [PATCH] =?UTF-8?q?qna=20=EC=82=AC=EC=9A=A9=EC=9E=90=20=EB=AC=B8?= =?UTF-8?q?=EC=9D=98=20=EC=82=AD=EC=A0=9C=20api=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cstmrService/inquiry/InquiryWrite.js | 10 ++++-- .../inquiry/UserInquiryContainer.js | 33 +++++++++++++++++++ .../cstmrService/inquiry/action/index.ts | 1 + .../cstmrService/inquiry/sagas/index.ts | 17 +++++++--- 4 files changed, 55 insertions(+), 6 deletions(-) diff --git a/src/components/cstmrService/inquiry/InquiryWrite.js b/src/components/cstmrService/inquiry/InquiryWrite.js index 1ff680b..8ee62c3 100644 --- a/src/components/cstmrService/inquiry/InquiryWrite.js +++ b/src/components/cstmrService/inquiry/InquiryWrite.js @@ -26,7 +26,8 @@ function InquiryWrite({ handlerChangeInquiryForm, handlerSubmitInquiryForm, memberName, - inquiryForm + inquiryForm, + handlerDeleteConfirmInquiry }) { const fileInputRef = useRef(null); const [selectedFile, setSelectedFile] = useState(null); @@ -208,7 +209,12 @@ function InquiryWrite({
- + diff --git a/src/containers/cstmrService/inquiry/UserInquiryContainer.js b/src/containers/cstmrService/inquiry/UserInquiryContainer.js index 3ee21d6..0565dfd 100644 --- a/src/containers/cstmrService/inquiry/UserInquiryContainer.js +++ b/src/containers/cstmrService/inquiry/UserInquiryContainer.js @@ -7,6 +7,7 @@ import moment from 'moment'; import InquiryWrite from '../../../components/cstmrService/inquiry/InquiryWrite'; import { InfoModal } from '../../../components/modal/InfoModal'; import { ErrorModal } from '../../../components/modal/ErrorModal'; +import { ConfirmModal } from '../../../components/modal/ConfirmModal'; export default function UserInquiryContainer({ memberName }) { const dispatch = useDispatch(); @@ -201,6 +202,25 @@ export default function UserInquiryContainer({ memberName }) { setIsInquiryModalOpen(false); }; + // 문의 삭제 Confirm + const handlerDeleteConfirmInquiry = () => { + setValidationModal({ + ...validationModal, + confirmType: { + isOpen: true, + title: '삭제', + desc: '정말 삭제하시겠습니까?' + } + }); + }; + + // 문의 삭제 + const handlerDeleteInquiry = () => { + const { qnaSno } = inquiryForm; + dispatch(Actions.ADMIN_DELETE.request({ qnaSno, role: 'user' })); + setIsInquiryModalOpen(false); + }; + return (
@@ -226,6 +246,7 @@ export default function UserInquiryContainer({ memberName }) { handlerSubmitInquiryForm={handlerSubmitInquiryForm} memberName={memberName} inquiryForm={inquiryForm} + handlerDeleteConfirmInquiry={handlerDeleteConfirmInquiry} /> + { + setValidationModal({ + ...validationModal, + confirmType: { + ...val + } + }); + }} + handlerConfirm={handlerDeleteInquiry} + />
); } diff --git a/src/modules/cstmrService/inquiry/action/index.ts b/src/modules/cstmrService/inquiry/action/index.ts index 0e7ebd9..0419da6 100644 --- a/src/modules/cstmrService/inquiry/action/index.ts +++ b/src/modules/cstmrService/inquiry/action/index.ts @@ -86,6 +86,7 @@ export const ADMIN_DELETE = createAsyncAction( anserStatus: string; createUserNm: string; qnaSno: number; + role: string; }, {}, AxiosError diff --git a/src/modules/cstmrService/inquiry/sagas/index.ts b/src/modules/cstmrService/inquiry/sagas/index.ts index 74aa508..ffd88fd 100644 --- a/src/modules/cstmrService/inquiry/sagas/index.ts +++ b/src/modules/cstmrService/inquiry/sagas/index.ts @@ -120,7 +120,8 @@ function* adminDeleteSaga( action: ActionType ) { try { - const { category, anserStatus, createUserNm, qnaSno } = action.payload; + const { category, anserStatus, createUserNm, qnaSno, role } = + action.payload; const res = yield call(Apis.qnaAPI.adminDelete, qnaSno); const { errorCode, data } = res; @@ -137,6 +138,7 @@ function* adminDeleteSaga( return; } + if (data) { yield put( MessageActions.IS_MESSAGE({ @@ -147,9 +149,16 @@ function* adminDeleteSaga( }) ); } - yield put( - Actions.ADMIN_LIST.request({ category, anserStatus, createUserNm }) - ); + + if (role === 'user') { + yield put( + Actions.USER_LIST.request({ category: '', searchType: '', word: '' }) + ); + } else { + yield put( + Actions.ADMIN_LIST.request({ category, anserStatus, createUserNm }) + ); + } } catch (error) { yield put(Actions.ADMIN_DELETE.failure(error)); }