import React, {useCallback, useEffect, useRef, useState} from 'react'; import {Link, useLocation} from "react-router-dom"; import URL from "constants/url"; import { default as EgovLeftNav } from 'components/leftmenu/EgovLeftNavAdmin'; import EgovPaging from "components/EgovPaging"; import * as EgovNet from "api/egovFetch"; import {itemIdxByPage} from "utils/calc"; import Modal from "react-bootstrap/Modal"; import UserInfoModal from "./UserInfoModal"; import CODE from "../../../constants/code"; function List(props) { const location = useLocation(); const [searchCondition, setSearchCondition] = useState(location.state?.searchCondition || { pageIndex: 1, searchCnd: '0', searchWrd: '' });// 기존 조회에서 접근 했을 시 || 신규로 접근 했을 시 const [listTag, setListTag] = useState([]); const [paginationInfo, setPaginationInfo] = useState({}); const cndRef = useRef(); const wrdRef = useRef(); const [show, setShow] = useState(false); const [modalBody, setModalBody] = useState(); const handleClose = () => setShow(false); const handleShow = () => setShow(true); const retrieveList = useCallback((searchCondition) => { const params = "?"; EgovNet.requestFetch( '/admin/users/list'+params, { method: "GET" }, (resp) => { setPaginationInfo(resp.result.paginationInfo); let mutListTag = []; const resultCnt = parseInt(resp.result.contentCnt); const currentPageNo = resp.result.paginationInfo.pageIndex; const pageSize = resp.result.paginationInfo.rowCnt; setListTag([]); // 리스트 항목 구성 resp.result.userList.forEach(function (item, index) { const listIdx = itemIdxByPage(resultCnt , currentPageNo, pageSize, index); mutListTag.push(
{item.userSe}
{userInfoModal(item.userSeq)}}>{item.userId}
{item.userNm}
{item.email}
{item.phoneNum}
{item.status}
); }); if(!mutListTag.length) mutListTag.push(

검색된 결과가 없습니다.

); // 게시판 목록 초기값 setListTag(mutListTag); }, function (resp) { console.log("err response : ", resp); } ); },[]); useEffect(() => { retrieveList(searchCondition); }, []); function userInfoModal(userSeq){ handleShow() setModalBody() } function removeUserInfo(seq){ if(window.confirm("삭제하시겠습니까?\n복구할 수 없습니다.")){ EgovNet.requestFetch( '/admin/users/info', { method: "DELETE", headers: { 'Content-type': 'application/json' }, body: JSON.stringify({userSeq: seq}) }, (resp) => { if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) { alert("삭제되었습니다.") }else{ alert("삭제를 실패하였습니다.") } } ) } } return (
  • Home
  • 사이트관리
  • 사용자 관리
  • 사용자 목록
{/* */}
{/* */}

사용자 목록

{/* */}
  • { wrdRef.current.value = e.target.value; }} />
구분 아이디 이름 이메일 연락처 상태 삭제
{listTag}
{ retrieveList({ ...searchCondition, pageIndex: passedPage, searchCnd: cndRef.current.value, searchWrd: wrdRef.current.value }) }} />
{modalBody}
); } export default List;