{"version":3,"sources":["comp/comm/ScrollToTop.js","comp/comm/Header.js","comp/comm/Banner.js","js/server.js","comp/comm/MainBoard.js","comp/comm/DragsPop.js","comp/MainContents.js","comp/sub/Page404.js","comp/comm/Loading.js","comp/comm/Footer.js","js/util.js","comp/comm/SubMenu.js","comp/comm/List.js","comp/comm/Paging.js","comp/comm/SubBanner.js","comp/sub/admin/MemberList.js","comp/sub/admin/UserCard.js","comp/sub/admin/MemberView.js","comp/sub/admin/MemberNew.js","comp/sub/admin/BannerMgr.js","comp/sub/member/Login.js","comp/sub/member/FindAccount.js","comp/sub/member/JoinStep01.js","js/authText.js","comp/sub/member/JoinStep02.js","comp/sub/member/JoinStep03.js","comp/sub/member/components/CreateMemberInfo.js","comp/sub/member/components/ShopMemberInfo.js","comp/sub/member/components/ViewMemberInfo.js","comp/sub/member/MemberInfo.js","comp/sub/intro/Greetings.js","comp/sub/intro/History.js","comp/comm/PdfPage.js","comp/sub/intro/Articles.js","comp/comm/Location.js","comp/sub/intro/Directions.js","comp/sub/unionMem/UnionMem.js","comp/sub/board/AdminBoardList.js","comp/comm/Editor.js","comp/sub/board/AdminBoardNew.js","js/formData.js","comp/comm/Comment.js","comp/sub/board/AdminBoardView.js","comp/sub/board/AdminBoardEdit.js","App.js","reportWebVitals.js","reducer.js","index.js"],"names":["ScrollToTop","prevProps","this","props","location","window","scrollTo","children","Component","withRouter","Header","dispatch","useDispatch","useState","comcode","setComcode","userid","setUserid","usertype","setUsertype","username","setUsername","userToken","setUserToken","fnLogout","type","payload","localStorage","removeItem","href","useEffect","userinfo","getItem","JSON","parse","usertoken","className","to","onClick","Navbar","bg","expand","id","Container","Brand","as","Link","src","alt","Toggle","data-toggle","data-target","aria-controls","aria-expanded","aria-label","Collapse","Nav","NavDropdown","title","Item","Banner","banners","map","banner","idx","bn_url","target","rel","file_url","apiUrl","apiFormDataUrl","apiBannerFormDataUrl","apiDomain","axiosConfig","headers","reqData","jsonData","a","axios","post","stringify","res","reqFormData","formData","method","url","data","reqFormDataBanner","userpw","servicename","passwd","LoginToken","kind","info","news","event","gallery","union_mem","MainBoard","items","length","item","bserial","subject","substring","wdate","open","contents","style","cursor","minHeight","file_dir","file_name","maxWidth","fontSize","Array","fill","_","height","setList","DragsPop","handle","e","setIsPopup","prev","MainContents","setBanners","infos","setInfos","setNews","events","setEvents","gallerys","setGallerys","isPopup","then","result","alert","msg","catch","err","console","error","finally","Page404","Loading","fadeStyle","loading","Footer","history","useHistory","handleSelectChange","siteUrl","value","addEventListener","getCurrentScroll","removeEventListener","scrollRevealCss","setScrollRevealCss","scrollY","onChange","paddingLeft","push","idCheck","val","test","pwCheck","fnNotAdmin","fnNotLogin","fnNotOfficers","canWrite","userType","includes","getSubHeader","speed","width","viewBox","backgroundColor","foregroundColor","x","y","rx","ry","getServiceName","getSub01","getSub02","escapeHTML","s","replace","wrapHTML","fnFileDownload","fileUrl","fileName","fetch","response","blob","URL","createObjectURL","document","createElement","download","click","cloneObj","obj","SubMenu","setMenu","List","posts","i","listClick","comname","boss","comidno","registday","slice","colSpan","rownumber","Number","comment_cnt","color","file_cnt","hits","isPosts","minWidth","objectFit","fnBoardDelete","stopPropagation","area","comkind","tel0","tel1","tel2","address1","address2","Paging","page","count","setPage","activePage","itemsCountPerPage","totalItemsCount","pageRangeDisplayed","prevPageText","nextPageText","firstPageText","lastPageText","SubBanner","store","useSelector","state","subMenuTitle01","setSubMenuTitle01","subMenuTitle02","setSubMenuTitle02","backgroundImageCss","reducerPage","sub01","sub02","MemberList","match","usehistory","query","queryString","search","setPosts","currentPage","setCurrentPage","postsPerPage","totalCount","setTotalCount","keyword","fetchData","getElementById","totalCnt","fnSearchClick","setTimeout","defaultPage","hash","arrCur","strHash","split","placeholder","onKeyPress","key","encodeURI","UserCard","userHandleChange","isState","dataset","isNaN","copiedObj","users","name","setUsers","user","maxLength","data-type","hp","readOnly","loginday","fnUserSaveClick","fnUserDeleteClick","MemberView","isModal","setModal","fax0","fax1","fax2","zipcode","comgrade","luse","update_dt","shopinfo","setShopinfo","shopHandleChange","jsonUser","fnShopData","Modal","show","onHide","jsOptions","animation","hideMapBtn","onSelected","zonecode","address","max","confirm","splice","MemberNew","goBack","log","BannerMgr","bnUrl","setBnUrl","selectedFile","setSelectedFile","accept","files","FormData","append","resData","unshift","querySelector","TransitionGroup","CSSTransition","timeout","classNames","bn_filename","serial","objFile","objUrl","bn_dir","bn_serial","fnBnEditClick","findIndex","fnBnDeleteClick","Login","useridInput","useRef","setUserpw","fnLoginClick","LoginAccount","setItem","aPage","focus","current","ref","onKeyDown","FindAccount","userTel0","setUserTel0","userTel1","setUserTel1","userTel2","setUserTel2","userTel02","setUserTel02","userTel12","setUserTel12","userTel22","setUserTel22","luseno","setLuseno","lusenoPasswd","setLusenoPasswd","new_passwd","setNew_passwd","new_re_passwd","setNew_re_passwd","isSend","setisSend","isSendPasswd","setisSendPasswd","isResultFindId","setisResultFindId","resultFindId","setResultFindId","fnSetTel","fnSetTel2","Tab","defaultActiveKey","Row","Col","sm","variant","eventKey","Content","Pane","disabled","userPwState","userTel","JoinStep01","auth01","setAuth01","auth02","setAuth02","Form","Check","inline","label","checked","Control","border","JoinStep02","comIdno","setComIdno","mask","JoinStep03","comInfo","setComInfo","userId","setUserId","userName","setUserName","userPw","setUserPw","userRePw","setUserRePw","_cominfo","userIdState","userRePwState","CreateMemberInfo","newAccount","newHandleChange","fnCreateClick","ShopMemberInfo","myinfo","ViewMemberInfo","fnSaveClick","MemberInfo","setMyinfo","setNewAccount","setUserType","_userToken","Greetings","lineHeight","History","AllPages","numPages","setNumPages","pdf","file","options","workerSrc","onLoadSuccess","from","el","index","pageNumber","Articles","center","kakao","maps","LatLng","level","Location","container","Map","markerPosition","Marker","position","setMap","Directions","UnionMem","areaItem","setAreaItem","testkind","maxListCount","jsonArea","selectedArea","ImageMap","fetchSubTitle","usemap","coords","shape","AdminBoardList","setIsPosts","setuserType","boardKind","setBoardKind","initBoard","Editor","apiPostImage","imageHandler","input","boardkind","setAttribute","onchange","range","quill","getSelection","insertEmbed","origin","setSelection","imageUrl","deleteText","modules","useMemo","toolbar","header","font","size","background","list","handlers","image","theme","setContents","AdminBoardNew","setSubject","selectedFile1","setSelectedFile1","for","multiple","forEach","Comment","comments","component","comment","writer","fnCommentEdit","cserial","fnCommentDelete","isEdit","rows","defaultValue","fnCommentEditClick","line","cols","setComment","resize","fnCommentClick","AdminBoardView","setPost","setComments","setFiles","jsonComment","jsonFile","dangerouslySetInnerHTML","__html","AdminBoardEdit","_userId","_userType","fserial","fnFileDelete","App","rdcLoading","exact","path","ABoard","ABoardNew","ABoardView","ABoardEdit","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","initUserinfo","initPage","createStore","combineReducers","action","reducerAuth","ReactDOM","render"],"mappings":"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","file":"static/js/main.0000b791.chunk.js","sourcesContent":["import { Component } from 'react'\r\nimport { withRouter } from 'react-router'; \r\n\r\nclass ScrollToTop extends Component { \r\n componentDidUpdate(prevProps) { \r\n if (this.props.location !== prevProps.location) { \r\n window.scrollTo(0, 0) \r\n } \r\n } \r\n \r\n render() { \r\n return this.props.children \r\n } \r\n} \r\n\r\nexport default withRouter(ScrollToTop)\r\n","import { useEffect, useState } from \"react\";\r\nimport { Container, Nav, Navbar, NavDropdown } from \"react-bootstrap\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nfunction Header() {\r\n const dispatch = useDispatch();\r\n // eslint-disable-next-line\r\n const [comcode, setComcode] = useState(\"\");\r\n // eslint-disable-next-line\r\n const [userid, setUserid] = useState(\"\");\r\n // eslint-disable-next-line\r\n const [usertype, setUsertype] = useState(\"\");\r\n // eslint-disable-next-line\r\n const [username, setUsername] = useState(\"\");\r\n // eslint-disable-next-line\r\n const [userToken, setUserToken] = useState(\"\");\r\n\r\n const fnLogout = () => {\r\n dispatch({ type: \"authUpdate\", payload: null });\r\n localStorage.removeItem(\"userinfo\");\r\n\r\n window.location.href = \"/\";\r\n };\r\n\r\n useEffect(() => {\r\n let userinfo = localStorage.getItem(\"userinfo\");\r\n if (userinfo) {\r\n userinfo = JSON.parse(userinfo);\r\n setComcode(userinfo.comcode);\r\n setUserid(userinfo.userid);\r\n setUsertype(userinfo.usertype);\r\n setUsername(userinfo.username);\r\n setUserToken(userinfo.usertoken);\r\n }\r\n }, [comcode, userid, usertype, username, userToken]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n 강원특별자치도\r\n 춘천시 동면 만천로 57\r\n
  • \r\n
\r\n
\r\n
\r\n {comcode && userid ? (\r\n usertype === \"0\" ? (\r\n
\r\n \r\n {`${userid} (${username})`}\r\n \r\n \r\n 관리메뉴\r\n \r\n \r\n 로그아웃\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n {`${userid} (${username})`}\r\n \r\n \r\n 로그아웃\r\n \r\n
\r\n )\r\n ) : (\r\n
\r\n \r\n 로그인\r\n \r\n \r\n 가입\r\n \r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \"\"\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n 자동차관련법규\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n\r\nexport default Header;\r\n","function Banner(props) {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Your Partnership is Our Future

\r\n
\r\n

\r\n 강원특별자치도자동차검사정비사업조합과의 협력을 통해\r\n
\r\n 더욱 빛나는 미래를 만들어가실 파트너사를 기다립니다.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {props.banners.map((banner, idx) => (\r\n
\r\n
\r\n {banner.bn_url ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Banner;\r\n","import axios from \"axios\";\r\n\r\n/* const apiUrl =\r\n \"https://dev-unionservice.intravan.co.kr/Controllers/WETOService.aspx\";\r\nconst apiFormDataUrl =\r\n \"https://dev-unionservice.intravan.co.kr/Controllers/WETOBoardSave.aspx\";\r\nconst apiBannerFormDataUrl =\r\n \"https://dev-unionservice.intravan.co.kr/Controllers/WETOBannerSave.aspx\";\r\nconst imageFileUploadUrl =\r\n \"https://dev-unionservice.intravan.co.kr/controllers/uploadImageWETO.aspx\";\r\nconst apiDomain = \"https://dev-unionservice.intravan.co.kr\"; */\r\n\r\nconst apiUrl =\r\n \"http://unionservice.intravan.co.kr/Controllers/WETOService.aspx\";\r\nconst apiFormDataUrl =\r\n \"http://unionservice.intravan.co.kr/Controllers/WETOBoardSave.aspx\";\r\nconst apiBannerFormDataUrl =\r\n \"http://unionservice.intravan.co.kr/Controllers/WETOBannerSave.aspx\";\r\nconst imageFileUploadUrl =\r\n \"http://unionservice.intravan.co.kr/controllers/uploadImageWETO.aspx\";\r\nconst apiDomain = \"http://unionservice.intravan.co.kr\";\r\n\r\nconst axiosConfig = {\r\n headers: {\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n },\r\n};\r\n\r\nasync function reqData(jsonData) {\r\n const res = await axios.post(apiUrl, JSON.stringify(jsonData), axiosConfig);\r\n return res;\r\n}\r\n\r\nasync function reqFormData(formData) {\r\n const res = await axios({\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n url: apiFormDataUrl,\r\n data: formData,\r\n });\r\n\r\n return res;\r\n}\r\n\r\nasync function reqFormDataBanner(formData) {\r\n const res = await axios({\r\n method: \"post\",\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n url: apiBannerFormDataUrl,\r\n data: formData,\r\n });\r\n\r\n return res;\r\n}\r\n\r\nasync function LoginAccount(userid, userpw) {\r\n const reqData = {\r\n servicename: \"Login\",\r\n userid: userid,\r\n passwd: userpw,\r\n };\r\n\r\n const res = await axios.post(apiUrl, JSON.stringify(reqData), axiosConfig);\r\n return res;\r\n}\r\n\r\nasync function LoginToken(userToken) {\r\n const reqData = {\r\n servicename: \"Login\",\r\n userToken: userToken,\r\n };\r\n\r\n const res = await axios.post(apiUrl, JSON.stringify(reqData), axiosConfig);\r\n return res;\r\n}\r\n\r\nexport {\r\n reqData,\r\n LoginAccount,\r\n LoginToken,\r\n reqFormData,\r\n reqFormDataBanner,\r\n imageFileUploadUrl,\r\n apiDomain,\r\n};\r\n","import { Link } from \"react-router-dom\";\r\nimport { apiDomain } from \"../../js/server\";\r\n\r\nconst kind = {\r\n info: \"공지사항\",\r\n news: \"자동차정비뉴스\",\r\n event: \"경조사\",\r\n gallery: \"포토갤러리\",\r\n union_mem: \"정비업체 현황\",\r\n};\r\n\r\nfunction MainBoard(props) {\r\n const setList = () => {\r\n switch (props.kind) {\r\n case \"info\": //공지사항\r\n case \"event\": //경조사\r\n return (\r\n
\r\n

\r\n \r\n {kind[props.kind] || null}\r\n \r\n

\r\n \r\n
\r\n );\r\n case \"news\": //자동차정비뉴스\r\n return (\r\n
\r\n

\r\n \r\n {kind[props.kind] || null}\r\n \r\n

\r\n \r\n
\r\n );\r\n case \"gallery\": //포토갤러리\r\n return (\r\n \r\n

\r\n \r\n {kind[props.kind] || null}\r\n \r\n

\r\n\r\n
\r\n {props.items.length > 0 ? (\r\n props.items.map((item, idx) => (\r\n
\r\n \r\n \r\n \r\n {item.subject.substring(0, 15) + \"...\" || \"\"}\r\n \r\n \r\n {item.wdate || \"\"}\r\n \r\n \r\n
\r\n ))\r\n ) : (\r\n
\r\n 등록된 {kind[props.kind] || null}가(이) 없습니다.\r\n
\r\n )}\r\n {Array(3 - props.items.length)\r\n .fill()\r\n .map((_, idx) => (\r\n \r\n ))}\r\n
\r\n \r\n );\r\n case \"union_mem\": //정비업체현황\r\n return (\r\n \r\n

\r\n {kind[props.kind] || null}\r\n

\r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return <>{setList()};\r\n}\r\n\r\nexport default MainBoard;\r\n","import Draggable from \"react-draggable\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nfunction DragsPop(props) {\r\n return (\r\n \r\n
\r\n \r\n
    \r\n
  • 알림
  • \r\n
  • \r\n props.setIsPopup((prev) => !prev)}\r\n >\r\n
  • \r\n
\r\n
\r\n
\r\n

자동차 정기검사업체 안내

\r\n

\r\n 강원특별자치도지사로부터 지정받은 가장 가까운 자동차 검사업체를\r\n 검색할 수 있습니다.\r\n

\r\n \r\n \r\n \r\n \r\n window.open(\r\n \"https://www.cyberts.kr/is/pvi/pvi/readIsPviPrsecValidityInqireView.do\"\r\n )\r\n }\r\n >\r\n 자동차 검사유효기간 조회 바로가기\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default DragsPop;\r\n","import { useDispatch } from \"react-redux\";\r\nimport { useEffect, useState } from \"react\";\r\nimport Banner from \"../comp/comm/Banner\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { reqData } from \"../js/server\";\r\nimport MainBoard from \"./comm/MainBoard\";\r\nimport DragsPop from \"./comm/DragsPop\";\r\n\r\nfunction MainContents(props) {\r\n const dispatch = useDispatch();\r\n const [banners, setBanners] = useState([]);\r\n const [infos, setInfos] = useState([]);\r\n const [news, setNews] = useState([]);\r\n const [events, setEvents] = useState([]);\r\n const [gallerys, setGallerys] = useState([]);\r\n const [isPopup, setIsPopup] = useState(true);\r\n\r\n const fetchInfoData = () => {\r\n const jsonData = {\r\n servicename: \"MainBoard\",\r\n kind: \"info\",\r\n };\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setInfos(res.data.jsonData);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n };\r\n\r\n const fetchNewsData = () => {\r\n const jsonData = {\r\n servicename: \"MainBoard\",\r\n kind: \"news\",\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setNews(res.data.jsonData);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n };\r\n\r\n const fetchEventsData = () => {\r\n const jsonData = {\r\n servicename: \"MainBoard\",\r\n kind: \"event\",\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setEvents(res.data.jsonData);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n };\r\n\r\n const fetchGallerysData = () => {\r\n const jsonData = {\r\n servicename: \"MainBoard\",\r\n kind: \"gallery\",\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setGallerys(res.data.jsonData);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n };\r\n\r\n const fetchBannerData = () => {\r\n const jsonData = {\r\n servicename: \"BannerList\",\r\n };\r\n\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setBanners(res.data.jsonData);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n };\r\n\r\n useEffect(\r\n () => {\r\n dispatch({ type: \"pageChange\", payload: \"index\" });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n //공지사항 데이터 불러오기\r\n fetchInfoData();\r\n //자동차정비뉴스 데이터 불러오기\r\n fetchNewsData();\r\n //경조사 데이터 불러오기\r\n fetchEventsData();\r\n //포토갤러리 데이터 불러오기\r\n fetchGallerysData();\r\n //Partners Banner 불러오기\r\n fetchBannerData();\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n {isPopup && }\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n 강원특별자치도자동차검사정비사업조합\r\n \r\n

\r\n 친환경 자동차 문화의 선두주자\r\n

\r\n\r\n

\r\n \r\n 안전과 신뢰의 자동차 정비 약속\r\n \r\n
\r\n \r\n 강원특별자치도자동차검사정비사업조합과 함께 창조하는 미래\r\n \r\n

\r\n
\r\n \r\n 조합원 가입하기\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Since 1967

\r\n
\r\n

\r\n 강원특별자치도자동차검사정비사업조합은 친환경 자동차 시대에\r\n 부응하며, 국민의 안전과 복리 증진을 위해 노력합니다. 지속적인\r\n 교육과 협력을 통해 조합원의 경제적 지위향상과 지역 사회의 균형\r\n 있는 발전을 추구합니다.\r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n

연혁

\r\n
\r\n\r\n
\r\n

\r\n 1967년도 설립되어 정비업의 발전과 조합원 복지증진을 위해\r\n 일하고 있습니다.\r\n

\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n

찾아오시는 길

\r\n
\r\n
\r\n

\r\n 강원특별자치도 춘천시 동면 만천로 57,\r\n
\r\n 약도는 클릭해 주세요.\r\n

\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n

이사장 인사말

\r\n
\r\n
\r\n

\r\n 강원특별자치도자동차검사정비사업조합을 대표하여 조합원\r\n 여러분께 인사드립니다.\r\n

\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n

조합정관

\r\n
\r\n\r\n
\r\n

\r\n 조합의 정체성과 고유한 특징을 담은 근본 규칙을 살펴봅니다.\r\n

\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n

구인정보

\r\n
\r\n
\r\n

\r\n 당신의 기업에 완벽한 인재를 찾으세요. 조합이 함께합니다.\r\n

\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n

구직정보

\r\n
\r\n
\r\n

\r\n 여러분의 미래를 위한 기회가 여기에 있습니다.\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n );\r\n}\r\n\r\n//store(redux 이용) state를 이용하기 위한 설정\r\nexport default MainContents;\r\n","import { useEffect } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { Link } from 'react-router-dom'\r\n\r\nfunction Page404() {\r\n const dispatch = useDispatch()\r\n \r\n useEffect( () => {\r\n dispatch({ type: 'loadingChange', payload: false })\r\n dispatch({ type: 'pageChange', payload: 'page404' })\r\n },\r\n // eslint-disable-next-line\r\n []);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n 404 Error (페이지가 없습니다.)\r\n

\r\n 같은 증상이 반복되는 경우 조합으로 연락주세요\r\n

\r\n
\r\n
\r\n
\r\n\r\n 홈으로 이동\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Page404","import './Loading.css'\r\n\r\nfunction Loading(props) {\r\n const fadeStyle = (props.loading) ? 'fadeIn' : 'fadeOut'\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default Loading","import { useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nfunction Footer() {\r\n const history = useHistory();\r\n\r\n const handleSelectChange = (event) => {\r\n const siteUrl = event.target.value;\r\n if (siteUrl) {\r\n window.open(siteUrl, \"_blank\");\r\n }\r\n };\r\n\r\n useEffect(\r\n () => {\r\n window.addEventListener(\"scroll\", getCurrentScroll);\r\n\r\n return () => window.removeEventListener(\"scroll\", getCurrentScroll);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n // scroll에 따라 top이동 버튼\r\n const [scrollRevealCss, setScrollRevealCss] = useState(\r\n \"backtop js-scroll-trigger\"\r\n );\r\n const getCurrentScroll = () => {\r\n if (window.scrollY > 300) {\r\n setScrollRevealCss(\"backtop js-scroll-trigger reveal\");\r\n } else {\r\n setScrollRevealCss(\"backtop js-scroll-trigger\");\r\n }\r\n };\r\n\r\n const fnMoveTop = () => {\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n\r\n
    \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

찾아오시는 길

\r\n
\r\n\r\n
    \r\n history.push(\"/Directions\")}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \"\"\r\n \r\n
  • (24217) 강원특별자치도 춘천시 동면 만천로 57
  • \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

연락처

\r\n
\r\n\r\n
\r\n
\r\n \r\n 전화\r\n
\r\n

\r\n 033)254-4825, 5076\r\n

\r\n
\r\n\r\n
\r\n
\r\n \r\n 팩스\r\n
\r\n

033)257-0741, 0743

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n © Copyright (C) 2021{\" \"}\r\n \r\n 강원특별자치도자동차검사정비사업조합\r\n \r\n , All Rights reserved\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default Footer;\r\n","import ContentLoader from \"react-content-loader\";\r\n\r\nconst idCheck = (val) => {\r\n if (!val) return false;\r\n\r\n const idRule = /^[a-z]+[a-z0-9]{5,19}$/g;\r\n return idRule.test(val);\r\n};\r\n\r\nconst pwCheck = (val) => {\r\n if (!val) return false;\r\n\r\n const pwRule = /^(?=.*[a-zA-Z])(?=.*[0-9]).{5,19}$/;\r\n return pwRule.test(val);\r\n};\r\n\r\nconst fnNotAdmin = () => {\r\n alert(\"관리자만 접근 가능한 메뉴입니다.\");\r\n window.location.href = \"/\";\r\n};\r\n\r\nconst fnNotLogin = () => {\r\n localStorage.removeItem(\"userinfo\");\r\n alert(\"로그인 후 사용가능한 메뉴입니다.\");\r\n window.location.href = \"/Login\";\r\n};\r\n\r\nconst fnNotOfficers = () => {\r\n alert(\"이용 권한이 없는 메뉴입니다.\");\r\n window.location.href = \"/\";\r\n};\r\n\r\n//게시판 신규작성 권한 확인\r\nconst canWrite = (kind, userType) => {\r\n const adminBoards = [\r\n \"pds01\",\r\n \"pds02\",\r\n \"pds03\",\r\n \"pds04\",\r\n \"pds05\",\r\n \"pds06\",\r\n \"pds07\",\r\n \"pds08\",\r\n \"docu\",\r\n \"schedule\",\r\n \"gallery\",\r\n \"info\",\r\n \"news\",\r\n \"laws\",\r\n \"event\",\r\n ];\r\n const generalBoards = [\"free\", \"joboffer\", \"jobsearch\"];\r\n\r\n if (adminBoards.includes(kind)) {\r\n return userType === \"0\" || userType === \"1\";\r\n }\r\n\r\n if (generalBoards.includes(kind)) {\r\n return [\"0\", \"1\", \"2\", \"3\"].includes(userType);\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst getSubHeader = (kind) => {\r\n switch (kind) {\r\n case \"info\":\r\n return (\r\n
\r\n

공지사항

\r\n 검사조합에서 알려 드립니다.\r\n
\r\n );\r\n case \"docu\":\r\n return (\r\n
\r\n

문서함

\r\n 검사조합 운영 및 참여에 필요한 문서를 공유해 드립니다.\r\n
\r\n );\r\n case \"pds01\":\r\n return (\r\n
\r\n

산업안전보건 자료실

\r\n 안전관리 및 건강 유지를 위한 다양한 자료를 찾아보세요.\r\n
\r\n );\r\n case \"pds02\":\r\n return (\r\n
\r\n

정비업무 자료실

\r\n 자동차 정비에 관한 모든 문서와 가이드를 한 곳에서\r\n
\r\n );\r\n case \"pds03\":\r\n return (\r\n
\r\n

기타 자료실

\r\n \r\n 다양한 주제에 대한 추가적인 정보와 자료를 탐색할 수 있습니다.\r\n \r\n
\r\n );\r\n case \"pds04\":\r\n return (\r\n
\r\n

서식 자료실

\r\n \r\n 필요한 양식과 템플릿을 쉽고 빠르게 찾을 수 있는 공간입니다.\r\n \r\n
\r\n );\r\n case \"pds05\":\r\n return (\r\n
\r\n

조합임원 자료실

\r\n 조합 운영 및 관리에 필요한 공식 문서와 자료를 확인하세요.\r\n
\r\n );\r\n case \"pds06\":\r\n return (\r\n
\r\n

검사업무 자료실

\r\n 자동차 검사와 관련된 모든 자료가 여기에!\r\n
\r\n );\r\n case \"pds07\":\r\n return (\r\n
\r\n

