import React, { useEffect, useState } from 'react' import '../App.css' import { Form, Button, Row, Col, Card } from 'react-bootstrap'; import axios from 'axios'; import Swal from 'sweetalert2' import { callUserInfo } from '../utils/CheckDB'; function LocCodeChange() { const cardstyled = { margin: 'auto', padding: '1em', display: 'flex', justifyContent: 'center', width: '100%', borderWidth: '3px', borderRadius: '20px', borderColor: 'rgb(110, 189, 142)', color: '#04AB70' } const inboxstyled = { display: 'flex', flexDirection: 'column', maxWidth: '90%', justifyContent: 'center', margin: 'auto', padding: '0.5em', color: 'black' } const btnstyled2 = { background: 'white', width: '50%', borderWidth: '2px', color: 'rgb(110, 189, 142)', borderColor: 'rgba(195, 195, 195, 0.753)', } const [does, setDoes] = useState([]) // DOE const [sggs, setSggs] = useState([]) // SGG const [emds, setEmds] = useState([]) // EMD const [sggsArray, setSggsArray] = useState([]) // DOE 와 SGG 내의 code_doe 같을 때 => sgg 값 const [emdsArray, setEmdsArray] = useState([]) // SGG 과 EMD 내의 code_sgg && DOE 와 EMD 내의 code_doe => emd 값 const doeSelect = document.getElementById('select-doe') const sggSelect = document.getElementById('select-sgg') const emdSelect = document.getElementById('select-emd') // Local code 받아오기 useEffect(() => { async function getLocCode() { const res = await axios.get("/api/data/loccode") const local_codes = res.data.contents.loc_code setDoes(local_codes.DOE) setSggs(local_codes.SGG) setEmds(local_codes.EMD) } getLocCode() }, []) function selectLocal() { sggs.map(function (sggvalue) { if (Number(doeSelect.value) === sggvalue['code_doe']) { setSggsArray(sggvalue['sgg']) } }) emds.map(function (emdvalue) { if ((Number(sggSelect.value) === emdvalue['code_sgg']) && (Number(doeSelect.value) === emdvalue['code_doe'])) { setEmdsArray(emdvalue['emd']) } }) } async function handleSubmit(event) { event.preventDefault() if (doeSelect.options[doeSelect.selectedIndex].text !== '도' && sggSelect.options[sggSelect.selectedIndex].text !== '시군구' && emdSelect.options[emdSelect.selectedIndex].text !== '읍면동') { const saveCodeEmd = emdSelect.value console.log(saveCodeEmd) await axios.post('/api/edit-profile', { loc_code: saveCodeEmd }) // loccal code 수정 callUserInfo().then((res) => { console.log('loc_code', res[0].loc_code) if (res[0].loc_code) { Swal.fire({ title: '변경되었습니다.', text: '축하드립니다!👏', icon: 'success', customClass: 'swal-wide', confirmButtonText: '확인', }).then((res) => { if (res.isConfirmed) { window.location.reload() } else { window.location.reload() } }) } }) } else { Swal.fire({ title: '실패', text: '전부 선택해주세요', icon: 'error', customClass: 'swal-wide', confirmButtonText: '확인' }) } } return ( 지역 코드 본인의 지역을 선택해주세요
{ does.map((doevalue) => ( )) } { sggsArray.map((sggvalue) => ( )) } { emdsArray.map((emdvalue) => ( )) }
) } export default LocCodeChange;