Browse Source

qna 사용자 문의 삭제 api 연결

pull/2/head
hhjk00 11 months ago
parent
commit
a33ea7e7af
  1. 10
      src/components/cstmrService/inquiry/InquiryWrite.js
  2. 33
      src/containers/cstmrService/inquiry/UserInquiryContainer.js
  3. 1
      src/modules/cstmrService/inquiry/action/index.ts
  4. 11
      src/modules/cstmrService/inquiry/sagas/index.ts

10
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({
</ModalBody>
<ModalFooter>
<div className='pal-form-btn'>
<Button color='danger'>삭제</Button>
<Button
color='danger'
onClick={() => handlerDeleteConfirmInquiry()}
>
삭제
</Button>
<Button color='secondary' onClick={() => handlerInquiryModal()}>
취소
</Button>

33
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 (
<div className='faq'>
<div className='my-faq'>
@ -226,6 +246,7 @@ export default function UserInquiryContainer({ memberName }) {
handlerSubmitInquiryForm={handlerSubmitInquiryForm}
memberName={memberName}
inquiryForm={inquiryForm}
handlerDeleteConfirmInquiry={handlerDeleteConfirmInquiry}
/>
<InfoModal
@ -250,6 +271,18 @@ export default function UserInquiryContainer({ memberName }) {
});
}}
/>
<ConfirmModal
modal={validationModal.confirmType}
setModal={val => {
setValidationModal({
...validationModal,
confirmType: {
...val
}
});
}}
handlerConfirm={handlerDeleteInquiry}
/>
</div>
);
}

1
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

11
src/modules/cstmrService/inquiry/sagas/index.ts

@ -120,7 +120,8 @@ function* adminDeleteSaga(
action: ActionType<typeof Actions.ADMIN_DELETE.request>
) {
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(
})
);
}
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));
}

Loading…
Cancel
Save