PageSourceSearch

https://homecheck.kr/_nuxt/BgdanBmW.js

js homecheck.kr collected 2026-10-04 07:47:47 UTC 36,513 bytes, 1 lines download raw bytes

1import{_ as _e}from"./CXIBf0iv.js";import{_ as D,x as ae,o as r,w as P,at as He,T as Q,c as d,a as e,b as S,v as $,y as h,t as m,F as I,q as M,e as j,r as C,j as $e,N as je,K as _,n as o,d as B,D as Ue,M as Fe,R as Ke,C as We,i as E,W as z}from"./B3DH6OY8.js";import{N as ue,H as ce,b as ie,d as Ze,f as x,g as Ge,i as T,j as le,m as Qe,t as Ye,u as Je,k as Xe,r as es,n as N,o as Z,p as ss,q as ts,v as J,w as os,x as q,y as A,z as G,A as V,B as L,C as O,D as me,E as X,F as ee,G as ns,I as is,J as ls,K as se,L as te,M as oe,O as ve,P as ne,Q as pe,R as fe,S as be,T as ye,U as as,V as rs,W as ds,X as us,Y as cs,Z as ke,_ as he,$ as ms,a0 as vs,a1 as ge,a2 as ps,a3 as fs,a4 as bs,a5 as ys,a6 as ks,a7 as hs,a8 as gs,a9 as $s,aa as ws,ab as Ss}from"./C6ab-WHu.js";import{_ as Cs}from"./CAlHbUsZ.js";import{u as Ts}from"./CSKzxr5E.js";import"./DDl_LnjV.js";import"./DupNLG3m.js";import"./B9ygI19o.js";import"./g61NUoUH.js";import"./CYzC32Ar.js";import"./Bt6MwixZ.js";import"./QVEdTFmT.js";const Bs={name:"TransitionExpand",methods:{enter(t){const b=getComputedStyle(t).width;t.style.width=b,t.style.position="absolute",t.style.visibility="hidden",t.style.height="auto";const l=getComputedStyle(t).height;t.style.width=null,t.style.position=null,t.style.visibility=null,t.style.height=0,getComputedStyle(t).height,requestAnimationFrame(()=>{t.style.height=l})},afterEnter(t){t.style.height="auto"},leave(t){const b=getComputedStyle(t).height;t.style.height=b,getComputedStyle(t).height,requestAnimationFrame(()=>{t.style.height=0})}}};function Ls(t,b,l,c,u,k){return r(),ae(Q,{name:"expand",onEnter:k.enter,onAfterEnter:k.afterEnter,onLeave:k.leave},{default:P(()=>[He(t.$slots,"default",{},void 0,!0)]),_:3},8,["onEnter","onAfterEnter","onLeave"])}const H=D(Bs,[["render",Ls],["__scopeId","data-v-12f06d19"]]),Ps={class:"ir-section"},Is={class:"ir-section-left"},Rs={class:"ir-section-right"},Ms={key:0,class:"ir-section-summary"},Os={key:0,class:"ir-section-body"},Ds={class:"ir-field"},Ns=["value"],qs={class:"ir-field"},As={class:"ir-unit-group"},Es={class:"ir-unit-input-wrapper"},zs=["value"],Vs={class:"ir-unit-input-wrapper"},xs=["value"],_s={class:"ir-field"},Hs={class:"ir-phone-table"},js={class:"ir-phone-td-number",colspan:"2"},Us=["value","onInput"],Fs={class:"ir-phone-td-relation"},Ks=["value","onInput"],Ws={class:"ir-phone-td-number"},Zs=["value","onInput"],Gs={class:"ir-phone-td-remove"},Qs=["onClick"],Ys={__name:"Step1Contractor",props:{isOpen:Boolean,isValid:Boolean,summary:String,name:String,dong:String,ho:String,phoneEntries:Array},emits:["toggle","update:name","update:dong","update:ho","update:phone-number","update:phone-relation","add-phone","remove-phone","blur"],setup(t,{emit:b}){const l=b;function c(a){const i=a.replace(/[^0-9]/g,"");return i.length<=3?i:i.length<=7?i.slice(0,3)+"-"+i.slice(3):i.slice(0,3)+"-"+i.slice(3,7)+"-"+i.slice(7,11)}function u(a,i){const w=c(i.target.value);l("update:phone-number",{index:a,value:w}),i.target.value=w}function k(a){const i=a.target.value.replace(/[동호]/g,"");l("update:dong",i),a.target.value=i}function v(a){const i=a.target.value.replace(/[동호]/g,"");l("update:ho",i),a.target.value=i}function p(a,i){l("update:phone-relation",{index:a,value:i})}return(a,i)=>(r(),d("section",Ps,[e("div",{class:"ir-section-header",onClick:i[0]||(i[0]=w=>a.$emit("toggle"))},[e("div",Is,[e("span",{class:$(["ir-step-number",{"is-done":t.isValid}])},"1",2),i[8]||(i[8]=e("h2",{class:"ir-section-title"},"계약자 정보",-1))]),e("div",Rs,[!t.isOpen&&t.summary?(r(),d("span",Ms,m(t.summary),1)):h("",!0),e("span",{class:$(["ir-section-arrow",{"is-open":t.isOpen}])},[...i[9]||(i[9]=[e("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[e("path",{d:"M5 8L10 13L15 8",stroke:"#999","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],2)])]),S(H,null,{default:P(()=>[t.isOpen?(r(),d("div",Os,[e("div",Ds,[i[10]||(i[10]=e("label",{class:"ir-label ir-required"},"계약자 이름",-1)),e("input",{value:t.name,type:"text",class:"ir-input",placeholder:"아파트 계약자 명의를 입력해주세요.",onInput:i[1]||(i[1]=w=>a.$emit("update:name",w.target.value)),onBlur:i[2]||(i[2]=w=>a.$emit("blur"))},null,40,Ns)]),e("div",qs,[i[13]||(i[13]=e("label",{class:"ir-label ir-required"},"동-호수",-1)),e("div",As,[e("div",Es,[e("input",{value:t.dong,type:"text",class:"ir-input",placeholder:"동",onInput:k,onBlur:i[3]||(i[3]=w=>a.$emit("blur"))},null,40,zs),i[11]||(i[11]=e("span",{class:"ir-unit-text"},"동",-1))]),e("div",Vs,[e("input",{value:t.ho,type:"text",class:"ir-input",placeholder:"호",onInput:v,onBlur:i[4]||(i[4]=w=>a.$emit("blur"))},null,40,xs),i[12]||(i[12]=e("span",{class:"ir-unit-text"},"호",-1))])]),i[14]||(i[14]=e("p",{class:"ir-field-notice"},"정확한 아파트 동-호수를 입력해 주세요.",-1))]),e("div",_s,[i[16]||(i[16]=e("label",{class:"ir-label ir-required"},"연락받을 전화번호",-1)),i[17]||(i[17]=e("p",{class:"ir-field-desc"},"결제 안내와 점검 보고서를 입력된 모든 번호로 연락드립니다.",-1)),e("table",Hs,[e("tbody",null,[(r(!0),d(I,null,M(t.phone
1Entries,(w,R)=>(r(),d("tr",{key:R},[R===0?(r(),d(I,{key:0},[i[15]||(i[15]=e("td",{class:"ir-phone-td-relation"},[e("span",{class:"ir-phone-relation-tag"},"계약자")],-1)),e("td",js,[e("input",{value:w.number,type:"tel",class:"ir-input",placeholder:"010-0000-0000",maxlength:"13",onInput:g=>u(R,g),onBlur:i[5]||(i[5]=g=>a.$emit("blur"))},null,40,Us)])],64)):(r(),d(I,{key:1},[e("td",Fs,[e("input",{value:w.relation,type:"text",class:"ir-phone-relation-input",placeholder:"예) 배우자, 부모님",onInput:g=>p(R,g.target.value)},null,40,Ks)]),e("td",Ws,[e("input",{value:w.number,type:"tel",class:"ir-input",placeholder:"010-0000-0000",maxlength:"13",onInput:g=>u(R,g),onBlur:i[6]||(i[6]=g=>a.$emit("blur"))},null,40,Zs)]),e("td",Gs,[e("button",{class:"ir-phone-remove",type:"button",onClick:g=>a.$emit("remove-phone",R)}," 삭제 ",8,Qs)])],64))]))),128))])]),e("button",{class:"ir-phone-add",type:"button",onClick:i[7]||(i[7]=w=>a.$emit("add-phone"))}," + 전화번호 추가 ")])])):h("",!0)]),_:1})]))}},Js=D(Ys,[["__scopeId","data-v-64240fe5"]]),Xs={class:"ir-section-left"},et={class:"ir-section-right"},st={key:0,class:"ir-section-summary"},tt={key:0,class:"ir-section-body"},ot={class:"ir-service-list"},nt=["onClick"],it={class:"ir-card-header"},lt={class:"ir-card-title-row"},at={class:"ir-title-main"},rt={class:"ir-service-name"},dt={key:0,class:"ir-service-bonus-tag"},ut={class:"ir-service-price"},ct={key:0,class:"ir-size-picker"},mt={class:"ir-size-list"},vt=["onClick"],pt={class:"ir-size-name"},ft={key:0,class:"ir-size-price"},bt={key:1,class:"ir-size-price"},yt={key:0,class:"ir-addon-picker"},kt={class:"ir-addon-list"},ht=["onClick"],gt={class:"ir-addon-name"},$t={class:"ir-addon-price"},wt={class:"ir-card-body"},St={class:"ir-card-body-inner"},Ct={key:0,class:"ir-diff-group"},Tt={key:1,class:"ir-diff-group"},Bt={class:"ir-diff-header"},Lt={class:"gemini-star",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Pt=["id"],It=["fill"],Rt=["onMouseenter","onTouchstartPassive"],Mt={class:"ir-bonus-header"},Ot={class:"ir-bonus-heading"},Dt={class:"ir-bonus-kicker"},Nt={class:"ir-info-wrapper"},qt=j({__name:"Step2Service",props:{isOpen:{type:Boolean,default:!1},isLocked:{type:Boolean,default:!1},isDone:{type:Boolean,default:!1},summary:{default:""},serviceList:{default:()=>[]},selectedServiceId:{default:null},selectedSizeValue:{default:null},selectedAddonIds:{default:()=>[]}},emits:["toggle","select-service","select-size","toggle-addon","show-bonus-info"],setup(t){const b=C(null),l=C("top");C({});const c=(k,v)=>{k.stopPropagation();const p=k.currentTarget.getBoundingClientRect(),a=p.top,i=window.innerHeight-p.bottom;l.value=a>i?"top":"bottom",b.value=v},u=()=>{b.value=null};return $e(()=>{window.addEventListener("click",u)}),je(()=>{window.removeEventListener("click",u)}),(k,v)=>(r(),d("section",{class:$(["ir-section",{"is-locked":t.isLocked}])},[e("div",{class:"ir-section-header",onClick:v[0]||(v[0]=p=>k.$emit("toggle"))},[e("div",Xs,[e("span",{class:$(["ir-step-number",{"is-done":t.isDone}])},"2",2),v[3]||(v[3]=e("h2",{class:"ir-section-title"},"서비스 선택",-1))]),e("div",et,[!t.isOpen&&t.summary?(r(),d("span",st,m(t.summary),1)):h("",!0),e("span",{class:$(["ir-section-arrow",{"is-open":t.isOpen}])},[...v[4]||(v[4]=[e("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[e("path",{d:"M5 8L10 13L15 8",stroke:"#999","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],2)])]),S(H,null,{default:P(()=>[t.isOpen?(r(),d("div",tt,[e("div",ot,[(r(!0),d(I,null,M(t.serviceList,p=>(r(),d("div",{key:p.id,class:$(["ir-service-card",{"is-selected":t.selectedServiceId===p.id}]),onClick:a=>k.$emit("select-service",p.id)},[e("div",it,[v[5]||(v[5]=e("div",{class:"ir-service-radio"},[e("span",{class:"ir-radio-dot"})],-1)),e("div",lt,[e("div",at,[e("span",rt,m(p.name),1),p.bonusSummary?(r(),d("div",dt,m(p.bonusSummary),1)):h("",!0)]),e("span",ut,"₩"+m(p.minPrice.toLocaleString())+"부터",1)])]),S(H,null,{default:P(()=>[t.selectedServiceId===p.id?(r(),d("div",ct,[v[6]||(v[6]=e("p",{class:"ir-size-label"},"평형을 선택하세요",-1)),e("div",mt,[(r(!0),d(I,null,M(p.sizePrices,a=>(r(),d("button",{key:a.value,class:$(["ir-size-btn",{"is-selected":t.selectedSizeValue===a.value}]),type:"button",onClick:_(i=>k.$emit("select-size",a.value),["stop"])},[e("span",pt,m(a.label),1),a.priceLabel?(r(),d("span",bt,m(a.priceLabel),1)):(r(),d("span",ft,m(a.price.toLocaleStr
1ing())+"원",1))],10,vt))),128))])])):h("",!0)]),_:2},1024),S(H,null,{default:P(()=>[t.selectedServiceId===p.id&&p.addonOptions?.length?(r(),d("div",yt,[v[8]||(v[8]=e("p",{class:"ir-addon-label"},"세대 옵션",-1)),e("div",kt,[e("button",{class:$(["ir-addon-btn",{"is-selected":t.selectedAddonIds.includes(o(ue))}]),type:"button",onClick:v[1]||(v[1]=_(a=>k.$emit("toggle-addon",o(ue)),["stop"]))},[...v[7]||(v[7]=[e("span",{class:"ir-addon-name"},"해당사항 없음",-1),e("span",{class:"ir-addon-price"},"0원",-1)])],2),(r(!0),d(I,null,M(p.addonOptions,a=>(r(),d("button",{key:a.id,class:$(["ir-addon-btn",{"is-selected":t.selectedAddonIds.includes(a.id)}]),type:"button",onClick:_(i=>k.$emit("toggle-addon",a.id),["stop"])},[e("span",gt,m(a.label),1),e("span",$t,m(a.priceLabel),1)],10,ht))),128))])])):h("",!0)]),_:2},1024),e("div",wt,[e("div",St,[p.diffFromOtherServices.length?(r(),d("div",Ct,[v[9]||(v[9]=e("div",{class:"ir-diff-header"},[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M20 6L9 17L4 12",stroke:"black","stroke-width":"2.5","stroke-linecap":"round","stroke-linejoin":"round"})]),e("h4",{class:"other-service-title"},"서비스별 비교")],-1)),e("ul",null,[(r(!0),d(I,null,M(p.diffFromOtherServices,(a,i)=>(r(),d("li",{key:"o"+i},m(a),1))),128))])])):h("",!0),p.diffFromCompetitors.length?(r(),d("div",Tt,[e("div",Bt,[(r(),d("svg",Lt,[e("defs",null,[e("linearGradient",{id:"geminiGradient-"+p.id,x1:"0%",y1:"0%",x2:"100%",y2:"100%"},[...v[10]||(v[10]=[e("stop",{offset:"0%",style:{"stop-color":"#0064ff"}},null,-1),e("stop",{offset:"100%",style:{"stop-color":"#00d991"}},null,-1)])],8,Pt)]),e("path",{d:"M12 2L14.85 8.71L22 12L14.85 15.29L12 22L9.15 15.29L2 12L9.15 8.71L12 2Z",fill:`url(#geminiGradient-${p.id})`},null,8,It)])),v[11]||(v[11]=e("h4",{class:"shimmer-text"},"경쟁사 대비",-1))]),e("ul",null,[(r(!0),d(I,null,M(p.diffFromCompetitors,(a,i)=>(r(),d("li",{key:"c"+i},m(a),1))),128))])])):h("",!0)]),p.bonusSummary?(r(),d("div",{key:0,class:"ir-bonus-group",onMouseenter:a=>
1c(a,p.id),onMouseleave:u,onTouchstartPassive:a=>c(a,p.id)},[e("div",Mt,[v[14]||(v[14]=e("div",{class:"ir-bonus-icon","aria-hidden":"true"},[e("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M20 12V22H4V12",stroke:"#ff6b35","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),e("path",{d:"M22 7H2V12H22V7Z",stroke:"#ff6b35","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),e("path",{d:"M12 22V7",stroke:"#ff6b35","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),e("path",{d:"M12 7H7.5C6.83696 7 6.20107 6.73661 5.73223 6.26777C5.26339 5.79893 5 5.16304 5 4.5C5 3.83696 5.26339 3.20107 5.73223 2.73223C6.20107 2.26339 6.83696 2 7.5 2C11 2 12 7 12 7Z",stroke:"#ff6b35","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"}),e("path",{d:"M12 7H16.5C17.163 7 17.7989 6.73661 18.2678 6.26777C18.7366 5.79893 19 5.16304 19 4.5C19 3.83696 18.7366 3.20107 18.2678 2.73223C17.7989 2.26339 17.163 2 16.5 2C13 2 12 7 12 7Z",stroke:"#ff6b35","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),e("div",Ot,[e("span",Dt,m(p.bonusTitle||"추가 구성"),1),e("h4",null,[B(m(p.bonusSummary)+" ",1),e("div",Nt,[v[13]||(v[13]=e("span",{class:"ir-info-icon"},[e("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[e("circle",{cx:"12",cy:"12",r:"10",stroke:"currentColor","stroke-width":"2"}),e("path",{d:"M12 17V17.01M12 14C12 14 12 12.5 13 11.5C14 10.5 14.5 9 13.5 8C12.5 7 11 7.5 10.5 8.5",stroke:"currentColor","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})])],-1)),S(Q,{name:"fade"},{default:P(()=>[b.value===p.id&&p.bonusTooltip?(r(),d("div",{key:0,class:$(["ir-tooltip",[`is-${l.value}`]]),onClick:v[2]||(v[2]=_(()=>{},["stop"]))},[B(m(p.bonusTooltip)+" ",1),v[12]||(v[12]=e("div",{class:"ir-tooltip-arrow"},null,-1))],2)):h("",!0)]),_:2},1024)])])])])],40,Rt)):h("",!0)])],10,nt))),128))])])):h("",!0)]),_:1})],2))}}),At=D(qt,[["__scopeId","data-v-2ce32265"]]),Et={class:"ir-section-left"},zt={class:"ir-section-right"},Vt={key:0,class:"ir-section-summary"},xt={key:0,class:"ir-section-body"},_t={class:"ir-date-group"},Ht=["value","checked","disabled","onChange"],jt={class:"ir-date-label"},Ut={key:0,class:"ir-date-disabled-reason"},Ft=j({__name:"Step3Date",props:{isOpen:{type:Boolean,default:!1},isLocked:{type:Boolean,default:!1},isDone:{type:Boolean,default:!1},summary:{default:""},availableDates:{default:()=>[]},selectedDateValue:{default:null}},emits:["toggle","select-date"],setup(t){return(b,l)=>(r(),d("section",{class:$(["ir-section",{"is-locked":t.isLocked}])},[e("div",{class:"ir-section-header",onClick:l[0]||(l[0]=c=>b.$emit("toggle"))},[e("div",Et,[e("span",{class:$(["ir-step-number",{"is-done":t.isDone}])},"3",2),l[1]||(l[1]=e("h2",{class:"ir-section-title"},"희망 서비스 날짜",-1))]),e("div",zt,[!t.isOpen&&t.summary?(r(),d("span",Vt,m(t.summary),1)):h("",!0),e("span",{class:$(["ir-section-arrow",{"is-open":t.isOpen}])},[...l[2]||(l[2]=[e("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[e("path",{d:"M5 8L10 13L15 8",stroke:"#999","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],2)])]),S(H,null,{default:P(()=>[t.isOpen?(r(),d("div",xt,[e("div",_t,[(r(!0),d(I,null,M(t.availableDates,c=>(r(),d("label",{key:c.value,class:$(["ir-date-option",{"is-selected":t.selectedDateValue===c.value,"is-disabled":c.disabled}])},[e("input",{type:"radio",name:"service-date",value:c.value,checked:t.selectedDateValue===c.value,disabled:c.disabled,onChange:u=>b.$emit("select-date",c.value)},null,40,Ht),e("span",jt,m(c.label),1),c.disabled&&c.disabledReason?(r(),d("span",Ut,m(c.disabledReason),1)):h("",!0)],2))),128))])])):h("",!0)]),_:1})],2))}}),Kt=D(Ft,[["__scopeId","data-v-b9f3b72d"]]),Wt={class:"ir-section-left"},Zt={class:"ir-section-right"},Gt={key:0,class:"ir-section-summary"},Qt={key:0,class:"ir-section-body"},Yt={class:"ir-time-grid",role:"radiogroup","aria-label":"희망 서비스 시간"},Jt=["aria-checked","onClick"],Xt={class:"ir-time-title"},eo=j({__name:"Step4Time",props:{isOpen:{type:Boolean,default:!1},isLocked:{type:Boolean,default:!1},isDone:{type:Boolean,default:!1},summary:{default:""},selectedHopeSequence:{default:ce},hopeSequenceOptions:{default:()=>[{label:"시간대 상관없음",value:ce}]}},emits:["toggle","select-time"],setup(t){return(b,l)=>(r(),d("section",{class:$(["ir-section",{"is-locked":t.isLocked}])},[e("div",{class:"ir-section-header",onClick:l[0]||(l[0]=c=>b.$emit("toggle"))},[e("div",Wt,[e("span",{class:$(["ir-step-number",{"is-done":t.isDone}])},"4",2),l[1]||(l[1]=e("h2",{class:"ir-section-title"},"희망 서비스 시간",-1))]),e("div",Zt,[!t.isOpen&&t.summary?(r(),d("span",Gt,m(t.summary),1)):h("",!0),e("span",{class:$(["ir-section-arrow",{"is-open":t.isOpen}])},[...l[2]||(l[2]=[e("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none"},[e("path",{d:"M5 8L10 13L15 8",stroke:"#999","stroke-width":"2","stroke-linecap":"round","stroke-linejoin":"round"})],-1)])],2)])]),S(H,null,{default:P(()=>
1[t.isOpen?(r(),d("div",Qt,[e("div",Yt,[(r(!0),d(I,null,M(t.hopeSequenceOptions,c=>(r(),d("button",{key:c.value,class:$(["ir-time-btn",{"is-selected":t.selectedHopeSequence===c.value}]),type:"button",role:"radio","aria-checked":t.selectedHopeSequence===c.value,onClick:u=>b.$emit("select-time",c.value)},[e("span",Xt,m(c.label),1)],10,Jt))),128))]),l[3]||(l[3]=e("div",{class:"ir-time-info-box"},[e("div",{class:"ir-info-icon"},[e("svg",{width:"18",height:"18",viewBox:"0 0 18 18",fill:"none"},[e("circle",{cx:"9",cy:"9",r:"8",stroke:"#0064ff","stroke-width":"1.5"}),e("path",{d:"M9 5.5V10",stroke:"#0064ff","stroke-width":"1.5","stroke-linecap":"round"}),e("circle",{cx:"9",cy:"12.5",r:"0.75",fill:"#0064ff"})])]),e("div",{class:"ir-info-content"},[e("p",{class:"ir-info-main"},[B("현재 즉시 예약은 "),e("strong",null,'"시간대 상관없음"'),B("으로만 신청 가능합니다.")]),e("p",{class:"ir-info-sub"},[B(" 원하는 시간대가 있으시다면, "),e("a",{href:"/inquiry/list",class:"ir-time-link",target:"_blank",rel:"noopener noreferrer"},"문의하기"),B("를 통해 진행해주세요. ")]),e("hr",{class:"ir-info-divider"}),e("ul",{class:"ir-info-list"},[e("li",null,[B("시간대 상관 없음은 84타입 기준 "),e("b",{class:"underline"},"오전10시~오후2시"),B(" 사이에 시작하는 서비스로 자동 배정됩니다.")]),e("li",null,"시간대 상관 없음 경우, 점검일로부터 2~3일 전, 시간 확정 안내 메세지가 전송됩니다.")])])],-1))])):h("",!0)]),_:1})],2))}}),so=D(eo,[["__scopeId","data-v-ef2dcc75"]]),to={class:"ir-section ir-section-terms"},oo=["checked"],no=["checked"],io=["checked"],lo={__name:"Step5Terms",props:{privacy:Boolean,marketing:Boolean,adConsent:Boolean},emits:["update:privacy","update:marketing","update:adConsent","toggle-all"],setup(t){return(b,l)=>(r(),d("section",to,[S(Cs,{agreementText:"전체 동의하기",inputName:"이용약관","privacy-value":t.privacy,"marketing-value":t.marketing,"ad-consent-value":t.adConsent,onToggleAll:l[3]||(l[3]=c=>b.$emit("toggle-all",c))},{privacy:P(()=>[e("input",{id:"chk_01",type:"checkbox",checked:t.privacy,onChange:l[0]||(l[0]=c=>b.$emit("update:privacy",c.target.checked))},null,40,oo)]),marketing:P(()=>[e("input",{id:"chk_02",type:"checkbox",checked:t.marketing,onChange:l[1]||(l[1]=c=>b.$emit("update:marketing",c.target.checked))},null,40,no)]),adConsent:P(()=>[e("input",{id:"chk_03",type:"checkbox",checked:t.adConsent,onChange:l[2]||(l[2]=c=>b.$emit("update:adConsent",c.target.checked))},null,40,io)]),_:1},8,["privacy-value","marketing-value","ad-consent-value"])]))}},ao=D(lo,[["__scopeId","data-v-b62f17c9"]]),ro=["aria-busy"],uo={class:"ir-bs-body"},co={class:"ir-bs-row"},mo={class:"ir-bs-value"},vo={class:"ir-bs-value"},po={class:"ir-bs-row"},fo={class:"ir-bs-value"},bo={class:"ir-bs-row"},yo={class:"ir-bs-value"},ko={class:"ir-bs-row"},ho={class:"ir-bs-value"},go={class:"ir-bs-row"},$o={class:"ir-bs-value"},wo={class:"ir-bs-row"},So={class:"ir-bs-value"},Co={class:"ir-bs-row ir-bs-total"},To={class:"ir-bs-value"},Bo={key:0,class:"ir-bs-toss"},Lo={key:0,class:"ir-bs-toss-error"},Po={class:"ir-bs-actions"},Io=["disabled"],Ro=["disabled"],Mo=j({__name:"PaymentBottomSheet",props:{show:{type:Boolean},selectedService:{},selectedSizePrice:{},selectedAddons:{},dateSummary:{},hopeSequenceSummary:{},totalPriceLabel:{},tossMode:{type:Boolean}},emits:["close","confirm"],setup(t){const b=t,l=C(!1);return Ue(()=>b.show,async c=>{if(b.tossMode)if(c){l.value=!1,await Fe();try{await Qe({clientKey:Ke().public.tossClientKey,amount:Ye.value,methodSelector:"#toss-payment-methods",agreementSelector:"#toss-agreement"})}catch(u){console.error("[toss] 결제위젯 렌더 실패",u),l.value=!0}}else Je()}),(c,u)=>(r(),ae(Q,{name:"bs"},{default:P(()=>[t.show?(r(),d("div",{key:0,class:"ir-bs-overlay",onClick:u[2]||(u[2]=_(k=>!o(T)&&c.$emit("close"),["self"]))},[e("div",{class:"ir-bs-sheet","aria-busy":o(T)},[u[15]||(u[15]=e("div",{class:"ir-bs-handle-bar"},[e("span")],-1)),u[16]||(u[16]=e("h2",{class:"ir-bs-title"},"신청 정보를 확인해주세요",-1)),e("div",uo,[e("div",co,[u[3]||(u[3]=e("span",{class:"ir-bs-label"}
1,"신청 서비스",-1)),e("span",mo,m(t.selectedService?.name)+" · "+m(t.selectedSizePrice?.label),1)]),(r(!0),d(I,null,M(t.selectedAddons,k=>(r(),d("div",{key:k.id,class:"ir-bs-row ir-bs-row-addon"},[u[4]||(u[4]=e("span",{class:"ir-bs-label"},"부가옵션",-1)),e("span",vo,m(k.label),1)]))),128)),e("div",po,[u[5]||(u[5]=e("span",{class:"ir-bs-label"},"서비스 날짜",-1)),e("span",fo,m(t.dateSummary),1)]),e("div",bo,[u[6]||(u[6]=e("span",{class:"ir-bs-label"},"서비스 시간",-1)),e("span",yo,m(t.hopeSequenceSummary),1)]),u[13]||(u[13]=e("div",{class:"ir-bs-divider"},null,-1)),e("div",ko,[u[7]||(u[7]=e("span",{class:"ir-bs-label"},"계약자 성함",-1)),e("span",ho,m(o(ie)),1)]),e("div",go,[u[8]||(u[8]=e("span",{class:"ir-bs-label"},"연락처",-1)),e("span",$o,m(o(Ze)),1)]),e("div",wo,[u[9]||(u[9]=e("span",{class:"ir-bs-label"},"점검 대상",-1)),e("span",So,m(o(x))+" · "+m(o(Ge)),1)]),u[14]||(u[14]=e("div",{class:"ir-bs-divider"},null,-1)),e("div",Co,[u[10]||(u[10]=e("span",{class:"ir-bs-label"},"총 결제 금액",-1)),e("span",To,m(t.totalPriceLabel),1)]),t.tossMode?(r(),d("div",Bo,[u[11]||(u[11]=e("div",{id:"toss-payment-methods"},null,-1)),u[12]||(u[12]=e("div",{id:"toss-agreement"},null,-1)),o(l)?(r(),d("p",Lo," 결제 수단을 불러오지 못했습니다. 네트워크 확인 후 다시 열어주세요. ")):h("",!0)])):h("",!0)]),e("div",Po,[e("button",{class:"ir-bs-cancel",disabled:o(T),onClick:u[0]||(u[0]=k=>c.$emit("close"))},"취소",8,Io),e("button",{class:"ir-bs-confirm",disabled:o(T)||t.tossMode&&!o(le),onClick:u[1]||(u[1]=k=>c.$emit("confirm"))},m(o(T)?"결제 진행중":t.tossMode&&!o(le)?"결제 수단 불러오는 중...":"결제하기"),9,Ro)])],8,ro)])):h("",!0)]),_:1}))}}),Oo=D(Mo,[["__scopeId","data-v-288ae5a3"]]),Do={class:"ir-modal-box"},No={class:"ir-modal-info"},qo={class:"ir-modal-info-row"},Ao={class:"ir-modal-info-value"},Eo={class:"ir-modal-info-row"},zo={class:"ir-modal-info-value"},Vo={class:"ir-modal-actions"},xo=j({__name:"DuplicateModal",props:{show:Boolean,maskedName:String,maskedPhone:String},emits:["close"],setup(t){return(b,l)=>(r(),ae(Q,{name:"modal"},{default:P(()=>[t.show?(r(),d("div",{key:0,class:"ir-modal-overlay",onClick:l[1]||(l[1]=_(c=>b.$emit("close"),["self"]))},[e("div",Do,[l[5]||(l[5]=e("div",{class:"ir-modal-icon"},"!",-1)),l[6]||(l[6]=e("h3",{class:"ir-modal-title"},"이미 신청된 동호수입니다",-1)),l[7]||(l[7]=e("p",{class:"ir-modal-desc"}," 해당 동호수로 이미 신청한 내역이 있습니다. ",-1)),e("div",No,[e("div",qo,[l[2]||(l[2]=e("span",{class:"ir-modal-info-label"},"신청자",-1)),e("span",Ao,m(t.maskedName),1)]),e("div",Eo,[l[3]||(l[3]=e("span",{class:"ir-modal-info-label"},"연락처",-1)),e("span",zo,m(t.maskedPhone),1)])]),l[8]||(l[8]=e("p",{class:"ir-modal-notice"},[B(" 본인이 소유자이거나 문의사항이 있으시면"),e("br"),B(" 고객센터로 문의해주세요. ")],-1)),e("div",Vo,[e("button",{class:"ir-modal-btn ir-modal-btn-secondary",onClick:l[0]||(l[0]=c=>b.$emit("close"))},"확인"),l[4]||(l[4]=e("a",{class:"ir-modal-btn ir-modal-btn-primary",href:"https://homecheck.kr/inquiry",target:"_blank",rel:"noopener"}," 문의하기 ",-1))])])])):h("",!0)]),_:1}))}}),_o=D(xo,[["__scopeId","data-v-c5cc39b8"]]),Ho={key:0,class:"ir-disabled-overlay"},jo={key:1,class:"ir-page"},Uo={class:"ir-container-wrapper"},Fo={key:0,class:"ir-container ir-skeleton-container"},Ko={key:1,class:"ir-container"},Wo={class:"ir-header"},Zo={key:0,class:"ir-section ir-section-payment"},Go=["disabled"],Qo={key:1,class:"ir-resume-overlay"},Yo={class:"ir-resume-modal"},Jo={key:0,class:"ir-resume-summary"},Xo={class:"ir-resume-unit"},en={class:"ir-resume-details"},sn={class:"is-total"},tn={class:"ir-resume-actions"},on=["disabled"],nn=["disabled"],ln=j({__name:"index",setup(t){const b=C(!1),l=C(!1),c=C(!1),u=C(!1),k=C(!1),v=C(null),p=C(!1),a=C(null),i=C(!1),w=C(""),R=C(""),{showToast:g}=Ts();$e(async()=>{const n=We();Xe(n.query),es(),k.value=!1,N.value=!0;const s=n.query.token?String(n.query.token):null;if(console.log(s),!s){Z.value=!0,N.value=!1;return}const y=ss(s);if(console.log(y),!y){Z.value=!0,N.value=!1;return}if((await ts(y.data.building)).isDisabled){Z.value=!0,N.value=!1;return}N.value=!1,W()});const U=E(()=>ls(ve.value,oe.value,te.value,se.value)),re=E(()=>!!ne.value),we=E(()=>!!pe.value),Se=E(()=>{const n=a.value;if(!n)return"옵션 정보 없음";const s=n.addons?.map(f=>
1f.label).filter(Boolean)??[],y=[n.sizeLabel,...s].filter(Boolean);return y.length?y.join(" · "):"옵션 정보 없음"}),Y=E(()=>G.value.trim()?A.value.trim()?q.value.trim()?fe.value.some(y=>y.number.trim().length>0)?oe.value?te.value?be.value?.addonOptions?.length&&se.value.length===0?{label:"세대 옵션을 선택해주세요",action:"open-service",ready:!1}:ne.value?k.value?b.value?{label:`${ye.value} 결제하기`,action:"pay",ready:!0}:{label:"전체 동의하고 결제하기",action:"agree-and-pay",ready:!0}:{label:"희망 시간을 확인해주세요",action:"open-time",ready:!1}:{label:"희망 날짜를 선택해주세요",action:"open-date",ready:!1}:{label:"평형을 선택해주세요",action:"open-service",ready:!1}:{label:"서비스를 선택해주세요",action:"open-service",ready:!1}:{label:"전화번호를 입력해주세요",action:"focus-phone",ready:!1}:{label:"호를 입력해주세요",action:"focus-ho",ready:!1}:{label:"동을 입력해주세요",action:"focus-dong",ready:!1}:{label:"계약자 이름을 입력해주세요",action:"focus-name",ready:!1}),Ce=E(()=>({"is-ready":Y.value.ready}));function F(n){return n==="contractor"?!0:n==="service"?V.value:n==="date"?V.value&&U.value:n==="time"?V.value&&U.value&&re.value:!0}function K(n){F(n)&&(L(O.value===n?null:n),n==="time"&&(k.value=!0))}function Te({index:n,value:s}){ps(n,s),s.length===13&&V.value&&O.value==="contractor"&&setTimeout(()=>L("service"),400)}function Be(){setTimeout(()=>{const y=document.activeElement?.closest(".ir-section")?.querySelector(".ir-step-number");y&&y.textContent.trim()==="1"||V.value&&O.value==="contractor"&&L("service")},150)}function Le(n){fs(n)}function Pe(n){bs(n),U.value&&O.value==="service"&&setTimeout(()=>L("date"),400)}function Ie(n){ys(n),U.value&&O.value==="service"&&setTimeout(()=>L("date"),400)}function Re(n){ks(n),setTimeout(()=>{L("time"),k.value=!0},400)}function Me(n){hs(n),k.value=!0}function Oe(n){b.value=n,l.value=n,c.value=n}function W(){if(J.value)return;const n=os(x.value).find(s=>s.resumeToken&&s.orderId)??null;a.value=n,p.value=!!n}function De(n){const s=new Date(n);return Number.isNaN(s.getTime())?"저장된 결제 정보":`${s.toLocaleDateString("ko-KR")} ${s.toLocaleTimeString("ko-KR",{hour:"2-digit",minute:"2-digit"})}`}function Ne(n){return typeof n!="number"?"금액 정보 없음":`${n.toLocaleString("ko-KR")}원`}async function qe(){if(T.value)return;const n=a.value;if(!n){g("이어서 결제할 주문이 없습니다.");return}const s=await me(n.resumeToken);if(s.success&&X(s,{serviceName:n.serviceName,sizeLabel:n.sizeLabel})){p.value=!1;return}ee(n.resumeToken),W(),g(s.error?.message||"기존 결제를 이어갈 수 없어 새 주문으로 진행해주세요.")}async function Ae(){if(T.value)return;const n=a.value;if(!n){p.value=!1;return}if(!n.irOrderId){ee(n.resumeToken),W(),g("이전 결제 정보를 정리했습니다. 새 주문을 진행해주세요.");return}const s=await ns(n.irOrderId);if(!s.success){g(s.error?.message||"이전 주문 취소에 실패했습니다. 잠시 후 다시 시도해주세요.");return}is(n.irOrderId),W(),g("이전 주문을 취소했습니다. 새 주문을 진행해주세요.")}function Ee(){const{action:n}=Y.value;if(n==="focus-name")L("contractor"),setTimeout(()=>{const y=v.value?.$el?.querySelector('input[placeholder*="계약자"]');y?.scrollIntoView({behavior:"smooth",block:"center"}),y?.focus()},350);else if(n==="focus-dong")L("contractor"),setTimeout(()=>{const y=v.value?.$el?.querySelector('input[placeholder*="동"]');y?.scrollIntoView({behavior:"smooth",block:"center"}),y?.focus()},350);else if(n==="focus-ho")L("contractor"),setTimeout(()=>{const y=v.value?.$el?.querySelector('input[placeholder*="호"]');y?.scrollIntoView({behavior:"smooth",block:"center"}),y?.focus()},350);else if(n==="focus-phone")L("contractor"),setTimeout(()=>{const y=v.value?.$el?.querySelector('input[type="tel"]');y?.scrollIntoView({behavior:"smooth",block:"center"}),y?.focus()},350);else if(n==="open-service")L("service"),setTimeout(()=>{document.querySelector(".ir-container-wrapper")?.scrollTo({top:0,behavior:"smooth"})},100);else if(n==="open-date")L("date");else if(n==="open-time")L("time"),k.value=!0;else if(n==="agree-and-pay"||n==="pay"){const s=ge(x.value,A.value.trim(),q.value.trim());if(s){w.value=s.maskedName,R.value=s.maskedPhone,i.value=!0;return}n==="agree-and-pay"&&(b.value=!0,l.value=!0,c.value=!0),u.value=!0}}function ze(){T.value||(u.value=!1)}
1async function Ve(){if(T.value)return;if(J.value&&!le.value){g("결제 수단을 불러오는 중입니다. 잠시 후 다시 시도해주세요.");return}const n=ge(x.value,A.value.trim(),q.value.trim());if(n){w.value=n.maskedName,R.value=n.maskedPhone,g("이미 신청된 세대입니다. 접수 정보를 확인해주세요."),i.value=!0;return}const s=gs({termsPrivacy:b.value,termsMarketing:l.value,termsAdConsent:c.value});if(console.log(s),!s){g("필수 정보가 누락되었습니다. 다시 확인해주세요.");return}const y=$s(s);if(y){const de=await me(y);if(de.success&&X(de,{serviceName:s.serviceName,sizeLabel:s.sizeLabel})){u.value=!1;return}ee(y)}const f=await ws(s);if(console.log(f),f.success&&f.orderId){if(X(f)){u.value=!1;return}return}if(f.error){if(f.error.code==="DUPLICATE_UNIT"){Ss({building:x.value,dong:A.value.trim(),ho:q.value.trim(),maskedName:f.error.maskedName||"",maskedPhone:f.error.maskedPhone||""}),w.value=f.error.maskedName||"",R.value=f.error.maskedPhone||"",g(f.error.message||"이미 신청된 세대입니다. 접수 정보를 확인해주세요."),i.value=!0;return}g(f.error.message||"알 수 없는 오류가 발생했습니다. 잠시 후 다시 시도해주세요.");return}g("결제 요청 처리에 실패했습니다. 잠시 후 다시 시도해주세요.")}function xe(){window.history.back()}return(n,s)=>{const y=_e;return o(Z)?(r(),d("div",Ho,[e("div",{class:"ir-disabled-modal"},[s[12]||(s[12]=e("div",{class:"ir-disabled-icon"},"⚠️",-1)),s[13]||(s[13]=e("h2",null,"예약 이용 불가",-1)),s[14]||(s[14]=e("p",null,[B("현재 해당 아파트의 사전점검 예약 서비스 이용이 불가능합니다."),e("br"),B("고객센터로 문의해 주세요.")],-1)),e("button",{class:"ir-disabled-btn",onClick:xe},"확인")])])):(r(),d("div",jo,[s[27]||(s[27]=e("div",{class:"ir-top-banner"},[e("p",{class:"ir-top-notice"},[B("본 페이지는 "),e("b",null,"사전점검 일정과 상황에 따라 이용이 불가능"),B("할 수 있습니다.")])],-1)),e("div",Uo,[o(N)?(r(),d("div",Fo,[s[15]||(s[15]=e("div",{class:"ir-header"},[e("div",{class:"skeleton skeleton-title"}),e("div",{class:"skeleton skeleton-subtitle"})],-1)),(r(),d(I,null,M(3,f=>e("div",{key:f,class:"skeleton skeleton-section"})),64))])):(r(),d("div",Ko,[e("div",Wo,[e("h1",null,m(o(x)||"아파트")+" - 즉시 예약하기",1),s[16]||(s[16]=e("p",{class:"ir-header-sub"},"문의 없이 즉시 서비스를 예약할 수 있습니다.",-1))]),S(Js,{ref_key:"step1Ref",ref:v,name:o(G),"onUpdate:name":s[0]||(s[0]=f=>z(G)?G.value=f:null),dong:o(A),"onUpdate:dong":s[1]||(s[1]=f=>z(A)?A.value=f:null),ho:o(q),"onUpdate:ho":s[2]||(s[2]=f=>z(q)?q.value=f:null),"is-open":o(O)==="contractor","is-valid":o(V),summary:o(ie),"phone-entries":o(fe),onToggle:s[3]||(s[3]=f=>K("contractor")),"onUpdate:phoneNumber":Te,"onUpdate:phoneRelation":s[4]||(s[4]=f=>o(ds)(f.index,f.value)),onAddPhone:o(rs),onRemovePhone:o(as),onBlur:Be},null,8,["name","dong","ho","is-open","is-valid","summary","phone-entries","onAddPhone","onRemovePhone"]),S(At,{"is-open":o(O)==="service","is-locked":!F("service"),"is-done":o(U),summary:o(us),"service-list":o(ve),"selected-service-id":o(oe),"selected-size-value":o(te),"selected-addon-ids":o(se),onToggle:s[5]||(s[5]=f=>K("service")),onSelectService:Le,onSelectSize:Pe,onToggleAddon:Ie},null,8,["is-open","is-locked","is-done","summary","service-list","selected-service-id","selected-size-value","selected-addon-ids"]),S(Kt,{"is-open":o(O)==="date","is-locked":!F("date"),"is-done":o(re),summary:o(ke),"available-dates":o(cs),"selected-date-value":o(ne),onToggle:s[6]||(s[6]=f=>K("date")),onSelectDate:Re},null,8,["is-open","is-locked","is-done","summary","available-dates","selected-date-value"]),S(so,{"is-open":o(O)==="time","is-locked":!F("time"),"is-done":o(we),summary:o(he),"selected-hope-sequence":o(pe),onToggle:s[7]||(s[7]=f=>K("time")),onSelectTime:Me},null,8,["is-open","is-locked","is-done","summary","selected-hope-sequence"]),S(ao,{privacy:o(b),"onUpdate:privacy":s[8]||(s[8]=f=>z(b)?b.value=f:null),marketing:o(l),"onUpdate:marketing":s[9]||(s[9]=f=>z(l)?l.value=f:null),"ad-consent":o(c),"onUpdate:adConsent":s[10]||(s[10]=f=>z(c)?c.value=f:null),onToggleAll:Oe}
1,null,8,["privacy","marketing","ad-consent"])]))]),S(Oo,{show:o(u),"contractor-summary":o(ie),"selected-service":o(be),"selected-size-price":o(vs),"selected-addons":o(ms),"date-summary":o(ke),"hope-sequence-summary":o(he),"total-price-label":o(ye),"toss-mode":o(J),onClose:ze,onConfirm:Ve},null,8,["show","contractor-summary","selected-service","selected-size-price","selected-addons","date-summary","hope-sequence-summary","total-price-label","toss-mode"]),o(N)?h("",!0):(r(),d("section",Zo,[e("button",{class:$(["ir-pay-btn",o(Ce)]),disabled:o(T),onClick:Ee},m(o(T)?"처리 중...":o(Y).label),11,Go)])),S(_o,{show:o(i),"masked-name":o(w),"masked-phone":o(R),onClose:s[11]||(s[11]=f=>i.value=!1)},null,8,["show","masked-name","masked-phone"]),o(p)?(r(),d("div",Qo,[e("div",Yo,[s[23]||(s[23]=e("p",{class:"ir-resume-eyebrow"},"완료되지 않은 결제가 있습니다.",-1)),s[24]||(s[24]=e("h2",null,"이어서 결제하시겠어요?",-1)),s[25]||(s[25]=e("p",{class:"ir-resume-description"}," 완료되지 않은 즉시예약 결제가 있습니다. 이어서 결제하거나 이전 주문을 취소하고 새로 주문할 수 있습니다. ",-1)),s[26]||(s[26]=e("hr",null,null,-1)),o(a)?(r(),d("div",Jo,[e("div",Xo,[s[17]||(s[17]=e("strong",null,"이전 결제 정보",-1)),e("small",null,m(De(o(a).createdAt)),1)]),e("dl",en,[e("div",null,[s[18]||(s[18]=e("dt",null,"점검 대상",-1)),e("dd",null,m(o(a).building)+" "+m(o(a).dong)+"동 "+m(o(a).ho)+"호",1)]),e("div",null,[s[19]||(s[19]=e("dt",null,"서비스 날짜",-1)),e("dd",null,m(o(a).dateLabel||"날짜 정보 없음"),1)]),e("div",null,[s[20]||(s[20]=e("dt",null,"신청 서비스",-1)),e("dd",null,m(o(a).serviceName||"서비스 정보 없음"),1)]),e("div",null,[s[21]||(s[21]=e("dt",null,null,-1)),e("dd",null,m(o(Se)),1)]),e("div",sn,[s[22]||(s[22]=e("dt",null,"결제 금액",-1)),e("dd",null,m(Ne(o(a).totalPrice)),1)])])])):h("",!0),e("div",tn,[e("button",{class:"ir-resume-secondary",type:"button",disabled:o(T),onClick:Ae},m(o(T)?"처리 중...":"새로 주문하기"),9,on),e("button",{class:"ir-resume-primary",type:"button",disabled:o(T),onClick:qe},m(o(T)?"처리 중...":"이어서 결제하기"),9,nn)])])])):h("",!0),S(y)]))}}}),hn=D(ln,[["__scopeId","data-v-fd5827c9"]]);export{hn 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.