import React, { Suspense, useMemo, useState } from 'react' import { useForm } from 'react-hook-form' import { Alert, AlertDescription, AlertIcon, AlertTitle, Checkbox, useDisclosure } from '@chakra-ui/react' import AppContainer from '../../../appContainer' import { MDBBtn, MDBCard, MDBCardBody, MDBCardImage, MDBCardTitle, MDBContainer, MDBSpinner } from 'mdb-react-ui-kit' import { Box, Divider, ListItem, Progress, SimpleGrid, SlideFade, Text, UnorderedList, Button, Modal, ModalOverlay, ModalContent, ModalHeader, ModalCloseButton, ModalBody, ModalFooter } from '@chakra-ui/react' import { FiUser, FiCheck } from 'react-icons/fi' import { FcApproval } from 'react-icons/fc' import Employer from '../../../../public/resource/icons/portfolio-outline.png' import axios from 'axios' import { HandleFormReq } from '../../../../lib/HandleFormReq' import PersonData from './PersonData' import EducationalData from './EducationalData' import CoursesData from './CoursesData' import JobData from './JobData' import ScientificData from './ScientificData' import PcSkill from './PcSkill' import Furtherinformation from './Furtherinformation' import log from 'tailwindcss/lib/util/log' import { AppProduction } from '../../../../lib/api' const requestForm = SelectedJob => { console.log('sdsds', SelectedJob.SelectedJob.data) const { isOpen, onOpen, onClose } = useDisclosure() const [loading, setLoading] = useState(false) const [ShowSuccess, seShowSuccess] = useState(false) const [CheckCode, setCheckCode] = useState() const [page, setPage] = useState(1) const [personData, setpersondata] = useState({ Insurance: '', address: '', birthday: '', childIndex: '', degree: '', healthreason: '', health: '1', dependants: '', fatherName: '', firstname: '', gender: '2', lastname: '', marital: '', mobile_number: '', national_code: '', phone: '', placenational: '', wifeJob: '' }) const [educationalData, setEducationalData] = useState([ { university: '', field: '', trend: '', score: '', dateField: '' } ]) const [coursesData, setCoursesData] = useState([ { courseName: '', courseEdu: '', courseLocal: '', courseTime: '' } ]) const [langStatus, setLangStatus] = useState({ status: 0 }) const [jobData, setJob] = useState([ { companyName: '', position: '', workTime: '', exitReason: '', lastIncome: '' } ]) const [scientificData, setScientificData] = useState({ text: '' }) const [pcSkillData, setPcSkillData] = useState({ text: '', icdlLevel: 2 }) const [furtherinformation, setFurtherinformation] = useState({ criminal: '1', salary: '', Introduced: '' }) const [isSubmitPersonData, setIsSubmitPersonData] = useState(false) const [iAgree, setAgree] = useState(true) const value = useMemo( () => ({ page, setPage, personData, setpersondata, educationalData, setEducationalData, coursesData, setCoursesData, langStatus, setLangStatus, jobData, setJob, scientificData, setScientificData, pcSkillData, setPcSkillData, furtherinformation, setFurtherinformation }), [ page, personData, educationalData, coursesData, langStatus, jobData, scientificData, pcSkillData, furtherinformation ] ) console.log('SelectedJob', SelectedJob) const handleLastSubmit = () => { setLoading(true) axios .post(`${AppProduction}public/jobrequest`, { job_id: SelectedJob.SelectedJob.data.id, OccupationalJob_id: SelectedJob.SelectedJob.OccupationalJob.id, lastData: JSON.stringify({ personData: personData, educationalData: educationalData, coursesData: { ...coursesData, langStatus }, jobData: jobData, scientificData: scientificData, pcSkillData: pcSkillData, furtherinformation: furtherinformation }) }) .then(res => { setLoading(false) seShowSuccess(true) setCheckCode(res.data.code) }) .catch(err => { console.log('err', err) }) } return (
{' '} درخواست شغلی برای {SelectedJob.SelectedJob.data.title} - {SelectedJob.SelectedJob.OccupationalJob.title}
توضیحات موقعیت شغلی
{SelectedJob.SelectedJob.data.details.map((items, index) => { return [items].map((item, index) => {item}) })}
نیازمندی های موقعیت شغلی
{SelectedJob.SelectedJob.data.requirement.map((items, index) => { return [items].map((item, index) => {item}) })}

{(() => { switch (page) { case 1: return (

اطلاعات فردی

) case 2: return (

اطلاعات تحصیلی

) case 3: return (

سوابق آموزشی

) case 4: return (

سوابق شغلی

) case 5: return (

سوابق علمی

) case 6: return (

مهارت کار با کامپیوتر

) case 7: return (

اطلاعات تکمیلی

) } })()}
{(() => { switch (page) { case 1: return ( ) case 2: return ( ) case 3: return ( ) case 4: return ( ) case 5: return ( ) case 6: return ( ) case 7: return ( {ShowSuccess === false ? (
setAgree(!iAgree)}> اینجانب مسئولیت صحت کلیه اطلاعات ارائه شده در این فرم را پذیرفته و در صورت اثبات عدم صحت موارد فوق الذکر شرکت مجاز به اتخاذ هر گونه تصمیم و برخورد قانونی می باشد .
) : ( درخواست شما ثبت شد کد درخواست شما جهت پیگیری : {CheckCode} )}
) } })()}
{page > 1 && ShowSuccess === false ? ( setPage(page - 1)}> مرحله قبل ) : ( '' )} {/*{page === 1 && page !== 5 ? (*/} {/* (*/} {/* setPage(page + 1)} >مرحله بعد*/} {/* )*/} {/*): ''}*/}
{page === 7 ? (
{ShowSuccess === false && ( {loading === false ? ( ' ثبت در خواست استخدام' ) : (
در حال ثبت درخواست Loading...
)}
)}
) : ( '' )}
) } export async function getServerSideProps(ctx) { // Fetch data from external API const { query } = ctx const res = await axios .get(`${AppProduction}public/selectJob/${query.pos_id}`) .then(res => { return res.data }) .catch(err => { console.log(err) }) const SelectedJob = await res // Pass data to the page via props return { props: { SelectedJob } } } export default requestForm