교육일정 및 신청안내

\r\n \r\n 다양한 교육과정과 신청 방법에 대한 상세 정보를 확인하세요.\r\n \r\n
\r\n );\r\n case \"pds08\":\r\n return (\r\n
\r\n

조합자료실

\r\n \r\n 조합 직원들을 위한 전용 자료 공유 공간\r\n \r\n
\r\n );\r\n case \"news\":\r\n return (\r\n
\r\n

자동차정비뉴스

\r\n 최신 트렌드와 업계 동향을 한 눈에 확인하세요.\r\n
\r\n );\r\n case \"laws\":\r\n return (\r\n
\r\n

자동차관련법규

\r\n \r\n 정비 전문가들을 위한 최신 자동차 관련 법규와 규정 업데이트 정보를\r\n 제공합니다.\r\n \r\n
\r\n );\r\n case \"joboffer\":\r\n return (\r\n
\r\n

구인정보

\r\n 자격을 갖춘 인재와의 만남, 지금 바로 시작하세요!\r\n
\r\n );\r\n case \"jobsearch\":\r\n return (\r\n
\r\n

구직정보

\r\n 당신의 능력에 딱 맞는 직장을 찾아보세요!\r\n
\r\n );\r\n case \"free\":\r\n return (\r\n
\r\n

자유게시판

\r\n 커뮤니티의 목소리, 여러분의 이야기를 나누세요!\r\n
\r\n );\r\n case \"schedule\":\r\n return (\r\n
\r\n

이사장 동정

\r\n 이사장의 활동 업데이트, 한눈에 알아보세요!\r\n
\r\n );\r\n case \"gallery\":\r\n return (\r\n
\r\n

포토갤러리

\r\n 각종 행사와 모임의 생생한 순간들을 확인해보세요!\r\n
\r\n );\r\n case \"event\":\r\n return (\r\n
\r\n

경조사

\r\n 조합원 간의 화합과 결속을 위한 공간입니다.\r\n
\r\n );\r\n default:\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n};\r\n\r\nconst getServiceName = (kind) => {\r\n // 1. 관리자 작성 권한 게시판\r\n // - 공지사항 : InfoList (★)\r\n // - 문서수신 : DocuList (★)\r\n // - 자료실 : PdsList (★)\r\n // - 보도자료 : CastList (★)\r\n\r\n // 2. 관리자, 회원 작성권한 게시판\r\n // - 구인정보 : JobOfferList\r\n // - 구직정보 : JobSearchList\r\n // - 벼룩시장 : MarketList\r\n // - 자유게시판 : FreeList\r\n\r\n switch (kind) {\r\n case \"info\":\r\n return \"Info\";\r\n case \"docu\":\r\n return \"Docu\";\r\n case \"pds01\":\r\n return \"Pds01\";\r\n case \"pds02\":\r\n return \"Pds02\";\r\n case \"pds03\":\r\n return \"Pds03\";\r\n case \"pds04\":\r\n return \"Pds04\";\r\n case \"pds05\":\r\n return \"Pds05\";\r\n case \"pds06\":\r\n return \"Pds06\";\r\n case \"pds07\":\r\n return \"Pds07\";\r\n case \"pds08\":\r\n return \"Pds08\";\r\n case \"news\":\r\n return \"News\";\r\n case \"laws\":\r\n return \"Laws\";\r\n case \"joboffer\":\r\n return \"JobOffer\";\r\n case \"jobsearch\":\r\n return \"JobSearch\";\r\n case \"gallery\":\r\n return \"Gallery\";\r\n case \"schedule\":\r\n return \"Schedule\";\r\n case \"free\":\r\n return \"Free\";\r\n case \"event\":\r\n return \"Event\";\r\n default:\r\n return \"\";\r\n }\r\n};\r\n\r\nconst getSub01 = (kind) => {\r\n switch (kind) {\r\n case \"pds01\":\r\n case \"pds02\":\r\n case \"pds03\":\r\n case \"pds04\":\r\n case \"pds05\":\r\n case \"pds06\":\r\n case \"pds07\":\r\n case \"pds08\":\r\n return \"자료실\";\r\n case \"free\":\r\n case \"schedule\":\r\n case \"gallery\":\r\n case \"joboffer\":\r\n case \"jobsearch\":\r\n return \"정보광장\";\r\n case \"docu\":\r\n return \"문서함\";\r\n case \"laws\":\r\n return \"자동차관련법규\";\r\n case \"info\":\r\n return \"공지사항\";\r\n case \"news\":\r\n return \"자동차정비뉴스\";\r\n case \"event\":\r\n return \"경조사\";\r\n default:\r\n return \"\";\r\n }\r\n};\r\n\r\nconst getSub02 = (kind) => {\r\n switch (kind) {\r\n case \"info\":\r\n return \"공지사항\";\r\n case \"docu\":\r\n return \"문서함\";\r\n case \"pds01\":\r\n return \"산업안전보건 자료실\";\r\n case \"pds02\":\r\n return \"정비업무 자료실\";\r\n case \"pds03\":\r\n return \"기타 자료실\";\r\n case \"pds04\":\r\n return \"서식 자료실\";\r\n case \"pds05\":\r\n return \"조합임원 자료실\";\r\n case \"pds06\":\r\n return \"검사업무 자료실\";\r\n case \"pds07\":\r\n return \"교육일정 및 신청안내\";\r\n case \"pds08\":\r\n return \"조합자료실\";\r\n case \"news\":\r\n return \"자동차정비뉴스\";\r\n case \"laws\":\r\n return \"자동차관련법규\";\r\n case \"joboffer\":\r\n return \"구인정보\";\r\n case \"jobsearch\":\r\n return \"구직정보\";\r\n case \"gallery\":\r\n return \"포토갤러리\";\r\n case \"schedule\":\r\n return \"이사장 동정\";\r\n case \"free\":\r\n return \"자유게시판\";\r\n case \"event\":\r\n return \"경조사\";\r\n default:\r\n return \"\";\r\n }\r\n};\r\n\r\nconst escapeHTML = function (s) {\r\n if (s) {\r\n return s.replace(/&/g, \"&\").replace(//g, \">\");\r\n }\r\n};\r\n\r\nconst wrapHTML = function (s) {\r\n if (s) {\r\n return s.replace(/</g, \"<\").replace(/>/g, \">\").replace(/&/g, \"&\");\r\n }\r\n};\r\n\r\n//파일 다운로드\r\nconst fnFileDownload = (fileUrl, fileName) => {\r\n fetch(fileUrl).then((response) => {\r\n response.blob().then((blob) => {\r\n let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement(\"a\");\r\n a.href = url;\r\n a.download = fileName;\r\n a.click();\r\n });\r\n });\r\n};\r\n\r\nconst getBackgroundImageCss = (id) => {\r\n if (id === \"intro\") return \"bg-1\";\r\n if (id === \"docu\") return \"bg-2\";\r\n if (\r\n [\"pds01\", \"pds02\", \"pds03\", \"pds04\", \"pds05\", \"pds06\", \"pds08\"].includes(id)\r\n )\r\n return \"bg-3\";\r\n if (id === \"union_mem\") return \"bg-4\";\r\n if ([\"free\", \"schedule\", \"gallery\", \"joboffer\", \"jobsearch\", \"pds07\"].includes(id))\r\n return \"bg-5\";\r\n if (id === \"info\") return \"bg-6\";\r\n if (id === \"news\") return \"bg-7\";\r\n if (id === \"laws\") return \"bg-6\";\r\n if (id === \"event\") return \"bg-8\";\r\n if (id === \"member\") return \"bg-9\";\r\n if (id === \"admin\") return \"bg-10\";\r\n\r\n return \"default-bg\";\r\n};\r\n\r\nconst cloneObj = (obj) => JSON.parse(JSON.stringify(obj));\r\n\r\nexport {\r\n idCheck,\r\n pwCheck,\r\n fnNotAdmin,\r\n fnNotLogin,\r\n cloneObj,\r\n getServiceName,\r\n getSub01,\r\n getSub02,\r\n getSubHeader,\r\n escapeHTML,\r\n wrapHTML,\r\n fnFileDownload,\r\n fnNotOfficers,\r\n canWrite,\r\n getBackgroundImageCss,\r\n};\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { reqData } from \"../../js/server\";\r\nimport ContentLoader from \"react-content-loader\";\r\n\r\nfunction SubMenu(props) {\r\n const dispatch = useDispatch();\r\n let userinfo = JSON.parse(localStorage.getItem(\"userinfo\"));\r\n const [banners, setBanners] = useState([]);\r\n const [usertype, setUsertype] = useState(userinfo?.usertype ?? \"\");\r\n\r\n const fetchBannerData = () => {\r\n const jsonData = {\r\n servicename: \"BannerList\",\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setBanners(res.data.jsonData);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n };\r\n\r\n const setMenu = () => {\r\n switch (props.id) {\r\n case \"admin\":\r\n return (\r\n
\r\n
관리자 메뉴
\r\n\r\n
    \r\n
  • \r\n 회원관리\r\n
  • \r\n
  • \r\n 배너관리\r\n
  • \r\n
\r\n
\r\n );\r\n case \"intro\":\r\n return (\r\n
\r\n
조합소개
\r\n\r\n
    \r\n
  • \r\n 이사장 인사말\r\n
  • \r\n
  • \r\n 연혁\r\n
  • \r\n
  • \r\n 조합정관 및 사업자윤리강령\r\n
  • \r\n
  • \r\n 찾아오시는 길\r\n
  • \r\n
\r\n
\r\n );\r\n case \"docu\":\r\n return (\r\n
\r\n
문서함
\r\n\r\n
    \r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=docu\")\r\n }\r\n >\r\n 문서함\r\n \r\n
  • \r\n
\r\n
\r\n );\r\n case \"laws\":\r\n return (\r\n
\r\n
자동차관련법규
\r\n\r\n
    \r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=laws\")\r\n }\r\n >\r\n 자동차관련법규\r\n \r\n
  • \r\n
\r\n
\r\n );\r\n case \"unionMem\":\r\n return (\r\n
\r\n
정비업체현황
\r\n\r\n
    \r\n
  • \r\n (window.location.href = \"/UnionMem\")}\r\n >\r\n 정비업체현황\r\n \r\n
  • \r\n
  • \r\n \r\n (window.location.href = \"/UnionMem?testkind=1\")\r\n }\r\n >\r\n 종합검사 업체안내\r\n \r\n
  • \r\n
  • \r\n \r\n (window.location.href = \"/UnionMem?testkind=2\")\r\n }\r\n >\r\n 정기검사 업체안내\r\n \r\n
  • \r\n
\r\n
\r\n );\r\n case \"pds01\":\r\n case \"pds02\":\r\n case \"pds03\":\r\n case \"pds04\":\r\n case \"pds05\":\r\n case \"pds06\":\r\n case \"pds08\":\r\n return (\r\n
\r\n
자료실
\r\n\r\n
    \r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=pds02\")\r\n }\r\n >\r\n 정비업무 자료실\r\n \r\n
  • \r\n\r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=pds06\")\r\n }\r\n >\r\n 검사업무 자료실\r\n \r\n
  • \r\n\r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=pds01\")\r\n }\r\n >\r\n 산업안전보건 자료실\r\n \r\n
  • \r\n\r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=pds05\")\r\n }\r\n >\r\n 조합임원 자료실\r\n \r\n
  • \r\n\r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=pds04\")\r\n }\r\n >\r\n 서식 자료실\r\n \r\n
  • \r\n\r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=pds03\")\r\n }\r\n >\r\n 기타 자료실\r\n \r\n
  • \r\n {\r\n usertype === \"0\" || usertype === \"1\"\r\n ? (\r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=pds08\")\r\n }\r\n >\r\n 조합자료실\r\n \r\n
  • \r\n ) : null\r\n }\r\n
\r\n
\r\n );\r\n case \"free\":\r\n case \"schedule\":\r\n case \"gallery\":\r\n case \"joboffer\":\r\n case \"jobsearch\":\r\n case \"pds07\":\r\n return (\r\n
\r\n
정보광장
\r\n\r\n
    \r\n\r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=pds07\")\r\n }\r\n >\r\n 교육일정 및 신청안내\r\n \r\n
  • \r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=free\")\r\n }\r\n >\r\n 자유게시판\r\n \r\n
  • \r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=schedule\")\r\n }\r\n >\r\n 이사장 동정\r\n \r\n
  • \r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=gallery\")\r\n }\r\n >\r\n 포토갤러리\r\n \r\n
  • \r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=joboffer\")\r\n }\r\n >\r\n 구인정보\r\n \r\n
  • \r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=jobsearch\")\r\n }\r\n >\r\n 구직정보\r\n \r\n
  • \r\n
\r\n
\r\n );\r\n case \"info\":\r\n return (\r\n
\r\n
공지사항
\r\n\r\n
    \r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=info\")\r\n }\r\n >\r\n 공지사항\r\n \r\n
  • \r\n
\r\n
\r\n );\r\n case \"news\":\r\n return (\r\n
\r\n
자동차정비뉴스
\r\n\r\n
    \r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=news\")\r\n }\r\n >\r\n 자동차정비뉴스\r\n \r\n
  • \r\n
