kcscDev/egovframe-template-simple-r.../src/pages/admin/users/UserInfoModal.jsx

165 lines
6.4 KiB
React
Raw Normal View History

2024-01-11 09:41:42 +00:00
import React, {useCallback, useEffect, useState} from "react"
2024-01-10 07:38:38 +00:00
import Modal from "react-bootstrap/Modal";
2024-01-11 09:41:42 +00:00
import * as EgovNet from "api/egovFetch";
2024-01-10 07:38:38 +00:00
import Form from "react-bootstrap/Form";
import Row from "react-bootstrap/Row";
import Col from "react-bootstrap/Col";
import Button from "react-bootstrap/Button";
2024-01-11 09:41:42 +00:00
import SelectOption from "components/commonCode/SelectOption";
import CheckBox from "components/commonCode/CheckBox";
2024-01-12 08:54:46 +00:00
import CODE from "../../../constants/code";
2024-01-10 07:38:38 +00:00
function UserInfoModal({savedInfo, reloadFunction}){
2024-01-11 09:41:42 +00:00
function userInfoChange(e){
2024-01-12 08:54:46 +00:00
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,
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("저장되었습니다.")
reloadFunction();
2024-01-12 08:54:46 +00:00
}else if(Number(resp.resultCode) === Number(CODE.RCV_ERROR_AUTH)){
console.log("토큰 갱신중.")
}else{
alert(resp.result.resultMessage)
}
}
)
2024-01-10 07:38:38 +00:00
}
function modalOpen(){
EgovNet.requestFetch(
'/admin/users/info?userId='+savedInfo?.userId,
{
method: "GET",
headers: {
'Content-type': 'application/json'
}
},
(resp) => {
debugger
}
)
}
useEffect(() => {
modalOpen();
}, []);
2024-01-10 07:38:38 +00:00
return (
<>
2024-01-11 09:41:42 +00:00
<Modal.Header closeButton>
2024-01-10 07:38:38 +00:00
<Modal.Title>
{savedInfo?.userNm} 상세정보
2024-01-10 07:38:38 +00:00
</Modal.Title>
</Modal.Header>
<Modal.Body>
2024-01-11 09:41:42 +00:00
<Form onSubmit={(e) =>{userInfoChange(e)}} noValidate>
<input type={"hidden"} name={"userSeq"} defaultValue={savedInfo?.userSeq} />
2024-01-11 09:41:42 +00:00
<Form.Group as={Row} className="mb-3">
2024-01-10 07:38:38 +00:00
<Form.Label column sm={3}>
아이디
</Form.Label>
<Col sm={9}>
<Form.Control type="text" name="userId" placeholder="아이디" required defaultValue={savedInfo?.userId} readOnly/>
2024-01-10 07:38:38 +00:00
</Col>
</Form.Group>
2024-01-11 09:41:42 +00:00
<Form.Group as={Row} className="mb-3">
2024-01-10 07:38:38 +00:00
<Form.Label column sm={3}>
2024-01-11 09:41:42 +00:00
비밀번호
2024-01-10 07:38:38 +00:00
</Form.Label>
<Col sm={9}>
2024-01-11 09:41:42 +00:00
<Form.Control type="password" name="password" placeholder="비밀번호 변경 시 입력" />
2024-01-10 07:38:38 +00:00
</Col>
</Form.Group>
2024-01-11 09:41:42 +00:00
<Form.Group as={Row} className="mb-3">
2024-01-10 07:38:38 +00:00
<Form.Label column sm={3}>
2024-01-11 09:41:42 +00:00
비밀번호 확인
2024-01-10 07:38:38 +00:00
</Form.Label>
<Col sm={9}>
2024-01-11 09:41:42 +00:00
<Form.Control type="password" name="passwordChk" placeholder="비밀번호 변경 시 입력" />
2024-01-10 07:38:38 +00:00
</Col>
</Form.Group>
2024-01-11 09:41:42 +00:00
<Form.Group as={Row} className="mb-3">
2024-01-10 07:38:38 +00:00
<Form.Label column sm={3}>
2024-01-11 09:41:42 +00:00
이름
2024-01-10 07:38:38 +00:00
</Form.Label>
<Col sm={9}>
<Form.Control type="text" name="userNm" placeholder="이름" required defaultValue={savedInfo?.userNm} />
2024-01-10 07:38:38 +00:00
</Col>
</Form.Group>
2024-01-11 09:41:42 +00:00
<Form.Group as={Row} className="mb-3">
2024-01-10 07:38:38 +00:00
<Form.Label column sm={3}>
2024-01-11 09:41:42 +00:00
이메일
2024-01-10 07:38:38 +00:00
</Form.Label>
<Col sm={9}>
<Form.Control type="email" name="email" placeholder="email" required defaultValue={savedInfo?.email} />
2024-01-10 07:38:38 +00:00
</Col>
</Form.Group>
2024-01-11 09:41:42 +00:00
<Form.Group as={Row} className="mb-3">
2024-01-10 07:38:38 +00:00
<Form.Label column sm={3}>
2024-01-11 09:41:42 +00:00
연락처
2024-01-10 07:38:38 +00:00
</Form.Label>
<Col sm={9}>
<Form.Control type="text" name="phoneNum" placeholder="연락처" required defaultValue={savedInfo?.phoneNum} />
2024-01-10 07:38:38 +00:00
</Col>
</Form.Group>
2024-01-11 09:41:42 +00:00
<Form.Group as={Row} className="mb-3">
2024-01-10 07:38:38 +00:00
<Form.Label column sm={3}>
사용자 권한
</Form.Label>
<Col sm={9}>
<CheckBox name={"userRole"} grpCd={"ROLE"} selectedValue={savedInfo?.userRole} />
2024-01-10 07:38:38 +00:00
</Col>
</Form.Group>
2024-01-11 09:41:42 +00:00
<Form.Group as={Row} className="mb-3">
2024-01-10 07:38:38 +00:00
<Form.Label column sm={3}>
상태
</Form.Label>
<Col sm={9}>
<SelectOption name={"status"} grpCd={"ACC_STUS"} selectedValue={savedInfo?.status} />
2024-01-10 07:38:38 +00:00
</Col>
</Form.Group>
<Row className="mb-3">
<Form.Label column xs={{span:8, offset:2}} id="findResultLabel"></Form.Label>
<Col xs={2}>
<Button type="submit">저장</Button>
</Col>
</Row>
</Form>
</Modal.Body>
</>
)
}
export default UserInfoModal;