import React, {useCallback, useEffect, useState} from "react" import Modal from "react-bootstrap/Modal"; import * as EgovNet from "api/egovFetch"; import Form from "react-bootstrap/Form"; import Row from "react-bootstrap/Row"; import Col from "react-bootstrap/Col"; import Button from "react-bootstrap/Button"; import SelectOption from "components/commonCode/SelectOption"; import CheckBox from "components/commonCode/CheckBox"; import CODE from "../../../constants/code"; function UserInfoModal({userSeq}){ const [userInfo, setUserInfo] = useState({ userSeq: '', userId: '', password: '', passwordChk: '', userNm: '', email: '', phoneNum: '', userSe:'', userRole:'', status:''}); function getModalContent(){ EgovNet.requestFetch( '/admin/users/info?userSeq='+userSeq, { method: "GET" }, (resp) => { const respInfo = resp.result.userInfo; const info = { userSeq: respInfo.userSeq, userId: respInfo.userId, userNm: respInfo.userNm, email: respInfo.email, phoneNum: respInfo.phoneNum, password: "", passwordChk: "", userSe: respInfo.userSe, userRole: respInfo.userRole, status: respInfo.status } setUserInfo(info); }, (resp) => { console.log("err response : ", resp); } ); } function userInfoChange(e){ e.preventDefault(); e.stopPropagation(); const form = e.target; const info = { userSeq: form.userSeq.value, userId: form.userId.value, password: form.password.value, passwordChk: form.passwordChk.value, userNm: form.userNm.value, email: form.email.value, phoneNum: form.phoneNum.value, userSe: form.userSe.value, userRole: '', status: form.status.value, } let userRole = ''; form.userRole.forEach(function (input){ if(input.checked){ userRole += input.value+',' } }) if(userRole){ info.userRole = userRole.slice(0, -1) } EgovNet.requestFetch( '/admin/users/info', { method: "PUT", headers: { 'Content-type': 'application/json' }, body: JSON.stringify(info) }, (resp) => { if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) { alert("저장되었습니다.") }else if(Number(resp.resultCode) === Number(CODE.RCV_ERROR_AUTH)){ console.log("토큰 갱신중.") }else{ alert(resp.result.resultMessage) } } ) } useEffect(() => { getModalContent(); }, []); useEffect(()=>{ const checkBoxDiv = document.querySelector("#ROLE_checkBoxDiv") const userRole = userInfo.userRole; if(userRole){ checkBoxDiv.childNodes.forEach(function (div){ const input = div.children[0]; if(userRole.includes(input.value)){ input.checked = true; } }) } }, [userInfo]); return ( <> {userInfo.userNm} 상세정보
{userInfoChange(e)}} noValidate> 아이디 비밀번호 비밀번호 확인 이름 이메일 연락처 사용자 유형 사용자 권한 상태
) } export default UserInfoModal;