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