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