PageSourceSearch

https://www.studya.ai/_nuxt/CbX20zBA.js

js studya.ai collected 2026-10-05 12:42:54 UTC 29,432 bytes, 1 lines download raw bytes

1import e from"./CcSJ0Upf.js";import l from"./C8U0btqv.js";import{aN as t,aK as a,bb as s,bC as o,b5 as n,bH as i,a_ as p,aX as c,aU as r,bt as d,bu as u,b9 as m,aW as f,b7 as b,b8 as x,b0 as v,aY as g,a$ as y,b2 as h,dh as w,cP as C,cQ as S,b3 as V,bE as D,aS as U,aZ as k}from"./CL-6WCz_.js";import{u as T}from"./BiQhq2AC.js";import j from"./DOrXk6Dq.js";import N from"./YId3CyWU.js";import{_ as O}from"./BCo6x5W8.js";import"./Caffg4K8.js";import"./BAO1_uDO.js";import"./ULvOwOUz.js";import"./DcskNUCL.js";import"./Bm4SH_AC.js";import"./BAy3Cbtk.js";import"./gIjRX4rO.js";import"./D7245S_0.js";import"./D7f94y9u.js";import"./BEG4Y0jn.js";import"./BROowPGS.js";import"./Blc5gokf.js";const L="/api/schools/admin",$={class:"w-full h-[calc(100vh-var(--size-header-height))]"},F={class:"p-4 bg-slate-200 h-full overflow-y-auto space-y-2"},E={class:"border border-b-2 border-slate-300 bg-white rounded-lg px-4 py-5 sm:px-6"},I={class:"flex flex-wrap gap-4 p-2"},z={class:"flex flex-col gap-2"},P={class:"flex flex-col gap-2"},K={class:"flex flex-col gap-2"},_={class:"flex flex-col gap-2"},A={class:"flex flex-col gap-2"},M={class:"flex flex-col gap-2"},X={class:"flex flex-col gap-2"},B={class:"flex flex-wrap gap-4 p-2"},J={class:"border border-b-2 border-slate-300 bg-white rounded-lg px-4 py-5 sm:px-6"},H={class:"min-w-full divide-y divide-slate-300 border-b border-slate-200"},Y={key:0},G={key:1},Q={class:"border-b"},R={class:"px-3 py-4 text-slate-900"},W=["onClick"],Z={class:"px-3 py-4 text-slate-900"},q={class:"px-3 py-4 text-slate-900"},ee={class:"px-3 py-4 text-slate-900"},le={class:"flex px-3 py-4 gap-2 text-slate-900"},te=["onClick"],ae=["onClick"],se={key:0,class:"bg-slate-50"},oe={colspan:"6",class:"p-4"},ne={key:0,class:"flex flex-wrap gap-4 w-full"},ie={class:"flex-1 border bg-white rounded-lg p-4"},pe={class:"flex flex-col gap-2"},ce={class:"flex items-center gap-4"},re={class:"p-inputtext p-component flex-1"},de={class:"flex items-center gap-4"},ue={class:"p-inputtext p-component flex-1"},me={class:"flex items-center gap-4"},fe={class:"p-inputtext p-component flex-1"},be={class:"flex items-center gap-4"},xe={class:"p-inputtext p-component flex-1"},ve={class:"flex items-center gap-4"},ge={class:"p-inputtext p-component flex-1"},ye={class:"flex items-center gap-4"},he={class:"p-inputtext p-component flex-1"},we={class:"flex items-center gap-4"},Ce={class:"p-inputtext p-component flex-1"},Se={class:"flex-1 border bg-white rounded-lg p-4"},Ve={class:"flex flex-col gap-2"},De={class:"flex items-center gap-4"},Ue={class:"p-inputtext p-component flex-1"},ke={class:"flex items-center gap-4"},Te={class:"p-inputtext p-component flex-1"},je={class:"flex items-center gap-4"},Ne={class:"p-inputtext p-component flex-1"},Oe={class:"flex items-center gap-4"},Le={class:"p-inputtext p-component flex-1"},$e={class:"flex items-center gap-4"},Fe={class:"p-inputtext p-component flex-1"},Ee={class:"flex-1 border bg-white rounded-lg p-4"},Ie={class:"flex flex-col gap-2"},ze={class:"flex items-center gap-4"},Pe={class:"p-inputtext p-component flex-1"},Ke={class:"flex items-center gap-4"},_e={class:"p-inputtext p-component flex-1"},Ae={class:"flex items-center gap-4"},Me={class:"p-inputtext p-component flex-1"},Xe={key:0,class:"flex items-center gap-4"},Be={key:1},Je={class:"flex-1 border bg-white rounded-lg p-4"},He={class:"flex flex-col gap-2"},Ye={class:"flex items-center gap-4"},Ge={class:"p-inputtext p-component flex-1"},Qe={class:"font-semibold w-24"},Re={class:"p-inputtext p-component flex-1"},We={class:"flex-1 border bg-white rounded-lg p-4"},Ze={class:"flex flex-col gap-2"},qe={class:"flex items-center gap-4"},el={class:"p-inputtext p-component flex-1"},ll={class:"flex items-center gap-4"},tl={class:"p-inputtext p-component flex-1"},al={class:"flex items-center gap-4"},sl={class:"p-inputtext p-component flex-1"},ol={class:"font-semibold w-24"},nl={class:"p-inputtext p-component flex-1"},il={class:"p-dialog p-component w-full max-w-4xl p-4 overflow-y-auto"},pl={class:"p-dialog-header"},cl={class:"text-3xl font-semibold"},rl={class:"p-dialog-content"},dl={class:"flex flex-col gap-6"},ul={class:"flex flex-wrap gap-4",style:{"justify-content":"space-between"}},ml={class:"flex items-center gap-4"},fl={class:"flex items-center gap-4"},bl={class:"flex items-center gap-4"},xl={key:0,class:"error-message"},vl={class:"flex items-center gap-4"},gl={class:"flex items-center gap-4"},yl={key:0,class:"error-message"},hl={class:"flex items-center gap-4"},wl={class:"flex flex-wrap gap-4",style:{"justify-content":"space-between"}},Cl={class:"flex items-center gap-4"},Sl={class:"flex items-center gap-4"},Vl={class:"flex items-center gap-4"},Dl={class:"flex items-center gap-4 sm:col-span-2"},Ul={class:"flex items-center gap-4"},kl={class:"flex items-center gap-4"},Tl={key:0,class:"error-message"},jl={class:"flex items-center gap-4"},Nl={key:0,class:"error-message"},Ol={class:"flex items-center gap-4"},Ll={key:0,class:"error-message"},$l={class:"flex items-center gap-4 sm:col-span-2"},Fl={class:"flex flex-wrap gap-4",style:{"justify-content":"space-between"}},El={class:"flex items-center gap-4"},Il={class:"flex items-center gap-4"},zl={class:"flex flex-wrap gap-4",style:{"justify-content":"space-between"}},Pl={class:"flex items-center gap-4"},Kl={class:"flex items-center gap-4"},_l={class:"flex flex-wrap gap-4",style:{"justify-content":"space-between"}},Al={class:"flex items-center gap-4"},Ml={class:"flex items-center gap-4"},Xl={class:"flex flex-wrap gap-4",style:{"justify-content":"space-between"}},Bl={class:"font-semibold w-24"},Jl=["onUpdate:modelValue"],Hl={class:"flex flex-wrap gap-4",style:{"justify-content":"space-between"}},Yl={class:"flex items-center gap-4"},Gl={class:"flex items-center gap-4"},Ql={class:"flex items-center gap-4"},Rl={class:"flex flex-wrap gap-4",style:{"justify-content":"space-between"}},Wl={class:"font-semibold w-24"},Zl=["onUpdate:modelValue"],ql={key:0,class:"error-message-box"},et={class:"flex justify-end gap-2 mt-8"},lt=["disabled"],tt=O(a({__name:"SchoolManager",setup(a){s("pageTitle").value="학교 관리";
1const{getSchoolDetail:O,createSchool:tt,updateSchool:at,deleteSchool:st}={getSchoolDetail:e=>{const{$api:l}=t();return l(`${L}/${e}`,{method:"GET",headers:{"X-Api-Version":"1"}})},createSchool:e=>{const{$api:l}=t();return l(L,{method:"POST",body:e,headers:{"X-Api-Version":"1"}})},updateSchool:(e,l)=>{const{$api:a}=t();return a(`${L}/${e}`,{method:"PATCH",body:l,headers:{"X-Api-Version":"1"}})},deleteSchool:e=>{const{$api:l}=t();return l(`${L}/${e}`,{method:"DELETE",headers:{"X-Api-Version":"1"}})}},{getSchools:ot}=T(),nt=o(),it=h([]),pt=h(0),ct=h(15),rt=h(0),dt=h(0),ut=h(!1),mt=h(null),ft=h(!1),bt=h([]),xt=[1,2,3,4,5,6],vt=h(null),gt=async(e=0,l=15)=>{ut.value=!0,mt.value=null;try{const t=await ot(w(ht),e,l),a=t.page;it.value=t.content,pt.value=a.totalElements,dt.value=a.number,rt.value=a.number*ct.value}catch(t){C().error(S(t)),mt.value="학교 목록 조회 실패"}finally{ut.value=!1}},yt=e=>{ct.value=e.rows,gt(e.page,e.rows)};n(()=>{gt(dt.value,ct.value)});const ht=i({address:"",status:"",schoolName:"",schoolLevel:"",schoolSubtype:"",establishmentType:"",regionSize:""}),wt=[{label:"전체 상태",value:""},{label:"기존(원)교",value:"기존(원)교"},{label:"신설(원)교",value:"신설(원)교"},{label:"휴(원)교",value:"휴(원)교"},{label:"폐(원)교",value:"폐(원)교"}],Ct=[{label:"전체",value:""},{label:"본교",value:"본교"},{label:"분교장",value:"분교장"}],St=[{label:"전체",value:""},{label:"공립",value:"공립"},{label:"국립",value:"국립"},{label:"사립",value:"사립"}],Vt=h(!1),Dt=h(!1),Ut=h(null),kt=h(null),Tt=()=>({surveyDate:(new Date).toISOString().split("T")[0]??"",sido:"",administrativeDistrict:"",educationOffice:"",schoolLevel:"",schoolSubtype:"",schoolName:"",schoolNameEnglish:"",schoolCode:"",mainOrBranchCampus:"본교",establishmentType:"공립",status:"기존(원)교",regionSize:"",openingDate:(new Date).toISOString().split("T")[0]??"",postalCode:"0",address:"",phoneNumber:"",faxNumber:"",homepageUrl:"",generalClassCount:0,generalClassStudentTotal:0,generalClassStudentMale:0,generalClassStudentFemale:0,totalOrganizedClasses:0,grade1ClassCount:0,grade2ClassCount:0,grade3ClassCount:0,grade4ClassCount:0,grade5ClassCount:0,grade6ClassCount:0,grade1StudentTotal:0,grade2StudentTotal:0,grade3StudentTotal:0,grade4StudentTotal:0,grade5StudentTotal:0,grade6StudentTotal:0}),jt=i(Tt()),Nt=h(null),Ot=V(()=>{const e=jt.schoolName.trim(),l=jt.schoolLevel.trim(),t=jt.educationOffice.trim(),a=jt.sido.trim(),s=jt.administrativeDistrict.trim();if(!(e&&l&&t&&a&&s))return!0;if(!(!Dt.value||Dt.value&&Lt.value))return!0;return!it.value.some(o=>o.schoolName===e&&o.schoolLevel===l&&o.educationOffice===t&&o.sido===a&&o.administrativeDistrict===s&&o.id!==Ut.value)}),Lt=V(()=>!(!Dt.value||!Nt.value)&&(jt.schoolName.trim()!==Nt.value.schoolName||jt.schoolLevel.trim()!==Nt.value.schoolLevel||jt.educationOffice.trim()!==Nt.value.educationOffice||jt.sido.trim()!==Nt.value.sido||jt.administrativeDistrict.trim()!==Nt.value.administrativeDistrict)),$t=e=>{const l="px-2.5 py-1 text-xs font-semibold rounded-full inline-block";switch(e){case"기존(원)교":case"신설(원)교":return`${l} bg-green-100 text-green-800`;case"휴(원)교":return`${l} bg-yellow-100 text-yellow-800`;case"폐(원)교":return`${l} bg-red-100 text-red-800`;default:return`${l} bg-gray-100 text-gray-800`}},Ft=()=>{Dt.value=!1,vt.value=null,Ut.value=null,Object.assign(jt,Tt()),Vt.value=!0},Et=()=>{Vt.value=!1,vt.value=null,Nt.value=null},It=async()=>{if(jt.schoolName&&jt.schoolLevel&&jt.educationOffice&&jt.sido&&jt.administrativeDistrict){ft.value=!0;try{const e=w(jt);if(e.surveyDate&&(e.surveyDate=new Date(e.surveyDate).toISOString()),e.openingDate&&(e.openingDate=new Date(e.openingDate).toISOString()),Dt.value&&vt.value)await at(vt.value,{...e,id:vt.value}),bt.value=bt.value.filter(e=>e.id!==vt.value);else{const{...l}=e,t=await tt(l);C().log(S("새로 생성된 학교:",t))}Et(),await gt(dt.value,ct.value),Ut.value=null,kt.value=null}catch(e){C().error(S(e)),D(e,"저장에 실패했습니다")}finally{ft.value=!1}}else nt.add({severity:"warn",summary:"실패",detail:"필수 항목을 입력해주세요.",life:5e3})},zt=()=>
1{Object.keys(ht).forEach(e=>{ht[e]=""}),dt.value=0,rt.value=0,gt(0,ct.value)},Pt=()=>{dt.value=0,rt.value=0,gt(0,ct.value)};return(t,a)=>{const s=e,o=l;return U(),p("div",$,[c("div",F,[c("div",E,[c("div",I,[c("div",z,[a[33]||(a[33]=c("label",{for:"searchInput"},"학교명 검색",-1)),r(c("input",{id:"searchInput","onUpdate:modelValue":a[0]||(a[0]=e=>ht.schoolName=e),type:"text",placeholder:"학교명을 입력하세요",class:"px-3 py-2 border border-gray-300 rounded text-sm",onKeyup:u(Pt,["enter"])},null,544),[[d,ht.schoolName]])]),c("div",P,[a[34]||(a[34]=c("label",{for:"addressFilter"},"주소 검색",-1)),r(c("input",{id:"addressFilter","onUpdate:modelValue":a[1]||(a[1]=e=>ht.address=e),type:"text",placeholder:"주소지를 입력하세요",class:"px-3 py-2 border border-gray-300 rounded text-sm",onKeyup:u(Pt,["enter"])},null,544),[[d,ht.address]])]),c("div",K,[a[35]||(a[35]=c("label",{for:"schoolLevelFilter"},"학교급",-1)),r(c("input",{id:"schoolLevelFilter","onUpdate:modelValue":a[2]||(a[2]=e=>ht.schoolLevel=e),type:"text",placeholder:"예: 고등학교",class:"px-3 py-2 border border-gray-300 rounded text-sm",onKeyup:u(Pt,["enter"])},null,544),[[d,ht.schoolLevel]])]),c("div",_,[a[36]||(a[36]=c("label",{for:"schoolSubtypeFilter"},"학교 세부유형",-1)),r(c("input",{id:"schoolSubtypeFilter","onUpdate:modelValue":a[3]||(a[3]=e=>ht.schoolSubtype=e),type:"text",placeholder:"예: 예술고등학교",class:"px-3 py-2 border border-gray-300 rounded text-sm",onKeyup:u(Pt,["enter"])},null,544),[[d,ht.schoolSubtype]])]),c("div",A,[a[37]||(a[37]=c("label",{for:"establishmentTypeFilter"},"설립유형",-1)),r(c("input",{id:"establishmentTypeFilter","onUpdate:modelValue":a[4]||(a[4]=e=>ht.establishmentType=e),type:"text",placeholder:"예: 공립, 국립, 사립",class:"px-3 py-2 border border-gray-300 rounded text-sm",onKeyup:u(Pt,["enter"])},null,544),[[d,ht.establishmentType]])]),c("div",M,[a[38]||(a[38]=c("label",{for:"regionSizeFilter"},"지역 규모",-1)),r(c("input",{id:"regionSizeFilter","onUpdate:modelValue":a[5]||(a[5]=e=>ht.regionSize=e),type:"text",placeholder:"예: 특별/광역시",class:"px-3 py-2 border border-gray-300 rounded text-sm",onKeyup:u(Pt,["enter"])},null,544),[[d,ht.regionSize]])]),c("div",X,[a[39]||(a[39]=c("label",{for:"statusFilter"},"운영 상태",-1)),m(f(j),{modelValue:ht.status,"onUpdate:modelValue":a[6]||(a[6]=e=>ht.status=e),options:wt,"option-label":"label","option-value":"value",placeholder:"전체 상태",onItemSelect:Pt},null,8,["modelValue"])])]),c("div",B,[m(s,{class:"btn btn-brand",label:"검색",onClick:Pt}),m(s,{class:"btn btn-brand",label:"새 학교 추가",onClick:Ft}),m(s,{class:"btn btn-brand",label:"초기화",onClick:zt})])]),c("div",J,[c("table",H,[a[66]||(a[66]=c("thead",null,[c("tr",null,[c("th",{scope:"col",class:"px-3 py-3.5 text-left text-sm font-semibold text-slate-900"}," 상세 "),c("th",{scope:"col",class:"px-3 py-3.5 text-left text-sm font-semibold text-slate-900"}," 학교명 "),c("th",{scope:"col",class:"px-3 py-3.5 text-left text-sm font-semibold text-slate-900"}," 주소 "),c("th",{scope:"col",class:"px-3 py-3.5 text-left text-sm font-semibold text-slate-900"}," 개교일 "),c("th",{scope:"col",class:"px-3 py-3.5 text-left text-sm font-semibold text-slate-900"}," 상태 "),c("th",{scope:"col",class:"px-3 py-3.5 text-left text-sm font-semibold text-slate-900"}," 관리 ")])],-1)),c("tbody",null,[ut.value?(U(),p("tr",Y,[...a[40]||(a[40]=[c("td",{colspan:"6",class:"px-3 py-4 text-center text-slate-900"}," 데이터를 불러오는 중입니다... ",-1)])])):0===it.value.length?(U(),p("tr",G,[...a[41]||(a[41]=[c("td",{colspan:"6",class:"px-3 py-4 text-center text-slate-900"}," 결과가 없습니다. ",-1)])])):(U(!0),p(b,{key:2},x(it.value,e=>(U(),p(b,{key:e.id},[c("tr",Q,[c("td",R,[c("button",{class:"btn btn-text","aria-label":"Toggle Row",onClick:l=>(async e=>{if(Ut.value===e)return Ut.value=null,void(kt.value=null);Ut.value=e,kt.value=null;const l=bt.value.find(l=>l.id===e);if(l)kt.value=l;else try{const l=await O(e);kt.value=l,bt.value.push(l)}catch(t){C().error(S("상세 정보 로드 실패:",t)),Ut.value=null}})(e.id)},g(Ut.value===e.id?"▼":"▶"),9,W)]),c("td",Z,g(e.schoolName),1),c("td",q,g(e.address),1),c("td",ee,g(e.openingDate?e.openingDate.split("T")[0]:""),1),c("td",null,[c("span",{class:k($t(e.status))},g(e.status),3)]),c("td",le,[c("button",{"aria-label":"Edit",class:"btn btn-sm btn-accent",onClick:v(l=>(async e=>{vt.value=e;try{const l=bt.value.find(l=>l.id===e);let t;l?t=l:(t=await O(e),bt.value.push(t)),Nt.value={schoolName:t.schoolName,schoolLevel:t.schoolLevel,educationOffice:t.educationOffice,sido:t.sido,administrativeDistrict:t.administrativeDistrict},Dt.value=!0;const a={...t,surveyDate:t.surveyDate?t.surveyDate.split("T")[0]:"",openingDate:t.openingDate?t.openingDate.split("T")[0]:""};Object.assign(jt,a),Vt.value=!0}catch(l){C().error(S(l)),D(l,"학교 상세 정보를 불러오는 데 실패했습니다")}})(e.id),["stop"])},[m(o,{name:"hugeicons:pencil-edit-01",draggable:"false",class:"text-lg"})],8,te),c("button",{"aria-label":"Delete",class:"btn btn-sm btn-danger",onClick:v(l=>(async e=>{if(confirm("정말 이 학교 정보를 삭제하시겠습니까?"))try{await st(e);const l=it.value.findIndex(l=>l.id===e);l>-1&&it.value.splice(l,1);const t=bt.value.findIndex(l=>l.id===e);t>-1&&bt.value.splice(t,1)}catch(l){const e=l;C().error(S(e)),nt.add({severity:"error",summary:"실패",detail:`삭제 실패: ${e.message}`,life:5e3})}})(e.id),["stop"])},[m(o,{name:"hugeicons:delete-02",draggable:"false",class:"text-lg"})],8,ae)])]),Ut.value===e.id?(U(),p("tr",se,[c("td",oe,[kt.value?(U(),p("div",ne,[c("div",ie,[a[49]||(a[49]=c("h3",{class:"text-lg font-semibold border-b border-gray-200 pb-4 mb-4"}," 기본 정보 ",-1)),c("div",pe,[c("div",ce,[a[42]||(a[42]=c("label",{for:"content",class:"font-semibold w-24"},"조사기준일",-1)),c("span",re,g((kt.value.surveyDate?kt.value.surveyDate.split("T")[0]:"")||"-"),1)]),c("div",de,[a[43]||(a[43]=c("label",{for:"content",class:"font-semibold w-24"},"학교영문명",-1)),c("span",ue,g(kt.value.schoolNameEnglish||"-"),1)]),c("div",me,[a[44]||(a[44]=c("label",{for:"content",class:"font-semibold w-24"},"학교코드(KEDI)",-1)),c("span",fe,g(kt.value.schoolCode||"-"),1)]),c("div",be,[a[45]||(a[45]=c("label",{for:"content",class:"font-semibold w-24"},"학교급",-1)),c("span",xe,g(kt.value.schoolLevel||"-"),1)]),c("div",ve,[a[46]||(a[46]=c("label",{for:"content",class:"font-semibold w-24"},"학교 세부유형",-1)),c("span",ge,g(kt.value.schoolSubtype||"-"),1)]),c("div",ye,[a[47]||(a[47]=c("label",{for:"content",class:"font-semibold w-24"},"본교/분교",-1)),c("span",he,g(kt.value.mainOrBranchCampus||"-"),1)]),c("div",we,[a[48]||(a[48]=c("label",{for:"content",class:"font-semibold w-24"},"설립유형",-1)),c("span",Ce,g(kt.value.establishmentType||"-"),1)])])]),c("div",Se,[a[55]||(a[55]=c("h3",{class:"text-lg font-semibold border-b border-gray-200 pb-4 mb-4"}," 주소 정보 ",-1)),c("div",Ve,[c("div",De,[a[50]||(a[50]=c("label",{for:"content",class:"font-semibold w-24"},"우편번호",-1)),c("span",Ue,g(kt.value.postalCode||"-"),1)]),c("div",ke,[a[51]||(a[51]=c("label",{for:"content",class:"font-semibold w-24"},"시/도",-1)),c("span",Te,g(kt.value.sido||"-"),1)]),c("div",je,[a[52]||(a[52]=c("label",{for:"content",class:"font-semibold w-24"},"행정구역",-1)),c("span",Ne,g(kt.value.administrativeDistrict||"-"),1)]),c("div",Oe,[a[53]||(a[53]=c("label",{for:"content",class:"font-semibold w-24"},"교육(지원)청",-1)),c("span",Le,g(kt.value.educationOffice||"-"),1)]),c("div",$e,[a[54]||(a[54]=c("label",{for:"content",class:"font-semibold w-24"},"지역규모",-1)),c("span",Fe,g(kt.value.regionSize||"-"),1)])])]),c("div",Ee,[a[59]||(a[59]=c("h3",{class:"text-lg font-semibold border-b border-gray-200 pb-4 mb-4"}," 연락처 정보 ",-1)),c("div",Ie,[c("div",ze,[a[56]||(a[56]=c("label",{for:"content",class:"font-semibold w-24"},"전화번호",-1)),c("span",Pe,g(kt.value.phoneNumber||"-"),1)]),c("div",Ke,[a[57]||(a[57]=c("label",{for:"content",class:"font-semibold w-24"},"팩스번호",-1)),c("span",_e,g(kt.value.faxNumber||"-"),1)]),c("div",Ae,[a[58]||(a[58]=c("label",{for:"content",class:"font-semibold w-24"},"홈페이지",-1)),c("span",Me,g(kt.value.homepageUrl||"-"),1)]),kt.value.homepageUrl?(U(),p("div",Xe,[m(s,{class:"btn btn-brand",label:"바로가기",onClick:a[7]||(a[7]=e=>{var l;(l=kt.value.homepageUrl)?window.open(l,"_blank","noopener,noreferrer"):nt.add({severity:"error",summary:"실패",detail:"홈페이지 주소가 없습니다.",life:5e3})})}),m(s,{class:"btn btn-brand",label:"복사하기",onClick:a[8]||(a[8]=e=>{return l=kt.value.homepageUrl,void navigator.clipboard.writeText(l).then(()=>
1{nt.add({severity:"success",summary:"성공",detail:"복사에 성공했습니다.",life:5e3})}).catch(()=>{nt.add({severity:"error",summary:"실패",detail:"복사에 실패했습니다.",life:5e3})});var l})})])):(U(),p("span",Be,"-"))])]),c("div",Je,[a[61]||(a[61]=c("h3",{class:"text-lg font-semibold border-b border-gray-200 pb-4 mb-4"}," 학급 정보 ",-1)),c("div",He,[c("div",Ye,[a[60]||(a[60]=c("label",{for:"content",class:"font-semibold w-24"},"일반 학급 수",-1)),c("span",Ge,g(kt.value.generalClassCount||0)+"개 ",1)]),(U(),p(b,null,x(xt,e=>c("div",{key:e,class:"flex items-center gap-4"},[c("label",Qe,g(e)+"학년 학급수",1),c("span",Re,g(kt.value?.[`grade${e}ClassCount`]||0)+"개 ",1)])),64))])]),c("div",We,[a[65]||(a[65]=c("h3",{class:"text-lg font-semibold border-b border-gray-200 pb-4 mb-4"}," 학생 정보 ",-1)),c("div",Ze,[c("div",qe,[a[62]||(a[62]=c("label",{for:"content",class:"font-semibold w-24"},"전체 학생 수",-1)),c("span",el,g(kt.value.generalClassStudentTotal||0)+"명 ",1)]),c("div",ll,[a[63]||(a[63]=c("label",{for:"content",class:"font-semibold w-24"},"남학생 수",-1)),c("span",tl,g(kt.value.generalClassStudentMale||0)+"명 ",1)]),c("div",al,[a[64]||(a[64]=c("label",{for:"content",class:"font-semibold w-24"},"여학생 수 ",-1)),c("span",sl,g(kt.value.generalClassStudentFemale||0)+"명 ",1)]),(U(),p(b,null,x(xt,e=>c("div",{key:e,class:"flex items-center gap-4"},[c("label",ol,g(e)+"학년 학생수",1),c("span",nl,g(kt.value?.[`grade${e}StudentTotal`]||0)+"개 ",1)])),64))])])])):y("",!0)])])):y("",!0)],64))),128))])]),m(f(N),{first:rt.value,rows:ct.value,"total-records":pt.value,template:{default:"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink JumpToPageDropdown JumpToPageInput"},class:"mt-8",onPage:yt},null,8,["first","rows","total-records"])]),Vt.value?(U(),p("div",{key:0,class:"modal",onClick:v(Et,["self"])},[c("div",il,[c("div",pl,[c("h2",cl,g(Dt.value?"학교 정보 수정":"새 학교 추가"),1),c("button",{type:"button",class:"btn btn-text","aria-label":"Close",onClick:Et},[m(o,{name:"material-symbols:close",class:"text-3xl"})])]),c("div",rl,[c("div",dl,[c("div",ul,[c("div",ml,[a[67]||(a[67]=c("label",{for:"content",class:"font-semibold w-24"},"조사기준일",-1)),r(c("input",{"onUpdate:modelValue":a[9]||(a[9]=e=>jt.surveyDate=e),type:"date",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.surveyDate]])]),c("div",fl,[a[68]||(a[68]=c("label",{for:"content",class:"font-semibold w-24"},"개교일",-1)),r(c("input",{"onUpdate:modelValue":a[10]||(a[10]=e=>jt.openingDate=e),type:"date",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.openingDate]])])]),c("div",bl,[a[69]||(a[69]=c("label",{for:"content",class:"font-semibold w-24"},"학교명*",-1)),r(c("input",{"onUpdate:modelValue":a[11]||(a[11]=e=>jt.schoolName=e),type:"text",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.schoolName]]),Ot.value?y("",!0):(U(),p("p",xl," 동일한 학교가 이미 존재합니다 "))]),c("div",vl,[a[70]||(a[70]=c("label",{for:"content",class:"font-semibold w-24"},"영문 학교명",-1)),r(c("input",{"onUpdate:modelValue":a[12]||(a[12]=e=>jt.schoolNameEnglish=e),type:"text",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.schoolNameEnglish]])]),c("div",gl,[a[71]||(a[71]=c("label",{for:"content",class:"font-semibold w-24"},"학교급*",-1)),r(c("input",{"onUpdate:modelValue":a[13]||(a[13]=e=>jt.schoolLevel=e),type:"text",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.schoolLevel]]),Ot.value?y("",!0):(U(),p("p",yl," 동일한 학교가 이미 존재합니다 "))]),c("div",hl,[a[72]||(a[72]=c("label",{for:"content",class:"font-semibold w-24"},"학교코드(KEDI)",-1)),r(c("input",{"onUpdate:modelValue":a[14]||(a[14]=e=>jt.schoolCode=e),type:"text",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.schoolCode]])]),c("div",wl,[c("div",Cl,[a[73]||(a[73]=c("label",{for:"statusFilter",class:"font-semibold w-24"},"운영 상태",-1)),m(f(j),{modelValue:jt.status,"onUpdate:modelValue":a[15]||(a[15]=e=>jt.status=e),options:wt,"option-label":"label","option-value":"value",placeholder:"전체 상태"},null,8,["modelValue"])]),c("div",Sl,[a[74]||(a[74]=c("label",{for:"content",class:"font-semibold w-24"},"본교/분교장",-1)),m(f(j),{modelValue:jt.mainOrBranchCampus,"onUpdate:modelValue":a[16]||(a[16]=e=>jt.mainOrBranchCampus=e),options:Ct,"option-label":"label","option-value":"value",placeholder:"전체"},null,8,["modelValue"])]),c("div",Vl,[a[75]||(a[75]=c("label",{for:"content",class:"font-semibold w-24"},"설립유형",-1)),m(f(j),{modelValue:jt.establishmentType,"onUpdate:modelValue":a[17]||(a[17]=e=>jt.establishmentType=e),options:St,"option-label":"label","option-value":"value",placeholder:"전체"},null,8,["modelValue"])])]),c("div",Dl,[a[76]||(a[76]=c("label",{for:"content",class:"font-semibold w-24"},"주소",-1)),r(c("input",{"onUpdate:modelValue":a[18]||(a[18]=e=>
1jt.address=e),type:"text",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.address]])]),c("div",Ul,[a[77]||(a[77]=c("label",{for:"content",class:"font-semibold w-24"},"우편번호",-1)),r(c("input",{"onUpdate:modelValue":a[19]||(a[19]=e=>jt.postalCode=e),type:"text",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.postalCode]])]),c("div",kl,[a[78]||(a[78]=c("label",{for:"content",class:"font-semibold w-24"},"시/도*",-1)),r(c("input",{"onUpdate:modelValue":a[20]||(a[20]=e=>jt.sido=e),type:"text",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.sido]]),Ot.value?y("",!0):(U(),p("p",Tl," 동일한 학교가 이미 존재합니다 "))]),c("div",jl,[a[79]||(a[79]=c("label",{for:"content",class:"font-semibold w-24"},"행정구역*",-1)),r(c("input",{"onUpdate:modelValue":a[21]||(a[21]=e=>jt.administrativeDistrict=e),type:"text",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.administrativeDistrict]]),Ot.value?y("",!0):(U(),p("p",Nl," 동일한 학교가 이미 존재합니다 "))]),c("div",Ol,[a[80]||(a[80]=c("label",{for:"content",class:"font-semibold w-24"},"교육(지원)청*",-1)),r(c("input",{"onUpdate:modelValue":a[22]||(a[22]=e=>jt.educationOffice=e),type:"text",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.educationOffice]]),Ot.value?y("",!0):(U(),p("p",Ll," 동일한 학교가 이미 존재합니다 "))]),c("div",$l,[a[81]||(a[81]=c("label",{for:"content",class:"font-semibold w-24"},"홈페이지 주소",-1)),r(c("input",{"onUpdate:modelValue":a[23]||(a[23]=e=>jt.homepageUrl=e),type:"text",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.homepageUrl]])]),c("div",Fl,[c("div",El,[a[82]||(a[82]=c("label",{for:"content",class:"font-semibold w-24"},"전화번호",-1)),r(c("input",{"onUpdate:modelValue":a[24]||(a[24]=e=>jt.phoneNumber=e),type:"tel",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.phoneNumber]])]),c("div",Il,[a[83]||(a[83]=c("label",{for:"content",class:"font-semibold w-24"},"팩스번호",-1)),r(c("input",{"onUpdate:modelValue":a[25]||(a[25]=e=>jt.faxNumber=e),type:"tel",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.faxNumber]])])]),c("div",zl,[c("div",Pl,[a[84]||(a[84]=c("label",{for:"content",class:"font-semibold w-24"},"학교 세부 유형",-1)),r(c("input",{"onUpdate:modelValue":a[26]||(a[26]=e=>jt.schoolSubtype=e),type:"text",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.schoolSubtype]])]),c("div",Kl,[a[85]||(a[85]=c("label",{for:"content",class:"font-semibold w-24"},"지역 규모",-1)),r(c("input",{"onUpdate:modelValue":a[27]||(a[27]=e=>jt.regionSize=e),type:"text",class:"p-inputtext p-component flex-1"},null,512),[[d,jt.regionSize]])])]),c("div",_l,[c("div",Al,[a[86]||(a[86]=c("label",{for:"content",class:"font-semibold w-24"},"일반 학급 수",-1)),r(c("input",{"onUpdate:modelValue":a[28]||(a[28]=e=>jt.generalClassCount=e),type:"number",class:"p-inputtext p-component w-24"},null,512),[[d,jt.generalClassCount,void 0,{number:!0}]])]),c("div",Ml,[a[87]||(a[87]=c("label",{for:"content",class:"font-semibold w-24"},"편성 학급 수",-1)),r(c("input",{"onUpdate:modelValue":a[29]||(a[29]=e=>jt.totalOrganizedClasses=e),type:"number",class:"p-inputtext p-component w-24"},null,512),[[d,jt.totalOrganizedClasses,void 0,{number:!0}]])])]),c("div",Xl,[(U(),p(b,null,x(xt,e=>c("div",{key:e,class:"flex items-center gap-4"},[c("label",Bl,g(e)+"학년 학급 수",1),r(c("input",{"onUpdate:modelValue":l=>jt[`grade${e}ClassCount`]=l,type:"number",class:"p-inputtext p-component w-24"},null,8,Jl),[[d,jt[`grade${e}ClassCount`],void 0,{number:!0}]])])),64))]),c("div",Hl,[c("div",Yl,[a[88]||(a[88]=c("label",{for:"content",class:"font-semibold w-24"},"일반 학생 수",-1)),r(c("input",{"onUpdate:modelValue":a[30]||(a[30]=e=>jt.generalClassStudentTotal=e),type:"number",class:"p-inputtext p-component w-24"},null,512),[[d,jt.generalClassStudentTotal,void 0,{number:!0}]])]),c("div",Gl,[a[89]||(a[89]=c("label",{for:"content",class:"font-semibold w-24"},"일반 남학생 수",-1)),r(c("input",{"onUpdate:modelValue":a[31]||(a[31]=e=>
1jt.generalClassStudentMale=e),type:"number",class:"p-inputtext p-component w-24"},null,512),[[d,jt.generalClassStudentMale,void 0,{number:!0}]])]),c("div",Ql,[a[90]||(a[90]=c("label",{for:"content",class:"font-semibold w-24"},"일반 여학생 수",-1)),r(c("input",{"onUpdate:modelValue":a[32]||(a[32]=e=>jt.generalClassStudentFemale=e),type:"number",class:"p-inputtext p-component w-24"},null,512),[[d,jt.generalClassStudentFemale,void 0,{number:!0}]])])]),c("div",Rl,[(U(),p(b,null,x(xt,e=>c("div",{key:e,class:"flex items-center gap-4"},[c("label",Wl,g(e)+"학년 학급 수",1),r(c("input",{"onUpdate:modelValue":l=>jt[`grade${e}StudentTotal`]=l,type:"number",class:"p-inputtext p-component w-24"},null,8,Zl),[[d,jt[`grade${e}StudentTotal`],void 0,{number:!0}]])])),64))]),Ot.value?y("",!0):(U(),p("div",ql,[...a[91]||(a[91]=[c("p",null," 학교명, 학교급, 시/도, 행정구역, 교육청의 조합이 동일한 학교가 이미 존재합니다. ",-1)])]))])]),c("div",et,[c("button",{label:"취소",class:"p-button p-component p-button-secondary",onClick:Et}),c("button",{"aria-label":"Save",class:"p-button p-component",disabled:ft.value||!Ot.value,onClick:It},g(ft.value?"저장 중...":"저장"),9,lt)])])])):y("",!0)])])}}}),[["__scopeId","data-v-096c6ea9"]]);export{tt as default};

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.