PageSourceSearch

https://sfc-capply.vercel.app/_next/static/chunks/618-fdd7696ac10b1fda.js

js sfc-capply.vercel.app collected 2026-10-03 07:41:24 UTC 34,396 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[618],{6618:function(e,t,n){n.d(t,{default:function(){return _}});var a=n(7437),r=n(2265),i=n(7648),l=n(3303),s=n(3985),c=n(6039);function o(e){return/^0\d{1,2}-?\d{3,4}-?\d{4}$/.test(e.trim())}function m(e){return/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(e.trim())}let d=["application/pdf","image/jpeg","image/png"],u=["신청서 작성","첨부 및 제출"],p={sme_cert:"sminfo.smba.go.kr에서 발급"};function _(e){var t;let{formType:n,edit:_}=e,f=!!_,[j,y]=(0,r.useState)(null!==(t=null==_?void 0:_.form)&&void 0!==t?t:s.Y9),[v,N]=(0,r.useState)({}),[k,w]=(0,r.useState)({}),[z,C]=(0,r.useState)(0),[S,F]=(0,r.useState)(!1),[I,q]=(0,r.useState)(""),[M,E]=(0,r.useState)(null),[O,D]=(0,r.useState)(!1),T="hyupsung"===n,Y=(0,s.ol)(j.participation_type),B=(0,s.YF)(j.participation_type),G=(0,r.useMemo)(()=>(0,s.$b)(j.company_size),[j.company_size]),J=(0,r.useMemo)(()=>{var e;let t={};for(let n of null!==(e=null==_?void 0:_.existingFiles)&&void 0!==e?e:[])t[n.file_kind]=n;return t},[null==_?void 0:_.existingFiles]),A=T&&!f&&"비회원사"===j.hyupsung_member;function P(e,t){y(n=>({...n,[e]:t})),w(t=>{if(!t[e])return t;let n={...t};return delete n[e],n})}function X(e,t,n){y(a=>{let r=a.workers.map((a,r)=>r===e?{...a,[t]:n}:a);return{...a,workers:r}}),w(n=>{let a="worker_".concat(e,"_").concat(t);if(!n[a])return n;let r={...n};return delete r[a],r})}function Q(e){let t={},n=(e,n)=>{let a=j[e];"string"!=typeof a||a.trim()||(t[e]="".concat(n,"을(를) 입력해 주세요."))};if(0===e){j.participation_type||(t.participation_type="참여 유형을 선택해 주세요."),!T||f||(j.hyupsung_member||(t.hyupsung_member="협성회 회원사 여부를 선택해 주세요."),"회원사"!==j.hyupsung_member||j.hyupsung_member_no.trim()||(t.hyupsung_member_no="협성회 회원번호(또는 가입연도)를 입력해 주세요.")),n("company_name","기업명"),n("ceo_name","대표자명"),j.biz_reg_no.trim()?!function(e){let t=e.replace(/\D/g,"");if(10!==t.length)return!1;let n=[1,3,7,1,3,7,1,3,5],a=t.split("").map(Number),r=0;for(let e=0;e<9;e++)r+=a[e]*n[e];return(10-(r+=Math.floor(5*a[8]/10))%10)%10===a[9]}(j.biz_reg_no)&&(t.biz_reg_no="유효하지 않은 사업자등록번호입니다. (10자리 검증 실패)"):t.biz_reg_no="사업자등록번호를 입력해 주세요.",j.company_size||(t.company_size="기업규모를 선택해 주세요."),"기타"!==j.company_size||j.company_size_etc.trim()||(t.company_size_etc="기업규모(기타)를 직접 입력해 주세요."),n("address","소재지"),n("main_products","주요생산품"),n("industry_class","표준산업분류"),j.capital_mil.trim()||(t.capital_mil="자본금을 입력해 주세요."),j.revenue_mil.trim()||(t.revenue_mil="매출액을 입력해 주세요."),j.insurance_enrolled||(t.insurance_enrolled="4대보험 가입여부를 선택해 주세요."),j.employee_count.trim()||(t.employee_count="상시 근로자수를 입력해 주세요.");{let e=Number(j.tuition_support_rate);j.tuition_support_rate.trim()?(!Number.isFinite(e)||e<50||e>100)&&(t.tuition_support_rate="계약학과 규정상 기업이 등록금의 50% 이상(최대 100%)을 부담해야 합니다."):t.tuition_support_rate="등록금 지원 비율을 입력해 주세요."}if(n("contact_dept","부서명"),n("contact_name","성명"),j.contact_phone.trim()?o(j.contact_phone)||(t.contact_phone="연락처 형식이 올바르지 않습니다. 예) 010-1234-5678"):t.contact_phone="연락처를 입력해 주세요.",j.contact_email.trim()?m(j.contact_email)||(t.contact_email="이메일 형식이 올바르지 않습니다."):t.contact_email="이메일을 입력해 주세요.",Y&&j.workers.forEach((e,n)=>{e.name.trim()||(t["worker_".concat(n,"_name")]="이름을 입력해 주세요."),e.degree_course||(t["worker_".concat(n,"_degree_course")]="학위과정을 선택해 주세요."),e.dept.trim()||(t["worker_".concat(n,"_dept")]="부서명을 입력해 주세요."),e.email.trim()&&!m(e.email)&&(t["worker_".concat(n,"_email")]="이메일 형식이 올바르지 않습니다."),e.phone.trim()&&!o(e.phone)&&(t["worker_".concat(n,"_phone")]="휴대폰 형식이 올바르지 않습니다. 예) 010-1234-5678")}),B){let e=Number(j.hire_commit_count);j.hire_commit_count.trim()&&Number.isInteger(e)&&!(e<1)||(t.hire_commit_count="채용희망 약정인원(1명 이상)을 입력해 주세요.")}}
1return 1!==e||(G.forEach(e=>{v[e]||J[e]||(t["file_".concat(e)]="".concat(s.E5[e]," 파일을 첨부해 주세요."))}),j.privacy_agreed||(t.privacy_agreed="개인정보 수집\xb7이용에 동의해야 제출할 수 있습니다.")),t}async function U(){let e=Q(1);if(Object.keys(e).length){w(e);return}F(!0),q("");try{var t;let e=[];for(let t of G){let n=v[t];if(n){let a=n.name.includes(".")?n.name.slice(n.name.lastIndexOf(".")):"",r="".concat(crypto.randomUUID(),"/").concat(t).concat(a),{error:i}=await l.OQ.storage.from(l.XS).upload(r,n,{contentType:n.type});if(i)throw Error("파일 업로드 실패(".concat(s.E5[t],"): ").concat(i.message));e.push({file_kind:t,storage_path:r,original_name:n.name})}else J[t]&&e.push(J[t])}let a={form_type:n,participation_type:j.participation_type,company_name:j.company_name.trim(),ceo_name:j.ceo_name.trim(),biz_reg_no:j.biz_reg_no.trim(),company_size:j.company_size,company_size_etc:"기타"===j.company_size?j.company_size_etc.trim():null,address:j.address.trim(),homepage:(()=>{let e=j.homepage.trim();return e?/^https?:\/\//i.test(e)?e:"https://".concat(e):null})(),main_products:j.main_products.trim(),industry_class:j.industry_class.trim(),capital_mil:(0,c.Yg)(j.capital_mil),revenue_mil:(0,c.Yg)(j.revenue_mil),insurance_enrolled:"가입"===j.insurance_enrolled,employee_count:Number(j.employee_count),tuition_support_rate:Number(j.tuition_support_rate),contact_dept:j.contact_dept.trim(),contact_name:j.contact_name.trim(),contact_phone:j.contact_phone.trim(),contact_email:j.contact_email.trim(),contact_fax:j.contact_fax.trim()||null,hire_commit_count:B?Number(j.hire_commit_count):null,hyupsung_member:T?"비회원사"!==j.hyupsung_member:null,hyupsung_member_no:T?j.hyupsung_member_no.trim():null,privacy_agreed:j.privacy_agreed},r=Y?j.workers.map(e=>({name:e.name.trim(),degree_course:e.degree_course,dept:e.dept.trim(),email:e.email.trim()||null,phone:e.phone.trim()||null,note:e.note.trim()||null})):[],i=await fetch("/api/applications",{method:f?"PUT":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({...f?{application_no:_.applicationNo,edit_code:_.editCode}:{},form:a,workers:r,files:e})}),o=await i.json();if(!i.ok)throw Error(null!==(t=o.error)&&void 0!==t?t:"제출에 실패했습니다.");E({applicationNo:o.application_no,editCode:f?_.editCode:o.edit_code,isUpdate:f}),window.scrollTo({top:0})}catch(e){q(e instanceof Error?e.message:"제출 중 오류가 발생했습니다. 잠시 후 다시 시도해 주세요.")}finally{F(!1)}}async function Z(){if(M)try{await navigator.clipboard.writeText("접수번호: ".concat(M.applicationNo," / 수정 코드: ").concat(M.editCode)),D(!0),setTimeout(()=>D(!1),2e3)}catch(e){}}return M?(0,a.jsxs)("div",{className:"card mx-auto max-w-xl text-center",children:[(0,a.jsx)("div",{className:"mx-auto flex h-14 w-14 items-center justify-center rounded-full bg-primary-faint text-2xl",children:"✅"}),(0,a.jsx)("h2",{className:"mt-4 text-xl font-bold text-ink",children:M.isUpdate?"신청서 수정이 완료되었습니다":"신청서가 접수되었습니다"}),(0,a.jsx)("p",{className:"mt-5 text-sm text-ink-faded",children:"접수번호"}),(0,a.jsx)("p",{className:"mt-1 text-3xl font-black tracking-wide text-primary-deep",children:M.applicationNo}),(0,a.jsxs)("div",{className:"mt-6 rounded-xl border-2 border-primary bg-cream p-5",children:[(0,a.jsx)("p",{className:"text-sm font-bold text-ink",children:"신청서 수정 코드"}),(0,a.jsx)("p",{className:"mt-2 font-mono text-3xl font-bold tracking-[0.2em] text-primary-deep",children:M.editCode}),(0,a.jsx)("p",{className:"mt-3 text-xs leading-relaxed text-primary-deep",children:"⚠️ 제출한 내용을 나중에 수정하려면 접수번호와 이 코드가 필요합니다. 반드시 보관해 주세요."}),(0,a.jsx)("button",{onClick:Z,className:"btn-secondary mt-3 text-xs",children:O?"✓ 복사되었습니다":"접수번호\xb7수정 코드 복사"})]}),(0,a.jsxs)("p",{className:"mt-6 text-sm leading-relaxed text-ink-soft",children:["입력하신 담당자 이메일(",(0,a.jsx)("b",{children:j.contact_email}),")로 접수번호와 수정 코드가 발송됩니다. 내용 수정은 메인 화면의"," ",(0,a.jsx)(i.default,{href:"/edit",className:"font-semibold text-primary-deep underline",children:"신청 내용 수정"}),"에서 할 수 있습니다."]}),(0,a.jsx)(i.default,{href:"/",className:"btn-primary mt-8",children:"메인으로 돌아가기"})]}):(0,a.jsxs)("div",{className:"mx-auto max-w-3xl",children:[f&&(0,a.jsxs)("div",{className:"mb-4 flex items-center gap-2 rounded-xl border border-primary/40 bg-primary-faint px-4 py-3 text-sm font-semibold text-primary-deep",children:["✏️ 접수번호 ",(0,a.jsx)("span",{className:"font-mono",children:_.applicationNo}
1)," ","신청서를 수정하고 있습니다."]}),(0,a.jsx)("h1",{className:"text-lg font-bold text-ink sm:text-xl",children:T?"「삼성전자 협성회 회원사」 스마트팩토리융합학과 참여기업 신청":"「스마트팩토리융합학과」 참여기업 신청"}),(0,a.jsxs)("p",{className:"mt-2 text-sm text-ink-faded",children:[(0,a.jsx)("span",{className:"text-primary",children:"*"})," 표시는 필수 입력 항목입니다."]}),(0,a.jsx)("ol",{className:"mt-3 flex items-center gap-2",children:u.map((e,t)=>(0,a.jsxs)("li",{className:"flex flex-1 items-center gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-full px-3.5 py-1.5 text-xs font-bold sm:text-sm ".concat(t===z?"bg-primary text-white":t<z?"bg-primary-faint text-primary-deep":"bg-ivory text-ink-faded"),children:[(0,a.jsx)("span",{children:t+1}),(0,a.jsx)("span",{children:e})]}),t<u.length-1&&(0,a.jsx)("div",{className:"h-px flex-1 ".concat(t<z?"bg-primary":"bg-sand")})]},e))}),(0,a.jsxs)("div",{className:"mt-4 space-y-3",children:[0===z&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("section",{className:"card",children:[(0,a.jsx)("h2",{className:"section-title",children:"A. 신청 유형"}),(0,a.jsx)(g,{name:"participation_type",options:["재교육형+채용조건형","재교육형"],value:"둘다"===j.participation_type?"재교육형+채용조건형":j.participation_type,onCh
1ange:e=>{let t="재교육형+채용조건형"===e?"둘다":e;y(e=>({...e,participation_type:t,hire_commit_count:(0,s.YF)(t)?e.hire_commit_count:""})),w(e=>{let n={...e};if(delete n.participation_type,(0,s.YF)(t)||delete n.hire_commit_count,!(0,s.ol)(t))for(let e of Object.keys(n))e.startsWith("worker_")&&delete n[e];return n})},error:k.participation_type}),(0,a.jsx)("p",{className:"mt-2 text-xs text-ink-faded",children:"선택한 유형에 따라 아래 입력 항목(재직 근로자 명단 / 채용희망 약정인원)이 자동으로 표시되거나 사라집니다."})]}),T&&!f&&(0,a.jsxs)("section",{className:"card border-primary/30",children:[(0,a.jsx)("h2",{className:"section-title",children:"B-0. 협성회 회원 확인"}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("label",{className:"field-label",children:["삼성전자 협성회 회원사 여부 ",(0,a.jsx)(h,{})]}),(0,a.jsx)(g,{name:"hyupsung_member",options:["회원사","비회원사"],value:j.hyupsung_member,onChange:e=>P("hyupsung_member",e),error:k.hyupsung_member})]}),A?(0,a.jsxs)("div",{className:"rounded-lg border border-amber-300 bg-amber-50 p-4 text-sm text-amber-800",children:[(0,a.jsx)("p",{className:"font-semibold",children:"본 신청은 협성회 회원사 대상입니다. 일반 참여기업 신청 페이지를 이용해 주세요."}),(0,a.jsx)(i.default,{href:"/apply/general",className:"btn-primary mt-3",children:"일반 참여기업 신청 페이지로 이동"})]}):(0,a.jsx)(x,{label:"협성회 회원번호(또는 가입연도)",required:!0,error:k.hyupsung_member_no,children:(0,a.jsx)("input",{className:"field-input",value:j.hyupsung_member_no,onChange:e=>P("hyupsung_member_no",e.target.value),placeholder:"예) HS-1234 또는 2018년 가입"})})]})]}),T&&f&&(0,a.jsxs)("section",{className:"card",children:[(0,a.jsx)("h2",{className:"section-title",children:"B-0. 협성회 회원 확인"}),(0,a.jsx)(x,{label:"협성회 회원번호(또는 가입연도)",error:k.hyupsung_member_no,children:(0,a.jsx)("input",{className:"field-input",value:j.hyupsung_member_no,onChange:e=>P("hyupsung_member_no",e.target.value),placeholder:"예) HS-1234 또는 2018년 가입"})})]}),!A&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("section",{className:"card",children:[(0,a.jsx)("h2",{className:"section-title",children:"B. 기업 정보"}),(0,a.jsxs)("div",{className:"grid gap-2.5 sm:grid-cols-2",children:[(0,a.jsx)(x,{label:"기업명",required:!0,error:k.company_name,children:(0,a.jsx)("input",{className:"field-input",value:j.company_name,onChange:e=>P("company_name",e.target.value)})}),(0,a.jsx)(x,{label:"대표자명",required:!0,error:k.ceo_name,children:(0,a.jsx)("input",{className:"field-input",value:j.ceo_name,onChange:e=>P("ceo_name",e.target.value)})}),(0,a.jsx)(x,{label:"사업자등록번호",required:!0,error:k.biz_reg_no,children:(0,a.jsx)("input",{className:"field-input",inputMode:"numeric",value:j.biz_reg_no,onChange:e=>P("biz_reg_no",(0,c.rx)(e.target.value)),placeholder:"000-00-00000"})}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("label",{className:"field-label",children:["기업규모 ",(0,a.jsx)(h,{})]}
1),(0,a.jsx)(g,{name:"company_size",options:["중소기업","중견기업","대기업","기타"],value:j.company_size,onChange:e=>P("company_size",e),error:k.company_size,small:!0}),"기타"===j.company_size&&(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsx)("input",{className:"field-input",value:j.company_size_etc,onChange:e=>P("company_size_etc",e.target.value),placeholder:"기업규모 직접 입력"}),k.company_size_etc&&(0,a.jsx)("p",{className:"field-error",children:k.company_size_etc})]})]}),(0,a.jsx)(x,{label:"소재지",required:!0,error:k.address,full:!0,children:(0,a.jsx)("input",{className:"field-input",value:j.address,onChange:e=>P("address",e.target.value),placeholder:"본사 주소"})}),(0,a.jsx)(x,{label:"홈페이지 (선택)",error:k.homepage,full:!0,children:(0,a.jsx)("input",{className:"field-input",type:"url",value:j.homepage,onChange:e=>P("homepage",e.target.value),placeholder:"예) https://www.company.co.kr"})}),(0,a.jsx)(x,{label:"주요생산품",required:!0,error:k.main_products,children:(0,a.jsx)("input",{className:"field-input",value:j.main_products,onChange:e=>P("main_products",e.target.value)})}),(0,a.jsx)(x,{label:"표준산업분류",required:!0,error:k.industry_class,children:(0,a.jsx)("input",{className:"field-input",value:j.industry_class,onChange:e=>P("industry_class",e.target.value),placeholder:"예) 금속열처리업, 철강선제조업 등 상세 분류 작성"})}),(0,a.jsx)(x,{label:"자본금 (백만원)",required:!0,error:k.capital_mil,children:(0,a.jsx)("input",{className:"field-input",inputMode:"numeric",value:j.capital_mil,onChange:e=>P("capital_mil",(0,c.cO)(e.target.value)),placeholder:"예) 1,000"})}),(0,a.jsx)(x,{label:"매출액 (백만원)",required:!0,error:k.revenue_mil,children:(0,a.jsx)("input",{className:"field-input",inputMode:"numeric",value:j.revenue_mil,onChange:e=>P("revenue_mil",(0,c.cO)(e.target.value)),placeholder:"예) 25,000"})}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("label",{className:"field-label",children:["4대보험 가입여부 ",(0,a.jsx)(h,{})]}),(0,a.jsx)(g,{name:"insurance_enrolled",options:["가입","미가입"],value:j.insurance_enrolled,onChange:e=>P("insurance_enrolled",e),error:k.insurance_enrolled,small:!0})]}),(0,a.jsx)(x,{label:"상시 근로자수 (명)",required:!0,error:k.employee_count,children:(0,a.jsx)("input",{className:"field-input",type:"number",min:0,value:j.employee_count,onChange:e=>P("employee_count",e.target.value)})}),(0,a.jsxs)("div",{className:"sm:col-span-2",children:[(0,a.jsxs)("label",{className:"field-label",children:["등록금 지원 비율 (%) ",(0,a.jsx)(h,{})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[["50","100"].map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>P("tuition_support_rate",e),className:"radio-chip px-4 py-2 text-sm ".concat(j.tuition_support_rate===e?"radio-chip-active":"hover:border-ink-faded"),children:[e,"%"]},e)),(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("input",{className:"field-input w-28",type:"number",min:50,max:100,value:j.tuition_support_rate,onChange:e=>P("tuition_support_rate",e.target.value),placeholder:"직접 입력"}),(0,a.jsx)("span",{className:"text-sm text-ink-soft",children:"%"})]})]}),(0,a.jsxs)("p",{className:"mt-1.5 text-xs text-ink-faded",children:["계약학과 규정상 참여 근로자의 등록금은 기업이"," ",(0,a.jsx)("b",{className:"text-primary-deep",children:"50% 이상"})," 부담해야 합니다. (전액(100%) 부담 기업도 다수)"]}),k.tuition_support_rate&&(0,a.jsx)("p",{className:"field-error",children:k.tuition_support_rate})]})]})]}),(0,a.jsxs)("section",{className:"card",children:[(0,a.jsx)("h2",{className:"section-title",children:"C. 업무담당자"}),(0,a.jsxs)("div",{className:"grid gap-2.5 sm:grid-cols-2",children:[(0,a.jsx)(x,{label:"부서명",required:!0,error:k.contact_dept,children:(0,a.jsx)("input",{className:"field-input",value:j.contact_dept,onChange:e=>P("contact_dept",e.target.value)})}),(0,a.jsx)(x,{label:"성명",required:!0,error:k.contact_name,children:(0,a.jsx)("input",{className:"field-input",value:j.contact_name,onChange:e=>P("contact_name",e.target.value)})}),(0,a.jsx)(x,{label:"연락처",required:!0,error:k.contact_phone,children:(0,a.jsx)("input",{className:"field-input",inputMode:"tel",value:j.contact_phone,onChange:e=>P("contact_phone",(0,c.o)(e.target.value)),placeholder:"010-1234-5678"})}),(0,a.jsx)(x,{label:"이메일 (접수 확인\xb7수정 코드 수신용)",required:!0,error:k.contact_email,children:(0,a.jsx)("input",{className:"field-input",type:"email",value:j.contact_email,onChange:e=>P("contact_email",e.target.value),placeholder:"[email protected]"})}),(0,a.jsx)(x,{label:"FAX (선택)",error:k.contact_fax,children:(0,a.jsx)("input",{className:"field-input",value:j.contact_fax,onChange:e=>P("contact_fax",(0,c.o)(e.target.value)),placeholder:"031-000-0000"})})]})]}),Y&&(0,a.jsxs)("section",{className:"card",children:[(0,a.jsx)("h2",{className:"section-title",children:"D. [재교육형] 참여희망 재직 근로자"}),(0,a.jsx)("p",{className:"mb-4 text-sm text-ink-faded",children:"참여를 희망하는 재직 근로자를 입력해 주세요. (최소 1명, 최대 20명) 이메일\xb7휴대폰은 선택 항목이며, 입학 안내 등 학과에서 해당 근로자에게 연락드릴 때 사용됩니다."}),(0,a.jsx)("div",{className:"space-y-3",children:j.workers.map((e,t)=>(0,a.jsxs)("div",{className:"rounded-md border border-sand bg-cream p-3",children:[(0,a.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,a.jsxs)("span",{className:"text-sm font-bold text-ink-soft",children:["근로자 ",t+1]}),j.workers.length>1&&(0,a.jsx)("button",{type:"button",onClick:()=>
1{j.workers.length<=1||P("workers",j.workers.filter((e,n)=>n!==t))},className:"text-xs font-semibold text-red-500 hover:underline",children:"삭제"})]}),(0,a.jsxs)("div",{className:"grid gap-2.5 sm:grid-cols-3",children:[(0,a.jsx)(x,{label:"이름",required:!0,error:k["worker_".concat(t,"_name")],children:(0,a.jsx)("input",{className:"field-input bg-white",value:e.name,onChange:e=>X(t,"name",e.target.value)})}),(0,a.jsx)(x,{label:"학위과정",required:!0,error:k["worker_".concat(t,"_degree_course")],children:(0,a.jsxs)("select",{className:"field-input bg-white",value:e.degree_course,onChange:e=>X(t,"degree_course",e.target.value),children:[(0,a.jsx)("option",{value:"",children:"선택"}),(0,a.jsx)("option",{value:"석사과정",children:"석사과정"}),(0,a.jsx)("option",{value:"박사과정",children:"박사과정"})]})}),(0,a.jsx)(x,{label:"부서명",required:!0,error:k["worker_".concat(t,"_dept")],children:(0,a.jsx)("input",{className:"field-input bg-white",value:e.dept,onChange:e=>X(t,"dept",e.target.value)})}),(0,a.jsx)(x,{label:"이메일",error:k["worker_".concat(t,"_email")],children:(0,a.jsx)("input",{type:"email",className:"field-input bg-white",value:e.email,onChange:e=>X(t,"email",e.target.value),placeholder:"예: [email protected]"})}),(0,a.jsx)(x,{label:"휴대폰",error:k["worker_".concat(t,"_phone")],children:(0,a.jsx)("input",{className:"field-input bg-white",value:e.phone,onChange:e=>X(t,"phone",e.target.value),placeholder:"예: 010-1234-5678"})}),(0,a.jsx)(x,{label:"비고",children:(0,a.jsx)("input",{className:"field-input bg-white",value:e.note,onChange:e=>X(t,"note",e.target.value),placeholder:'예) "2027년 3월 진학예정"'})})]})]},t))}),(0,a.jsxs)("button",{type:"button",onClick:function(){j.workers.length>=20||P("workers",[...j.workers,{name:"",degree_course:"",dept:"",email:"",phone:"",note:""}])},disabled:j.workers.length>=20,className:"btn-secondary mt-4",children:["+ 근로자 추가 (",j.workers.length,"/20)"]})]}),B&&(0,a.jsxs)("section",{className:"card",children:[(0,a.jsx)("h2",{className:"section-title",children:"E. [채용조건형] 채용희망 약정인원"}),(0,a.jsx)(x,{label:"채용희망 약정인원 (명)",required:!0,error:k.hire_commit_count,children:(0,a.jsx)("input",{className:"field-input max-w-xs",type:"number",min:1,value:j.hire_commit_count,onChange:e=>P("hire_commit_count",e.target.value)})})]})]})]}),1===z&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("section",{className:"card",children:[(0,a.jsx)("h2",{className:"section-title",children:"F. 첨부파일"}),(0,a.jsxs)("p",{className:"mb-4 text-sm text-ink-faded",children:["PDF, JPG, PNG 형식 \xb7 파일당 최대 10MB",f&&" \xb7 기존 파일을 유지하려면 새 파일을 선택하지 않으면 됩니다."]}),(0,a.jsx)("div",{className:"space-y-3",children:G.map((e,t)=>(0,a.jsxs)("div",{children:[(0,a.jsxs)("label",{className:"field-label",children:[t+1,". ",s.E5[e]," 1부 ",(0,a.jsx)(h,{}),p[e]&&(0,a.jsxs)("span",{className:"ml-2 font-normal text-ink-faded",children:["(",p[e],")"]})]}),J[e]&&!v[e]&&(0,a.jsxs)("p",{className:"mb-1 text-xs text-ink-soft",children:["현재 제출된 파일:"," ",(0,a.jsx)("b",{children:J[e].original_name})," (교체하려면 새 파일 선택)"]}),(0,a.jsx)("input",{type:"file",accept:".pdf,.jpg,.jpeg,.png",onChange:t=>{var n;return function(e,t){if(w(t=>{let n={...t};return delete n["file_".concat(e)],n}),!t){N(t=>{let n={...t};return delete n[e],n});return}let n=d.includes(t.type)?t.size>10485760?{ok:!1,message:"파일 크기는 10MB를 초과할 수 없습니다."}:{ok:!0}:{ok:!1,message:"PDF, JPG, PNG 파일만 업로드할 수 있습니다."};if(!n.ok){w(t=>({...t,["file_".concat(e)]:n.message}));return}N(n=>({...n,[e]:t}))}(e,null===(n=t.target.files)||void 0===n?void 0:n[0])},className:"block w-full text-sm text-ink-soft file:mr-3 file:rounded-lg file:border-0 file:bg-primary-faint file:px-4 file:py-2 file:text-sm file:font-semibold file:text-primary-deep hover:file:bg-primary/20"}),v[e]&&(0,a.jsxs)("p",{className:"mt-1 text-xs text-ink-faded",children:["선택됨: ",v[e].name," 
1(",(v[e].size/1024/1024).toFixed(2),"MB)"]}),k["file_".concat(e)]&&(0,a.jsx)("p",{className:"field-error",children:k["file_".concat(e)]})]},e))}),"중견기업"===j.company_size&&(0,a.jsx)("p",{className:"mt-4 text-xs text-ink-faded",children:"※ 중견기업은 중견기업 확인서와 최근결산년도 재무제표를 각 1부씩 제출해야 합니다."})]}),(0,a.jsxs)("section",{className:"card",children:[(0,a.jsx)("h2",{className:"section-title",children:"입력 내용 확인"}),(0,a.jsx)(b,{form:j,files:v,existingByKind:J,isHyupsung:T,retraining:Y,hiring:B,neededFiles:G})]}),(0,a.jsxs)("section",{className:"card",children:[(0,a.jsx)("h2",{className:"section-title",children:"G. 제출 동의"}),(0,a.jsxs)("div",{className:"rounded-lg bg-cream p-4 text-sm leading-relaxed text-ink-soft",children:["교육부 고시 제2018-160호에 의거 위와 같이 참여기업 신청서를 제출합니다. ",(0,a.jsx)("b",{children:"(제출처: 성균관대학교 총장)"})]}),(0,a.jsxs)("div",{className:"mt-4 rounded-lg border border-sand p-4 text-xs leading-relaxed text-ink-faded",children:[(0,a.jsx)("p",{className:"font-semibold text-ink-soft",children:"개인정보 수집\xb7이용 안내"}),(0,a.jsxs)("ul",{className:"mt-1 list-disc pl-4",children:[(0,a.jsx)("li",{children:"수집 항목: 기업 정보(기업명, 사업자등록번호, 재무정보 등), 업무담당자 정보(성명, 연락처, 이메일), 참여 근로자 정보(이름, 학위과정, 부서명)"}),(0,a.jsx)("li",{children:"이용 목적: 참여기업 선정 및 학과 운영"}),(0,a.jsx)("li",{children:"보유 기간: 참여기업 선정 및 학과 운영 종료 후 3년까지"})]})]}),(0,a.jsxs)("label",{className:"mt-4 flex cursor-pointer items-start gap-2 text-sm",children:[(0,a.jsx)("input",{type:"checkbox",checked:j.privacy_agreed,onChange:e=>P("privacy_agreed",e.target.checked),className:"mt-0.5 h-4 w-4 accent-primary"}),(0,a.jsxs)("span",{children:["개인정보 수집\xb7이용에 동의합니다. ",(0,a.jsx)(h,{})]})]}),k.privacy_agreed&&(0,a.jsx)("p",{className:"field-error",children:k.privacy_agreed}),I&&(0,a.jsx)("div",{className:"mt-4 rounded-lg border border-red-200 bg-red-50 p-3 text-sm text-red-700",children:I})]})]})]}),(0,a.jsxs)("div",{className:"mt-4 flex items-center justify-between",children:[(0,a.jsx)("button",{type:"button",onClick:function(){w({}),C(0),window.scrollTo({top:0,behavior:"smooth"})},disabled:0===z,className:"btn-secondary disabled:invisible",children:"← 이전"}),0===z?(0,a.jsx)("button",{type:"button",onClick:function(){let e=Q(0);if(Object.keys(e).length){w(e),window.scrollTo({top:0,behavior:"smooth"});return}w({}),C(1),window.scrollTo({top:0,behavior:"smooth"})},disabled:A,className:"btn-primary",children:"다음: 첨부 및 제출 →"}):(0,a.jsx)("button",{type:"button",onClick:U,disabled:S||A,className:"btn-primary",children:S?"제출 중...":f?"수정 내용 제출":"신청서 제출"})]})]})}function h(){return(0,a.jsx)("span",{className:"text-primary",children:"*"})}function x(e){let{label:t,required:n,error:r,full:i,children:l}=e;return(0,a.jsxs)("div",{className:i?"sm:col-span-2":void 0,children:[(0,a.jsxs)("label",{className:"field-label",children:[t," ",n&&(0,a.jsx)(h,{})]}),l,r&&(0,a.jsx)("p",{className:"field-error",children:r})]})}function g(e){let{name:t,options:n,value:r,onChange:i,error:l,small:s}=e;return(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"flex flex-wrap gap-2 ".concat(s?"":"sm:gap-3"),children:n.map(e=>(0,a.jsxs)("label",{className:"radio-chip ".concat(r===e?"radio-chip-active":"hover:border-ink-faded"," ").concat(s?"px-3 py-2 text-xs sm:text-sm":""),children:[(0,a.jsx)("input",{type:"radio",name:t,checked:r===e,onChange:()=>i(e),className:"h-3.5 w-3.5 accent-primary"}),e]},e))}),l&&(0,a.jsx)("p",{className:"field-error",children:l})]})}function f(e){let{label:t,value:n}=e;return(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-2 border-b border-ivory py-1.5 text-sm last:border-0",children:[(0,a.jsx)("dt",{className:"font-semibold text-ink-faded",children:t}),(0,a.jsx)("dd",{className:"col-span-2 text-ink",children:n||"-"})]})}function b(e){let{form:t,files:n,existingByKind:r,isHyupsung:i,retraining:l,hiring:c,neededFiles:o}=e;return(0,a.jsxs)("dl",{children:[(0,a.jsx)(f,{label:"참여 유형",value:"둘다"===t.participation_type?"재교육형 + 채용조건형":t.participation_type}),i&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(f,{label:"협성회 회원사",value:t.hyupsung_member||"회원사"}),(0,a.jsx)(f,{label:"회원번호/가입연도",value:t.hyupsung_member_no})]}),(0,a.jsx)(f,{label:"기업명",value:t.company_name}),(0,a.jsx)(f,{label:"대표자명",value:t.ceo_name}),(0,a.jsx)(f,{label:"사업자등록번호",value:t.biz_reg_no}
1),(0,a.jsx)(f,{label:"기업규모",value:"기타"===t.company_size?"기타 (".concat(t.company_size_etc,")"):t.company_size}),(0,a.jsx)(f,{label:"소재지",value:t.address}),(0,a.jsx)(f,{label:"홈페이지",value:t.homepage}),(0,a.jsx)(f,{label:"주요생산품",value:t.main_products}),(0,a.jsx)(f,{label:"표준산업분류",value:t.industry_class}),(0,a.jsx)(f,{label:"자본금",value:t.capital_mil&&"".concat(t.capital_mil," 백만원")}),(0,a.jsx)(f,{label:"매출액",value:t.revenue_mil&&"".concat(t.revenue_mil," 백만원")}),(0,a.jsx)(f,{label:"4대보험 가입여부",value:t.insurance_enrolled}),(0,a.jsx)(f,{label:"상시 근로자수",value:t.employee_count&&"".concat(t.employee_count,"명")}),(0,a.jsx)(f,{label:"등록금 지원 비율",value:t.tuition_support_rate&&"".concat(t.tuition_support_rate,"%")}),(0,a.jsx)(f,{label:"업무담당자",value:"".concat(t.contact_dept," / ").concat(t.contact_name," / ").concat(t.contact_phone," / ").concat(t.contact_email).concat(t.contact_fax?" / FAX ".concat(t.contact_fax):"")}),l&&(0,a.jsx)(f,{label:"참여희망 근로자",value:(0,a.jsx)("ul",{className:"list-disc pl-4",children:t.workers.map((e,t)=>(0,a.jsxs)("li",{children:[e.name," \xb7 ",e.degree_course," \xb7 ",e.dept,e.email&&" \xb7 ".concat(e.email),e.phone&&" \xb7 ".concat(e.phone),e.note&&" \xb7 ".concat(e.note)]},t))})}),c&&(0,a.jsx)(f,{label:"채용희망 약정인원",value:t.hire_commit_count&&"".concat(t.hire_commit_count,"명")}),(0,a.jsx)(f,{label:"첨부파일",value:(0,a.jsx)("ul",{className:"list-disc pl-4",children:o.map(e=>{var t,i;return(0,a.jsxs)("li",{children:[s.E5[e],":"," ",null!==(i=null===(t=n[e])||void 0===t?void 0:t.name)&&void 0!==i?i:r[e]?"".concat(r[e].original_name," (기존 유지)"):"미첨부"]},e)})})})]})}},6039:function(e,t,n){function a(e,t){let[n,a,r]=e.split("-").map(Number),i=12*n+(a-1)+t,l=Math.floor(i/12),s=i%12+1,c=new Date(l,s,0).getDate();return"".concat(l,"-").concat(String(s).padStart(2,"0"),"-").concat(String(Math.min(r,c)).padStart(2,"0"))}function r(e){return"졸업"!==e.status?null:e.mandatory_work_date?e.mandatory_work_date:e.degree_date?a(e.degree_date,24):null}function i(e){return"⚠ 협약 해지일 기준, 6개월 이전에 동종업종 기업에 ".concat("재교육형"===e?"취업":"채용조건형"===e?"협약":"취업/협약")}function l(e){let t=e.replace(/\D/g,"").slice(0,10);return t.length<=3?t:t.length<=5?"".concat(t.slice(0,3),"-").concat(t.slice(3)):"".concat(t.slice(0,3),"-").concat(t.slice(3,5),"-").concat(t.slice(5))}function s(e){let t=e.replace(/[^\d]/g,"");return t?Number(t).toLocaleString("ko-KR"):""}function c(e){let t=e.replace(/[^\d]/g,"");return t?Number(t):0}function o(e){return e.replace(/[^\d-]/g,"").slice(0,14)}n.d(t,{BX:function(){return a},Yg:function(){return c},cO:function(){return s},e8:function(){return i},iF:function(){return r},o:function(){return o},rx:function(){return l}})},3303:function(e,t,n){n.d(t,{OQ:function(){return a},XS:function(){return r}});let a=(0,n(434).eI)("https://ewpiuxufnvnrlstamuas.supabase.co","eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImV3cGl1eHVmbnZucmxzdGFtdWFzIiwicm9sZSI6ImFub24iLCJpYXQiOjE3ODQ0NTc4NDQsImV4cCI6MjEwMDAzMzg0NH0.5mkozDwN-AW9B4ZzijmZ8iAASWSG6MGtMQEjcfA0iQA",{auth:{persistSession:!1}}),r="attachments"},3985:function(e,t,n){n.d(t,{$b:function(){return c},E5:function(){return a},Y9:function(){return r},YF:function(){return s},kp:function(){return i},ol:function(){return l}});let a={biz_reg:"사업자등록증",insurance:"건강보험사업장 적용통보서",sme_cert:"중소기업확인서",midsize_cert:"중견기업 확인서",financial_stmt:"최근결산년도 재무제표"},r={participation_type:"둘다",hyupsung_member:"",hyupsung_member_no:"",company_name:"",ceo_name:"",biz_reg_no:"",company_size:"",company_size_etc:"",address:"",homepage:"",main_products:"",industry_class:"",capital_mil:"",revenue_mil:"",insurance_enrolled:"",employee_count:"",tuition_support_rate:"",contact_dept:"",contact_name:"",contact_phone:"",contact_email:"",contact_fax:"",workers:[{name:"",degree_course:"",dept:"",email:"",ph
1one:"",note:""}],hire_commit_count:"",privacy_agreed:!1};function i(e){var t,n,a,r;let i=e=>Number(e).toLocaleString("ko-KR").replace(/\s/g,"");return{participation_type:e.participation_type,hyupsung_member:null===e.hyupsung_member?"":e.hyupsung_member?"회원사":"비회원사",hyupsung_member_no:null!==(t=e.hyupsung_member_no)&&void 0!==t?t:"",company_name:e.company_name,ceo_name:e.ceo_name,biz_reg_no:e.biz_reg_no,company_size:e.company_size,company_size_etc:null!==(n=e.company_size_etc)&&void 0!==n?n:"",address:e.address,homepage:null!==(a=e.homepage)&&void 0!==a?a:"",main_products:e.main_products,industry_class:e.industry_class,capital_mil:i(e.capital_mil),revenue_mil:i(e.revenue_mil),insurance_enrolled:e.insurance_enrolled?"가입":"미가입",employee_count:String(e.employee_count),tuition_support_rate:null===e.tuition_support_rate?"":String(e.tuition_support_rate),contact_dept:e.contact_dept,contact_name:e.contact_name,contact_phone:e.contact_phone,contact_email:e.contact_email,contact_fax:null!==(r=e.contact_fax)&&void 0!==r?r:"",workers:e.workers.length>0?e.workers.map(e=>{var t,n,a,r;return{name:e.name,degree_course:null!==(t=e.degree_course)&&void 0!==t?t:"",dept:e.dept,email:null!==(n=e.email)&&void 0!==n?n:"",phone:null!==(a=e.phone)&&void 0!==a?a:"",note:null!==(r=e.note)&&void 0!==r?r:""}}):[{name:"",degree_course:"",dept:"",email:"",phone:"",note:""}],hire_commit_count:e.hire_commit_count?String(e.hire_commit_count):"",privacy_agreed:!0}}function l(e){return"재교육형"===e||"둘다"===e}function s(e){return"둘다"===e}function c(e){let t=["biz_reg","insurance"];return"중소기업"===e?[...t,"sme_cert"]:"중견기업"===e?[...t,"midsize_cert","financial_stmt"]:t}},7648:function(e,t,n){n.d(t,{default:function(){return r.a}});var a=n(2972),r=n.n(a)}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.