import React, {useState, useImperativeHandle, forwardRef} from "react"; import * as EgovNet from "api/egovFetch"; import {Container} from "react-bootstrap"; import Row from "react-bootstrap/Row"; import Col from "react-bootstrap/Col"; import Form from 'react-bootstrap/Form' import Button from "react-bootstrap/Button"; import CODE from "../../../../constants/code"; function ChildCodeDiv({}, ref){ const [codeItemRow, setCodeItemRow] = useState(); const [grpCd, setGrpCd] = useState(); useImperativeHandle(ref, ()=>({ getCodeItemList })) async function getCodeItemList(parentCd){ setCodeItemRow([]); setGrpCd(parentCd) EgovNet.requestFetch( '/admin/config/code-item?grpCd='+parentCd, { method: "GET" }, (resp) => { const codeItemList = resp.result.codeItemList; const itemTag = []; codeItemList.forEach(function (item, index){ itemTag.push( ) }) setCodeItemRow(itemTag); }, function (resp) { console.log("err response : ", resp); } ); } function addCodeItem(){ const itemCd = document.querySelector("#itemCd"); const itemNm = document.querySelector("#itemNm"); const grpOrder = document.querySelector("#grpOrder"); if(!itemCd.value || !itemNm.value){ alert("코드와 코드명을 입력해주세요.") }else{ EgovNet.requestFetch( '/admin/config/code-item', { method: "POST", headers: { 'Content-type': 'application/json' }, body: JSON.stringify({ itemCd: itemCd.value, grpCd: document.querySelector("#grpCd").value, itemNm: itemNm.value, grpOrder: grpOrder.value }) }, (resp) => { switch (resp.resultCode) { case Number(CODE.RCV_SUCCESS): itemCd.value = ""; itemNm.value = ""; grpOrder.value = ""; getCodeItemList(grpCd); break; case Number(CODE.RCV_ERROR_SAVE)||Number(CODE.RCV_ERROR_AUTH): alert(resp.resultMessage); break; } }, function (resp) { console.log("err response : ", resp); } ); } } function modifyCodeItem(e, action){ const row = e.target.parentElement.parentElement; const codeItem = { grpCd: document.querySelector("#grpCd").value, itemCd: row.querySelector(".itemCd").value, itemNm: row.querySelector(".itemNm").value, grpOrder: row.querySelector(".grpOrder").value, useYn: action==="modify"?'Y':'N' } EgovNet.requestFetch( '/admin/config/code-item', { method: "PUT", headers: { 'Content-type': 'application/json' }, body: JSON.stringify(codeItem) }, (resp) => { switch (resp.resultCode) { case Number(CODE.RCV_SUCCESS): getCodeItemList(grpCd); break; case Number(CODE.RCV_ERROR_SAVE)||Number(CODE.RCV_ERROR_AUTH): alert(resp.resultMessage); break; } }, function (resp) { console.log("err response : ", resp); } ); } return ( 코드 코드명 순번 삭제    수정 {codeItemRow} {grpCd!=null?( ):( 코드 그룹을 선택해주세요. )} ); } export default forwardRef(ChildCodeDiv);