\r\n
\r\n );\r\n case \"event\":\r\n return (\r\n
\r\n
경조사
\r\n\r\n
    \r\n
  • \r\n \r\n (window.location.href = \"/ABoardList?kind=event\")\r\n }\r\n >\r\n 경조사\r\n \r\n
  • \r\n
\r\n
\r\n );\r\n default:\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n };\r\n\r\n useEffect(\r\n () => {\r\n //Partners Banner 불러오기\r\n fetchBannerData();\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n
\r\n
\r\n {setMenu()}\r\n\r\n
\r\n
파트너사
\r\n\r\n
\r\n {banners.map((banner, idx) => (\r\n
\r\n
\r\n {banner.bn_url.length > 8 ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n\r\n
\r\n
연락처
\r\n\r\n
\r\n

전화

\r\n

033)254-4825

\r\n
\r\n\r\n
\r\n

팩스

\r\n

033)257-0741

\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SubMenu;\r\n","import ContentLoader from \"react-content-loader\";\r\nimport { apiDomain } from \"../../js/server\";\r\n\r\nfunction List(props) {\r\n const setList = () => {\r\n switch (props.id) {\r\n case \"MemberList\": //관리자 회원관리\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.posts.length > 0 ? (\r\n props.posts.map((post, i) => {\r\n return (\r\n {\r\n props.listClick(post.comcode);\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
업체명대표자명사업자등록번호가입여부가입아이디등록일자
{post.comname}{post.boss}{post.comidno}{post.userid ? \"O\" : \"X\"}{post.userid}{post.registday.slice(0, 10)}
결과가 없습니다.
\r\n );\r\n case \"Info\": //일반 게시판\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.posts.length > 0 ? (\r\n props.posts.map((post, i) => {\r\n return (\r\n {\r\n props.listClick(post.bserial);\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n {Number(post.comment_cnt) > 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n })\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
번호제목첨부조회수작성일
{post.rownumber}\r\n {post.subject}\r\n   \r\n \r\n \r\n  \r\n {post.comment_cnt}\r\n \r\n {post.subject}\r\n {Number(post.file_cnt) > 0 && (\r\n \r\n )}\r\n {post.hits}{post.wdate.slice(0, 10)}
\r\n {!props.isPosts ? (\r\n \"결과가 없습니다.\"\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n case \"Gallery\": //포토갤러리\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.posts.length > 0 ? (\r\n props.posts.map((post, i) => {\r\n return (\r\n {\r\n props.listClick(post.bserial);\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n \r\n {Number(post.comment_cnt) > 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n })\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
번호썸네일제목조회수작성일
{post.rownumber}\r\n \r\n \r\n {post.subject}\r\n   \r\n \r\n \r\n  \r\n {post.comment_cnt}\r\n \r\n {post.subject}{post.hits}{post.wdate.slice(0, 10)}
\r\n {!props.isPosts ? (\r\n \"결과가 없습니다.\"\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n case \"News\": //자동차정비뉴스\r\n case \"Laws\": //자동차관련법규\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {Number(props.userType) < 2 ? : null}\r\n \r\n \r\n \r\n {props.posts.length > 0 ? (\r\n props.posts.map((post, i) => {\r\n return (\r\n {\r\n window.open(post.contents, \"_blank\");\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n {Number(post.comment_cnt) > 0 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n\r\n {Number(props.userType) < 2 ? (\r\n \r\n ) : null}\r\n \r\n );\r\n })\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
번호제목등록일삭제
{post.rownumber}\r\n {post.subject}\r\n   \r\n \r\n \r\n  \r\n {post.comment_cnt}\r\n \r\n {post.subject}{post.wdate.slice(0, 10)}\r\n {\r\n props.fnBoardDelete(post.bserial);\r\n e.stopPropagation();\r\n }}\r\n >\r\n \r\n \r\n
\r\n {!props.isPosts ? (\r\n \"결과가 없습니다.\"\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n );\r\n case \"UnionMem\": //조합원사 게시판\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.posts.length > 0 ? (\r\n props.posts.map((post, idx) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })\r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n
지역구분업체명대표자명대표전화주소
{post.area || \"\"}{post.comkind || \"\"}{post.comname || \"\"}{post.boss || \"\"}{`${post.tel0}-${post.tel1}-${post.tel2}`}{`${post.address1} ${post.address2}`}
결과가 없습니다.
\r\n );\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return
{setList()}
;\r\n}\r\n\r\nexport default List;\r\n","import './Paging.css'\r\nimport Pagination from \"react-js-pagination\"\r\n\r\nfunction Paging({ page, count, setPage }) { \r\n return ( \r\n <>\r\n \r\n \r\n )\r\n}\r\n\r\nexport default Paging;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { getBackgroundImageCss } from \"../../js/util\";\r\n\r\nfunction SubBanner(props) {\r\n const store = useSelector((state) => state);\r\n const [subMenuTitle01, setSubMenuTitle01] = useState(\"\");\r\n const [subMenuTitle02, setSubMenuTitle02] = useState(\"\");\r\n const backgroundImageCss = getBackgroundImageCss(props.id);\r\n useEffect(\r\n () => {\r\n setSubMenuTitle01(store.reducerPage.sub01);\r\n setSubMenuTitle02(store.reducerPage.sub02);\r\n },\r\n // eslint-disable-next-line\r\n [props]\r\n );\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{subMenuTitle02}

\r\n\r\n
    \r\n
  • \r\n \r\n Home\r\n \r\n
  • \r\n
  • \r\n /\r\n
  • \r\n
  • \r\n {subMenuTitle01}\r\n
  • \r\n
  • \r\n /\r\n
  • \r\n
  • \r\n {subMenuTitle02}\r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SubBanner;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { LoginToken, reqData } from '../../../js/server'\r\nimport { fnNotAdmin } from '../../../js/util'\r\nimport queryString from \"query-string\";\r\nimport SubMenu from '../../../comp/comm/SubMenu'\r\nimport List from '../../comm/List'\r\nimport Paging from '../../comm/Paging'\r\nimport { useHistory } from \"react-router\"\r\nimport SubBanner from '../../../comp/comm/SubBanner'\r\n\r\nfunction MemberList({ match, location, history }) {\r\n const dispatch = useDispatch()\r\n const usehistory = useHistory()\r\n const query = queryString.parse(location.search);\r\n const [posts, setPosts] = useState({ items: [] });\r\n const [currentPage, setCurrentPage] = useState(1);\r\n // eslint-disable-next-line\r\n const [postsPerPage, setPostsPerPage] = useState(10);\r\n const [totalCount, setTotalCount] = useState(0);\r\n const [userToken, setUserToken] = useState(null);\r\n const keyword = query.keyword\r\n const page = query.page\r\n\r\n async function fetchData(page = 1) {\r\n //Hash에 남길 State 저장\r\n setCurrentPage(Number(page))\r\n\r\n const jsonData = {\r\n \"servicename\": \"ShopList\",\r\n \"userToken\": userToken,\r\n \"keyword\": document.getElementById('inputKeyword').value,\r\n \"currentPage\": page,\r\n \"maxListCount\": postsPerPage\r\n }\r\n\r\n dispatch({ type: 'loadingChange', payload: true })\r\n reqData(jsonData).then((res) => {\r\n if (res.data.result === 'OK') {\r\n setTotalCount(res.data.totalCnt)\r\n setPosts(res.data.jsonData)\r\n } else {\r\n alert(res.data.msg)\r\n }\r\n }).catch((err) => {\r\n console.error(err)\r\n }).finally(() => {\r\n dispatch({ type: 'loadingChange', payload: false })\r\n })\r\n }\r\n\r\n const fnSearchClick = () => {\r\n if (document.getElementById('inputKeyword').value.length > 1) {\r\n fetchData(1)\r\n } else {\r\n alert('검색어는 2자 이상 필요합니다.')\r\n }\r\n }\r\n\r\n const setPage = (page) => {\r\n fetchData(page)\r\n }\r\n\r\n const newClick = () => {\r\n const keyword = document.getElementById('inputKeyword').value\r\n //검색 상태 Hash 저장\r\n window.document.location.hash = \"#\" + currentPage + \"^\" + encodeURI(keyword)\r\n usehistory.push(`/Admin/MemberNew`)\r\n }\r\n\r\n const listClick = (key) => {\r\n const keyword = document.getElementById('inputKeyword').value\r\n //검색 상태 Hash 저장\r\n window.document.location.hash = \"#\" + currentPage + \"^\" + encodeURI(keyword)\r\n usehistory.push(`/Admin/MemberView?comcode=${key}&page=${currentPage}&keyword=${encodeURI(keyword)}`)\r\n }\r\n\r\n useEffect(() => {\r\n dispatch({ type: 'pageChange', payload: { 'sub01': '관리자메뉴', 'sub02': '회원관리' } })\r\n dispatch({ type: 'loadingChange', payload: true })\r\n\r\n setTimeout(() => {\r\n //로그인 체크\r\n const userinfo = JSON.parse(localStorage.getItem('userinfo'))\r\n if (userinfo) {\r\n const userToken = userinfo.userToken\r\n setUserToken(userToken)\r\n\r\n //로그인 체크 후 Usertype 검사\r\n LoginToken(userToken).then((res) => {\r\n if (res.data.result === 'OK') {\r\n if (res.data.jsonData.usertype === '0') {\r\n let defaultPage = 1\r\n\r\n //검색 상태 Hash 불러오기\r\n if (keyword || page) {\r\n defaultPage = page\r\n document.getElementById('inputKeyword').value = keyword\r\n }\r\n else if (window.document.location.hash) {\r\n let strHash = window.document.location.hash\r\n let arrCur = null\r\n\r\n strHash = strHash.replace('#', '')\r\n arrCur = strHash.split('^')\r\n if (arrCur.length === 2) {\r\n defaultPage = (arrCur[0]) ? arrCur[0] : 1\r\n document.getElementById('inputKeyword').value = arrCur[1]\r\n }\r\n }\r\n\r\n fetchData(defaultPage);\r\n } else {\r\n fnNotAdmin()\r\n }\r\n }\r\n }).catch((err) => {\r\n console.error(err)\r\n localStorage.removeItem('userinfo')\r\n\r\n fnNotAdmin()\r\n }).finally(() => {\r\n //dispatch({ type: 'loadingChange', payload: false })\r\n })\r\n } else {\r\n fnNotAdmin()\r\n }\r\n }, 500)\r\n },\r\n // eslint-disable-next-line\r\n []);\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

회원관리

\r\n 업체등록후 홈페이지 가입이 가능합니다.\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n {\r\n if (e.key === 'Enter') {\r\n fnSearchClick()\r\n }\r\n }}\r\n />\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n  신규\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default MemberList","import { cloneObj } from \"../../../js/util\";\r\n\r\nfunction UserCard(props) {\r\n const userHandleChange = (idx, e) => {\r\n const dataType = e.target.dataset[\"type\"];\r\n //숫자타입인데 문자가 들어오는 경우 false\r\n let isState = true;\r\n if (dataType === \"int\") {\r\n if (isNaN(e.target.value)) {\r\n isState = false;\r\n }\r\n }\r\n\r\n if (isState) {\r\n let copiedObj = cloneObj(props.users);\r\n copiedObj[idx][e.target.name] = e.target.value;\r\n props.setUsers(copiedObj);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {props.users.length > 0 ? (\r\n props.users.map((user, i) => {\r\n return (\r\n
\r\n
\r\n
{user.userid || \"\"}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n userHandleChange(i, e)}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n userHandleChange(i, e)}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n userHandleChange(i, e)}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n userHandleChange(i, e)}\r\n >\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n userHandleChange(i, e)}\r\n />\r\n
\r\n
\r\n\r\n
\r\n props.fnUserSaveClick(i, e)}\r\n >\r\n 저장\r\n \r\n   \r\n props.fnUserDeleteClick(i, e)}\r\n >\r\n 삭제\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n })\r\n ) : (\r\n
가입된 사용자가 없습니다.
\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default UserCard;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { LoginToken, reqData } from \"../../../js/server\";\r\nimport { fnNotAdmin, cloneObj } from \"../../../js/util\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport queryString from \"query-string\";\r\nimport SubMenu from \"../../comm/SubMenu\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\nimport UserCard from \"./UserCard\";\r\n\r\n//다음 PostCode 모듈 추가\r\nimport Postcode from \"@actbase/react-daum-postcode\";\r\nimport { Modal } from \"react-bootstrap\";\r\n\r\nfunction MemberView({ match, location, history }) {\r\n const dispatch = useDispatch();\r\n const usehistory = useHistory();\r\n const query = queryString.parse(location.search);\r\n const comcode = query.comcode;\r\n const keyword = query.keyword;\r\n const page = query.page;\r\n const [isModal, setModal] = useState(false); //daum postcode 관련 state\r\n const [userToken, setUserToken] = useState(null);\r\n const [shopinfo, setShopinfo] = useState({\r\n comcode: null,\r\n comname: null,\r\n boss: null,\r\n comidno: null,\r\n tel0: null,\r\n tel1: null,\r\n tel2: null,\r\n fax0: null,\r\n fax1: null,\r\n fax2: null,\r\n address1: null,\r\n address2: null,\r\n zipcode: null,\r\n area: null,\r\n comgrade: null,\r\n luse: null,\r\n registday: null,\r\n update_dt: null,\r\n });\r\n const [users, setUsers] = useState([]);\r\n\r\n const shopHandleChange = (e) => {\r\n const dataType = e.target.dataset[\"type\"];\r\n //숫자타입인데 문자가 들어오는 경우 false\r\n let isState = true;\r\n if (dataType === \"int\") {\r\n if (isNaN(e.target.value)) {\r\n isState = false;\r\n }\r\n }\r\n\r\n if (isState) {\r\n let copiedObj = cloneObj(shopinfo);\r\n copiedObj[e.target.name] = e.target.value;\r\n setShopinfo(copiedObj);\r\n }\r\n };\r\n\r\n //우편번호 Modal 닫기\r\n const handleClose = () => setModal(false);\r\n\r\n //업체정보 저장\r\n const fnShopSaveClick = () => {\r\n const jsonData = {\r\n servicename: \"ShopSave\",\r\n userToken: userToken,\r\n jsonData: shopinfo,\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n alert(\"저장되었습니다.\");\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n };\r\n\r\n //업체정보 삭제\r\n const fnShopDeleteClick = () => {\r\n if (\r\n window.confirm(\r\n \"업체 삭제시 등록된 회원정보도 함께 삭제가 되며\\n복구가 불가능합니다.\\n\\n삭제 하시겠습니까?\"\r\n )\r\n ) {\r\n const jsonData = {\r\n servicename: \"ShopDelete\",\r\n userToken: userToken,\r\n comcode: comcode,\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n alert(\"삭제되었습니다.\");\r\n usehistory.push(\r\n `/Admin/MemberList?page=${page}&keyword=${encodeURI(keyword)}`\r\n );\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n //사용자정보 저장\r\n const fnUserSaveClick = (idx, e) => {\r\n const jsonData = {\r\n servicename: \"MemberSave\",\r\n userToken: userToken,\r\n jsonData: users[idx],\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n alert(\"저장되었습니다.\");\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n };\r\n\r\n //사용자정보 삭제\r\n const fnUserDeleteClick = (idx, e) => {\r\n if (\r\n window.confirm(`[${users[idx].userid}] 회원정보를 삭제 하시겠습니까?`)\r\n ) {\r\n const jsonData = {\r\n servicename: \"MemberDelete\",\r\n userToken: userToken,\r\n userid: users[idx].userid,\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n alert(\"삭제되었습니다.\");\r\n\r\n let copiedObj = cloneObj(users);\r\n copiedObj.splice(idx, 1);\r\n setUsers(copiedObj);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n const fnShopData = () => {\r\n const jsonData = {\r\n servicename: \"ShopView\",\r\n userToken: userToken,\r\n comcode: comcode,\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setShopinfo(res.data.jsonData);\r\n setUsers(res.data.jsonUser);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n };\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: \"관리자메뉴\", sub02: \"회원관리\" },\r\n });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n //로그인 체크\r\n const userinfo = JSON.parse(localStorage.getItem(\"userinfo\"));\r\n if (userinfo) {\r\n const userToken = userinfo.userToken;\r\n setUserToken(userToken);\r\n\r\n //로그인 체크 후 Usertype 검사\r\n LoginToken(userToken)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n if (res.data.jsonData.usertype === \"0\") {\r\n fnShopData();\r\n } else {\r\n fnNotAdmin();\r\n }\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n localStorage.removeItem(\"userinfo\");\r\n\r\n fnNotAdmin();\r\n })\r\n .finally(() => {\r\n //dispatch({ type: 'loadingChange', payload: false })\r\n });\r\n } else {\r\n fnNotAdmin();\r\n }\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

회원관리

\r\n 조합원 및 회원 관리가 가능합니다.\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n usehistory.push(\r\n `/Admin/MemberList?page=${page}&keyword=${encodeURI(\r\n keyword\r\n )}`\r\n )\r\n }\r\n >\r\n  목록\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
업체정보
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {\r\n let copiedObj = cloneObj(shopinfo);\r\n copiedObj[\"zipcode\"] = data.zonecode;\r\n copiedObj[\"address1\"] = data.address;\r\n setShopinfo(copiedObj);\r\n setModal(false);\r\n }}\r\n />\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n setModal(true)}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n 저장\r\n \r\n   \r\n \r\n 삭제\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
등록계정
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default MemberView;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { LoginToken, reqData } from \"../../../js/server\";\r\nimport { fnNotAdmin, cloneObj } from \"../../../js/util\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport SubMenu from \"../../comm/SubMenu\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\n\r\n//다음 PostCode 모듈 추가\r\nimport Postcode from \"@actbase/react-daum-postcode\";\r\nimport { Modal } from \"react-bootstrap\";\r\n\r\nfunction MemberNew({ match, location, history }) {\r\n const dispatch = useDispatch();\r\n const usehistory = useHistory();\r\n const [isModal, setModal] = useState(false); //daum postcode 관련 state\r\n const [userToken, setUserToken] = useState(null);\r\n const [shopinfo, setShopinfo] = useState({\r\n comcode: null,\r\n comname: null,\r\n boss: null,\r\n comidno: null,\r\n tel0: null,\r\n tel1: null,\r\n tel2: null,\r\n fax0: null,\r\n fax1: null,\r\n fax2: null,\r\n address1: null,\r\n address2: null,\r\n zipcode: null,\r\n area: null,\r\n comgrade: null,\r\n luse: null,\r\n registday: null,\r\n update_dt: null,\r\n });\r\n\r\n const shopHandleChange = (e) => {\r\n const dataType = e.target.dataset[\"type\"];\r\n //숫자타입인데 문자가 들어오는 경우 false\r\n let isState = true;\r\n if (dataType === \"int\") {\r\n if (isNaN(e.target.value)) {\r\n isState = false;\r\n }\r\n }\r\n\r\n if (isState) {\r\n let copiedObj = cloneObj(shopinfo);\r\n copiedObj[e.target.name] = e.target.value;\r\n setShopinfo(copiedObj);\r\n }\r\n };\r\n\r\n //우편번호 Modal 닫기\r\n const handleClose = () => setModal(false);\r\n\r\n //업체정보 저장\r\n const fnShopSaveClick = () => {\r\n if (!shopinfo.comname) {\r\n alert(\"업체명을 입력해 주세요.\");\r\n } else if (!shopinfo.boss) {\r\n alert(\"대표자명을 입력해 주세요.\");\r\n } else if (!shopinfo.comidno) {\r\n alert(\"사업자등록번호를 입력해 주세요.\");\r\n } else {\r\n const jsonData = {\r\n servicename: \"ShopSave\",\r\n userToken: userToken,\r\n jsonData: shopinfo,\r\n };\r\n console.log(jsonData);\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n alert(\"저장되었습니다.\");\r\n usehistory.push(\"/Admin/MemberList\");\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: \"관리자메뉴\", sub02: \"회원관리\" },\r\n });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n //로그인 체크\r\n const userinfo = JSON.parse(localStorage.getItem(\"userinfo\"));\r\n if (userinfo) {\r\n const userToken = userinfo.userToken;\r\n setUserToken(userToken);\r\n\r\n //로그인 체크 후 Usertype 검사\r\n LoginToken(userToken)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n if (res.data.jsonData.usertype !== \"0\") {\r\n fnNotAdmin();\r\n }\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n localStorage.removeItem(\"userinfo\");\r\n\r\n fnNotAdmin();\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n } else {\r\n fnNotAdmin();\r\n }\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

회원관리

\r\n 조합원 및 회원 관리가 가능합니다.\r\n
\r\n
\r\n\r\n
\r\n
\r\n usehistory.goBack()}\r\n >\r\n  목록\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
업체정보
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {\r\n let copiedObj = cloneObj(shopinfo);\r\n copiedObj[\"zipcode\"] = data.zonecode;\r\n copiedObj[\"address1\"] = data.address;\r\n setShopinfo(copiedObj);\r\n setModal(false);\r\n }}\r\n />\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n setModal(true)}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n 저장\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default MemberNew;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { LoginToken, reqData, reqFormDataBanner } from \"../../../js/server\";\r\nimport { fnNotAdmin, cloneObj } from \"../../../js/util\";\r\nimport SubMenu from \"../../comm/SubMenu\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\r\n\r\nfunction BannerMgr({ props }) {\r\n const dispatch = useDispatch();\r\n const [userToken, setUserToken] = useState(null);\r\n const [bnUrl, setBnUrl] = useState(\"https://\");\r\n const [selectedFile, setSelectedFile] = useState(null);\r\n const [banners, setBanners] = useState([]);\r\n\r\n const handleFileChange = (e) => {\r\n setSelectedFile(e.target.files[0]);\r\n };\r\n\r\n const handleBnUrlChange = (e) => {\r\n setBnUrl(e.target.value);\r\n };\r\n\r\n const fnSaveClick = () => {\r\n if (!selectedFile) {\r\n alert(\"배너이미지를 선택해 주세요.\");\r\n } else {\r\n if (window.confirm(\"배너이미지를 저장하시겠습니까?\")) {\r\n let formData = new FormData();\r\n formData.append(\"file\", selectedFile, selectedFile.name);\r\n formData.append(\"servicename\", \"BannerSave\");\r\n formData.append(\"userToken\", userToken);\r\n formData.append(\"bn_url\", bnUrl);\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqFormDataBanner(formData)\r\n .then((res) => {\r\n const resData = res.data.jsonData;\r\n let copiedObj = cloneObj(banners);\r\n copiedObj.unshift(resData);\r\n setBanners(copiedObj);\r\n setSelectedFile(null);\r\n setBnUrl(\"https://\");\r\n document.querySelector(\"#file\").value = \"\";\r\n\r\n alert(\"저장되었습니다.\");\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n }\r\n };\r\n\r\n const fetchData = () => {\r\n const jsonData = {\r\n servicename: \"BannerList\",\r\n userToken: userToken,\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setBanners(res.data.jsonData);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n };\r\n\r\n const fnBnEditClick = (idx, serial, e) => {\r\n if (window.confirm(\"수정하시겠습니까?\")) {\r\n let formData = new FormData();\r\n const objFile = document.querySelector(\"#file\" + idx);\r\n const objUrl = document.querySelector(\"#bn_url\" + idx);\r\n if (objFile.files[0]) {\r\n formData.append(\"file\", objFile.files[0], objFile.files[0].name);\r\n }\r\n formData.append(\"servicename\", \"BannerSave\");\r\n formData.append(\"userToken\", userToken);\r\n formData.append(\"bn_url\", objUrl.value);\r\n formData.append(\"bn_serial\", serial);\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqFormDataBanner(formData)\r\n .then((res) => {\r\n const resData = res.data.jsonData;\r\n let copiedObj = cloneObj(banners);\r\n copiedObj[idx].bn_dir = resData.bn_dir;\r\n copiedObj[idx].bn_filename = resData.bn_filename;\r\n copiedObj[idx].bn_serial = resData.bn_serial;\r\n copiedObj[idx].bn_url = resData.bn_url;\r\n copiedObj[idx].file_url = resData.file_url;\r\n copiedObj[idx].update_dt = resData.update_dt;\r\n copiedObj[idx].wdate = resData.wdate;\r\n setBanners(copiedObj);\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n const fnBnDeleteClick = (idx, serial, e) => {\r\n if (window.confirm(\"삭제하시겠습니까?\")) {\r\n const jsonData = {\r\n servicename: \"BannerDelete\",\r\n userToken: userToken,\r\n bn_serial: serial,\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n let copiedObj = cloneObj(banners);\r\n var idx = copiedObj.findIndex((i) => i.bn_serial === serial);\r\n if (idx > -1) copiedObj.splice(idx, 1);\r\n setBanners(copiedObj);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: \"관리자메뉴\", sub02: \"배너관리\" },\r\n });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n //로그인 체크\r\n const userinfo = JSON.parse(localStorage.getItem(\"userinfo\"));\r\n if (userinfo) {\r\n const userToken = userinfo.userToken;\r\n setUserToken(userToken);\r\n\r\n //로그인 체크 후 Usertype 검사\r\n LoginToken(userToken)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n if (res.data.jsonData.usertype === \"0\") {\r\n fetchData();\r\n } else {\r\n fnNotAdmin();\r\n }\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n localStorage.removeItem(\"userinfo\");\r\n\r\n fnNotAdmin();\r\n })\r\n .finally(() => {\r\n //dispatch({ type: 'loadingChange', payload: false })\r\n });\r\n } else {\r\n fnNotAdmin();\r\n }\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

배너관리

\r\n 메인/사이드에 노출될 배너를 등록해 주세요.\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
신규추가
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n 저장\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
등록배너
\r\n
\r\n\r\n \r\n {banners.map((banner, i) => {\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {\r\n let copiedObj =\r\n cloneObj(banners);\r\n copiedObj[i][\"bn_url\"] =\r\n e.target.value;\r\n setBanners(copiedObj);\r\n }}\r\n />\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n fnBnEditClick(\r\n i,\r\n banner.bn_serial,\r\n e\r\n )\r\n }\r\n >\r\n 저장\r\n \r\n   \r\n \r\n fnBnDeleteClick(\r\n i,\r\n banner.bn_serial,\r\n e\r\n )\r\n }\r\n >\r\n 삭제\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default BannerMgr;\r\n","import SubBanner from \"../../comm/SubBanner\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { LoginAccount } from \"../../../js/server\";\r\n\r\nfunction Login(props) {\r\n const dispatch = useDispatch();\r\n const useridInput = useRef();\r\n const [userid, setUserid] = useState(null);\r\n const [userpw, setUserpw] = useState(null);\r\n\r\n const fnLoginClick = () => {\r\n if (userid && userpw) {\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n LoginAccount(userid, userpw)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n dispatch({ type: \"authUpdate\", payload: res.data.jsonData });\r\n localStorage.setItem(\r\n \"userinfo\",\r\n JSON.stringify(res.data.jsonData)\r\n );\r\n\r\n if (!props.aPage) {\r\n window.location.href = \"/\";\r\n }\r\n } else {\r\n alert(res.data.msg);\r\n document.getElementById(\"inputUserid\").value = null;\r\n document.getElementById(\"inputPassword\").value = null;\r\n document.getElementById(\"inputUserid\").focus();\r\n setUserid(null);\r\n setUserpw(null);\r\n dispatch({ type: \"authUpdate\", payload: null });\r\n localStorage.removeItem(\"userinfo\");\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n dispatch({ type: \"authUpdate\", payload: null });\r\n localStorage.removeItem(\"userinfo\");\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n } else {\r\n alert(\"아이디와 비밀번호를 입력해 주세요.\");\r\n document.getElementById(\"inputUserid\").focus();\r\n }\r\n };\r\n\r\n const fnEnterCheck = (e) => {\r\n if (e.key === \"Enter\") {\r\n fnLoginClick();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: \"회원관리\", sub02: \"로그인\" },\r\n });\r\n dispatch({ type: \"authUpdate\", payload: null });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n localStorage.removeItem(\"userinfo\");\r\n\r\n useridInput.current.focus();\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n }, 500);\r\n }, [dispatch]);\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

\r\n 로그인시 조합원 전용메뉴를 이용하실 수 있으며\r\n
\r\n 비회원은 회원가입을 통해 조합가입 신청을 해주세요.\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n setUserid(e.target.value)}\r\n />\r\n
\r\n\r\n
\r\n \r\n setUserpw(e.target.value)}\r\n onKeyDown={fnEnterCheck}\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n 회원가입\r\n \r\n \r\n 아이디/비밀번호 찾기\r\n \r\n
\r\n\r\n
\r\n \r\n 로그인\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default Login;\r\n","import SubBanner from '../../comm/SubBanner'\r\nimport { useEffect, useState } from 'react'\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { Col, Nav, Row, Tab } from 'react-bootstrap';\r\nimport { reqData } from '../../../js/server';\r\nimport { pwCheck } from '../../../js/util';\r\n\r\nfunction FindAccount(props) {\r\n const dispatch = useDispatch()\r\n const history = useHistory()\r\n const [userid, setUserid] = useState(null)\r\n const [userTel0, setUserTel0] = useState(null)\r\n const [userTel1, setUserTel1] = useState(null)\r\n const [userTel2, setUserTel2] = useState(null)\r\n const [userTel02, setUserTel02] = useState(null)\r\n const [userTel12, setUserTel12] = useState(null)\r\n const [userTel22, setUserTel22] = useState(null)\r\n const [luseno, setLuseno] = useState(null)\r\n const [lusenoPasswd, setLusenoPasswd] = useState(null)\r\n const [new_passwd, setNew_passwd] = useState(null)\r\n const [new_re_passwd, setNew_re_passwd] = useState(null)\r\n const [isSend, setisSend] = useState(false)\r\n const [isSendPasswd, setisSendPasswd] = useState(false)\r\n const [isResultFindId, setisResultFindId] = useState(false)\r\n const [resultFindId, setResultFindId] = useState(null)\r\n\r\n const fnSetTel = (e) => {\r\n if (e.target.id === 'inputHp0') {\r\n setUserTel0(e.target.value)\r\n if (e.target.value.length >= 3) {\r\n document.getElementById('inputHp0').value = e.target.value.slice(0, 3)\r\n document.getElementById('inputHp1').focus()\r\n }\r\n } else if (e.target.id === 'inputHp1') {\r\n setUserTel1(e.target.value)\r\n if (e.target.value.length >= 4) {\r\n document.getElementById('inputHp1').value = e.target.value.slice(0, 4)\r\n document.getElementById('inputHp2').focus()\r\n }\r\n } else if (e.target.id === 'inputHp2') {\r\n setUserTel2(e.target.value)\r\n if (e.target.value.length >= 4) {\r\n document.getElementById('inputHp2').value = e.target.value.slice(0, 4)\r\n }\r\n }\r\n }\r\n\r\n const fnSetTel2 = (e) => {\r\n if (e.target.id === 'inputHp02') {\r\n setUserTel02(e.target.value)\r\n if (e.target.value.length >= 3) {\r\n document.getElementById('inputHp02').value = e.target.value.slice(0, 3)\r\n document.getElementById('inputHp12').focus()\r\n }\r\n } else if (e.target.id === 'inputHp12') {\r\n setUserTel12(e.target.value)\r\n if (e.target.value.length >= 4) {\r\n document.getElementById('inputHp12').value = e.target.value.slice(0, 4)\r\n document.getElementById('inputHp22').focus()\r\n }\r\n } else if (e.target.id === 'inputHp22') {\r\n setUserTel22(e.target.value)\r\n if (e.target.value.length >= 4) {\r\n document.getElementById('inputHp22').value = e.target.value.slice(0, 4)\r\n }\r\n }\r\n }\r\n\r\n const fnSendLuseNo = () => {\r\n if (userTel0 && userTel1 && userTel2) {\r\n const userTel = `${userTel0}${userTel1}${userTel2}`\r\n const jsonData = {\r\n \"servicename\": \"IDSearch\",\r\n \"hp\": userTel\r\n }\r\n dispatch({ type: 'loadingChange', payload: true })\r\n reqData(jsonData).then((res) => {\r\n if (res.data.result === 'OK') {\r\n alert('인증번호가 발송되었습니다.')\r\n setisSend(true)\r\n setTimeout(() => {\r\n setisSend(false)\r\n }, 30000)\r\n } else {\r\n alert(res.data.msg)\r\n }\r\n }).catch((err) => {\r\n console.error(err)\r\n }).finally(() => {\r\n dispatch({ type: 'loadingChange', payload: false })\r\n })\r\n } else {\r\n alert('휴대폰번호를 모두 입력해 주세요.')\r\n document.querySelector('#inputHp0').focus()\r\n }\r\n }\r\n\r\n const fnSendLuseNo2 = () => {\r\n if (userid && userTel02 && userTel12 && userTel22) {\r\n const userTel = `${userTel02}${userTel12}${userTel22}`\r\n const jsonData = {\r\n \"servicename\": \"IDSearch\",\r\n \"hp\": userTel\r\n }\r\n dispatch({ type: 'loadingChange', payload: true })\r\n reqData(jsonData).then((res) => {\r\n if (res.data.result === 'OK') {\r\n alert('인증번호가 발송되었습니다.')\r\n setisSendPasswd(true)\r\n setTimeout(() => {\r\n setisSendPasswd(false)\r\n }, 30000)\r\n } else {\r\n alert(res.data.msg)\r\n }\r\n }).catch((err) => {\r\n console.error(err)\r\n }).finally(() => {\r\n dispatch({ type: 'loadingChange', payload: false })\r\n })\r\n } else {\r\n alert('아이디와 휴대폰번호를 모두 입력해 주세요.')\r\n document.querySelector('#inputHp02').focus()\r\n }\r\n }\r\n\r\n const fnFindIdClick = () => {\r\n if (luseno && userTel0 && userTel1 && userTel2) {\r\n const userTel = `${userTel0}${userTel1}${userTel2}`\r\n const jsonData = {\r\n \"servicename\": \"IDSearchOK\",\r\n \"hp\": userTel,\r\n \"luseno\": luseno\r\n }\r\n dispatch({ type: 'loadingChange', payload: true })\r\n reqData(jsonData).then((res) => {\r\n console.log(res.data)\r\n if (res.data.result === 'OK') {\r\n setisResultFindId(true)\r\n setResultFindId(res.data.userid)\r\n } else {\r\n alert(res.data.msg)\r\n }\r\n }).catch((err) => {\r\n console.error(err)\r\n }).finally(() => {\r\n dispatch({ type: 'loadingChange', payload: false })\r\n })\r\n }\r\n }\r\n\r\n const fnChangePwClick = () => {\r\n const userPwState = pwCheck(new_passwd)\r\n\r\n if (!userid) {\r\n alert('사용자아이디를 입력해 주세요.')\r\n } else if (!userTel02 || !userTel12 || !userTel22) {\r\n alert('휴대폰번호를 입력해 주세요.')\r\n } else if (!lusenoPasswd) {\r\n alert('인증번호를 입력해 주세요.')\r\n } else if (!new_passwd) {\r\n alert('새로운 비밀번호를 입력해 주세요.')\r\n } else if (!new_re_passwd) {\r\n alert('새로운 비밀번호 확인을 입력해 주세요.')\r\n } else if (!userPwState) {\r\n alert('비밀번호는 영문,숫자 포함 6~20자내 사용이 가능합니다.')\r\n } else if (new_passwd !== new_re_passwd) {\r\n alert('새로운 비밀번호와 확인란의 입력값이 다릅니다.')\r\n } else {\r\n if (window.confirm('비밀번호 변경 요청을 하시겠습니까?')) {\r\n const userTel = `${userTel02}${userTel12}${userTel22}`\r\n const jsonData = {\r\n \"servicename\": \"PWSearchOK\",\r\n \"userid\": userid,\r\n \"hp\": userTel,\r\n \"luseno\": lusenoPasswd,\r\n \"new_passwd\": new_passwd\r\n }\r\n dispatch({ type: 'loadingChange', payload: true })\r\n reqData(jsonData).then((res) => {\r\n console.log(res.data)\r\n if (res.data.result === 'OK') {\r\n alert('비밀번호 변경이 완료되었습니다.\\n\\n로그인 해 주세요.')\r\n history.push('/Login')\r\n } else {\r\n alert(res.data.msg)\r\n }\r\n }).catch((err) => {\r\n console.error(err)\r\n }).finally(() => {\r\n dispatch({ type: 'loadingChange', payload: false })\r\n })\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n dispatch({ type: 'pageChange', payload: { 'sub01': '회원관리', 'sub02': '아이디/비밀번호 찾기' } })\r\n dispatch({ type: 'authUpdate', payload: null })\r\n dispatch({ type: 'loadingChange', payload: true })\r\n\r\n setTimeout(() => {\r\n localStorage.removeItem('userinfo')\r\n\r\n dispatch({ type: 'loadingChange', payload: false })\r\n }, 500)\r\n },\r\n // eslint-disable-next-line\r\n []);\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

아이디 혹은 비밀번호 분실시 휴대전화번호를 통한 인증으로 찾을 수 있습니다.

\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {\r\n (isSend)\r\n ? (\r\n \r\n 30초 후 가능\r\n \r\n )\r\n : (\r\n \r\n 인증번호 발송\r\n \r\n )\r\n }\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n setLuseno(e.target.value)} />\r\n
\r\n
\r\n
\r\n\r\n {\r\n (isResultFindId)\r\n ? (\r\n
\r\n
\r\n 고객님의 ID는 \"{resultFindId || ''}\"입니다.\r\n
\r\n
\r\n )\r\n : null\r\n }\r\n\r\n
\r\n
\r\n 아이디찾기\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n setUserid(e.target.value)} />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {\r\n (isSendPasswd)\r\n ? (\r\n \r\n 30초 후 가능\r\n \r\n )\r\n : (\r\n \r\n 인증번호 발송\r\n \r\n )\r\n }\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n setLusenoPasswd(e.target.value)} />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n setNew_passwd(e.target.value)}\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n setNew_re_passwd(e.target.value)}\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n 비밀번호 변경\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default FindAccount","import { useEffect, useState } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { strAuth01, strAuth02 } from \"../../../js/authText.js\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\n\r\nfunction JoinStep01(props) {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const [auth01, setAuth01] = useState(false);\r\n const [auth02, setAuth02] = useState(false);\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: \"회원가입\", sub02: \"약관동의\" },\r\n });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n 01\r\n 이용약관동의\r\n
\r\n
\r\n 02\r\n 조합원인증\r\n
\r\n
\r\n 03\r\n 회원가입\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

\r\n 이용약관과 개인정보취급방침에 대해 잘 확인하신 후 동의\r\n 부탁드립니다.\r\n
\r\n 동의를 원치 않는 분께서는 회원가입을 진행하실 수 없습니다.\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n setAuth01(e.target.checked)}\r\n />{\" \"}\r\n {auth01}\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n setAuth02(e.target.checked)}\r\n />{\" \"}\r\n {auth02}\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n auth01 && auth02\r\n ? history.push(\"/JoinStep02\")\r\n : alert(\r\n \"이용약관 및 개인정보 취급방침에 미동의시 진행이 불가능합니다.\"\r\n )\r\n }\r\n >\r\n 다음\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default JoinStep01;\r\n","const strAuth01 = `강원특별자치도자동차검사정비사업조합\r\n\r\n제 1 조 (목적)\r\n이 약관은 강원특별자치도자동차검사정비사업조합(이하 '조합'라 표기합니다)이 제공하는 홈페이지 서비스의 이용조건 및 절차, 기타 필요한 사항을 규정함을 목적으로 합니다.\r\n\r\n제 2 조 (약관의 효력과 변경)\r\n1. 이 약관은 이용자에게 공지함으로써 효력을 발생합니다.\r\n2. 이 약관의 내용은 서비스 화면 내에 게시하며 약관의 변경 사항이 있을 경우 조합의 온라인 공지사항을 통해 공지합니다.\r\n3. 조합은 필요하다고 인정되는 경우 이 약관을 개정할 수 있으며 변경된 약관은 제 1 항과 같은 방법으로 효력이 발생합니다.\r\n\r\n제 3 조 (약관적용외 준칙)\r\n1. 이 약관은 조합이 제공하는 서비스에 관한 이용규정 및 별도 약관과 함께 적용됩니다.\r\n2. 이 약관에 명시되지 않은 사항이 관계법령에 규정되어 있을 경우에는 그 규정에 따릅니다.\r\n\r\n제 4 조 (정의)\r\n이 약관에서 사용하는 용어의 정의는 다음과 같습니다.\r\n1. \"이용자\"란 \"홈페이지\"에 접속하여 이 약관에 따라 \"홈페이지\" 가 제공하는 서비스를 받는 개인회원 및 법인회원을 말합니다.\r\n2. \"가입\"이란 조합이 제공하는 신청서 양식에 해당 정보를 가입하고, 본 약관에 동의하여 서비스 이용계약을 완료시키는 행위를 말합니다.\r\n3. \"회원\"이란 \"홈페이지\"에 개인 및 법인정보를 제공하여 회원등록을 한 이용자로서 \"홈페이지 \"의 정보를 지속적으로 제공받으며 해당 서비스를 계속적으로 이용할 수 있는 자를 말합니다.\r\n4. \"ID\"란 회원식별과 회원의 서비스 이용을 위하여 회원이 신청하고 조합이 승인하는 문자 및 숫자의 조합을 말합니다.\r\n5. \"비밀번호\"란 이용자가 회원ID와 일치하는지를 확인하고 통신상의 자신의 비밀보호를 위하여 이용자 자신이 선정한 문자와 숫자의 조합을 말합니다.\r\n6. \"탈퇴\"란 회원이 이용계약을 종료 시키는 행위를 말합니다.\r\n7. 본 약관에서 정의하지 않은 용어는 개별서비스에 대한 별도 약관 및 이용규정에서 정의합니다.\r\n\r\n제 5 조 (회원자격 및 이용신청)\r\n1. 회원가입은 이용자가 본 약관에 동의하고, 조합에서 요구하는 소정의 가입절차에 응한 후 이루어집니다\r\n2. 조합은 새로운 회원이 가입시 회원 ID를 무료로 제공하며 서비스 이용신청자는 반드시 실명으로 이용신청을 하여야 합니다.\r\n3. 회원가입은 이용자의 이용신청에 대한 조합의 이용 승낙과 이용자의 약관내용에 대한 동의로 성립됩니다.\r\n\r\n제 6 조 (회원자격 탈퇴 및 자격상실)\r\n1. 다음 각호의 사유에 해당하는 경우 회원자격을 제한 및 정지시킬 수 있습니다.\r\n가. 타인의 명의를 도용하여 신청하였을 때\r\n나. 이용 계약 신청서의 내용을 허위로 기재하거나 허위서류를 첨부하여 신청하였을 때\r\n다. 사회의 안녕이나 혹은 미풍양속을 저해할 목적으로 신청하였을 때\r\n라. 다른 사람의 조합서비스 이용을 방해하거나 그 정보를 도용하는 등의 행위를 하였을때\r\n마. 조합 사이트를 이용하여 법령과 본 약관이 금지하는 행위를 하는 경우\r\n바. 기타 조합이 정한 이용신청요건이 미비 되었을 때\r\n\r\n제 7 조 (서비스의 제공 및 이용)\r\n1. 서비스의 이용은 조합의 업무상 또는 기술상 특별한 지장이 없는 한 연중무휴 1일 24시간을 원칙으로 합니다.\r\n2. 조합은 다음 각 호에 해당하는 경우 서비스 제공을 중지할 수 있습니다.\r\n가. 시스템 정비를 위하여 부득이한 경우\r\n나. 전기통신사업법에 규정된 기간통신사업자가 전기통신 서비스를 중지하는 경우\r\n다. 기타 조합이 서비스를 제공할 수 없는 사유가 발생할 경우\r\n3. 조합이 제공하는 서비스는 아래와 같으며, 그 변경될 서비스의 내용을 이용자에게 공지하고 아래에서 정한 서비스를 변경하여 제공 할 수 있습니다.\r\n가. 홈페이지(회원약관)\r\n나. 기타 조합이 자체 개발하거나 다른 조합과의 협력 계약 등을 통해 제공하는 일체의 서비스\r\n\r\n제 8 조 (회원정보 사용에 대한 동의)\r\n1. 회원의 개인정보에 대해서는 조합의 개인정보 보호정책이 적용됩니다.\r\n2. 조합의 회원 정보는 다음과 같이 수집, 사용, 관리, 보호됩니다.\r\n가. 개인정보의 수집 : 조합은 귀하의 강원특별자치도자동차검사정비사업조합 서비스 가입 시 귀하가 제공하는 정보, 커뮤니티 활동을 위하여 귀하가 제공하는 정보, 각종 이벤트 참가를 위하여 귀하가 제공하는 정보, 광고나 경품의 취득을 위하여 귀하가 제공하는 정보 등을 통하여 귀하에 관한 정보를 수집합니다.\r\n나. 개인정보의 사용 : 조합은 서비스 제공과 관련해서 수집된 회원의 신상정보를 본인의 승낙 없이 제3자에게 누설, 배포하지 않습니다. 단, 전기통신기본법 등 법률의 규정에 의해 국가기관의 요구가 있는 경우, 범죄에 대한 수사상의 목적이 있거나 정보통신윤리 위원회의 요청이 있는 경우 또는 기타 관계법령에서 정한 절차에 따른 요청이 있는 경우, 귀하가 조합에 제공한 개인정보를 스스로 공개한 경우에는 그러하지 않습니다.\r\n다. 개인정보의 관리 : 귀하는 개인정보의 보호 및 관리를 위하여 홈페이지 회원정보에서 수시로 귀하의 개인정보를 수정/삭제할 수 있습니다.\r\n라. 개인정보의 보호 : 귀하의 개인정보는 오직 귀하만이 열람/수정/삭제 할 수 있으며, 이는 전적으로 귀하의ID와 비밀번호에 의해 관리되고 있습니다. 따라서 타인에게 본인의 ID와 비밀번호를 알려주어서는 아니되며, 작업 종료 시에는 반드시 로그아웃 해 주시고, 웹 브라우저의 창을 닫아 주시기 바랍니다(이는 타인과 컴퓨터를 공유하는 인터넷 카페나 도서관 같은 공공장소에서 컴퓨터를 사용하는 경우에 귀하의 정보의 보호를 위하여 필요한 사항입니다).\r\n마. 기타 : 게시판이나, E-mail,등 온라인상에서 귀하가 자발적으로 제공하는 개인정보는 다른 사람들이 수집하여 사용할 수 있음을 인지하시기 바랍니다. 공개적인 공간에 게재되는 개인정보로 인해 원하지 않는 상황이 발행할 수도 있습니다. 개인정보에 대한 비밀을 유지할 책임은 귀하에게 있으며, 강원협동조합은 개인정보 유출로 인해 발생한 결과에 대하여 어떤 책임도 부담하지 아니합니다.\r\n3. 회원이 조합에 본 약관에 따라 이용신청을 하는 것은 조합이 본 약관에 따라 신청서에 기재된 회원정보를 수집, 이용 및 제공하는 것에 동의하는 것으로 간주됩니다.\r\n\r\n제 9 조 (사용자의 정보 보안)\r\n1. 가입 신청자가 조합 서비스 가입 절차를 완료하는 순간부터 귀하는 입력한 정보의 비밀을 유지할 책임이 있으며, 회원의 ID와 비밀번호를 사용하여 발생하는 모든 결과에 대한 책임은 회원본인에게 있습니다.\r\n2. ID 와 비밀번호에 관한 모든 관리의 책임은 회원에게 있으며, 회원의 ID나 비밀번호가 부정하게 사용되었다는 사실을 발견한 경우에는 즉시 조합에 신고하여야 합니다. 신고를 하지 않음으로 인한 모든 책임은 회원 본인에게 있습니다.\r\n3. 이용자는 조합 서비스의 사용 종료 시 마다 정확히 접속을 종료하도록 해야 하며, 정확히 종료하지 아니함으로써 제3자가 귀하에 관한 정보를 이용하게 되는 등의 결과로 인해 발생하는 손해 및 손실에 대하여 조합은 책임을 부담하지 아니합니다.\r\n\r\n제 10 조 (정보의 제공 및 광고의 게재)\r\n1. 조합은 서비스를 운용함에 있어 각종 정보를 웹사이트에 게재하는 방법 등으로 회원에게 제공할 수 있습니다.\r\n2. 조합은 서비스의 운영과 관련하여 웹사이트, 전자우편 등에 광고 등을 게재할 수 있습니다.\r\n\r\n제 11 조 (조합에 제출된 게시물의 저작권)\r\n1. 귀하가 게시한 게시물의 내용에 대한 권리는 귀하에게 있습니다.\r\n2. 조합은 게시된 내용을 사전 통지 없이 편집, 이동 할 수 있는 권리를 보유하며, 다음의 경우 사전 통지 없이 삭제 할 수 있습니다.\r\n가. 본 서비스 약관에 위배되거나 상용 또는 불법, 음란, 저속하다고 판단되는 게시물을 게시한 경우\r\n나. 다른 회원 또는 제 3자를 비방하거나 중상모략으로 명예를 손상시키는 내용인 경우\r\n다. 공공질서 및 미풍양속에 위반되는 내용인 경우\r\n라. 범죄적 행위에 결부된다고 인정되는 내용일 경우\r\n마. 제3자의 저작권 등 기타 권리를 침해하는 내용인 경우\r\n바. 탈퇴자가 게시한 게시물\r\n사. 기타 관계 법령에 위배되는 경우\r\n3. 귀하의 게시물이 타인의 저작권을 침해함으로써 발생하는 민, 형사상의 책임은 전적으로 귀하가 부담하여야 합니다.\r\n\r\n제 12 조 (조합의 의무와 책임)\r\n1. 서비스의 소유 및 운영은 조합에 있습니다.\r\n2. 조합은 서비스와 관련하여 득한 회원의 개인정보를 본인의 사전 동의없이 타인에게 누설, 공개 또는 배포할 수 없으며, 서비스관련이외의 상업적인 목적으로 사용할 수 없습니다. 다만 관계법령에 의한 경우 및 수사상의 목적 등의 경우는 예외로 합니다.\r\n\r\n제 13 조 (회원의 의무)\r\n1. 회원은 관계법령, 이 약관의 규정, 이용안내 및 주의사항 등 조합이 통지하는 사항을 준수하여야 하며, 기타 조합의 업무에 방해되는 행위를 하여서는 안됩니다.\r\n2. 회원은 조합의 사전 동의없이 서비스를 이용하여 어떠한 영리행위도 할 수 없습니다.\r\n3. 회원은 서비스를 이용하여 얻은 정보를 조합의 사전 동의없이 복사, 복제, 변경, 번역, 출판, 방송 기타의 방법으로 사용하거나 이를 타인에게 제공할 수 없습니다.\r\n4. 회원은 서비스 이용과 관련하여 다음 각 호의 행위를 하여서는 안됩니다.\r\n가. 다른 회원의 ID를 부정사용하는 경우\r\n나. 범죄행위를 목적으로 하거나 기타 범죄행위와 관련된 행위\r\n다. 선량한 풍속, 기타 사회질서를 해하는 경우\r\n라. 타인의 명예를 훼손하거나 모욕하는 행위\r\n마. 타인의 지적재산권 등의 권리를 침해하는 행위\r\n바. 해킹행위 또는 컴퓨터바이러스의 유포행위\r\n사. 타인의 의사에 반하여 광고성 정보등 일정한 내용을 전송하는 행위\r\n아. 조합 사이트에 게시된 정보의 변경\r\n자. 서비스의 안정적인 운영에 지장을 주거나 줄 우려가 있는 일체의 행위\r\n차. 기타 관계법령에 위배되는 행위\r\n\r\n제 14 조 (회원 정보의 변경)\r\n1. 회원은 회원정보의 변경(주소, E-mail등)이 있을 경우 즉시 조합이 운영하는 웹상 또는 관계자에게 통보 및 수정을 하여야 합니다.\r\n2. 회원의 변경사항에 대한 미통보 및 미수정으로 인한 책임은 전적으로 회원에게 있으며 이는 서비스의 정지 및 해지의 사유가 될 수 있습니다.\r\n\r\n제 15 조 (게시물 또는 내용물의 삭제)\r\n조합은 서비스의 게시물 또는 내용물이 규정에 위반되거나 조합의 소정 게시기간을 초과하는 경우 사전 통지나 동의 없이 이를 삭제할 수 있습니다.\r\n\r\n제 16 조 (계약해지 및 이용제한)\r\n1. 회원이 이용계약을 해지하고자 하는 때에는 본인이 서비스 또는 전자우편을 통하여 해지하고자 하는 날의 1일전까지 (단, 해지일이 법정공휴일인 경우 공휴일 개시 2일전 까지) 이를 조합에 신청하여야 합니다.\r\n2. 조합은 회원이 이 약관의 내용을 위반하고, 조합 소정의 기간 이내에 이를 해지하지 아니하는 경우 서비스 이용계약을 해지 할 수 있습니다.\r\n3. 조합은 계약내용을 위반하는 회원에 대하여는 사전 동의 없이 이용의 제한 및 정지를 할 수 있습니다.\r\n4. 조합은 회원의 계약내용과 일치하지 않는 사용 및 법령에 위배되는 행위에 관하여 서비스 정지 및 해지에 관한 권리를 갖습니다.\r\n\r\n제 17 조 (손해배상)\r\n조합은 무료로 제공되는 서비스와 관련하여 회원에게 어떠한 손해가 발생하더라도 동 손해가 조합의 중대한 과실에 의한 경우를 제외하고 이에 대하여 책임을 부담하지 아니합니다.\r\n\r\n제 18 조 (면책 조항)\r\n1. 조합은 천재지변 기타 이에 준하는 불가항력으로 인하여 서비스를 제공할 수 없을 경우에는 서비스 제공 중지에 관한 책임을 면합니다.\r\n2. 조합은 이용자들의 귀책사유로 인한 서비스 이용의 장애에 대하여 책임을 면합니다.\r\n3. 조합은 이용자가 서비스를 이용하여 얻은 정보 등으로 인해 입은 손해 등에 대하여는 책임을 면합니다.\r\n4. 조합은 조합이 제공하는 서비스망을 통해 제공하는 정보의 신뢰도나 정확성에 대하여는 책임을 면합니다.\r\n5. 조합은 이용자가 게시 또는 전송한 자료의 내용에 관하여는 책임을 면합니다.\r\n\r\n부칙 1.\r\n(시행일) 이 약관은 2021년 11월 1일부터 시행합니다.\r\n`;\r\nconst strAuth02 = `개인정보취급정책\r\n1. 총 칙\r\n\r\n강원특별자치도자동차검사정비사업조합은 귀하의 개인정보보호를 매우 중요시하며, 『정보통신망이용촉진등에관한법률』상의 정보통신부가 제정한 『개인정보보호지침』을 준수하고 있습니다. 강원특별자치도자동차검사정비사업조합은 개인정보보호방침을 통하여 귀하께서 제공하시는 개인정보가 어떠한 용도와 방식으로 이용되고 있으며 개인정보보호를 위해 어떠한 조치가 취해지고 있는지 알려드립니다.\r\n\r\n2. 개인정보의 수집목적 및 이용목적\r\n\r\n강원특별자치도자동차검사정비사업조합은 이용자 확인, 통계&분석을 통한 마케팅 자료로써 귀하의 취향에 맞는 최적의 서비스를 제공하기 위한 목적으로 귀하의 개인정보를 수집, 이용하고 있습니다.\r\n수집하는 개인정보 항목에 따른 구체적인 수집목적 및 이용목적은 다음과 같습니다.\r\n\r\n- 성명, 아이디, 비밀번호, 이메일주소: 회원제 서비스 이용에 따른 본인 확인 절차에 이용\r\n- 휴대전화번호, 전화번호 : 고지사항 전달, 불만처리 등을 위한 원활한 의사소통 경로의 확보\r\n- 기타 선택항목 : 개인맞춤 서비스를 제공하기 위한 자료\r\n\r\n3. 목적 외 사용 및 제3자에 대한 제공 및 공유\r\n\r\n강원특별자치도자동차검사정비사업조합은 귀하의 동의가 있거나 관련법령의 규정에 의한 경우를 제외하고는 어떠한 경우에도 『개인정보의 수집목적 및 이용목적』에서 고지한 범위를 넘어 귀하의 개인정보를 이용하거나 타인 또는 타기업, 기관에 제공하지 않습니다.\r\n귀하의 개인정보를 제공하거나 공유하는 경우에는 사전에 귀하에게 제공받거나 공유하는 자가 누구이며 주된 사업이 무엇인지, 제공 또는 공유되는 개인정보항목이 무엇인지, 개인정보를 제공하거나 공유하는 목적이 무엇인지 등에 대해 개별적으로 전자우편 또는 서면을 통해 고지한 후 이에 대한 동의를 구합니다.\r\n다만, 다음의 경우에는 관련 법령의 규정에 의하여 귀하의 동의 없이 개인정보를 제공하는 것이 가능합니다.\r\n- 서비스제공에 따른 요금정산을 위하여 필요한 경우\r\n- 통계작성, 학술연구 또는 시장조사를 위하여 필요한 경우로서 특정 개인을 알아볼 수 없는 형태로 가공하여 제공하는 경우\r\n- 금융실명거래및비밀보장에관한법률, 신용정보의이용및보호에관한법률, 전기통신기본법, 전기통신사업법, 지방세법, 소비자보호법, 한국은행법, 형사소송법 등 법률에 특별한 규정이 있는 경우\r\n\r\n4. 개인정보 수집에 대한 동의\r\n\r\n강원특별자치도자동차검사정비사업조합은 귀하의 개인정보 수집에 대한 동의를 받고 있습니다. 귀하의 개인정보 수집과 관련하여 강원특별자치도자동차검사정비사업조합의 개인정보보호방침 또는 이용약관의 내용에 대해 「동의」버튼 또는 「취소」버튼을 클릭할 수 있는 절차를 마련하고 있으며, 귀하가 「동의」버튼을 클릭하면 개인정보 수집에 대해 동의한 것으로 봅니다.\r\n\r\n5. 개인정보관리책임자\r\n\r\n귀하의 개인정보를 보호하고 개인정보와 관련한 불만을 처리하기 위하여 강원특별자치도자동차검사정비사업조합은 개인정보관리책임자를 두고 있습니다. 개인정보와 관련한 문의사항이 있으시면 아래의 개인정보관리책임자에게 연락주시기 바랍니다. 귀하의 문의사항에 신속하고 성실하게 답변해드리겠습니다.\r\n\r\n[ 개인정보관리책임자 ]\r\nTel : 033.761.5200\r\nFax : 033.763.3110\r\n\r\n6. 개인정보의 수집\r\n\r\n강원특별자치도자동차검사정비사업조합은 회원가입시 서비스 이용을 위해 필요한 최소한의 개인정보만을 수집합니다.\r\n귀하가 강원특별자치도자동차검사정비사업조합의 서비스를 이용하기 위해서는 조합원 가입신청서에 명시된 내용(성명, 주소, 전화번호, 휴대번호)를 필수적으로 입력하셔야 합니다. 그러나, 기타 선택항목은 이를 입력하지 않더라도 서비스 이용에는 제한이 없습니다.\r\n\r\n7. 쿠키에 의한 개인정보 수집\r\n\r\n강원특별자치도자동차검사정비사업조합은 귀하의 정보를 수시로 저장하고 찾아내는 ‘쿠키(cookie)’를 운용합니다. 쿠키란 강원특별자치도자동차검사정비사업조합의 웹사이트를 운영하는데 이용되는 서버가 귀하의 브라우저에 보내는 아주 작은 텍스트 파일로서 귀하의 컴퓨터 하드디스크에 저장됩니다. 강원특별자치도자동차검사정비사업조합은 다음과 같은 목적을 위해 쿠키를 사용합니다.\r\n회원과 비회원의 접속 빈도나 방문 시간 등을 분석하고 이용자의 취향과 관심분야를 파악하여 타겟(target) 마케팅 및 서비스 개편 등의 척도로 활용합니다.\r\n강원특별자치도자동차검사정비사업조합이 진행하는 각종 이벤트에서 귀하의 참여 정도 및 방문 회수를 파악하여 차별적인 응모 기회를 부여하고 개인의 관심 분야에 따라 차별화된 정보를 제공하기 위한 자료로 이용됩니다.\r\n귀하는 쿠키 설치에 대한 선택권을 가지고 있습니다. 따라서, 귀하는 웹브라우저에서 옵션을 설정함으로써 모든 쿠키를 허용하거나, 쿠키가 저장될 때마다 확인을 거치거나, 아니면 모든 쿠키의 저장을 거부할 수도 있습니다.\r\n회원님께서 쿠키 설치를 거부하셨을 경우 강원특별자치도자동차검사정비사업조합서비스 제공에 어려움이 있습니다.\r\n\r\n8. 개인정보의 열람과 정정\r\n\r\n귀하는 언제든지 등록되어 있는 귀하의 개인정보를 열람하거나 정정하실 수 있습니다. 귀하의 개인정보에 대한 열람 또는 정정을 하고자 할 경우에는 개인정보관리책임자에게 서면, 전화 또는 E-mail로 연락하시면 지체없이 조치하겠습니다.\r\n귀하가 개인정보의 오류에 대한 정정을 요청하신 경우에는 정정을 완료하기 전까지 당해 개인정보를 이용 또는 제공하지 않습니다. 또한 잘못된 개인정보를 제3자에게 이미 제공한 경우에는 정정 처리결과를 제3자에게 지체없이 통지하여 정정이 이루어지도록 조치하겠습니다.\r\n\r\n9. 동의철회(회원탈퇴)\r\n\r\n귀하는 회원가입시 개인정보의 수집/이용 및 제공에 대해 동의하신 내용을 언제든지 철회하실 수 있습니다. 동의철회(회원탈퇴)는 강원특별자치도자동차검사정비사업조합 개인정보관리책임자에게 서면, 전화 또는 E-mail 등으로 연락하시면 지체없이 귀하의 개인정보를 파기하는 등 필요한 조치를 하겠습니다.\r\n\r\n10. 개인정보의 보유기간 및 이용기간\r\n\r\n강원특별자치도자동차검사정비사업조합은 개인정보의 수집목적 또는 제공받은 목적이 달성된 때에는 귀하의 개인정보를 지체없이 파기합니다.\r\n\r\n- 회원가입정보의 경우 : 회원가입을 탈퇴하거나 회원에서 제명된 때\r\n- 설문조사, 이벤트 등의 목적을 위하여 수집한 경우 : 당해 설문조사, 이벤트 등이 종료한 때\r\n- 다만, 수집목적 또는 제공받은 목적이 달성된 경우에도 상법 등 법령의 규정에 의하여 보존할 필요성이 있는 경우에는 귀하의 개인정보를 보유할 수 있습니다.\r\n11. 개인정보침해 관련 상담 및 신고\r\n\r\n개인정보침해에 대한 신고.상담이 필요하신 경우에는 한국인터넷진흥원(KISA)내 개인정보침해신고센터로 문의하시기 바랍니다.\r\n\r\n[ 개인정보침해신고센터 ]\r\n전화 : 02) 405-5118\r\nURL : http://privacy.kisa.or.kr/\r\n\r\n12. 정책 변경에 따른 공지의무\r\n\r\n이 개인정보보호방침은 2021년 11월 1일에 제정되었으며 법령과 정책 또는 보안기술의 변경에 따라 내용의 추가, 삭제 및 수정이 있을 시에는 변경되는 개인정보보호정책을 시행하기 최소 10일전에 강원특별자치도자동차검사정비사업조합 홈페이지를 통해 변경이유 및 내용 등을 공지하도록 하겠습니다.\r\n`;\r\n\r\nexport { strAuth01, strAuth02 };\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport MaskedFormControl from \"react-bootstrap-maskedinput\";\r\nimport { reqData } from \"../../../js/server\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\n\r\nfunction JoinStep02(props) {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const [comIdno, setComIdno] = useState(\"\");\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: \"회원가입\", sub02: \"조합원인증\" },\r\n });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n localStorage.removeItem(\"authComInfo\");\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n const fnIdnoCheckClick = () => {\r\n if (comIdno.length !== 12) {\r\n alert(\"사업자등록번호를 정확히 입력해 주세요.\");\r\n document.getElementById(\"inputComidno\").focus();\r\n } else {\r\n //조합원 인증 체크\r\n const jsonData = {\r\n servicename: \"ShopSearch\",\r\n comIdno: comIdno.replace(/-/gi, \"\"),\r\n };\r\n console.log(jsonData);\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n console.log(res);\r\n if (res.data.result === \"OK\") {\r\n const resData = res.data.jsonData;\r\n localStorage.setItem(\"authComInfo\", JSON.stringify(resData));\r\n\r\n alert(\"조합원 인증에 성공하였습니다. 회원가입으로 이동합니다.\");\r\n history.push(\"/JoinStep03\");\r\n } else {\r\n alert(\"조합원 정보를 찾을 수 없습니다.\");\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n 01\r\n 이용약관동의\r\n
\r\n
\r\n 02\r\n 조합원인증\r\n
\r\n
\r\n 03\r\n 회원가입\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

\r\n 조합원 신청을 통하여 기등록된 조합원만 가입이 가능합니다.\r\n
\r\n 사업자등록번호를 통해 인증을 완료해 주세요.\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n setComIdno(e.target.value)}\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n 인증에 실패되거나 별도 가입을 원하시는 분들은 메인화면의\r\n 조합원 가입하기를 통해 절차를 다시 확인해 주시기 바랍니다.\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n 다음\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default JoinStep02;\r\n","import { useEffect, useState } from 'react'\r\nimport { useDispatch } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { idCheck, pwCheck } from '../../../js/util'\r\nimport { reqData } from '../../../js/server'\r\nimport SubBanner from '../../comm/SubBanner';\r\n\r\nfunction JoinStep03(props) {\r\n const history = useHistory()\r\n const dispatch = useDispatch()\r\n const [comInfo, setComInfo] = useState({\r\n comcode: null,\r\n comname: null,\r\n boss: null,\r\n comidno: null,\r\n tel0: null,\r\n tel1: null,\r\n tel2: null,\r\n area: null,\r\n comgrade: null\r\n })\r\n const [userId, setUserId] = useState(null)\r\n const [userName, setUserName] = useState(null)\r\n const [userPw, setUserPw] = useState(null)\r\n const [userRePw, setUserRePw] = useState(null)\r\n const [userTel0, setUserTel0] = useState(null)\r\n const [userTel1, setUserTel1] = useState(null)\r\n const [userTel2, setUserTel2] = useState(null)\r\n\r\n const fnSetTel = (e) => {\r\n if (e.target.id === 'inputHp0') {\r\n setUserTel0(e.target.value)\r\n if (e.target.value.length >= 3) {\r\n document.getElementById('inputHp0').value = e.target.value.slice(0, 3)\r\n document.getElementById('inputHp1').focus()\r\n }\r\n } else if (e.target.id === 'inputHp1') {\r\n setUserTel1(e.target.value)\r\n if (e.target.value.length >= 4) {\r\n document.getElementById('inputHp1').value = e.target.value.slice(0, 4)\r\n document.getElementById('inputHp2').focus()\r\n }\r\n } else if (e.target.id === 'inputHp2') {\r\n setUserTel2(e.target.value)\r\n if (e.target.value.length >= 4) {\r\n document.getElementById('inputHp2').value = e.target.value.slice(0, 4)\r\n }\r\n }\r\n }\r\n\r\n const fnJoinClick = () => {\r\n const userIdState = idCheck(userId)\r\n const userPwState = pwCheck(userPw)\r\n const userRePwState = pwCheck(userRePw)\r\n\r\n if (!userIdState) {\r\n alert('사용자 아이디는 6~20자내 사용이 가능합니다. (영문,숫자 가능)')\r\n document.getElementById('inputUserid').focus()\r\n } else if (!userPwState) {\r\n alert('사용자 비밀번호는 영문,숫자 포함 6~20자내 사용이 가능합니다.')\r\n document.getElementById('inputPasswd').focus()\r\n } else if (!userRePwState) {\r\n alert('사용자 비밀번호는 6~20자내 사용이 가능합니다.')\r\n document.getElementById('inputRePasswd').focus()\r\n } else if (userPw !== userRePw) {\r\n alert('비밀번호와 비밀번호 확인란의 내용이 다릅니다.')\r\n document.getElementById('inputRePasswd').focus()\r\n } else if (!userTel0 || userTel0.length < 3) {\r\n alert('휴대폰번호는 계정분실시 사용됩니다. 입력해 주세요.')\r\n document.getElementById('inputHp0').focus()\r\n } else if (!userTel1 || userTel1.length < 3) {\r\n alert('휴대폰번호는 계정분실시 사용됩니다. 입력해 주세요.')\r\n document.getElementById('inputHp1').focus()\r\n } else if (!userTel2 || userTel2.length < 4) {\r\n alert('휴대폰번호는 계정분실시 사용됩니다. 입력해 주세요.')\r\n document.getElementById('inputHp2').focus()\r\n } else {\r\n if (window.confirm('가입을 진행하시겠습니까?')) {\r\n const jsonData = {\r\n \"servicename\": \"Regist\",\r\n \"comcode\": comInfo.comcode,\r\n \"userid\": userId,\r\n \"passwd\": userPw,\r\n \"username\": userName,\r\n \"hp\": userTel0 + userTel1 + userTel2\r\n }\r\n\r\n dispatch({ type: 'loadingChange', payload: true })\r\n reqData(jsonData).then((res) => {\r\n if (res.data.result === 'OK') {\r\n dispatch({ type: 'authUpdate', payload: res.data.jsonData })\r\n localStorage.setItem('userinfo', JSON.stringify(res.data.jsonData))\r\n\r\n if (!props.aPage) {\r\n window.location.href = \"/\"\r\n }\r\n } else {\r\n alert(res.data.msg)\r\n }\r\n }).catch((err) => {\r\n console.error(err)\r\n }).finally(() => {\r\n dispatch({ type: 'loadingChange', payload: false })\r\n })\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n dispatch({ type: 'pageChange', payload: { 'sub01': '회원가입', 'sub02': '회원가입' } })\r\n dispatch({ type: 'loadingChange', payload: true })\r\n\r\n setTimeout(() => {\r\n const _cominfo = localStorage.getItem('authComInfo')\r\n if (_cominfo) {\r\n setComInfo(JSON.parse(_cominfo))\r\n } else {\r\n alert('조합원 정보가 없습니다. 잘못된 경로를 통해 접근하였습니다.')\r\n history.push('/JoinStep01')\r\n }\r\n\r\n dispatch({ type: 'loadingChange', payload: false })\r\n }, 500)\r\n },\r\n [setComInfo, history, dispatch]);\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n 01\r\n 이용약관동의\r\n
\r\n
\r\n 02\r\n 조합원인증\r\n
\r\n
\r\n 03\r\n 회원가입\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

조합원정보를 확인한 후 회원가입을 진행해 주세요.
정보가 다른 경우 조합에 문의해 주시면 수정해 드립니다.

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n setUserId(e.target.value)} />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n setUserName(e.target.value)} />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n setUserPw(e.target.value)} />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n setUserRePw(e.target.value)} />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n 가입\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default JoinStep03","import UserCard from \"../../admin/UserCard\";\r\n\r\nfunction CreateMemberInfo(props) {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
조합직원등록
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n 저장\r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default CreateMemberInfo;\r\n","function ShopMemberInfo(props) {\r\n return (\r\n
\r\n
\r\n
\r\n
업체정보
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ShopMemberInfo;\r\n","function ViewMemberInfo(props) {\r\n return (\r\n
\r\n
\r\n
\r\n
나의 계정정보
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n 저장\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default ViewMemberInfo;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { LoginToken, reqData } from \"../../../js/server.js\";\r\nimport { cloneObj, fnNotLogin, idCheck, pwCheck } from \"../../../js/util\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\nimport CreateMemberInfo from \"./components/CreateMemberInfo\";\r\nimport ShopMemberInfo from \"./components/ShopMemberInfo.js\";\r\nimport ViewMemberInfo from \"./components/ViewMemberInfo\";\r\n\r\nfunction MemberInfo(props) {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const [myinfo, setMyinfo] = useState({});\r\n const [newAccount, setNewAccount] = useState({});\r\n const [userToken, setUserToken] = useState(null);\r\n const [userType, setUserType] = useState(\"\");\r\n const [users, setUsers] = useState([]);\r\n\r\n const fetchData = (_userToken) => {\r\n const jsonData = {\r\n servicename: \"MyView\",\r\n userToken: _userToken,\r\n };\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setMyinfo(res.data.jsonData);\r\n\r\n fnShopData();\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n };\r\n\r\n const userHandleChange = (e) => {\r\n const dataType = e.target.dataset[\"type\"];\r\n //숫자타입인데 문자가 들어오는 경우 false\r\n let isState = true;\r\n if (dataType === \"int\") {\r\n if (isNaN(e.target.value)) {\r\n isState = false;\r\n }\r\n }\r\n if (isState) {\r\n let copiedObj = cloneObj(myinfo);\r\n copiedObj[e.target.name] = e.target.value;\r\n setMyinfo(copiedObj);\r\n }\r\n };\r\n\r\n const newHandleChange = (e) => {\r\n const dataType = e.target.dataset[\"type\"];\r\n //숫자타입인데 문자가 들어오는 경우 false\r\n let isState = true;\r\n if (dataType === \"int\") {\r\n if (isNaN(e.target.value)) {\r\n isState = false;\r\n }\r\n }\r\n if (isState) {\r\n let copiedObj = cloneObj(newAccount);\r\n copiedObj[e.target.name] = e.target.value;\r\n setNewAccount(copiedObj);\r\n }\r\n };\r\n\r\n const fnSaveClick = () => {\r\n const userPwState = pwCheck(myinfo.new_passwd);\r\n const userRePwState = pwCheck(myinfo.new_re_passwd);\r\n\r\n if (!myinfo.username) {\r\n alert(\"이름을 입력해 주세요.\");\r\n document.querySelector(\"#username\").focus();\r\n } else if (!myinfo.hp) {\r\n alert(\"휴대전화번호를 입력해 주세요.\");\r\n document.querySelector(\"#hp\").focus();\r\n } else if (!myinfo.passwd) {\r\n alert(\"현재비밀번호를 입력해 주세요.\");\r\n document.querySelector(\"#passwd\").value = \"\";\r\n document.querySelector(\"#passwd\").focus();\r\n } else if (myinfo.new_passwd !== myinfo.new_re_passwd) {\r\n alert(\"변경할 비밀번호와 변경확인에 입력한 값이 다릅니다.\");\r\n document.querySelector(\"#new_passwd\").focus();\r\n } else if (myinfo.new_passwd && !userPwState) {\r\n alert(\"비밀번호는 영문,숫자 포함 6~20자내 사용이 가능합니다.\");\r\n document.querySelector(\"#new_passwd\").focus();\r\n } else if (myinfo.new_re_passwd && !userRePwState) {\r\n alert(\"비밀번호는 영문,숫자 포함 6~20자내 사용이 가능합니다.\");\r\n document.querySelector(\"#new_re_passwd\").focus();\r\n } else {\r\n if (window.confirm(\"수정하시겠습니까?\")) {\r\n const jsonData = {\r\n servicename: \"MySave\",\r\n userToken: userToken,\r\n jsonData: {\r\n userid: myinfo.userid,\r\n username: myinfo.username,\r\n hp: myinfo.hp,\r\n passwd: myinfo.passwd,\r\n new_passwd: myinfo.new_passwd,\r\n },\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n alert(\"변경되었습니다.\");\r\n history.goBack();\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n }\r\n };\r\n\r\n const fnCreateClick = () => {\r\n const userIdState = idCheck(newAccount.userid);\r\n const userPwState = pwCheck(newAccount.passwd);\r\n\r\n if (!newAccount.userid || !userIdState) {\r\n alert(\"사용자 아이디는 6~20자내 사용이 가능합니다. (영문,숫자 가능)\");\r\n document.querySelector(\"#_userid\").focus();\r\n } else if (!newAccount.username) {\r\n alert(\"이름을 입력해 주세요.\");\r\n document.querySelector(\"#_username\").focus();\r\n } else if (!newAccount.hp) {\r\n alert(\"휴대전화번호를 입력해 주세요.\");\r\n document.querySelector(\"#_hp\").focus();\r\n } else if (!newAccount.passwd || !userPwState) {\r\n alert(\"비밀번호는 영문,숫자 포함 6~20자내 사용이 가능합니다.\");\r\n document.querySelector(\"#_passwd\").focus();\r\n } else {\r\n if (window.confirm(\"등록하시겠습니까?\")) {\r\n const jsonData = {\r\n servicename: \"MyCreate\",\r\n userToken: userToken,\r\n jsonData: {\r\n comcode: \"0000000000\",\r\n userid: newAccount.userid,\r\n username: newAccount.username,\r\n hp: newAccount.hp,\r\n passwd: newAccount.passwd,\r\n },\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n alert(\"등록되었습니다.\");\r\n setNewAccount({});\r\n fnShopData();\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n }\r\n };\r\n\r\n //사용자정보 저장\r\n const fnUserSaveClick = (idx, e) => {\r\n const jsonData = {\r\n servicename: \"MemberSave\",\r\n userToken: userToken,\r\n jsonData: users[idx],\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n alert(\"저장되었습니다.\");\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n };\r\n\r\n //사용자정보 삭제\r\n const fnUserDeleteClick = (idx, e) => {\r\n if (\r\n window.confirm(`[${users[idx].userid}] 회원정보를 삭제 하시겠습니까?`)\r\n ) {\r\n const jsonData = {\r\n servicename: \"MemberDelete\",\r\n userToken: userToken,\r\n userid: users[idx].userid,\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n alert(\"삭제되었습니다.\");\r\n\r\n let copiedObj = cloneObj(users);\r\n copiedObj.splice(idx, 1);\r\n setUsers(copiedObj);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n const fnShopData = () => {\r\n const jsonData = {\r\n servicename: \"ShopView\",\r\n userToken: userToken,\r\n comcode: \"0000000000\",\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setUsers(res.data.jsonUser);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n };\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: \"회원관리\", sub02: \"내정보수정\" },\r\n });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n //로그인 체크\r\n const userinfo = JSON.parse(localStorage.getItem(\"userinfo\"));\r\n if (userinfo) {\r\n const _userToken = userinfo.userToken;\r\n setUserToken(_userToken);\r\n //로그인 체크 후 Usertype 검사\r\n LoginToken(_userToken)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n fetchData(_userToken);\r\n setUserType(res.data.jsonData.usertype);\r\n } else {\r\n fnNotLogin();\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n localStorage.removeItem(\"userinfo\");\r\n\r\n fnNotLogin();\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n } else {\r\n fnNotLogin();\r\n }\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n

내정보수정

\r\n \r\n 내 계정의 이름, 비밀번호 등을 수정할 수 있으며 업체정보는 조합에\r\n 요청해 주세요.\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n {userType === \"0\" ? (\r\n <>\r\n \r\n \r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default MemberInfo;\r\n","import { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\nimport SubMenu from \"../../comm/SubMenu\";\r\n\r\nfunction Greetings(props) {\r\n const dispatch = useDispatch();\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: \"조합소개\", sub02: \"이사장 인사말\" },\r\n });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

이사장 인사말

\r\n 홈페이지에 방문을 환영합니다.\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n 강원특별자치도\r\n
\r\n 자동차검사정비사업조합\r\n

\r\n

이사장 이상무

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

친환경차 시대, 끊임없는 믿음의 정비

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n 강원특별자치도자동차검사정비사업조합 홈페이지를 방문해\r\n 주셔서 감사합니다.\r\n

\r\n

\r\n 강원특별자치도자동차검사정비사업조합 제14대 이사장\r\n 이상무입니다.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n

\r\n 저희 강원특별자치도자동차검사정비사업조합 임직원\r\n 일동은 급속도로 변화하는 친환경 자동차 시대에 맞추어\r\n 교육훈련 등을 통해 차질없이 준비해 가고 있으며, 국민의\r\n 생명과 재산을 보호하는 믿음과 신뢰의 정비를 실현하고자\r\n 불철주야 노력하고 있습니다.\r\n

\r\n

\r\n 새롭게 단장된 홈페이지를 통하여 조합원간에 원할한\r\n 정보교류 등 소통의 장이 되기를 희망해 봅니다.\r\n

\r\n

\r\n 앞으로도 조합의 노력에 지대한 관심과 협조를 부탁드리며\r\n 방문해 주신 모든 분들의 무궁한 발전과 행복이\r\n 가득하시기를 기원합니다.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
제14대 이사장 이상무 배상
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default Greetings;\r\n","import { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\nimport SubMenu from \"../../comm/SubMenu\";\r\n\r\nfunction History(props) {\r\n const dispatch = useDispatch();\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: \"조합소개\", sub02: \"연혁\" },\r\n });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

연혁

\r\n 조합의 발자취와 미래 지향적 비전을 소개합니다.\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
연혁
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
    \r\n
  • \r\n
      \r\n
    • 1967.12.27
    • \r\n
    • \r\n 한국자동차정비사업진흥회 강원도지부 창립\r\n
      \r\n (근거 : 도로운송법 제45조 1항)\r\n
    • \r\n
    \r\n
  • \r\n
  • \r\n
      \r\n
    • 1983.12.31
    • \r\n
    • 한국자동차정비사업진흥회 강원도지부 해산
    • \r\n
    \r\n
  • \r\n
  • \r\n
      \r\n
    • 1983.07.15
    • \r\n
    • \r\n 강원도자동차정비사업조합 창립 발기인회 개최\r\n
      \r\n (근거 : 자동차관리법 제62조 및 동법 시행령\r\n 제184조)\r\n
    • \r\n
    \r\n
  • \r\n
  • \r\n
      \r\n
    • 1983.09.13
    • \r\n
    • 강원도자동차정비사업조합 창립총회 개최
    • \r\n
    \r\n
  • \r\n
  • \r\n
      \r\n
    • 1983.11.23
    • \r\n
    • \r\n 강원도자동차정비사업조합 설립 허가\r\n
      \r\n (강원운수 1517-1538)\r\n
    • \r\n
    \r\n
  • \r\n
  • \r\n
      \r\n
    • 1983.12.08
    • \r\n
    • 춘천지방법원에 등기 (등기번호88호)
    • \r\n
    \r\n
  • \r\n
  • \r\n
      \r\n
    • 1984.01.01
    • \r\n
    • 강원도자동차정비사업조합 사무 개시
    • \r\n
    \r\n
  • \r\n
  • \r\n
      \r\n
    • 1998.04.15
    • \r\n
    • 조합 사옥 준공
    • \r\n
    \r\n
  • \r\n
  • \r\n
      \r\n
    • 1999.02.25
    • \r\n
    • 강원도자동차검사정비사업조합으로 명칭 변경
    • \r\n
    \r\n
  • \r\n
  • \r\n
      \r\n
    • 2023.09.13
    • \r\n
    • \r\n 강원특별자치도자동차검사정비사업조합으로 명칭 변경\r\n
    • \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default History;\r\n","import React, { useState } from \"react\";\r\nimport { Document, Page } from \"react-pdf\";\r\n\r\nexport default function AllPages(props) {\r\n const [numPages, setNumPages] = useState(null);\r\n\r\n function onDocumentLoadSuccess({ numPages }) {\r\n setNumPages(numPages);\r\n }\r\n\r\n const { pdf } = props;\r\n\r\n return (\r\n \r\n {Array.from(new Array(numPages), (el, index) => (\r\n \r\n ))}\r\n \r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport SubMenu from \"../../comm/SubMenu\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\nimport PdfPage from \"../../comm/PdfPage\";\r\nimport { fnFileDownload } from \"../../../js/util\";\r\n\r\nfunction Articles({ props }) {\r\n const dispatch = useDispatch();\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: \"조합소개\", sub02: \"조합정관 및 사업자윤리강령\" },\r\n });\r\n\r\n setTimeout(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

조합정관 및 사업자윤리강령

\r\n \r\n 조합의 기본 원칙과 윤리적 경영을 담당하는 핵심 규정을\r\n 소개합니다.\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 정관 \r\n \r\n fnFileDownload(\"./doc/정관.pdf\", \"정관.pdf\")\r\n }\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 자동차 정비사업자 윤리강령 \r\n
\r\n
\r\n
\r\n
\r\n
\r\n 사회적 책임\r\n
\r\n
\r\n 우리는 고귀한 생명과 재산을 보호하여 정비 사업의 사회적\r\n 책임을 다한다.\r\n
\r\n
\r\n
\r\n
\r\n 건전한 발전\r\n
\r\n
\r\n 우리는 질서의식과 준법정신으로 정비 사업의 건전한 발전을\r\n 도모한다.\r\n
\r\n
\r\n
\r\n
\r\n 사업 현대화\r\n
\r\n
\r\n 우리는 생산성 향상과 경영합리화로 정비 사업의 현대화를\r\n 이룩한다.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default Articles;\r\n","import { useRef, useEffect } from \"react\";\r\n\r\nconst options = {\r\n center: new window.kakao.maps.LatLng(37.87864033591874, 127.76693052910291), //지도의 중심좌표.\r\n level: 2, //지도의 레벨(확대, 축소 정도)\r\n};\r\n\r\nfunction Location() {\r\n const container = useRef(null); //지도를 담을 영역의 DOM 레퍼런스\r\n\r\n useEffect(() => {\r\n var map = new window.kakao.maps.Map(container.current, options); //지도 생성 및 객체 리턴\r\n var markerPosition = new window.kakao.maps.LatLng(\r\n 37.87864033591874,\r\n 127.76693052910291\r\n );\r\n var marker = new window.kakao.maps.Marker({\r\n position: markerPosition,\r\n });\r\n\r\n marker.setMap(map);\r\n }, []);\r\n\r\n return
;\r\n}\r\n\r\nexport default Location;\r\n","import { useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\nimport SubMenu from \"../../comm/SubMenu\";\r\nimport Location from \"../../comm/Location\";\r\n\r\nfunction Directions(props) {\r\n const dispatch = useDispatch();\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: \"조합소개\", sub02: \"찾아오시는 길\" },\r\n });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

찾아오시는 길

\r\n 방문시 위치를 미리 확인하셔서 오시기 바랍니다.\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
주소
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

강원특별자치도 춘천시 동면 만천로 57

\r\n
\r\n
\r\n\r\n
\r\n
\r\n
대중교통
\r\n
\r\n
\r\n\r\n
\r\n
\r\n 4, 200-1\r\n → 유앤아이아파트 하차\r\n
\r\n
\r\n 400 →\r\n 아이파크아파트 하차\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default Directions;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { reqData } from \"../../../js/server\";\r\nimport SubMenu from \"../../comm/SubMenu\";\r\nimport List from \"../../comm/List\";\r\nimport Paging from \"../../comm/Paging\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\nimport ImageMap from \"image-map\";\r\nimport queryString from \"query-string\";\r\n\r\nfunction UnionMem({ match, location, history }) {\r\n const dispatch = useDispatch();\r\n const [posts, setPosts] = useState([]);\r\n const [areaItem, setAreaItem] = useState([]);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n // eslint-disable-next-line\r\n const [postsPerPage, setPostsPerPage] = useState(10);\r\n const [totalCount, setTotalCount] = useState(0);\r\n const query = queryString.parse(location.search);\r\n const testkind = query.testkind || \"\";\r\n\r\n async function fetchData(page = 1) {\r\n //Hash에 남길 State 저장\r\n setCurrentPage(Number(page));\r\n const keyword = document.querySelector(\"#inputKeyword\").value;\r\n const area = document.querySelector(\"#inputArea\").value;\r\n\r\n const jsonData = {\r\n servicename: \"OpenShopList\",\r\n area,\r\n keyword,\r\n testkind,\r\n currentPage: page,\r\n maxListCount: postsPerPage,\r\n };\r\n\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setTotalCount(res.data.totalCnt);\r\n setPosts(res.data.jsonData);\r\n setAreaItem(res.data.jsonArea);\r\n } else {\r\n console.error(res.data.msg);\r\n setTotalCount(0);\r\n setPosts([]);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n\r\n const fnSearchClick = () => {\r\n const keyword = document.querySelector(\"#inputKeyword\").value;\r\n\r\n if (keyword.length > 1) {\r\n fetchData(1);\r\n } else {\r\n alert(\"검색어는 2자 이상 필요합니다.\");\r\n }\r\n };\r\n\r\n const setPage = (page) => {\r\n fetchData(page);\r\n };\r\n\r\n const selectedArea = (area) => {\r\n document.querySelector(\"#inputArea\").value = area;\r\n fetchData(1);\r\n };\r\n\r\n const fetchSubTitle = () => {\r\n switch (testkind) {\r\n case \"1\":\r\n return (\r\n
\r\n

종합검사 업체안내

\r\n 강원특별자치도의 종합검사 전문 업체를 한눈에 확인하세요.\r\n
\r\n );\r\n case \"2\":\r\n return (\r\n
\r\n

정기검사 업체안내

\r\n 안전과 신뢰를 기반으로 한 강원특별자치도의 정기검사 업체 정보를\r\n 제공합니다.\r\n
\r\n );\r\n default:\r\n return (\r\n
\r\n

정비업체현황

\r\n 강원특별자치도 자동차종합정비업을 이끌어 가는 정비업체 현황입니다.\r\n
\r\n );\r\n }\r\n };\r\n\r\n useEffect(\r\n () => {\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n ImageMap(\"img[usemap]\");\r\n\r\n let payload = \"\";\r\n switch (testkind) {\r\n case \"1\":\r\n payload = { sub01: \"정비업체현황\", sub02: \"종합검사 업체안내\" };\r\n break;\r\n case \"2\":\r\n payload = { sub01: \"정비업체현황\", sub02: \"정기검사 업체안내\" };\r\n break;\r\n default:\r\n payload = { sub01: \"정비업체현황\", sub02: \"정비업체현황\" };\r\n break;\r\n }\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: payload,\r\n });\r\n\r\n fetchData(1);\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
{fetchSubTitle()}
\r\n\r\n
\r\n
\r\n
\r\n fetchData(1)}\r\n >\r\n \r\n {areaItem.map((item, idx) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n if (e.key === \"Enter\") {\r\n fnSearchClick();\r\n }\r\n }}\r\n />\r\n
\r\n {\r\n fnSearchClick();\r\n }}\r\n >\r\n \r\n \r\n {\r\n document.getElementById(\"inputKeyword\").value = \"\";\r\n fetchData(1);\r\n }}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n {!testkind ? (\r\n
\r\n
 
\r\n
\r\n \r\n
\r\n
 
\r\n
\r\n ) : null}\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n selectedArea(\"철원\")}\r\n coords=\"34,115,112,173\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"화천\")}\r\n coords=\"142,127,209,203\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"양구\")}\r\n coords=\"227,135,286,196\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"인제\")}\r\n coords=\"296,169,381,250\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"고성\")}\r\n coords=\"343,60,408,127\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"속초\")}\r\n coords=\"435,116,545,171\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"춘천\")}\r\n coords=\"151,244,238,290\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"양양\")}\r\n coords=\"407,200,475,246\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"홍천\")}\r\n coords=\"227,295,342,356\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"횡성\")}\r\n coords=\"253,372,329,436\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"평창\")}\r\n coords=\"353,353,445,409\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"강릉\")}\r\n coords=\"481,303,552,359\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"원주\")}\r\n coords=\"201,453,285,525\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"영월\")}\r\n coords=\"360,499,448,574\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"정선\")}\r\n coords=\"440,438,510,495\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"동해\")}\r\n coords=\"588,370,670,427\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"삼척\")}\r\n coords=\"563,466,653,527\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n selectedArea(\"태백\")}\r\n coords=\"510,557,604,614\"\r\n shape=\"rect\"\r\n style={{ cursor: \"pointer\" }}\r\n />\r\n \r\n \r\n );\r\n}\r\n\r\nexport default UnionMem;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { LoginToken, reqData } from \"../../../js/server\";\r\nimport queryString from \"query-string\";\r\nimport SubMenu from \"../../comm/SubMenu\";\r\nimport List from \"../../comm/List\";\r\nimport Paging from \"../../comm/Paging\";\r\nimport { useHistory } from \"react-router\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\nimport {\r\n getServiceName,\r\n getSub01,\r\n getSub02,\r\n getSubHeader,\r\n fnNotLogin,\r\n fnNotOfficers,\r\n canWrite,\r\n} from \"../../../js/util\";\r\n\r\nfunction AdminBoardList({ match, location, history }) {\r\n const dispatch = useDispatch();\r\n const usehistory = useHistory();\r\n const query = queryString.parse(location.search);\r\n const [posts, setPosts] = useState({ items: [] });\r\n const [isPosts, setIsPosts] = useState(true);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n // eslint-disable-next-line\r\n const [postsPerPage, setPostsPerPage] = useState(10);\r\n const [totalCount, setTotalCount] = useState(0);\r\n const [userToken, setUserToken] = useState(null);\r\n const [userType, setuserType] = useState(null);\r\n const [boardKind, setBoardKind] = useState(null); //게시판종류\r\n const keyword = query.keyword;\r\n const page = query.page;\r\n const kind = query.kind;\r\n\r\n const newClick = () => {\r\n const keyword = document.getElementById(\"inputKeyword\").value;\r\n //검색 상태 Hash 저장\r\n window.document.location.hash =\r\n \"#\" + currentPage + \"^\" + encodeURI(keyword);\r\n usehistory.push(\r\n `/ABoardNew?kind=${boardKind}&page=${currentPage}&keyword=${encodeURI(\r\n keyword\r\n )}`\r\n );\r\n };\r\n\r\n async function fetchData(page = 1) {\r\n //Hash에 남길 State 저장\r\n setCurrentPage(Number(page));\r\n const jsonData = {\r\n servicename: `${getServiceName(boardKind)}List`,\r\n userToken: userToken,\r\n keyword: document.getElementById(\"inputKeyword\").value,\r\n currentPage: page,\r\n maxListCount: postsPerPage,\r\n };\r\n\r\n reqData(jsonData)\r\n .then((res) => {\r\n console.log(res.data);\r\n\r\n if (res.data.result === \"OK\") {\r\n console.log(res.data);\r\n setTotalCount(res.data.totalCnt);\r\n setPosts(res.data.jsonData);\r\n setIsPosts(res.data.jsonData.length > 0);\r\n } else {\r\n setTotalCount(0);\r\n setPosts([]);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n\r\n const fnSearchClick = () => {\r\n if (document.getElementById(\"inputKeyword\").value.length > 1) {\r\n fetchData(1);\r\n } else {\r\n alert(\"검색어는 2자 이상 필요합니다.\");\r\n }\r\n };\r\n\r\n const setPage = (page) => {\r\n fetchData(page);\r\n };\r\n\r\n const listClick = (key) => {\r\n const keyword = document.getElementById(\"inputKeyword\").value;\r\n //검색 상태 Hash 저장\r\n window.document.location.hash =\r\n \"#\" + currentPage + \"^\" + encodeURI(keyword);\r\n usehistory.push(\r\n `/ABoardView?bserial=${key}&page=${currentPage}&keyword=${encodeURI(\r\n keyword\r\n )}&kind=${kind}`\r\n );\r\n };\r\n\r\n const fnBoardDelete = (bserial) => {\r\n if (\r\n window.confirm(\"게시글을 삭제 하시겠습니까?\\n삭제후 복구가 불가능합니다.\")\r\n ) {\r\n const jsonData = {\r\n servicename: `${getServiceName(kind)}Delete`,\r\n userToken: userToken,\r\n bserial: bserial,\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n alert(\"삭제되었습니다.\");\r\n fetchData(currentPage);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n const initBoard = () => {\r\n let defaultPage = 1;\r\n\r\n //검색 상태 Hash 불러오기\r\n if (keyword || page) {\r\n defaultPage = page;\r\n document.getElementById(\"inputKeyword\").value = keyword;\r\n } else if (window.document.location.hash) {\r\n let strHash = window.document.location.hash;\r\n let arrCur = null;\r\n\r\n strHash = strHash.replace(\"#\", \"\");\r\n arrCur = strHash.split(\"^\");\r\n if (arrCur.length === 2) {\r\n defaultPage = arrCur[0] ? arrCur[0] : 1;\r\n document.getElementById(\"inputKeyword\").value = arrCur[1];\r\n }\r\n }\r\n\r\n fetchData(defaultPage);\r\n };\r\n\r\n useEffect(\r\n () => {\r\n if (kind) {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: getSub01(kind), sub02: getSub02(kind) },\r\n });\r\n setTimeout(() => {\r\n //로그인 체크\r\n const userinfo = JSON.parse(localStorage.getItem(\"userinfo\"));\r\n if (userinfo) {\r\n const userToken = userinfo.userToken;\r\n setUserToken(userToken);\r\n setBoardKind(kind);\r\n //로그인 체크 후 Usertype 검사\r\n LoginToken(userToken)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n //userType 저장\r\n setuserType(res.data.jsonData.usertype);\r\n\r\n //임원자료실은 임원 이상만 열람 가능\r\n if (\r\n boardKind === \"pds05\" &&\r\n Number(res.data.jsonData.usertype) > 2\r\n ) {\r\n fnNotOfficers();\r\n } else if (\r\n //조합 자료실은 조합직원 이상만 열람 가능\r\n boardKind === \"pds08\" &&\r\n Number(res.data.jsonData.usertype) > 1\r\n ) {\r\n fnNotOfficers();\r\n } else {\r\n initBoard();\r\n }\r\n } else {\r\n fnNotLogin();\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n\r\n fnNotLogin();\r\n })\r\n .finally(() => { });\r\n } else {\r\n if (kind !== \"free\" && kind !== \"joboffer\") {\r\n fnNotLogin();\r\n } else {\r\n setBoardKind(kind);\r\n\r\n initBoard();\r\n }\r\n }\r\n }, 500);\r\n } else {\r\n usehistory.push(\"/\");\r\n }\r\n },\r\n // eslint-disable-next-line\r\n [kind, boardKind, dispatch]\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
{getSubHeader(boardKind)}
\r\n\r\n
\r\n
\r\n
\r\n {\r\n if (e.key === \"Enter\") {\r\n fnSearchClick();\r\n }\r\n }}\r\n />\r\n
\r\n {\r\n fnSearchClick();\r\n }}\r\n >\r\n \r\n \r\n {\r\n document.getElementById(\"inputKeyword\").value = \"\";\r\n\r\n fetchData(1);\r\n }}\r\n >\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n {canWrite(boardKind, userType) ? (\r\n
\r\n
\r\n \r\n  신규\r\n \r\n
\r\n
\r\n ) : null}\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default AdminBoardList;\r\n","import axios from \"axios\";\r\nimport { useMemo } from \"react\";\r\nimport ReactQuill from \"react-quill\";\r\nimport \"react-quill/dist/quill.snow.css\";\r\nimport { imageFileUploadUrl } from \"../../js/server\";\r\n\r\nfunction Editor(props) {\r\n const apiPostImage = async (data) => {\r\n try {\r\n const result = await axios.post(imageFileUploadUrl, data, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n });\r\n\r\n return result;\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n };\r\n\r\n function imageHandler() {\r\n const input = document.createElement(\"input\");\r\n const boardkind = props.boardKind;\r\n\r\n input.setAttribute(\"type\", \"file\");\r\n input.setAttribute(\"accept\", \"image/*\");\r\n input.click();\r\n\r\n input.onchange = async () => {\r\n const file = input.files[0];\r\n const formData = new FormData();\r\n formData.append(\"image\", file);\r\n formData.append(\"boardname\", boardkind);\r\n\r\n // Save current cursor state\r\n const range = this.quill.getSelection(true);\r\n\r\n // Insert temporary loading placeholder image\r\n this.quill.insertEmbed(\r\n range.index,\r\n \"image\",\r\n `${window.location.origin}/images/loaders/placeholder.gif`\r\n );\r\n\r\n // Move cursor to right side of image (easier to continue typing)\r\n this.quill.setSelection(range.index + 1);\r\n\r\n const res = await apiPostImage(formData); // API post, returns image location as string e.g. 'http://www.example.com/images/foo.png'\r\n let imageUrl = \"\";\r\n if (res.data.result === \"OK\") {\r\n imageUrl = res.data.data;\r\n }\r\n\r\n // Remove placeholder image\r\n this.quill.deleteText(range.index, 1);\r\n\r\n // Insert uploaded image\r\n // this.quill.insertEmbed(range.index, 'image', res.body.image);\r\n this.quill.insertEmbed(range.index, \"image\", imageUrl);\r\n };\r\n }\r\n\r\n const modules = useMemo(\r\n () => ({\r\n toolbar: {\r\n container: [\r\n [\r\n { header: \"1\" },\r\n { header: \"2\" },\r\n { header: [3, 4, 5, 6] },\r\n { font: [] },\r\n ],\r\n [{ size: [] }],\r\n [\"bold\", \"italic\", \"underline\", \"strike\", \"blockquote\"],\r\n [{ color: [] }, { background: [] }],\r\n [{ list: \"ordered\" }, { list: \"bullet\" }],\r\n [\"link\", \"image\", \"video\"],\r\n [\"clean\"],\r\n [\"code-block\"],\r\n ],\r\n handlers: {\r\n image: imageHandler,\r\n },\r\n },\r\n }),\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default Editor;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { LoginToken, reqFormData } from \"../../../js/server\";\r\nimport { fnNotAdmin, fnNotLogin, fnNotOfficers } from \"../../../js/util\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport queryString from \"query-string\";\r\nimport SubMenu from \"../../comm/SubMenu\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\nimport Editor from \"../../comm/Editor\";\r\nimport {\r\n getServiceName,\r\n getSub01,\r\n getSub02,\r\n getSubHeader,\r\n escapeHTML,\r\n} from \"../../../js/util\";\r\nimport { jobOfferFormData, jobSearchFormData } from \"../../../js/formData\";\r\n\r\nfunction AdminBoardNew({ match, location, history }) {\r\n const dispatch = useDispatch();\r\n const usehistory = useHistory();\r\n const query = queryString.parse(location.search);\r\n const kind = query.kind;\r\n const [userToken, setUserToken] = useState(null);\r\n const [username, setUsername] = useState(\"\");\r\n const [boardKind, setBoardKind] = useState(null); //게시판종류\r\n const [subject, setSubject] = useState(\"\"); //제목\r\n const [contents, setContents] = useState(\"\"); //내용\r\n const [selectedFile1, setSelectedFile1] = useState(null);\r\n const [selectedFile, setSelectedFile] = useState([]);\r\n\r\n const handleSubjectChange = (e) => {\r\n setSubject(e.target.value);\r\n };\r\n\r\n const handleContentsChange = (e) => {\r\n setContents(e.target.value);\r\n };\r\n\r\n const handleFileChange1 = (e) => {\r\n setSelectedFile1(e.target.files[0]);\r\n };\r\n\r\n const handleFileChange = (e) => {\r\n setSelectedFile(e.target.files);\r\n };\r\n\r\n const fnSaveClick = () => {\r\n if (subject.length < 5) {\r\n alert(\"제목은 5자 이상 입력해 주세요.\");\r\n document.querySelector(\"#subject\").focus();\r\n } else if (contents.length < 10) {\r\n if (boardKind === \"news\") {\r\n alert(\"기사링크를 제대로 입력해 주세요. (10자 이상)\");\r\n } else {\r\n alert(\"내용은 10자 이상 입력해 주세요.\");\r\n }\r\n } else if (!selectedFile1 && kind === \"gallery\") {\r\n alert(\r\n \"포토갤러리의 썸네일 항목은 필수 항목입니다.\\n목록에 사전노출 될 이미지를 선택해 주세요.\"\r\n );\r\n } else {\r\n if (window.confirm(\"저장하시겠습니까?\")) {\r\n let formData = new FormData();\r\n if (selectedFile1) {\r\n formData.append(\"file1\", selectedFile1, selectedFile1.name);\r\n }\r\n if (selectedFile) {\r\n Array.from(selectedFile).forEach((file) => {\r\n formData.append(\"files\", file, file.name);\r\n });\r\n }\r\n formData.append(\"servicename\", `${getServiceName(boardKind)}Save`);\r\n formData.append(\"userToken\", userToken);\r\n formData.append(\"subject\", subject);\r\n formData.append(\"contents\", escapeHTML(contents));\r\n formData.append(\"username\", username);\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqFormData(formData)\r\n .then((res) => {\r\n alert(\"저장되었습니다.\");\r\n usehistory.push(`/ABoardList?kind=${boardKind}`);\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n }\r\n };\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: getSub01(kind), sub02: getSub02(kind) },\r\n });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n //로그인 체크\r\n const userinfo = JSON.parse(localStorage.getItem(\"userinfo\"));\r\n if (userinfo) {\r\n setUserToken(userinfo.userToken);\r\n setUsername(userinfo.username);\r\n setBoardKind(kind);\r\n\r\n if (kind === \"joboffer\") {\r\n setContents(jobOfferFormData);\r\n } else if (kind === \"jobsearch\") {\r\n setContents(jobSearchFormData);\r\n }\r\n\r\n //로그인 체크 후 Usertype 검사\r\n LoginToken(userinfo.userToken)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n //회원&관리자 모두 이용가능한 메뉴가 아닌 경우\r\n if (\r\n Number(res.data.jsonData.usertype) > 1 &&\r\n kind !== \"free\" &&\r\n kind !== \"joboffer\" &&\r\n kind !== \"jobsearch\"\r\n ) {\r\n fnNotAdmin();\r\n } else if (\r\n //임원 자료실인 경우\r\n boardKind === \"pds05\" &&\r\n Number(res.data.jsonData.usertype) > 2\r\n ) {\r\n fnNotOfficers();\r\n } else if (\r\n //조합 자료실인 경우\r\n boardKind === \"pds08\" &&\r\n Number(res.data.jsonData.usertype) > 1\r\n ) {\r\n fnNotOfficers();\r\n }\r\n } else {\r\n fnNotLogin();\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n localStorage.removeItem(\"userinfo\");\r\n\r\n fnNotAdmin();\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n } else {\r\n fnNotAdmin();\r\n }\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
{getSubHeader(boardKind)}
\r\n\r\n
\r\n
\r\n usehistory.goBack()}\r\n >\r\n  목록\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n {kind === \"gallery\" ? (\r\n
\r\n
\r\n
\r\n \r\n \r\n {selectedFile1\r\n ? selectedFile1.name\r\n : \"썸네일 이미지 (필수)\"}\r\n \r\n
\r\n
\r\n
\r\n ) : null}\r\n\r\n {kind === \"news\" || kind === \"laws\" ? (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n\r\n {kind !== \"gallery\" &&\r\n kind !== \"news\" &&\r\n kind !== \"laws\" ? (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ) : null}\r\n\r\n
\r\n
\r\n \r\n 저장\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\nexport default AdminBoardNew;\r\n","const jobOfferFormData = '
1. 업체명 : 
2. 주소 : 
3. 성별 : 
4. 경력 : 
5. 마감일 : 
6. 나이제한 : 
7. 연락처 : 


(그밖에 하고 싶은 말은 여기 기재해 주세요.)

'\r\nconst jobSearchFormData = '
1. 이름 : 
2. 성별 : 
3. 경력 : 
4. 생년월일 : 
5. 연락처 : 
6. 희망지역 : 
7. 희망연봉 : 


(그밖에 하고 싶은 말과 이력사항은 여기 기재해 주세요.)

'\r\n\r\nexport { jobOfferFormData, jobSearchFormData }","import { CSSTransition, TransitionGroup } from \"react-transition-group\";\r\n\r\nfunction Comment(props) {\r\n return (\r\n
\r\n
\r\n
\r\n {props.comments ? (\r\n
\r\n \r\n {props.comments.length || \"0\"}개의 댓글이 있습니다.{\" \"}\r\n
\r\n ) : (\r\n
\r\n \r\n 첫번째 댓글을 등록해 주세요.\r\n
\r\n )}\r\n\r\n \r\n {props.comments.map((comment, idx) => (\r\n \r\n
  • \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
      \r\n {comment.writer} ({comment.userid})\r\n
      \r\n
    • \r\n {props.userType === \"0\" ||\r\n props.userId === comment.userid ? (\r\n <>\r\n
    • \r\n {\r\n props.fnCommentEdit(comment.cserial, true);\r\n }}\r\n >\r\n 수정\r\n \r\n
    • \r\n
    • \r\n {\r\n props.fnCommentDelete(comment.cserial);\r\n }}\r\n >\r\n 삭제\r\n \r\n
    • \r\n \r\n ) : null}\r\n
    \r\n\r\n Posted {comment.wdate}\r\n
    \r\n\r\n {comment.isEdit ? (\r\n
    \r\n \r\n {\r\n props.fnCommentEditClick(comment.cserial);\r\n }}\r\n >\r\n 수정\r\n \r\n {\r\n props.fnCommentEdit(comment.cserial, false);\r\n }}\r\n >\r\n 취소\r\n \r\n
    \r\n ) : (\r\n
    \r\n

    \r\n {comment.comment.split(\"\\n\").map((line, idx) => {\r\n return (\r\n \r\n {line}\r\n
    \r\n
    \r\n );\r\n })}\r\n

    \r\n
    \r\n )}\r\n
    \r\n
  • \r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n

    \r\n \r\n  \r\n \r\n 댓글 작성시 타인에 대한 배려와 책임을 담아주세요.\r\n \r\n

    \r\n {\r\n props.setComment(e.target.value);\r\n }}\r\n style={{\r\n resize: \"none\",\r\n }}\r\n maxLength=\"2000\"\r\n disabled={!props.userId}\r\n >\r\n\r\n {props.userId ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default Comment;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { LoginToken, reqData } from \"../../../js/server\";\r\nimport {\r\n cloneObj,\r\n fnFileDownload,\r\n fnNotLogin,\r\n fnNotOfficers,\r\n} from \"../../../js/util\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport queryString from \"query-string\";\r\nimport SubMenu from \"../../comm/SubMenu\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\nimport Comment from \"../../comm/Comment\";\r\nimport {\r\n getServiceName,\r\n getSub01,\r\n getSub02,\r\n getSubHeader,\r\n wrapHTML,\r\n} from \"../../../js/util\";\r\nimport ContentLoader from \"react-content-loader\";\r\n\r\nfunction AdminBoardView({ match, location, history }) {\r\n const dispatch = useDispatch();\r\n const usehistory = useHistory();\r\n const query = queryString.parse(location.search);\r\n const bserial = query.bserial;\r\n const kind = query.kind;\r\n const page = query.page;\r\n const keyword = query.keyword;\r\n const [userToken, setUserToken] = useState(null);\r\n const [userId, setUserId] = useState(null);\r\n const [userName, setUserName] = useState(null);\r\n const [userType, setUserType] = useState(null);\r\n const [boardKind, setBoardKind] = useState(null); //게시판종류\r\n const [post, setPost] = useState({});\r\n const [comments, setComments] = useState([]);\r\n const [files, setFiles] = useState([]);\r\n const [comment, setComment] = useState([]);\r\n\r\n const fetchData = () => {\r\n const userinfo = JSON.parse(localStorage.getItem(\"userinfo\"));\r\n console.log(kind);\r\n if (userinfo || kind === \"free\" || kind === \"joboffer\") {\r\n let _userToken = null;\r\n if (userinfo) {\r\n _userToken = userinfo.userToken;\r\n }\r\n\r\n const jsonData = {\r\n servicename: `${getServiceName(kind)}View`,\r\n userToken: _userToken,\r\n bserial: bserial,\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setComments(res.data.jsonComment);\r\n setPost(res.data.jsonData);\r\n setFiles(res.data.jsonFile);\r\n } else {\r\n console.log(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n const fnCommentClick = () => {\r\n if (comment.length < 5) {\r\n alert(\"댓글은 5자 이상 입력 가능합니다.\");\r\n document.querySelector(\"#comment\").focus();\r\n } else {\r\n if (window.confirm(\"댓글을 작성하시겠습니까?\")) {\r\n //댓글 전송\r\n const jsonData = {\r\n servicename: \"CommentSave\",\r\n userToken: userToken,\r\n jsonData: {\r\n bserial: bserial,\r\n writer: userName,\r\n comment: comment,\r\n },\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n let copiedObj = cloneObj(comments);\r\n copiedObj.push(res.data.jsonData);\r\n setComments(copiedObj);\r\n setComment(\"\");\r\n document.querySelector(\"#comment\").value = \"\";\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n }\r\n };\r\n\r\n const fnCommentDelete = (cserial, e) => {\r\n if (window.confirm(\"댓글을 삭제하시겠습니까?\")) {\r\n const jsonData = {\r\n servicename: \"CommentDelete\",\r\n userToken: userToken,\r\n cserial: cserial,\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n let copiedObj = cloneObj(comments);\r\n var idx = copiedObj.findIndex((i) => i.cserial === cserial);\r\n if (idx > -1) copiedObj.splice(idx, 1);\r\n setComments(copiedObj);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n const fnCommentEdit = (cserial, isEdit, e) => {\r\n let copiedObj = cloneObj(comments);\r\n const idx = copiedObj.findIndex((i) => i.cserial === cserial);\r\n copiedObj[idx].isEdit = isEdit;\r\n setComments(copiedObj);\r\n };\r\n\r\n const fnCommentEditClick = (cserial, e) => {\r\n const obj = document.querySelector(`#comment_${cserial}`);\r\n const val = obj.value;\r\n\r\n if (val.length < 5) {\r\n alert(\"댓글은 5자 이상 입력 가능합니다.\");\r\n } else {\r\n const jsonData = {\r\n servicename: \"CommentSave\",\r\n userToken: userToken,\r\n jsonData: {\r\n cserial: cserial,\r\n bserial: bserial,\r\n writer: userName,\r\n comment: val,\r\n },\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n let copiedObj = cloneObj(comments);\r\n const idx = copiedObj.findIndex((i) => i.cserial === cserial);\r\n copiedObj[idx].comment = val;\r\n copiedObj[idx].isEdit = false;\r\n setComments(copiedObj);\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n const fnBoardEdit = () => {\r\n usehistory.push(\r\n `/ABoardEdit?page=${page}&keyword=${encodeURI(\r\n keyword\r\n )}&kind=${kind}&bserial=${bserial}`\r\n );\r\n };\r\n\r\n const fnBoardDelete = () => {\r\n if (\r\n window.confirm(\"게시글을 삭제 하시겠습니까?\\n삭제후 복구가 불가능합니다.\")\r\n ) {\r\n const jsonData = {\r\n servicename: `${getServiceName(kind)}Delete`,\r\n userToken: userToken,\r\n bserial: bserial,\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n alert(\"삭제되었습니다.\");\r\n usehistory.push(\r\n `/ABoardList?page=${page}&keyword=${encodeURI(\r\n keyword\r\n )}&kind=${kind}`\r\n );\r\n } else {\r\n alert(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: getSub01(kind), sub02: getSub02(kind) },\r\n });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n //로그인 체크\r\n const userinfo = JSON.parse(localStorage.getItem(\"userinfo\"));\r\n\r\n if (userinfo) {\r\n const _userToken = userinfo.userToken;\r\n setUserToken(userinfo.userToken);\r\n setBoardKind(kind);\r\n\r\n //로그인 체크 후 Usertype 검사\r\n LoginToken(_userToken)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n setUserType(res.data.jsonData.usertype);\r\n setUserId(res.data.jsonData.userid);\r\n setUserName(res.data.jsonData.username);\r\n\r\n if (\r\n //임원 자료실인 경우\r\n boardKind === \"pds05\" &&\r\n Number(res.data.jsonData.usertype) > 2\r\n ) {\r\n fnNotOfficers();\r\n } else if (\r\n //조합 자료실은 조합직원 이상만 열람 가능\r\n boardKind === \"pds08\" &&\r\n Number(res.data.jsonData.usertype) > 1\r\n ) {\r\n fnNotOfficers();\r\n } else {\r\n fetchData();\r\n }\r\n } else {\r\n fnNotLogin();\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n localStorage.removeItem(\"userinfo\");\r\n\r\n fnNotLogin();\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n } else {\r\n if (kind !== \"free\" && kind !== \"joboffer\") {\r\n fnNotLogin();\r\n } else {\r\n setBoardKind(kind);\r\n fetchData();\r\n }\r\n }\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {getSubHeader(boardKind)}
    \r\n\r\n
    \r\n
    \r\n {\r\n (userType && Number(userType) < 2 && boardKind !== \"pds08\") ||\r\n (userType && Number(userType) < 1 && boardKind === \"pds08\") ||\r\n post.userid === userId ? (\r\n <>\r\n \r\n  수정\r\n \r\n  \r\n \r\n  삭제\r\n \r\n  \r\n \r\n ) : null\r\n }\r\n \r\n usehistory.push(\r\n `/ABoardList?page=${page}&keyword=${encodeURI(\r\n keyword\r\n )}&kind=${boardKind}`\r\n )\r\n }\r\n >\r\n  목록\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n {\" \"}\r\n {post.writer || \"\"}\r\n {post.userid || (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {post.comment_cnt || (\r\n \r\n \r\n \r\n )}\r\n 개의 댓글\r\n \r\n \r\n \r\n {post.wdate || (\r\n \r\n \r\n \r\n )}\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    \r\n {post.subject || (\r\n \r\n \r\n \r\n )}\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {post.contents ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n\r\n {files.length > 0 ? (\r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • 첨부파일
    • \r\n {files.map((file, i) => {\r\n return (\r\n \r\n fnFileDownload(file.file_url, file.file_name)\r\n }\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n \r\n {file.file_name}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n\r\n {/* 댓글 component */}\r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default AdminBoardView;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { LoginToken, reqData, reqFormData } from \"../../../js/server\";\r\nimport {\r\n cloneObj,\r\n fnNotAdmin,\r\n fnNotOfficers,\r\n wrapHTML,\r\n} from \"../../../js/util\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport queryString from \"query-string\";\r\nimport SubMenu from \"../../comm/SubMenu\";\r\nimport SubBanner from \"../../comm/SubBanner\";\r\nimport Editor from \"../../comm/Editor\";\r\nimport {\r\n getServiceName,\r\n getSub01,\r\n getSub02,\r\n getSubHeader,\r\n escapeHTML,\r\n} from \"../../../js/util\";\r\n\r\nfunction AdminBoardEdit({ match, location, history }) {\r\n const dispatch = useDispatch();\r\n const usehistory = useHistory();\r\n const query = queryString.parse(location.search);\r\n const bserial = query.bserial;\r\n const kind = query.kind;\r\n const page = query.page;\r\n const keyword = query.keyword;\r\n const [userToken, setUserToken] = useState(null);\r\n const [username, setUsername] = useState(\"\");\r\n const [boardKind, setBoardKind] = useState(null); //게시판종류\r\n const [subject, setSubject] = useState(\"\"); //제목\r\n const [contents, setContents] = useState(\"\"); //내용\r\n const [selectedFile1, setSelectedFile1] = useState(null);\r\n const [selectedFile, setSelectedFile] = useState([]);\r\n const [files, setFiles] = useState([]);\r\n\r\n const handleSubjectChange = (e) => {\r\n setSubject(e.target.value);\r\n };\r\n\r\n const handleFileChange1 = (e) => {\r\n setSelectedFile1(e.target.files[0]);\r\n };\r\n\r\n const handleFileChange = (e) => {\r\n setSelectedFile(e.target.files);\r\n };\r\n\r\n const fnSaveClick = () => {\r\n if (subject.length < 5) {\r\n alert(\"제목은 5자 이상 입력해 주세요.\");\r\n document.querySelector(\"#subject\").focus();\r\n } else if (contents.length < 10) {\r\n alert(\"내용은 10자 이상 입력해 주세요.\");\r\n } else {\r\n if (window.confirm(\"저장하시겠습니까?\")) {\r\n let formData = new FormData();\r\n if (selectedFile1) {\r\n formData.append(\"file1\", selectedFile1, selectedFile1.name);\r\n }\r\n if (selectedFile) {\r\n Array.from(selectedFile).forEach((file) => {\r\n formData.append(\"files\", file, file.name);\r\n console.log(file, file.name);\r\n });\r\n }\r\n formData.append(\"servicename\", `${getServiceName(boardKind)}Save`);\r\n formData.append(\"bserial\", bserial);\r\n formData.append(\"userToken\", userToken);\r\n formData.append(\"subject\", subject);\r\n formData.append(\"contents\", escapeHTML(contents));\r\n formData.append(\"username\", username);\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqFormData(formData)\r\n .then((res) => {\r\n alert(\"저장되었습니다.\");\r\n usehistory.push(\r\n `/ABoardView?page=${page}&keyword=${encodeURI(\r\n keyword\r\n )}&kind=${kind}&bserial=${bserial}`\r\n );\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n }\r\n };\r\n\r\n const fetchData = () => {\r\n const userinfo = JSON.parse(localStorage.getItem(\"userinfo\"));\r\n if (userinfo) {\r\n const _userToken = userinfo.userToken;\r\n const _userId = userinfo.userid;\r\n const _userType = userinfo.usertype;\r\n\r\n const jsonData = {\r\n servicename: `${getServiceName(kind)}View`,\r\n userToken: _userToken,\r\n bserial: bserial,\r\n };\r\n\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if ((Number(_userType) < 2 && boardKind !== \"pds08\") ||\r\n (Number(_userType) < 1 && boardKind === \"pds08\") ||\r\n _userId === res.data.jsonData.userid) {\r\n setSubject(res.data.jsonData.subject);\r\n setContents(wrapHTML(res.data.jsonData.contents));\r\n setFiles(res.data.jsonFile);\r\n } else {\r\n //작성자나 관리자가 아닌 경우 아웃\r\n alert(\"접근 권한이 없습니다.\");\r\n usehistory.goBack();\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n const fnFileDelete = (idx) => {\r\n if (window.confirm(\"파일을 삭제 하시겠습니까?\")) {\r\n const jsonData = {\r\n servicename: \"FileDelete\",\r\n userToken: userToken,\r\n fserial: files[idx].fserial,\r\n };\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n reqData(jsonData)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n let copiedObj = cloneObj(files);\r\n copiedObj.splice(idx, 1);\r\n setFiles(copiedObj);\r\n } else {\r\n console.log(res.data.msg);\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n }\r\n };\r\n\r\n useEffect(\r\n () => {\r\n dispatch({\r\n type: \"pageChange\",\r\n payload: { sub01: getSub01(kind), sub02: getSub02(kind) },\r\n });\r\n dispatch({ type: \"loadingChange\", payload: true });\r\n\r\n setTimeout(() => {\r\n //로그인 체크\r\n const userinfo = JSON.parse(localStorage.getItem(\"userinfo\"));\r\n if (userinfo) {\r\n setUserToken(userinfo.userToken);\r\n setUsername(userinfo.username);\r\n setBoardKind(kind);\r\n\r\n //로그인 체크 후 Usertype 검사\r\n LoginToken(userinfo.userToken)\r\n .then((res) => {\r\n if (res.data.result === \"OK\") {\r\n if (\r\n Number(res.data.jsonData.usertype) > 1 &&\r\n kind !== \"free\" &&\r\n kind !== \"joboffer\" &&\r\n kind !== \"jobsearch\"\r\n ) {\r\n fnNotAdmin();\r\n } else if (\r\n //임원 자료실인 경우\r\n boardKind === \"pds05\" &&\r\n Number(res.data.jsonData.usertype) > 2\r\n ) {\r\n fnNotOfficers();\r\n } else if (\r\n //조합 자료실은 조합직원 이상만 열람 가능\r\n boardKind === \"pds08\" &&\r\n Number(res.data.jsonData.usertype) > 1\r\n ) {\r\n fnNotOfficers();\r\n } else {\r\n fetchData();\r\n }\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n localStorage.removeItem(\"userinfo\");\r\n\r\n fnNotAdmin();\r\n })\r\n .finally(() => {\r\n dispatch({ type: \"loadingChange\", payload: false });\r\n });\r\n } else {\r\n fnNotAdmin();\r\n }\r\n }, 500);\r\n },\r\n // eslint-disable-next-line\r\n []\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {getSubHeader(boardKind)}
    \r\n\r\n
    \r\n
    \r\n usehistory.goBack()}\r\n >\r\n  뒤로\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {kind === \"gallery\" ? (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {selectedFile1\r\n ? selectedFile1.name\r\n : \"썸네일 이미지 (변경시 입력)\"}\r\n \r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {kind !== \"gallery\" ? (\r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {files.map((file, i) => {\r\n return (\r\n
    \r\n 등록 된 파일 : {files[i].file_name} \r\n {\r\n fnFileDelete(i);\r\n }}\r\n style={{\r\n cursor: \"pointer\",\r\n }}\r\n />\r\n
    \r\n );\r\n })}\r\n
    \r\n \r\n ) : null}\r\n\r\n
    \r\n
    \r\n \r\n 저장\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {kind === \"info\" || kind === \"docu\" || kind === \"pds\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nexport default AdminBoardEdit;\r\n","import { Route, Switch } from \"react-router-dom\";\nimport \"./App.css\";\nimport { useSelector } from \"react-redux\";\nimport ScrollToTop from \"./comp/comm/ScrollToTop\";\n\nimport Header from \"./comp/comm/Header\";\nimport MainContents from \"./comp/MainContents\";\nimport Page404 from \"./comp/sub/Page404\";\nimport Loading from \"./comp/comm/Loading\";\nimport Footer from \"./comp/comm/Footer\";\n\nimport MemberList from \"./comp/sub/admin/MemberList\"; //회원관리 목록\nimport MemberView from \"./comp/sub/admin/MemberView\"; //회원관리 수정\nimport MemberNew from \"./comp/sub/admin/MemberNew\"; //회원관리 신규\nimport BannerMgr from \"./comp/sub/admin/BannerMgr\"; //배너관리\nimport Login from \"./comp/sub/member/Login\"; //로그인\nimport FindAccount from \"./comp/sub/member/FindAccount\"; //아이디/비밀번호 찾기\nimport JoinStep01 from \"./comp/sub/member/JoinStep01\"; //회원가입 Step01\nimport JoinStep02 from \"./comp/sub/member/JoinStep02\"; //회원가입 Step02\nimport JoinStep03 from \"./comp/sub/member/JoinStep03\"; //회원가입 Step03\nimport MemberInfo from \"./comp/sub/member/MemberInfo\"; //내정보수정\nimport Greetings from \"./comp/sub/intro/Greetings\"; //인사말\nimport History from \"./comp/sub/intro/History\"; //연혁 및 설립목적\nimport Articles from \"./comp/sub/intro/Articles\"; //조합정관 및 사업자윤리강령\nimport Directions from \"./comp/sub/intro/Directions\"; //찾아오시는 길\nimport UnionMem from \"./comp/sub/unionMem/UnionMem\"; //조합원사 현황\nimport ABoard from \"./comp/sub/board/AdminBoardList\"; //관리자 작성 가능 게시판 (목록)\nimport ABoardNew from \"./comp/sub/board/AdminBoardNew\"; //관리자 작성 가능 게시판 (신규)\nimport ABoardView from \"./comp/sub/board/AdminBoardView\"; //관리자 작성 가능 게시판 (내용)\nimport ABoardEdit from \"./comp/sub/board/AdminBoardEdit\"; //관리자 작성 가능 게시판 (수정)\n\nfunction App(props) {\n const store = useSelector((state) => state);\n\n return (\n
    \n \n\n
    \n\n \n \n {/**************************/}\n {/* 메인화면 component 시작 */}\n\n \n\n {/* 메인화면 component 끝 */}\n {/**************************/}\n\n {/**************************/}\n {/* 관리자 메뉴 component 시작 */}\n\n {/* 회원관리 페이지 */}\n \n \n \n\n {/* 배너관리 페이지 */}\n \n\n {/* 관리자 메뉴 component 끝 */}\n {/**************************/}\n\n {/**************************/}\n {/* 회원관련 component 시작 */}\n\n {/* 로그인페이지 */}\n \n\n {/* 아이디/비밀번호 찾기 */}\n \n\n {/* 회원가입 Step01 */}\n \n\n {/* 회원가입 Step02 */}\n \n\n {/* 회원가입 Step03 */}\n \n\n {/* 내정보 수정 */}\n \n\n {/* 회원관련 component 끝 */}\n {/**************************/}\n\n {/**************************/}\n {/* 조합소개 component 시작 */}\n\n {/* 인사말 */}\n \n\n {/* 연혁 및 설립목적 */}\n \n\n {/* 조합정관 및 사업자윤리강령 */}\n \n\n {/* 찾아오시는 길 */}\n \n\n {/* 조합소개 component 끝 */}\n {/**************************/}\n\n {/**************************/}\n {/* 조합원사 component 시작 */}\n\n {/* 정비업체현황 현황 */}\n \n\n {/* 정비업체현황 component 끝 */}\n {/**************************/}\n\n {/**************************/}\n {/* 문서함 component 시작 */}\n\n {/* 공지사항, 문서수신, 자료실, 보도자료 */}\n \n \n \n \n\n {/* 정관·규약 */}\n \n\n {/* 문서함 component 끝 */}\n {/**************************/}\n\n \n \n \n\n
    \n
    \n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import { combineReducers, createStore } from \"redux\";\r\n\r\n// 로딩Bar 상태 StateReducer 시작\r\nconst initLoading = true;\r\n\r\nconst rdcLoading = (state = initLoading, action) => {\r\n switch (action.type) {\r\n case \"loadingChange\":\r\n state = action.payload;\r\n return state;\r\n default:\r\n return state;\r\n }\r\n};\r\n// 로딩Bar 상태 StateReducer 끝\r\n\r\n// 유저정보 상태 StateReducer 시작\r\nconst initUserinfo = {\r\n comcode: null,\r\n comname: null,\r\n id: null,\r\n userid: null,\r\n username: null,\r\n usertype: null,\r\n userToken: null,\r\n};\r\n\r\nconst reducerAuth = (state = initUserinfo, action) => {\r\n switch (action.type) {\r\n case \"authUpdate\":\r\n state = action.payload;\r\n return state;\r\n default:\r\n return state;\r\n }\r\n};\r\n// 유저정보 상태 StateReducer 끝\r\n\r\n// 현재페이지정보 상태 StateReducer 시작\r\nconst initPage = \"index\";\r\n\r\nconst reducerPage = (state = initPage, action) => {\r\n switch (action.type) {\r\n case \"pageChange\":\r\n return { ...state, ...action.payload };\r\n default:\r\n return state;\r\n }\r\n};\r\n// 현재페이지정보 상태 StateReducer 끝\r\n\r\n//reducer 여러개 사용시 combineReducers로 합쳐서 obj형태로 저장함\r\nlet store = createStore(\r\n combineReducers({ rdcLoading, reducerAuth, reducerPage })\r\n);\r\n\r\nexport { store };\r\n","//ie11 사용을 위한 설정 시작\nimport 'core-js/stable';\nimport 'regenerator-runtime/runtime';\nimport 'react-app-polyfill/ie9';\nimport 'react-app-polyfill/stable';\n//ie11 사용을 위한 설정 끝\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport { BrowserRouter } from 'react-router-dom';\n\n//Redux 사용 설정 시작\nimport { Provider } from 'react-redux'\nimport { store } from './reducer'\n//Redux 사용 설정 끝\n\nReactDOM.render(\n \n \n \n \n ,\n \n document.getElementById('root')\n);\n\nreportWebVitals();\n"],"sourceRoot":""}