From 92fd17ed7192fbdef0ffce1f7690288754b911c4 Mon Sep 17 00:00:00 2001 From: ysCha Date: Tue, 14 Oct 2025 10:59:10 +0900 Subject: [PATCH] =?UTF-8?q?=EB=AC=B8=EC=9D=98=EA=B2=8C=EC=8B=9C=ED=8C=90?= =?UTF-8?q?=20=EC=A0=80=EC=9E=A5=EC=88=98=EC=A0=95=20=EA=B8=80=EC=9E=90?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../community/modal/QnaRegModal.jsx | 76 ++++++++++--------- src/locales/ja.json | 2 +- 2 files changed, 42 insertions(+), 36 deletions(-) diff --git a/src/components/community/modal/QnaRegModal.jsx b/src/components/community/modal/QnaRegModal.jsx index b26536e0..8f9437f9 100644 --- a/src/components/community/modal/QnaRegModal.jsx +++ b/src/components/community/modal/QnaRegModal.jsx @@ -22,7 +22,8 @@ export default function QnaRegModal({ setOpen, setReload, searchValue, selectPag const [sessionState, setSessionState] = useRecoilState(sessionStore) const globalLocaleState = useRecoilValue(globalLocaleStore) const [files, setFiles] = useState([]) - const [qnaData, setQnaData] = useState([]) + //const [qnaData, setQnaData] = useState([]) + const [qnaData, setQnaData] = useState({}) const [closeMdFlg, setCloseMdFlg] = useState(true) const [closeSmFlg, setCloseSmFlg] = useState(true) const [hideSmFlg, setHideSmFlg] = useState(false) @@ -44,6 +45,10 @@ export default function QnaRegModal({ setOpen, setReload, searchValue, selectPag const [isBtnDisable, setIsBtnDisable] = useState(false); const { promiseGet, post, promisePost } = useAxios(globalLocaleState) + useEffect(() => { + console.log('qnaData updated:', qnaData); + }, [qnaData]); + let fileCheck = false; const regPhoneNumber = (e) => { const result = e.target.value @@ -80,14 +85,16 @@ let fileCheck = false; //setQnaData([]) setQnaData({ - ...qnaData, compCd: "5200", siteTpCd: "QC", schNoticeClsCd: "QNA", - regId: sessionState.userId, - storeId: sessionState.userId, - qstMail : sessionState.email - }) + regId: sessionState?.userId || '', + storeId: sessionState?.userId || '', + qstMail: sessionState?.email || '', + qnaClsLrgCd: '', + qnaClsMidCd: '', + qnaClsSmlCd: '' + }); const codeL = findCommonCode(204200) if (codeL != null) { @@ -119,43 +126,42 @@ let fileCheck = false; } const onChangeQnaTypeM = (e) => { + if (!e?.clCode) return; - if(e === undefined || e === null) return; - const codeS = findCommonCode(204400) - if (codeS != null) { - - let codeList = [] - - codeS.map((item) => { - - if (item.clRefChr1 === e.clCode) { - codeList.push(item); - - } - }) - - - setQnaData({ ...qnaData, qnaClsMidCd: e.clCode }) - setCloseSmFlg(false) - setQnaTypeSmCodeList(codeList) - qnaTypeSmCodeRef.current?.setValue(); - - if(codeList.length > 0) { - setHideSmFlg(false) - }else{ - setHideSmFlg(true) - } - + // 중분류 코드 업데이트 + setQnaData(prevState => ({ + ...prevState, + qnaClsMidCd: e.clCode, + // 소분류는 초기화 (새로 선택하도록) + qnaClsSmlCd: '' + })); + // 소분류 코드 목록 설정 + const codeS = findCommonCode(204400); + if (codeS) { + const filteredCodeList = codeS.filter(item => item.clRefChr1 === e.clCode); + setQnaTypeSmCodeList(filteredCodeList); + // 소분류가 있으면 초기화, 없으면 숨김 + const hasSubCategories = filteredCodeList.length > 0; + setCloseSmFlg(!hasSubCategories); + setHideSmFlg(!hasSubCategories); } else { setHideSmFlg(true) } - } + // 소분류 선택기 초기화 + qnaTypeSmCodeRef.current?.setValue(); + }; + + const onChangeQnaTypeS = (e) => { - if(e === undefined || e === null) return; - setQnaData({ ...qnaData, qnaClsSmlCd:e.clCode}) + if (!e?.clCode) return; + + setQnaData(prevState => ({ + ...prevState, + qnaClsSmlCd: e.clCode + })); } const onFileSave = () => { diff --git a/src/locales/ja.json b/src/locales/ja.json index 2999728f..db27c2ef 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -614,7 +614,7 @@ "qna.sub.title": "お問合せリスト", "qna.reg.header.regDt": "お問い合わせ登録日", "qna.reg.header.regUserNm": "名前", - "qna.reg.header.regUserTelNo": "お問い合わせ", + "qna.reg.header.regUserTelNo": "電話番号", "qna.reg.header.type": "お問い合わせ区分", "qna.reg.header.title": "お問い合わせタイトル", "qna.reg.header.contents": "お問い合わせ内容", -- 2.47.2