PageSourceSearch

https://reservation.palazzoversace.mo/_nuxt/DPaVEsFc.js

js palazzoversace.mo collected 2026-10-06 17:25:32 UTC 65,859 bytes, 2 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BzRdgxU1.js","./L1BY2RrO.js","./entry.CTJRVgj3.css"])))=>i.map(i=>d[i]);
2import{_ as We,b as Ue,a as nt,r as u,e as Pe,f as de,c as P,o as v,l as e,m as c,n as j,P as s,t as l,S as fe,B as $,z as tt,A as it,J as we,K as Re,C as oe,R as ve,M as dt,L as Pt,I as Tt,p as ce,W as yt,k as ct,N as be,x as Ne,Y as bt,Z as wt,V as It,q as Ye,$ as Dt,X as Ae,u as St,O as Jt,a2 as Nt,a3 as _t,a4 as ut,a5 as Lt,a6 as Rt,E as Ft,a7 as gt,a8 as pt,v as Le,a9 as Et,w as ot,i as Ct,d as Mt,g as Vt,h as ht,j as Yt,D as At,F as Ot,y as Bt,aa as He,Q as st,T as jt,ab as qt,s as Ht,ac as Ut,ad as Wt,ae as Gt}from"./L1BY2RrO.js";import{R as Kt,C as zt}from"./r4WWDnOX.js";/* empty css        */const Xt={class:"booking-summary pb-[20px] md:pb-[40px] border-b border-primary2"},Zt={class:"text-[18px] md:text-[22px] text-booking-summary-text flex items-center lg:block mb-[8px] lg:mb-0 lg:text-[26px]"},Qt={class:"text-primary2 flex items-center w-[67%]"},ea={class:"text-[14px] md:text-[16px] text-[#3F4644]"},ta={class:"accordion-content mt-[20px]"},aa={class:"text-[16px] text-[#505050] flex flex-1"},la={class:"flex flex-1 lg:flex-row flex-col"},sa={class:"text-[18px] mb-[8px] md:mb-0 text-booking-summary-text leading-[32px] flex items-center justify-between lg:items-start"},oa={class:"md:hidden"},na={class:"flex items-center"},ra={class:"text-[14px] md:text-[16px] text-[#505050]"},ia={class:"text-[#505050] ml-[12px] text-[18px]"},ca={class:"p-2 px-[20px]"},da={class:"text-primary text-[16px] md:text-[20px] pb-[12px] border-b border-[#e1e1e1]"},ua={class:""},pa={class:"flex justify-between py-[12px] border-b border-[#e1e1e1]"},ma={class:"flex justify-between pt-[12px]"},fa={class:"flex flex-col lg:ml-[40px] flex-1"},va={class:"text-[14px] md:text-[16px] text-[#505050] leading-[24px] md:leading-[32px]"},xa={class:"text-[14px] md:text-[16px] text-[#505050] leading-[24px] md:leading-[32px] room-info"},ga={class:"room-info__name inline"},ha={key:0,class:"text-[16px] text-[#505050] mx-[5px]"},ya=["innerHTML"],ba={class:"flex items-center text-[14px] md:text-[16px] text-[#7D8A8A] leading-[24px] md:leading-[32px]"},wa={class:"hidden md:block"},_a={class:"flex items-center"},Ca={class:"p-2 px-[20px]"},$a={class:"text-primary text-[20px] pb-[12px] border-b border-[#e1e1e1]"},ka={class:""},Pa={class:"flex justify-between py-[12px] border-b border-[#e1e1e1]"},Ta={class:"flex justify-between pt-[12px]"},Ia={class:"text-[14px] text-[#505050] md:text-right"},Da={__name:"BookingSummary",props:{rooms:{type:Array,required:!0}},setup(T,{emit:M}){const{t:ne,local:pe}=Ue(),{$sessionStorage:o,$eventBus:_e}=nt();let K=o.getItem("l")||"en",V=o.getItem("currency")||{name:ne("rooms.mop"),currencyCode:"MOP"};const I=u({language:K,...V}),{skin:X}=Pe(),n=u(!1);u(o.getItem("currency").name||"MOP");const H=()=>{n.value=!n.value},Z=de(()=>{switch(K){case"en":return"nameEn";case"sc":return"name";case"tc":return"nameTc";case"jp":return"nameJp";case"kr":return"nameKr";default:return"nameEn"}}),w=f=>{var t,p,C,y;let D;const g=ct();g==="sc"||g==="tc"||g==="ja"||g==="jp"?D="YYYY年M月D日":g==="ko"||g==="kr"?D="YYYY년 M월 D일":D="D MMM YYYY";let q,Y;return g==="sc"||g==="tc"||g==="ja"||g==="jp"||g==="ko"||g==="kr"?(q=be((t=f.detailJson)==null?void 0:t.startTime).format(D),Y=be((p=f.detailJson)==null?void 0:p.endTime).format(D)):(q=be((C=f.detailJson)==null?void 0:C.startTime).format("D MMM YYYY"),Y=be((y=f.detailJson)==null?void 0:y.endTime).format("D MMM YYYY")),`${q} - ${Y}`},N=f=>{let D;const g=ct();g==="sc"||g==="tc"||g==="ja"||g==="jp"?D="YYYY年M月D日":g==="ko"||g==="kr"?D="YYYY년 M월 D일":D="D MMM YYYY";let q;return g==="sc"||g==="tc"||g==="ja"||g==="jp"||g==="ko"||g==="kr"?q=be(f.date).format(D):q=be(f.date).format("D MMM YYYY"),console.log(q,"222"),`${q}`};return(f,D)=>{const g=dt,q=Pt,Y=Tt("popover-scroll");return v(),P("div",Xt,[e("div",{class:"flex lg:justify-between lg:items-center flex-col cursor-pointer lg:flex-row",onClick:fe(H,["stop"])},[e("div",Zt,[e("span",{class:j({"!font-[400] !text-[#000]":s(X)=="tkl"})},l(f.$t("payment.BookingSummary")),3),e("img",{class:j(["lg:hidden inline-block transform transition-transform duration-200 w-[20px] md:w-[24px] h-[20px] md:h-[24px] ml-auto",{"rotate-180":n.value}]),src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/SVG%402x.png",alt:""},null,2)]),e("div",Qt,[e("span",ea,l(f.$t("payment.totalRoomsSelected",{count:T.rooms.length})),1),e("img",{class:j(["lg:inline-block hidden transform transition-transform duration-200 w-[20px] md:w-[24px] h-[20px] md:h-[24px] ml-auto",{"rotate-180":n.value}]),src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/SVG%402x.png",alt:""},null,2)])]),c(yt,{name:"accordion"},{default:$(()=>[tt(e("div",ta,[(v(!0),P(we,null,Re(T.rooms,(t,p)=>{var C,y,S,U,F,re,O,te,xe,L,Oe,Be,Te,Ce,Fe,se,Q,$e,Ie;return v(),P("div",{key:p,class:"border-t border-primary2 py-[20px] last:pb-0 ml-auto w-full lg:w-[67%]"},[e("div",aa,[e("div",la,[e("div",sa,[e("span",{class:j({"!font-[400] !text-[#000]":s(X)=="tkl"})},l(f.$t("payment.room"))+" "+l(p+1),3),e("div",oa,[e("div",na,[e("div",ra,l(((C=t==null?void 0:t.detailJson)==null?void 0:C.rateDailies.length)>1?f.$t("payment.totalNightsStr",{count:(y=t==null?void 0:t.detailJson)==null?void 0:y.rateDailies.length}):f.$t("payment.totalNights",{count:(S=t==null?void 0:t.detailJson)==null?void 0:S.rateDailies.length})),1),e("div",ia,l(s(V)[Z.value])+" "+l(((U=t==null?void 0:t.detailJson)==null?void 0:U.totalPriceStr)||((F=t==null?void 0:t.detailJson)==null?void 0:F.totalPrice)),1),tt((v(),oe(q,{trigger:"click","popper-class":"price-detail-popover !w-[358px] md:!w-[440px]","show-arrow":!1,placement:"bottom",teleported:!0,"popper-options":{strategy:"fixed"}},{reference:$(()=>
2[c(g,{name:"more",class:"!w-[20px] !h-[20px] ml-[8px] cursor-pointer relative !text-more-primary",color:"var(--more-primary)"})]),default:$(()=>{var ue,ge,i,a,x,m,ae,W,ee,ie,De;return[e("div",ca,[e("div",da,l(f.$t("rooms.DailyRates")),1),e("div",ua,[(v(!0),P(we,null,Re((ue=t==null?void 0:t.detailJson)==null?void 0:ue.rateDailies,(he,Se)=>{var Je;return v(),P("div",{class:"flex justify-between py-[12px] border-b border-[#e1e1e1]",key:Se},[e("span",null,l(N(he)),1),e("span",null,l((Je=t==null?void 0:t.detailJson)==null?void 0:Je.currency)+" "+l(s(ve)(he==null?void 0:he.price,I.value)),1)])}),128)),e("div",pa,[e("span",null,l(((ge=t==null?void 0:t.detailJson)==null?void 0:ge.rateDailies.length)>1?f.$t("payment.governmentTaxStr",{count:(i=t==null?void 0:t.detailJson)==null?void 0:i.rateDailies.length}):f.$t("payment.governmentTax",{count:(a=t==null?void 0:t.detailJson)==null?void 0:a.rateDailies.length})),1),e("span",null,l((x=t==null?void 0:t.detailJson)==null?void 0:x.currency)+" "+l((m=t==null?void 0:t.detailJson)==null?void 0:m.taxSum),1)]),e("div",ma,[e("span",null,l(((ae=t==null?void 0:t.detailJson)==null?void 0:ae.rateDailies.length)>1?f.$t("payment.serviceChargeStr",{count:(W=t==null?void 0:t.detailJson)==null?void 0:W.rateDailies.length}):f.$t("payment.serviceCharge",{count:(ee=t==null?void 0:t.detailJson)==null?void 0:ee.rateDailies.length})),1),e("span",null,l((ie=t==null?void 0:t.detailJson)==null?void 0:ie.currency)+" "+l((De=t==null?void 0:t.detailJson)==null?void 0:De.serviceChargeSum),1)])])])]}),_:2},1024)),[[Y]])])])]),e("div",fa,[e("div",va,l((re=t==null?void 0:t.detailJson)==null?void 0:re.hotelName),1),e("div",xa,[e("span",ga,l((O=t==null?void 0:t.detailJson)==null?void 0:O.roomName)+" - "+l((te=t==null?void 0:t.detailJson)==null?void 0:te.roomTypeName),1),(xe=t==null?void 0:t.detailJson)!=null&&xe.rateName?(v(),P("span",ha,"|")):ce("",!0),e("span",{innerHTML:(L=t==null?void 0:t.detailJson)==null?void 0:L.rateName,class:"room-info__title"},null,8,ya)]),e("div",ba,[e("div",null,l(w(t))+" | "+l((Oe=t==null?void 0:t.detailJson)==null?void 0:Oe.adults)+" "+l(((Be=t==null?void 0:t.detailJson)==null?void 0:Be.adults)<=1?f.$t("rooms.adult"):f.$t("rooms.adults"))+", "+l((Te=t==null?void 0:t.detailJson)==null?void 0:Te.children)+" "+l(((Ce=t==null?void 0:t.detailJson)==null?void 0:Ce.children)<=1?f.$t("rooms.child"):f.$t("rooms.children")),1)])])]),e("div",wa,[e("div",_a,[e("div",{class:j(["text-price-primary text-[18px]",{"font-mono !font-bold":s(X)=="tkl"}])},l(s(V)[Z.value])+" "+l(((Fe=t==null?void 0:t.detailJson)==null?void 0:Fe.totalPriceStr)||((se=t==null?void 0:t.detailJson)==null?void 0:se.totalPrice)),3),tt((v(),oe(q,{trigger:"click","popper-class":"price-detail-popover !w-[358px] md:!w-[440px]","show-arrow":!1,placement:"bottom",teleported:!0,"popper-options":{strategy:"fixed"}},{reference:$(()=>[c(g,{name:"more",class:"!w-[20px] !h-[20px] ml-[8px] cursor-pointer relative !text-more-primary",color:"var(--more-primary)"})]),default:$(()=>{var ue,ge,i,a,x,m,ae,W,ee;return[e("div",Ca,[e("div",$a,l(f.$t("rooms.DailyRates")),1),e("div",ka,[(v(!0),P(we,null,Re((ue=t==null?void 0:t.detailJson)==null?void 0:ue.rateDailies,(ie,De)=>(v(),P("div",{class:"flex justify-between py-[12px] border-b border-[#e1e1e1]",key:De},[e("span",null,l(N(ie)),1),e("span",null,l(s(V)[Z.value])+" "+l(s(ve)(ie==null?void 0:ie.price,I.value)),1)]))),128)),e("div",Pa,[e("span",null,l(((ge=t==null?void 0:t.detailJson)==null?void 0:ge.rateDailies.length)>1?f.$t("payment.governmentTaxStr",{count:(i=t==null?void 0:t.detailJson)==null?void 0:i.rateDailies.length}):f.$t("payment.governmentTax",{count:(a=t==null?void 0:t.detailJson)==null?void 0:a.rateDailies.length})),1),e("span",null,l(s(V)[Z.value])+" "+l((x=t==null?void 0:t.detailJson)==null?void 0:x.taxSum),1)]),e("div",Ta,[e("span",null,l(((m=t==null?void 0:t.detailJson)==null?void 0:m.rateDailies.length)>1?f.$t("payment.serviceChargeStr",{count:(ae=t==null?void 0:t.detailJson)==null?void 0:ae.rateDailies.length}):f.$t("payment.serviceCharge",{count:(W=t==null?void 0:t.detailJson)==null?void 0:W.rateDailies.length})),1),e("span",null,l(s(V)[Z.value])+" "+l((ee=t==null?void 0:t.detailJson)==null?void 0:ee.serviceChargeSum),1)])])])]}),_:2},1024)),[[Y]])]),e("div",Ia,l(((Q=t==null?void 0:t.detailJson)==null?void 0:Q.rateDailies.length)>1?f.$t("payment.totalNightsStr",{count:($e=t==null?void 0:t.detailJson)==null?void 0:$e.rateDailies.length}):f.$t("payment.totalNights",{count:(Ie=t==null?void 0:t.detailJson)==null?void 0:Ie.rateDailies.length})),1)])])])}),128))],512),[[it,n.value]])]),_:1})])}}},Sa=We(Da,[["__scopeId","data-v-bf4fed53"]]),Ja={class:"flex items-start justify-between mb-[12px]"},Na=["innerHTML"],La=["onClick"],Ra={class:"pb-[20px] mb-[20px] md:pb-[28px] md:mb-[28px] border-b border-primary2"}
2,Fa={class:"text-[14px] md:text-[16px] text-[#505050] flex items-center whitespace-wrap"},Ea={class:"text-[14px] md:text-[16px] text-[#505050] flex items-center whitespace-wrap"},Ma={key:0,class:"mb-6"},Va=["innerHTML"],Ya={class:"mb-[20px]"},Aa={key:0},Oa={key:0,class:"mb-6"},Ba={class:"flex items-center justify-between"},ja={class:"text-primary2 text-[18px] md:text-[24px] mb-[12px] md:mb-[16px]"},qa=["innerHTML"],Ha={key:1,class:"mb-6"},Ua={class:"text-primary2 text-[18px] md:text-[24px] mb-[12px] md:mb-[16px]"},Wa=["innerHTML"],Ga={key:2,class:"mb-6"},Ka={class:"text-primary2 text-[18px] md:text-[24px] mb-[12px] md:mb-[16px]"},za=["innerHTML"],Xa=Object.assign({name:"ReservationPolicy3"},{__name:"index",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},closeOnMaskClick:{type:Boolean,default:!0},policyData:{type:Object,default:()=>({})},hotelName:{type:String,default:""},roomName:{type:String,default:""},depositPolicy:{type:String,default:""},cancelPolicy:{type:String,default:""}},emits:["update:modelValue","close"],setup(T,{emit:M}){const{setupDrawerScrollLock:ne,cleanup:pe}=It(),o=T,_e=M,K=u(!1),V=u(null),I=u(null);let X=0;const n=p=>{p.touches&&p.touches.length>0&&(X=p.touches[0].clientY)},H=p=>{if(!I.value)return;const C=I.value,{scrollHeight:y,clientHeight:S,scrollTop:U}=C;if(y<=S)return p.preventDefault(),p.stopPropagation(),!1;const F=U<=0,re=U+S>=y-1;if(p.touches&&p.touches.length>0){const te=p.touches[0].clientY-X;if(te>0&&F||te<0&&re)return p.preventDefault(),p.stopPropagation(),!1}},Z=async()=>{const p=K.value;if(K.value=!K.value,!p&&K.value&&(await Ae(),await new Promise(C=>setTimeout(C,300)),V.value)){const C=V.value.closest(".el-dialog");let y=C==null?void 0:C.querySelector(".el-dialog__body");if(!y||y.scrollHeight<=y.clientHeight){let S=V.value.parentElement;for(;S&&S!==document.body;){const U=window.getComputedStyle(S);if(U.overflowY==="auto"||U.overflowY==="scroll"){y=S;break}S=S.parentElement}}if(y&&V.value){const S=V.value.getBoundingClientRect(),U=y.getBoundingClientRect(),F=S.top-U.top,re=y.scrollTop+F;console.log("scrollContainer:",y),console.log("Current scrollTop:",y.scrollTop),console.log("relativeTop:",F),console.log("targetScrollTop:",re),console.log("Container scrollHeight:",y.scrollHeight),console.log("Container clientHeight:",y.clientHeight);const O=y.scrollHeight-y.clientHeight,te=Math.max(0,Math.min(re,O));console.log("finalScrollTop:",te),y.scrollTo({top:te,behavior:"smooth"}),setTimeout(()=>{console.log("After scrollTo, scrollTop:",y.scrollTop),Math.abs(y.scrollTop-te)>1&&(y.scrollTop=te,console.log("After direct assignment, scrollTop:",y.scrollTop))},50)}}},w=u(o.policyData);Ne(()=>o.policyData,p=>{console.log(o.policyData,"props.policyData"),w.value=p},{immediate:!0});const N=u(o.roomRateDetail);Ne(()=>o.roomRateDetail,p=>{console.log(o.roomRateDetail,"props.roomRateDetail"),N.value=p},{immediate:!0});const f=u(o.hotelName);Ne(()=>o.hotelName,p=>{console.log(o.hotelName),f.value=p},{immediate:!0});const D=u(o.roomName);Ne(()=>o.roomName,p=>{D.value=p},{immediate:!0});const{width:g}=bt(),q=de(()=>g.value>=1440?"60%":(g.value>=768,"90%")),{skin:Y}=Pe(),t=u(!1);return Ne(()=>o.modelValue,p=>{t.value=p},{immediate:!0}),Ne(()=>t.value,p=>{if(ne(p),_e("update:modelValue",p),p||(K.value=!1),p)Ae(()=>{if(I.value){const C=I.value;C.addEventListener("touchstart",n,{passive:!0}),C.addEventListener("touchmove",H,{passive:!1})}});else if(!p&&I.value){const C=I.value;C.removeEventListener("touchstart",n),C.removeEventListener("touchmove",H)}}),wt(()=>{if(pe(),I.value){const p=I.value;p.removeEventListener("touchstart",n),p.removeEventListener("touchmove",H)}}),(p,C)=>{const y=dt;return v(),oe(s(Dt),{modelValue:t.value,"onUpdate:modelValue":C[0]||(C[0]=S=>t.value=S),title:T.title,"close-on-click-modal":T.closeOnMaskClick,width:q.value,"destroy-on-close":"",class:j(["!rounded-[16px] md:!rounded-[20px] lg:!rounded-[24px] !bg-body-bg !p-[20px] md:!p-[40px]",{"!rounded-none":s(Y)=="tkl"}]),"header-class":"!pb-0","show-close":!1,onClose:C[1]||(C[1]=S=>t.value=!1)},{header:$(({close:S})=>[e("div",Ja,[e("div",{class:"text-[22px] md:text-[26px] text-primary2",innerHTML:w.value.title},null,8,Na),e("span",{class:"flex items-center text-[16px] md:text-[20px] text-close-text cursor-pointer opacity-[0.8] hover:opacity-[1]",onClick:S},[Ye(l(p.$t("rooms.close"))+" ",1),c(y,{class:"w-[20px] h-[20px] ml-[8px]",name:"Close",color:"var(--close-text)",width:"20px",height:"20px"})],8,La)]),C[2]||(C[2]=e("div",null,null,-1)),e("div",Ra,[e("div",Fa,l(f.value),1),e("div",Ea,l(D.value),1)])]),default:$(()=>[e("div",{ref_key:"policyContentRef",ref:I,class:"policy-content"},[w.value.description?(v(),P("div",Ma,[e("div",{class:"text-[#505050] text-[14px] rich-text_content",innerHTML:w.value.description},null,8,Va)])):ce("",!0),e("div",Ya,[e("span",{ref_key:"reservationPolicyRef",ref:V,class:"underline cursor-pointer underline-offset-2",onClick:Z},l(p.$t("rooms.reservationPolicy")),513)]),c(yt,{name:"reservationPolicy-fade",mode:"out-in"},{default:$(()=>[K.value?(v(),P("div",Aa,[w.value.bookingPolicy?(v(),P("div",Oa,[e("div",Ba,[e("div",ja,l(p.$t("payment.TermsAndConditions")),1)]),w.value.bookingPolicy?(v(),P("div",{key:0,class:"text-[#505050] text-[14px] md:text-[16
2px] space-y-3 rich-text_content",innerHTML:w.value.bookingPolicy},null,8,qa)):ce("",!0)])):ce("",!0),T.depositPolicy?(v(),P("div",Ha,[e("div",Ua,l(p.$t("rooms.guaranteePolicy")),1),T.depositPolicy?(v(),P("div",{key:0,class:"text-[#505050] text-[14px] md:text-[16px] space-y-3 rich-text_content",innerHTML:T.depositPolicy},null,8,Wa)):ce("",!0)])):ce("",!0),T.cancelPolicy?(v(),P("div",Ga,[e("div",Ka,l(p.$t("bookingEnquiries.cancellationPolicy")),1),T.cancelPolicy?(v(),P("div",{key:0,class:"text-[#505050] text-[14px] md:text-[16px] space-y-3 rich-text_content",innerHTML:T.cancelPolicy},null,8,za)):ce("",!0)])):ce("",!0)])):ce("",!0)]),_:1})],512)]),_:1},8,["modelValue","title","close-on-click-modal","width","class"])}}}),Za=We(Xa,[["__scopeId","data-v-0c12ccc8"]]),Qa=u({en:[{code:"FL",value:"Far From Lift"},{code:"HF",value:"High Floor"},{code:"LF",value:"Low Floor"},{code:"NL",value:"Near Lift"}],sc:[{code:"FL",value:"远离电梯"},{code:"HF",value:"高层"},{code:"LF",value:"低层"},{code:"NL",value:"近电梯"}],"zh-Hans":[{code:"FL",value:"远离电梯"},{code:"HF",value:"高层"},{code:"LF",value:"低层"},{code:"NL",value:"近电梯"}
2],tc:[{code:"FL",value:"遠離電梯"},{code:"HF",value:"高層"},{code:"LF",value:"低層"},{code:"NL",value:"近電梯"}],"zh-Hant":[{code:"FL",value:"遠離電梯"},{code:"HF",value:"高層"},{code:"LF",value:"低層"},{code:"NL",value:"近電梯"}],kr:[{code:"FL",value:"엘리베이터에서 멀리 있음"},{code:"HF",value:"고층"},{code:"LF",value:"저층"},{code:"NL",value:"엘리베이터에서 가까움"}],jp:[{code:"FL",value:"エレベーターから遠い部屋"},{code:"HF",value:"高層階"},{code:"LF",value:"低層階"},{code:"NL",value:"エレベーターに近い部屋"}]}),el={class:"guest-info-form flex md:mt-[20px] mt-[0px] flex-col lg:flex-row"},tl={class:"md:mb-[24px] mb-[20px] lg:mb-0"},al={class:"lg:max-w-[360px]"},ll={class:"text-[#505050] text-[14px] md:text-[16px]"},sl={class:"mt-[8px] text-[16px] text-[#505050] room-info"},ol={class:"room-info__name text-[14px] md:text-[16px] inline"},nl={key:0,class:"text-[14px] md:text-[16px] text-[#505050] mx-[5px]"},rl=["innerHTML"],il={class:"md:mt-[8px] text-[14px] text-[#7D8A8A]"},cl={key:0},dl={key:1},ul={key:0,class:"flex items-center mt-[15px]"},pl={class:"text-[#3F4644] text-[14px]"},ml={class:"flex flex-col md:flex-row flex-wrap justify-between"},fl={class:"flex flex-col md:w-full !w-[100%]"},vl={class:"flex relative"},xl={class:"w-[110px]"},gl={class:"mr-[20px] min-w-[50px] inline-block"},hl={class:"flex-1"},yl={class:""},bl={class:"flex flex-wrap gap-[20px] px-[24px]"},wl={class:"flex flex-wrap gap-[16px] md:gap-[40px]"},_l={class:"text-[#3F4644] text-[14px]"},Cl={class:"mt-[24px] lg:mt-[36px]"},$l={__name:"GuestInfoForm",props:{roomData:{type:Object,required:!0},roomIndex:{type:Number,required:!0},titleList:{type:Array,required:!0},areaList:{type:Array,required:!0},residenceList:{type:Array,required:!0},cartList:{type:Array,required:!0}},emits:["copy-guest-info","residence-search","phoneCode-search"],setup(T,{expose:M,emit:ne}){St(i=>({"3e1a35e8":s(V)==="tkl"?"0":"16px",f68a6254:s(V)==="tkl"?"0":"100px"}));const pe=Jt(),{t:o,local:_e}=Ue(),K=T,{skin:V}=Pe(),I=ne,{$sessionStorage:X}=nt(),{roomData:n}=Nt(K),H=u(null);u(X.getItem("language")||"en");const Z=u(!1),{width:w}=bt();de(()=>{if(w.value<=768)return{placement:"bottom",strategy:"fixed",modifiers:[{name:"flip",enabled:!1},{name:"preventOverflow",options:{boundary:"viewport",padding:16}}]}});const N=u(""),f=u(""),D=u(null),g=u(null),q=u(null),Y=u(null),t=()=>{I("residence-search",N.value)},p=()=>{I("phoneCode-search",f.value)},C=()=>{D.value&&D.value.blur&&D.value.blur(),g.value&&g.value.blur&&g.value.blur(),q.value&&q.value.blur&&q.value.blur(),Y.value&&Y.value.blur&&Y.value.blur()},y=(i,a)=>{Z.value=!i},S={title:[{required:!0,message:()=>o("payment.titleRequired"),trigger:"change"},{validator:(i,a,x)=>{a==="select"||a===""?x(new Error(o("payment.titleRequired"))):x()},trigger:"change"}],firstName:[{required:!0,message:()=>o("payment.firstNameRequired"),trigger:["change","blur"]},{validator:(i,a,x)=>{!a||a.trim()===""?x(new Error(o("payment.firstNameRequired"))):x()},trigger:["change","blur"]}],lastName:[{required:!0,message:()=>o("payment.lastNameRequired"),trigger:["change","blur"]},{validator:(i,a,x)=>{!a||a.trim()===""?x(new Error(o("payment.lastNameRequired"))):x()},trigger:["change","blur"]}],address:[{required:!0,message:()=>o("payment.residenceRequired"),trigger:"change"}],phoneCode:[{required:!0,message:()=>o("payment.phoneCodeRequired"),trigger:"change"},{validator:(i,a,x)=>{if(!a){x(new Error(o("payment.phoneCodeRequired")));return}if(te.value){x();return}const m=n.value.guestInfo.phoneNumber;!m||m.trim()===""?x(new Error(" ")):O.value.code&&(O.value.minLength>m.length||O.value.maxLength<m.length)?x(new Error(" ")):x()}}],phoneNumber:[{required:!0,message:()=>o("payment.phoneNumberRequired"),trigger:["change","blur"]},{validator:(i,a,x)=>{!a||a.trim()===""?(x(new Error(o("payment.phoneNumberRequired"))),H.value&&H.value.validateField("phoneCode")):O.value.code&&(O.value.minLength>a.length||O.value.maxLength<a.length)?(console.log(O.value.minLength,O.value.maxLength),O.value.minLength==O.value.maxLength?x(new Error(o("payment.phoneNumberInvalid1",{len:O.value.maxLength}))):x(new Error(o("payment.phoneNumberInvalid2",{min:O.value.minLength,max:O.value.maxLength}))),H.value&&H.value.validateField("phoneCode")):(x(),H.value&&H.value.validateField("phoneCode"))},trigger:["change","blur"]}],email:[{required:!0,message:()=>
2o("payment.emailRequired"),trigger:["change","blur"]},{validator:(i,a,x)=>{const m=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;!a||a.trim()===""?x(new Error(o("payment.emailRequired"))):m.test(a)?x():x(new Error(o("payment.emailInvalid")))},trigger:["change","blur"]}]},U=i=>{n.value.guestInfo[i]=n.value.guestInfo[i].replace(/[^a-zA-Z\s]/g,"")},F=i=>{n.value.guestInfo[i]=n.value.guestInfo[i].replace(/[^0-9]/g,"")},re=i=>{if(i!=null){let a=i.replace(/[\r\n]+/g,"");a=a.replace(/[^\p{Script=Han}\p{Script=Latin}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}0-9\uFF10-\uFF19\p{Sc}\.,!?;:'"()\[\]{}<>@#%&+\-=_\/\\|~`^,。!?;:、"''()《》【】…—·「」『』・ー ]/gu,""),a!==n.value.guestInfo.orderInfoComment&&(n.value.guestInfo.orderInfoComment=a)}else n.value.guestInfo.orderInfoComment=""},O=u({}),te=u(!1),xe=i=>{O.value=i,te.value=!0,H.value&&n.value.guestInfo.phoneNumber&&H.value.validateField("phoneNumber"),Ae(()=>{setTimeout(()=>{te.value=!1},100)})},L=u(n.value.guestInfo||{title:"",firstName:"",lastName:"",address:"",phoneCode:"",phoneNumber:"",email:"",arrivalTime:"",preferences:[]});L.value.preferences||(L.value.preferences=[]);const Oe=i=>{console.log("地址变化:",i,K.areaList),n.value.guestInfo.phoneCode="+"+K.areaList.find(a=>a.area===i.name).code,xe(K.areaList.find(a=>a.area===i.name))},Be=(i,a)=>{if(Array.isArray(n.value.guestInfo.preferences)||(n.value.guestInfo.preferences=[]),i)n.value.guestInfo.preferences.includes(a)||n.value.guestInfo.preferences.push(a);else{const x=n.value.guestInfo.preferences.indexOf(a);x!==-1&&n.value.guestInfo.preferences.splice(x,1)}console.log("偏好变化:",n.value.guestInfo.preferences),n.value.preferences&&n.value.preferences.forEach(x=>{x&&typeof x=="object"&&"id"in x&&(x.selected=n.value.guestInfo.preferences.includes(x.id))})},Te=u(!1),Ce=u({}),Fe=u(""),se=u(""),Q=async i=>{const{code:a,data:x}=await Le.schedule.getRoomRateDetail({rateCode:i,hotelId:X.getItem("currentHotelId")||pe.query.id});a==0&&(Ce.value=x||{},Te.value=!0,$e())},$e=async i=>{const{code:a,data:x}=await Le.schedule.getCodeWord({deposit:n.value.detailJson.depositCode,cancel:n.value.detailJson.cancelCode,hotelId:X.getItem("currentHotelId")||pe.query.id});a==0&&(Fe.value=x.cancel.detail,se.value=x.deposit.detail)},Ie=async()=>H.value?H.value.validate().then(()=>!0).catch(()=>!1):!1,ue=()=>{console.log("copyFromGuest1",n.value.sameAsGuest1),n.value.sameAsGuest1?I("copy-guest-info",K.roomIndex):(n.value.guestInfo={title:"",firstName:"",lastName:"",address:"",phoneCode:"",phoneNumber:"",email:"",arrivalTime:"",preferences:[]},I("update:preferences",[]))},ge=de(()=>{var ae,W,ee,ie;let i;const a=ct();a==="sc"||a==="tc"||a==="ja"||a==="jp"?i="YYYY年M月D日":a==="ko"||a==="kr"?i="YYYY년 M월 D일":i="D MMM YYYY";let x,m;return a==="sc"||a==="tc"||a==="ja"||a==="jp"||a==="ko"||a==="kr"?(x=be((ae=n.value.detailJson)==null?void 0:ae.startTime).format(i),m=be((W=n.value.detailJson)==null?void 0:W.endTime).format(i)):(x=be((ee=n.value.detailJson)==null?void 0:ee.startTime).format("D MMM YYYY"),m=be((ie=n.value.detailJson)==null?void 0:ie.endTime).format("D MMM YYYY")),`${x} - ${m}`});return M({validate:Ie,closeAllSelects:C}),(i,a)=>{var he,Se,Je,Ge,Ke,je,ze,qe,at,Ee,Xe,Ze,Qe;const x=_t,m=Rt,ae=Lt,W=ut,ee=Ft,ie=pt,De=Za;return v(),P(we,null,[e("div",el,[e("div",tl,[e("div",al,[e("div",ll,l((he=s(n).detailJson)==null?void 0:he.hotelName),1),e("div",sl,[e("span",ol,l((Se=s(n).detailJson)==null?void 0:Se.roomName)+" - "+l((Je=s(n).detailJson)==null?void 0:Je.roomTypeName),1),(Ke=(Ge=s(n))==null?void 0:Ge.detailJson)!=null&&Ke.rateName?(v(),P("span",nl,"|")):ce("",!0),e("span",{innerHTML:(ze=(je=s(n))==null?void 0:je.detailJson)==null?void 0:ze.rateName,class:"underline underline-offset-2 cursor-pointer room-info__title text-[14px] md:text-[16px]",onClick:a[0]||(a[0]=h=>{var le,Me;return Q((Me=(le=s(n))==null?void 0:le.detailJson)==null?void 0:Me.code)})},null,8,rl)]),e("div",il,[Ye(l(ge.value)+" | "+l((qe=s(n).detailJson)==null?void 0:qe.adults)+" "+l(i.$t("rooms.adults"))+", "+l((at=s(n).detailJson)==null?void 0:at.children)+" ",1),((Ee=s(n).detailJson)==null?void 0:Ee.children)>1?(v(),P("span",cl,l(i.$t("rooms.children")),1)):(v(),P("span",dl,l(i.$t("rooms.child")),1
2))])]),T.roomIndex>0?(v(),P("div",ul,[c(x,{modelValue:s(n).sameAsGuest1,"onUpdate:modelValue":a[1]||(a[1]=h=>s(n).sameAsGuest1=h),onChange:ue,class:"custom-checkbox"},{default:$(()=>[e("span",pl,l(i.$t("payment.sameAsGuest1")),1)]),_:1},8,["modelValue"])])):ce("",!0)]),c(ie,{model:s(n).guestInfo,rules:S,"label-position":"top",ref_key:"guestFormRef",ref:H,"hide-required-asterisk":"",class:"guest-form w-full ml-auto lg:w-[67%] md:w-full"},{default:$(()=>[e("div",ml,[c(W,{prop:"title",label:i.$t("payment.Title"),class:"!mb-[24px] lg:!mb-[36px] basis-[30%]"},{default:$(()=>[c(ae,{ref_key:"titleSelectRef",ref:D,modelValue:s(n).guestInfo.title,"onUpdate:modelValue":a[2]||(a[2]=h=>s(n).guestInfo.title=h),"popper-class":"selectText",class:"md:!w-full !w-[100%] inputAndSelectBorderRadius",placeholder:i.$t("payment.verifyPlace"),"no-data-text":i.$t("error.nodata")},{default:$(()=>[(v(!0),P(we,null,Re(T.titleList,h=>(v(),oe(m,{key:h.order,label:h.title,value:h.code},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","no-data-text"])]),_:1},8,["label"]),c(W,{prop:"firstName",label:i.$t("payment.FirstName"),class:"!mb-[24px] lg:!mb-[36px] basis-[30%] first-name-wrapper"},{default:$(()=>[c(ee,{modelValue:s(n).guestInfo.firstName,"onUpdate:modelValue":a[3]||(a[3]=h=>s(n).guestInfo.firstName=h),placeholder:i.$t("payment.FirstNameDesc"),class:"md:!w-full !w-[100%] inputAndSelectBorderRadius",onInput:a[4]||(a[4]=h=>U("firstName"))},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),c(W,{class:"!mb-[24px] lg:!mb-[36px] basis-[30%] hidden-wrapper"}),c(W,{prop:"lastName",label:i.$t("payment.Surname1"),class:"!mb-[24px] lg:!mb-[36px] basis-[30%] last-name-wrapper"},{default:$(()=>[c(ee,{modelValue:s(n).guestInfo.lastName,"onUpdate:modelValue":a[5]||(a[5]=h=>s(n).guestInfo.lastName=h),placeholder:i.$t("payment.LastNameDesc"),class:"md:!w-full !w-[100%] inputAndSelectBorderRadius",onInput:a[6]||(a[6]=h=>U("lastName"))},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),c(W,{prop:"address",label:i.$t("payment.PlaceOfResidence"),class:"address-wrapper !mb-[24px] lg:!mb-[36px] basis-[47.5%]"},{default:$(()=>[c(ae,{ref_key:"addressSelectRef",ref:g,modelValue:s(n).guestInfo.address,"onUpdate:modelValue":a[13]||(a[13]=h=>s(n).guestInfo.address=h),"value-key":"id","popper-class":"selectText",class:"md:!w-full !w-[100%] inputAndSelectBorderRadius",placeholder:i.$t("payment.verifyPlace"),onChange:Oe,"no-data-text":i.$t("error.nodata")},{header:$(()=>[c(ee,{modelValue:N.value,"onUpdate:modelValue":a[7]||(a[7]=h=>N.value=h),style:{width:"100%"},class:"inputAndSelectBorderRadius",onInput:t,onClick:a[8]||(a[8]=fe(()=>{},["stop"])),onMousedown:a[9]||(a[9]=fe(()=>{},["stop"])),onTouchstart:a[10]||(a[10]=fe(()=>{},["stop"])),onTouchmove:a[11]||(a[11]=fe(()=>{},["stop"])),onTouchend:a[12]||(a[12]=fe(()=>{},["stop"])),"prefix-icon":s(gt)},null,8,["modelValue","prefix-icon"])]),default:$(()=>[(v(!0),P(we,null,Re(T.residenceList,h=>(v(),oe(m,{key:h.id,label:h.name,value:h},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","no-data-text"])]),_:1},8,["label"]),c(W,{label:i.$t("payment.PhoneNo"),class:j(["phone-wrapper basis-[47.5%] !mb-[24px] lg:!mb-[36px]",{"phone-error":Z.value}])},{default:$(()=>[e("div",fl,[e("div",vl,[e("div",xl,[c(W,{prop:"phoneCode",class:"!m-0 !mb-0 inputSelect"},{default:$(()=>[c(ae,{ref_key:"phoneCodeSelectRef",ref:q,modelValue:s(n).guestInfo.phoneCode,"onUpdate:modelValue":a[20]||(a[20]=h=>s(n).guestInfo.phoneCode=h),"value-key":"code","popper-class":"selectText",placeholder:i.$t("payment.select"),class:"!w-[110px] phone-code-select",onChange:xe,"no-data-text":i.$t("error.nodata")},{header:$(()=>[c(ee,{modelValue:f.value,"onUpdate:modelValue":a[14]||(a[14]=h=>f.value=h),style:{width:"100%"},class:"inputAndSelectBorderRadius",onInput:p,onClick:a[15]||(a[15]=fe(()=>{},["stop"])),onMousedown:a[16]||(a[16]=fe(()=>{},["stop"])),onTouchstart:a[17]||(a[17]=fe(()=>{},["stop"])),onTouchmove:a[18]||(a[18]=fe(()=>{},["stop"])),onTouchend:a[19]||(a[19]=fe(()=>{},["stop"])),"prefix-icon":s(gt)},null,8,["modelValue","prefix-icon"])]),default:$(()=>[(v(!0),P(we,null,Re(T.areaList,h=>(v(),oe(m,{key:h.id,label:"+"+h.code,value:h},{default:$(()=>[e("span",gl,"+"+l(h.code),1),e("span",null,l(h.area),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","placeholder","no-data-text"])]),_:1})]),e("div",hl,[c(W,{prop:"phoneNumber",class:"!m-0 !mb-0 phoneNumber",onValidate:y},{default:$(()=>
2[c(ee,{modelValue:s(n).guestInfo.phoneNumber,"onUpdate:modelValue":a[21]||(a[21]=h=>s(n).guestInfo.phoneNumber=h),type:"tel",inputmode:"numeric",placeholder:i.$t("payment.placeholderContactNo"),onInput:a[22]||(a[22]=h=>F("phoneNumber")),class:"!w-full inputSelect phone-number-input"},null,8,["modelValue","placeholder"])]),_:1})])])])]),_:1},8,["label","class"]),c(W,{prop:"email",label:i.$t("payment.EmailAddress"),class:"!mb-[24px] lg:!mb-[36px] basis-[47.5%]"},{default:$(()=>[c(ee,{modelValue:s(n).guestInfo.email,"onUpdate:modelValue":a[23]||(a[23]=h=>s(n).guestInfo.email=h),placeholder:i.$t("payment.placeholderFormEmail"),class:"md:!w-full !w-[100%] inputAndSelectBorderRadius"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),c(W,{prop:"arrivalTime",label:i.$t("payment.EstArrivalTime"),class:"!mb-[24px] lg:!mb-[36px] basis-[47.5%]"},{default:$(()=>[c(ae,{ref_key:"arrivalTimeSelectRef",ref:Y,placeholder:i.$t("payment.checkInTimePrompt"),modelValue:s(n).guestInfo.arrivalTime,"onUpdate:modelValue":a[24]||(a[24]=h=>s(n).guestInfo.arrivalTime=h),"popper-class":"selectText",class:"md:!w-full !w-[100%] inputAndSelectBorderRadius","no-data-text":i.$t("error.nodata")},{default:$(()=>[c(m,{value:"00:00",label:"00:00"}),c(m,{value:"01:00",label:"01:00"}),c(m,{value:"02:00",label:"02:00"}),c(m,{value:"03:00",label:"03:00"}),c(m,{value:"04:00",label:"04:00"}),c(m,{value:"05:00",label:"05:00"}),c(m,{value:"06:00",label:"06:00"}),c(m,{value:"07:00",label:"07:00"}),c(m,{value:"08:00",label:"08:00"}),c(m,{value:"09:00",label:"09:00"}),c(m,{value:"10:00",label:"10:00"}),c(m,{value:"11:00",label:"11:00"}),c(m,{value:"12:00",label:"12:00"}),c(m,{value:"13:00",label:"13:00"}),c(m,{value:"14:00",label:"14:00"}),c(m,{value:"15:00",label:"15:00"}),c(m,{value:"16:00",label:"16:00"}),c(m,{value:"17:00",label:"17:00"}),c(m,{value:"18:00",label:"18:00"}),c(m,{value:"19:00",label:"19:00"}),c(m,{value:"20:00",label:"20:00"}),c(m,{value:"21:00",label:"21:00"}),c(m,{value:"22:00",label:"22:00"}),c(m,{value:"23:00",label:"23:00"})]),_:1},8,["placeholder","modelValue","no-data-text"])]),_:1},8,["label"])]),e("div",yl,[e("div",{class:j(["text-[14px] text-primary mb-[8px] px-[24px]",{"!font-[300] !text-[#000]":s(V)=="tkl"}])},l(i.$t("payment.RoomPreferences")),3),e("div",bl,[e("div",wl,[(v(!0),P(we,null,Re(s(Qa)[i.$i18n.locale],h=>{var le;return v(),oe(x,{key:h.code,"model-value":(le=s(n).guestInfo.preferences)==null?void 0:le.includes(h.code),onChange:Me=>Be(Me,h.code),class:"custom-checkbox flex-1 md:flex-auto"},{default:$(()=>[e("span",_l,l(h.value),1)]),_:2},1032,["model-value","onChange"])}),128))])])]),e("div",Cl,[c(W,{label:i.$t("payment.AdditionalInformation"),class:"!mb-0 text-[16px]"},{default:$(()=>[c(ee,{modelValue:s(n).guestInfo.orderInfoComment,"onUpdate:modelValue":a[25]||(a[25]=h=>s(n).guestInfo.orderInfoComment=h),type:"textarea",maxlength:"250","show-word-limit":"",rows:5,placeholder:i.$t("payment.additionalInformationPlaceholder"),onInput:re,class:"inputAndSelectBorderRadius"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])])]),_:1},8,["model"])]),c(De,{modelValue:Te.value,"onUpdate:modelValue":a[26]||(a[26]=h=>Te.value=h),policyData:Ce.value,"hotel-name":(Xe=s(n).detailJson)==null?void 0:Xe.hotelName,roomName:((Ze=s(n).detailJson)==null?void 0:Ze.roomName)+" - "+((Qe=s(n).detailJson)==null?void 0:Qe.roomTypeName),cancelPolicy:Fe.value,depositPolicy:se.value},null,8,["modelValue","policyData","hotel-name","roomName","cancelPolicy","depositPolicy"])],64)}}},kl=We($l,[["__scopeId","data-v-ee2265cc"]]),Pl={class:"payment-method py-[20px] md:py-[40px] flex flex-col items-start border-b border-primary2 md:flex-col lg:flex-row"},Tl={class:"flex flex-col w-full md:w-full lg:w-[67%] ml-auto pt-[4px]"},Il={class:"flex flex-wrap gap-y-[20px] flex-col md:flex-row w-full"},Dl={class:"flex w-[100%] md:w-auto md:mr-[26px]"},Sl={class:"custom-radio-wrapper"},Jl={class:"flex flex-col"},Nl={class:"text-[#3F4644] text-[14px] md:text-[16px] leading-[28px] mb-[8px] whitespace-pre-wrap"},Ll={class:"flex w-[100%] md:w-auto md:mr-[26px] flex-1 md:flex-[unset]"},Rl={class:"custom-radio-wrapper"},Fl={class:"flex flex-col"}
2,El={class:"text-[#3F4644] text-[14px] md:text-[16px] leading-[28px] mb-[8px] whitespace-pre-wrap flex flex-col"},Ml={class:"text-[12px] !leading-[20px]"},Vl={class:"flex w-[100%] md:w-auto md:mr-[26px] flex-1 md:flex-[unset]"},Yl={class:"custom-radio-wrapper"},Al={class:"flex flex-col"},Ol={class:"text-[#3F4644] text-[14px] md:text-[16px] leading-[28px] mb-[8px] whitespace-pre-wrap flex flex-col"},Bl={class:"text-[12px] !leading-[20px]"},jl={key:0,class:"flex w-[100%] md:w-auto"},ql={class:"custom-radio-wrapper"},Hl={class:"text-[#3F4644] text-[14px] md:text-[16px] leading-[28px] mb-[8px] whitespace-pre-wrap"},Ul={__name:"PaymentMethod",props:{modelValue:{type:String,default:"creditCard"},needDeposit:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(T,{expose:M,emit:ne}){const{t:pe}=Ue(),o=T,_e=ne,{skin:K}=Pe(),V=de(()=>K.value==="default"?"sjm":K.value),I=de({get:()=>o.modelValue,set:w=>_e("update:modelValue",w)}),X=u(null),n=de(()=>({paymentMethod:o.modelValue})),H={paymentMethod:[{validator:(w,N,f)=>{o.needDeposit&&(!N||N==="")?f(new Error(pe("payment.pleaseSelectPaymentMethod"))):f()},trigger:"change"}]};return Ne(()=>o.modelValue,(w,N)=>{X.value&&Ae(()=>{w&&w!==""&&X.value.clearValidate("paymentMethod")})}),M({validate:async()=>X.value?X.value.validate().then(()=>!0).catch(()=>!1):!1}),(w,N)=>{const f=Et,D=dt,g=ut,q=pt;return v(),P("div",Pl,[e("div",{class:j(["text-booking-summary-text text-[18px] md:text-[22px] lg:text-[26px] mb-[20px] lg:mb-0",{"!font-[400]":V.value=="tkl"}])},l(w.$t("payment.payMethod")),3),e("div",Tl,[c(q,{model:n.value,rules:H,ref_key:"formRef",ref:X,"hide-required-asterisk":"",class:"w-full"},{default:$(()=>[c(g,{prop:"paymentMethod",class:"w-full"},{default:$(()=>[e("div",Il,[e("div",Dl,[e("div",Sl,[c(f,{modelValue:I.value,"onUpdate:modelValue":N[0]||(N[0]=Y=>I.value=Y),label:"ICBCOnlinePosOrder",class:"payment-radio !items-start !h-auto",disabled:!T.needDeposit},{default:$(()=>[e("div",Jl,[e("span",Nl,l(w.$t("payment.creditCard")),1),N[4]||(N[4]=e("div",{class:"flex gap-[5px]"},[e("img",{class:"w-[55px] h-[40px]",src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/image%402x-4.png",alt:""}),e("img",{class:"w-[55px] h-[40px]",src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/image%402x-3.png",alt:""}),e("img",{class:"w-[55px] h-[40px]",src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/image%402x-2.png",alt:""}),e("img",{class:"w-[55px] h-[40px]",src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/image%402xa.png",alt:""})],-1))])]),_:1},8,["modelValue","disabled"]),T.needDeposit?(v(),oe(D,{key:1,class:j(["custom-radio-img",{"custom-radio-img-disabled":!T.needDeposit}]),name:I.value==="ICBCOnlinePosOrder"?"RadioON":"RadioOFF",color:I.value==="ICBCOnlinePosOrder"?"var(--background)":T.needDeposit?"#FFFFFF":"#DDDDDD",width:"20px",height:"20px"},null,8,["name","color","class"])):(v(),oe(D,{key:0,class:"custom-radio-img",name:"RadioDisabled",color:"#F4F4F4",width:"20px",height:"20px"}))])]),e("div",Ll,[e("div",Rl,[c(f,{modelValue:I.value,"onUpdate:modelValue":N[1]||(N[1]=Y=>I.value=Y),label:"AlipayPC",class:"payment-radio !items-start !h-auto",disabled:!T.needDeposit},{default:$(()=>[e("div",Fl,[e("span",El,[Ye(l(w.$t("payment.Alipay")),1),e("span",Ml,l(w.$t("payment.alipayPrompt")),1)]),N[5]||(N[5]=e("img",{class:"w-[55px] h-[40px]",src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/image%402x.png",alt:""},null,-1))])]),_:1},8,["modelValue","disabled"]),T.needDeposit?(v(),oe(D,{key:1,class:j(["custom-radio-img",{"custom-radio-img-disabled":!T.needDeposit}]),name:I.value==="AlipayPC"?"RadioON":"RadioOFF",color:I.value==="AlipayPC"?"var(--background)":T.needDeposit?"#FFFFFF":"#DDDDDD",width:"20px",height:"20px"},null,8,["name","color","class"])):(v(),oe(D,{key:0,class:"custom-radio-img",name:"RadioDisabled",color:"#F4F4F4",width:"20px",height:"20px"}))])]),e("div",Vl,[e("div",Yl,[c(f,{modelValue:I.value,"onUpdate:modelValue":N[2]||(N[2]=Y=>I.value=Y),label:"WechatPayPC",class:"payment-radio !items-start !h-auto",disabled:!T.needDeposit},{default:$(()=>[e("div",Al,[e("span",Ol,[Ye(l(w.$t("payment.weChatPay")),1),e("span",Bl,l(w.$t("payment.wechatPayPrompt")),1)]),N[6]||(N[6]=e("img",{class:"w-[55px] h-[40p
2x]",src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/image%402x%20(1).png",alt:""},null,-1))])]),_:1},8,["modelValue","disabled"]),T.needDeposit?(v(),oe(D,{key:1,class:j(["custom-radio-img",{"custom-radio-img-disabled":!T.needDeposit}]),name:I.value==="WechatPayPC"?"RadioON":"RadioOFF",color:I.value==="WechatPayPC"?"var(--background)":T.needDeposit?"#FFFFFF":"#DDDDDD",width:"20px",height:"20px"},null,8,["name","color","class"])):(v(),oe(D,{key:0,class:"custom-radio-img",name:"RadioDisabled",color:"#F4F4F4",width:"20px",height:"20px"}))])]),T.needDeposit?ce("",!0):(v(),P("div",jl,[e("div",ql,[c(f,{modelValue:I.value,"onUpdate:modelValue":N[3]||(N[3]=Y=>I.value=Y),label:"noDeposit",class:"payment-radio !items-start",disabled:T.needDeposit},{default:$(()=>[e("span",Hl,l(w.$t("payment.noDeposit")),1)]),_:1},8,["modelValue","disabled"]),T.needDeposit?(v(),oe(D,{key:0,class:"custom-radio-img",name:"RadioDisabled",color:"#F4F4F4",width:"20px",height:"20px"})):(v(),oe(D,{key:1,class:"custom-radio-img",name:I.value==="noDeposit"?"RadioON":"RadioOFF",color:I.value==="noDeposit"?"var(--background)":"#FFFFFF",width:"20px",height:"20px"},null,8,["name","color"]))])]))])]),_:1})]),_:1},8,["model"])])])}}},Wl=We(Ul,[["__scopeId","data-v-7bbb2be3"]]),Gl={class:"py-[20px] md:py-[40px] flex lg:items-center border-b border-primary2 md:flex-col lg:flex-row flex-col"},Kl={class:"flex items-start w-full ml-auto lg:w-[67%] md:w-full"},zl={class:"flex items-start md:items-center"},Xl={class:"text-[14px] md:text-[16px] text-[#3F4644] leading-normal"},Zl={__name:"TermsConditions",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(T,{expose:M,emit:ne}){const{t:pe,local:o}=Ue(),_e=T,{skin:K}=Pe(),V=de(()=>K.value==="default"?"sjm":K.value),I=u(""),X=u(!1),n=u(null);Ct();const H=ot(),{locale:Z}=Ue(),w=()=>{const{getMultiTabSkin:p}=Pe(),C=p(),S=new URLSearchParams(window.location.search).get("lang")||Z.value||"en",U=H("/reservation/terms-of-use"),F=new URL(U,window.location.origin);F.searchParams.has("skin")||F.searchParams.set("skin",C),F.searchParams.has("lang")||F.searchParams.set("lang",S),window.open(F.toString(),"_blank")},N=()=>{const{getMultiTabSkin:p}=Pe(),C=p(),S=new URLSearchParams(window.location.search).get("lang")||Z.value||"en",U=H("/reservation/privacy-policy"),F=new URL(U,window.location.origin);F.searchParams.has("skin")||F.searchParams.set("skin",C),F.searchParams.has("lang")||F.searchParams.set("lang",S),window.open(F.toString(),"_blank")},f=ne,D=u(null),g=de(()=>({agreed:_e.modelValue})),q={agreed:[{validator:(p,C,y)=>{Y.value?y():y(new Error(pe("payment.pleaseAgreeTerms")))},trigger:"change"}]},Y=de({get:()=>_e.modelValue,set:p=>f("update:modelValue",p)});return M({validate:async()=>D.value?D.value.validate().then(()=>!0).catch(()=>!1):!1}),(p,C)=>{const y=_t,S=ut,U=pt,F=Kt;return v(),P(we,null,[e("div",Gl,[e("div",{class:j(["text-booking-summary-text text-[18px] md:text-[22px] lg:text-[26px] mb-[20px] lg:mb-0",{"!font-[400]":V.value=="tkl"}])},l(p.$t("payment.TermsAndConditions")),3),e("div",Kl,[c(U,{model:g.value,rules:q,ref_key:"formRef",ref:D,"hide-required-asterisk":""},{default:$(()=>[c(S,{prop:"agreed"},{default:$(()=>[e("div",zl,[c(y,{modelValue:Y.value,"onUpdate:modelValue":C[0]||(C[0]=re=>Y.value=re),class:"sm:!h-auto !mr-[8px]"},null,8,["modelValue"]),e("div",Xl,[Ye(l(p.$t("payment.ICompletelyAgreeAndAccept"))+" ",1),e("a",{class:j(["text-booking-summary-policy underline clickable underline-offset-2",{"!text-[#D61F28]":V.value=="tkl"}]),onClick:w},l(p.$t("payment.termsOfUse")),3),Ye(" "+l(p.$t("payment.and"))+" ",1),e("a",{href:"#",class:j(["text-booking-summary-policy underline underline-offset-2",{"!text-[#D61F28]":V.value=="tkl"}]),onClick:N},l(p.$t("payment.PrivacyPolicy")),3),Ye(" "+l(p.$t("payment.TKEND")),1)])])]),_:1})]),_:1},8,["model"])])]),c(F,{modelValue:X.value,"onUpdate:modelValue":C[1]||(C[1]=re=>X.value=re),title:I.value,policy:n.value},null,8,["modelValue","title","policy"])],64)}}},Ql=We(Zl,[["__scopeId","data-v-5ec2a855"]]),es={class:"min-h-[100dvh]"},ts={class:"payment-page overflow-hidden bg-background hidden lg:block lg:px-[40px]"},as={class:"container flex justify-between items-center lg:flex-row md:flex-row-reverse py-[40px] lg:px-0 md:px-[40px] mt-[99px]"},ls={class:"edit flex items-center"}
2,ss={class:"flex justify-end gap-[60px]"},os={class:"flex flex-col"},ns={class:"text-[14px]"},rs={class:"flex flex-col"},is={class:"text-[14px]"},cs={class:"flex flex-col pl-[60px] border-l border-info-text"},ds={class:"text-[16px]"},us={key:0,class:"text-[12px]"},ps={class:"bg-background payment-page overflow-hidden"},ms={class:"container lg:hidden flex flex-col items-left py-[16px] px-[16px] md:px-[40px] md:py-[24px] mt-[99px]"},fs={key:0,class:"text-[26px] whitespace-nowrap font-mono tracking-[3.2px] md:text-[28px] lg:text-[32px] leading-[32px]"},vs={key:1,class:"text-[26px] whitespace-nowrap font-mono tracking-[3.2px] md:text-[28px] lg:text-[32px] leading-[32px]"},xs={class:"border-t border-info-text border-solid pt-[12px]"},gs={class:""},hs={class:"text-info-text text-[16px]"},ys={class:"text-info-text text-[20px] md:text-[28px] leading-[28px] md:leading-[36px]"},bs={key:0,class:"text-info-text text-[12px] leading-[20px] block md:hidden mb-[4px] md:mb-[8px]"},ws={class:"md:flex flex-col hidden"},_s={class:"text-info-text text-[16px]"},Cs={class:"text-info-text text-[24px]"},$s={key:0,class:"text-info-text text-[12px] leading-[20px] mb-[8px]"},ks={class:"flex flex-col md:flex-row md:gap-[40px]"},Ps={class:"text-info-text text-[14px] mb-[4px] md:mb-0"},Ts={class:"text-info-text text-[14px] md:mb-0"},Is={class:"w-full lg:px-[40px]"},Ds={key:0,class:"bg-[#fff] lg:p-[40px] md:px-[32px] md:py-[40px] px-[16px] py-[20px] rounded-[8px]"},Ss={class:"flex justify-center pt-[40px]"},Js={key:1,class:"min-h-[550px] md:min-h-[830px] lg:min-h-[561px] flex flex-col items-center justify-center"},Ns={class:"text-center max-w-[398px] md:max-w-[660px] lg:max-w-[971px] mx-auto text-[14px] md:text-[16px] text-[#505050]"},Ls="cd_sjm",Rs=Mt({__name:"payment",setup(T){var vt;const{$sessionStorage:M,$eventBus:ne,$matomo:pe}=nt(),{t:o,local:_e,locale:K}=Ue(),{skin:V}=Pe();let I=M.getItem("l")||"en";const X=de(()=>{const d=V.value==="default"?"sjm":V.value;return o("header.Payment")+" | "+o(`header.${d}`)}),n=de(()=>{switch(I){case"en":return"nameEn";case"sc":return"name";case"tc":return"nameTc";case"jp":return"nameJp";case"kr":return"nameKr";default:return"nameEn"}});Vt({title:X});const H=Wt(()=>Gt(()=>import("./BzRdgxU1.js"),__vite__mapDeps([0,1,2]),import.meta.url)),Z=Bt();Ct();const{skin:w}=Pe(),{navigateWithEncryptedParams:N}=ht(),{$customAlert:f}=nt(),{getPageParams:D}=ht(),g=D();u(M.getItem("hotelName")||"");const q=u(M.getItem("hotelCode")||""),Y=u(M.getItem("checkIn")||"2025-04-04"),t=u(M.getItem("checkOut")||"2025-04-05"),p=u(parseInt(M.getItem("adults")||"2")),C=u(parseInt(M.getItem("children")||"0")),y=u(M.getItem("currency")||{currencyCode:"MOP",name:o("rooms.mop")}),S=u(((vt=M.getItem("currency"))==null?void 0:vt.currencyCode)||"MOP");g.id&&M.setItem("currentHotelId",g.id),g.promoCode&&M.setItem("promoCode",g.promoCode);const U=u(M.getItem("currencyInfo")||"{}"),F=u({});U.value&&Object.keys(U.value).forEach(d=>{F.value[U.value[d].currencyCode]=U.value[d].exchangeRate}),console.log("currencyDictionary",F.value);const re=u({ICBCOnlinePosOrder:"UPO",WechatPayPC:"WCO",AlipayPC:"ALO",noDeposit:""});de(()=>{const d=new Date(Y.value),b=new Date(t.value);return Math.ceil((b.getTime()-d.getTime())/(1e3*60*60*24))}),u(!0);const O=u([]),te=u(null),xe=u(null),L=u([]),Oe=u([]);de(()=>L.value.length);const Be=d=>{L.value[d].sameAsGuest1?(L.value[d].guestInfo=JSON.parse(JSON.stringify(L.value[0].guestInfo)),console.log(`已复制客人1的信息到客人${d+1}`,L.value[d].guestInfo),L.value[0].preferences&&Array.isArray(L.value[0].preferences)&&(L.value[d].preferences=JSON.parse(JSON.stringify(L.value[0].preferences)),console.log(`已复制客人1的 UI 偏好设置到客人${d+1}`)),L.value[d].orderInfoComment=L.value[0].orderInfoComment):(L.value[d].guestInfo={title:"",firstName:"",lastName:"",address:{},phoneCode:"",phoneNumber:"",email:"",checkInTime:"",preferences:[]},L.value[d].preferences=[{id:1,name:"远离电梯",selected:!1},{id:2,name:"高楼层",selected:!1},{id:3,name:"低楼层",selected:!1},{id:4,name:"靠近电梯",selected:!1}],L.value[d].orderInfoComment="")},Te=(d,b)=>{O.value||(O.value=[]),O.value[b]=d},Ce=u(null),Fe=async()=>{var d,b;try{const G=O.value.filter(k=>k);if(G.length===0)return;L.value.forEach((k,z)=>{k&&k.guestInfo&&(Array.isArray(k.guestInfo.preferences)||(k.guestInfo.preferences=[]),k.preferences&&Array.isArray(k.preferences)&&k.preferences.forEac
2h(R=>{R&&typeof R=="object"&&"id"in R&&(R.selected=k.guestInfo.preferences.includes(R.id))}))});const A=G.map((k,z)=>k&&typeof k.validate=="function"?k.validate().catch(()=>!1):Promise.resolve(!1));let B=Promise.resolve(!0);xe.value?B=xe.value.validate().catch(()=>!1):Ie.value||(B=Promise.resolve(!1));let _=Promise.resolve(!0);te.value&&(_=te.value.validate().catch(()=>!1));const[r,J,E]=await Promise.all([Promise.all(A),B,_]),ke=r.every(k=>k===!0);if(await Se(!0),ke&&J&&E&&he.value)console.log("所有表单验证通过,准备提交数据..."),Ce.value?Ce.value.showCaptcha()||console.error("验证码组件未准备好"):console.error("验证码组件引用不存在");else{console.warn("表单验证失败");const k=[];for(let z=0;z<r.length;z++)r[z]===!1&&k.push(z);if(k.length>0){const z=$e.value;let R=[];Array.isArray(z)?R=[...z]:z!=null&&(R=[z]),k.forEach(me=>{R.includes(me)||R.push(me)}),$e.value=R,await Ae(),await new Promise(me=>setTimeout(me,350));const Ve=k[0],et=O.value[Ve];if(et&&et.$el){const me=et.$el,$t=(me.querySelector(".el-form-item.is-error")||me).getBoundingClientRect().top,xt=document.getElementById("__nuxt")||document.documentElement,kt=(xt.scrollTop||window.pageYOffset)+$t-100;xt.scrollTo({top:kt,behavior:"smooth"})}}else if(E){if(!J){await Ae();const z=(b=xe.value)==null?void 0:b.$el;if(z){const R=z.getBoundingClientRect().top,Ve=document.getElementById("__nuxt")||document.documentElement,me=(Ve.scrollTop||window.pageYOffset)+R-100;Ve.scrollTo({top:me,behavior:"smooth"})}}}else{await Ae();const z=(d=te.value)==null?void 0:d.$el;if(z){const R=z.getBoundingClientRect().top,Ve=document.getElementById("__nuxt")||document.documentElement,me=(Ve.scrollTop||window.pageYOffset)+R-100;Ve.scrollTo({top:me,behavior:"smooth"})}}}}catch(G){console.error("表单验证出错:",G)}},se=u("noDeposit"),Q=u(!1),$e=u(0);Ne(Q,d=>{ne&&(console.log("isProcessing",d),ne.emit("paymentProcessingChanged",d))});const Ie=u(!1);let ue=sessionStorage.getItem("tempUserId");const ge=u(!1),i=u(0),a=u(0),x=u(M.getItem("language")||"en"),m=u({language:x.value,...y.value}),ae=u(""),W=u(""),ee=u(""),ie=u(""),De=u([]),he=u(!1),Se=async(d=!1)=>{var b;try{const{code:G,data:A}=await Le.schedule.getCartList({userId:ue,hotelId:g.id||Z.query.id,currency:S.value,userType:"-1",promoCodes:g.promoCode||Z.query.promoCode||M.getItem("promoCode"),language:x.value});if(G==0){if(console.log("data",A),!A.list.length){f.show({message:o("redirect.sessionExpired"),confirmText:o("redirect.startOver"),url:"/reservation/search"});return}if(((b=A==null?void 0:A.list)==null?void 0:b.filter(_=>_.soldOut)).length?f.show({message:o("payment.roomsNotAvailable"),confirmText:o("payment.returnCart"),onConfirm(){const _=ot(),r={id:g.id||Z.query.id||M.getItem("currentHotelId")};N(_("/cart"),r),Q.value=!1}}):he.value=!0,d)return;A.list.filter(_=>{_.detailJson.depositCode!=="NDR"&&(ge.value=!0,se.value=""),_.detailJson.priceStr=ve(_.detailJson.price,m.value),_.detailJson.totalPriceStr=ve(_.detailJson.totalPrice,m.value),_.detailJson.totalPriceSum=ve(He(F.value,_.detailJson.currency,m.value.currencyCode,_.detailJson.totalPrice),m.value);const r=_.detailJson.rateDailies.reduce((E,ke)=>E+He(F.value,_.detailJson.currency,m.value.currencyCode,ke.tax),0);_.detailJson.taxSum=ve(st(r),m.value);const J=_.detailJson.rateDailies.reduce((E,ke)=>E+He(F.value,_.detailJson.currency,m.value.currencyCode,ke.serviceCharge),0);_.detailJson.serviceChargeSum=ve(st(J),m.value),_.detailJson.rateDailies.filter(E=>{E.price=He(F.value,_.detailJson.currency,m.value.currencyCode,E.price),E.dateStr=jt(E.date),i.value+=He(F.value,_.detailJson.currency,m.value.currencyCode,E.totalPrice),E.total=E.totalPrice})}),a.value=ve(A.mopTotal,m.value),L.value=A.list,i.value=A.totalPrice,L.value.map((_,r)=>{_.guestInfo={title:"",firstName:"",lastName:"",residence:"",phoneCode:"",phoneNumber:"",email:"",checkInTime:"",arrivalTime:"",preferences:[]}}),ae.value=ve(i.value,m.value),W.value=ve(A.totalPrice-A.deposit,m.value),ee.value=ve(A.deposit,m.value),ie.value=A.amount,De.value=A.rateDailiesAll}else f.show({message:o("redirect.sessionExpired"),confirmText:o("redirect.startOver"),url:"/reservation/search"})}catch{f.show({message:o("redirect.sessionExpired"),confirmText:o("redirect.startOver"),url:"/reservation/search"})}},Je=u([]),Ge=async()=>{const{code:d,data:b}=await Le.schedule.getTitleList({});d==0&&(Je.value=b)},Ke=u([]),je=async(d="")=>{const{code:b,data:G}=await Le.getAreaCode({areaNameAllLang:d});b==0&&(Ke.value=G)},ze=u([]),qe=async(d="")=>{const{code:b,data:G}=await Le.userCities({pid:0,name:d});b==0&&(ze.value=G)},at=async d=>{console.log("验证码通过,captchaCode:",d),console.log("验证码通过,开始支付..."),Q.value=!0,document.body.scrollTop=document.documentElement.scrollTop=0;const b=se.value==="noDeposit"?0:(parseFloat(He(F.value,m.value.currencyCode,"MOP",i.value))*100).toFixed(0);console.log("totalRevenue",b);const G=[];L.value.forEach(r=>{r.guestInfo.address;let J=r.guestInfo.arrivalTime||"15:00";G.push({...r.guestInfo,accountNum:null,userType:-1,payment:se.value,userId:ue,accountNum:null,cardType:null,cardLevel:null,currency:r.detailJson.currency,arrivalDate:r.detailJson.startTime,arrivalTime:J,arrivalTimeShow:`${r.detailJson.startTime} ${J}`,departureDate:r.detailJson.endTime,departureTime:"12:00",roomNum:1,adultNum:Number(r.detailJson.adults),childNum:Number(r.detailJson.children),hotelCode:r.detailJson.hotelCode,extraBed:0,roomTypeCode:r.detailJson.roomTypeCode,rateCode:r.detailJson.code,marketCode:r.detailJson.marketCode,sourceCode:r.detailJson.sourceCode?r.detailJson.sourceCode:"GDI",reservationType:r.detailJson.reservationType,cancelCode:r.detailJson.cancelCode,depositCode:r.detailJson.depositCode,deposit:r.detailJson.deposit,rateDailies:r.detailJson.rateDailies,titleStr:r.guestInfo.title,titlePrompt:"",firstPrompt:"",lastPrompt:"",countryPrompt:"",phonePrompt:"",emailPrompt:"",rateTotalAmount:0,totalRevenue:b,firstName:r.guestInfo.firstName,lastName:r.guestInfo.lastName,chineseName:"",guestTypeCode:"0000",channel:"",orderInfoComment:r.guestInfo.orderInfoComment,specialCodes:r.guestInfo.preferences.join(","),specialCodesList:r.guestInfo.preferences,titleCode:r.guestInfo.title,countryCode:r.guestInfo.address.code,countryShow:r.guestInfo.address.name,email:r.guestInfo.email,phone:r.guestInfo.phoneNumber,phoneShow:"",areaCode:r.guestInfo.phoneCode.code,dateStr:r.detailJson.rateDailies[0].dateStr,roomStayList:[],paymentList:[],orderInfoList:[{orderInfoComment:(r==null?void 0:r.orderInfoComment)||""}]})}),console.log("formDataList.value",Oe.value);const A=G;A.filter(r=>{r.promoCodes=g.promoCode||Z.query.promoCode||M.getItem("promoCode")||"",r.rate=(ie.value*100).toFixed(0),r.rateDailies.filter(J=>{J.price=J.mopPrice,J.serviceCharge=st(J.mopServiceCharge),J.tax=st(J.mopTax),J.totalPrice=J.mopTotalPrice})}),A.forEach(r=>{r.orderInfoList=[{orderInfoComment:r.orderInfoComment||""}]}),console.log("tempReserveJson",A);let B={paySence:1,userId:ue,userType:-1,channel:se.value==="noDeposit"?"":se.value,reserveJson:JSON.stringify(A),amount:se.value==="noDeposit"?0:(i.value*100).toFixed(0),totalRevenue:i.value,paymentCode:re.value[se.value]||"",deposite:se.value!=="noDeposit",currency:S.value,hotelCode:q.value,signcheck:!0,captchaCode:d},_={...B};B=JSON.stringify(B),B=B.replace(/\s/g,""),B=`${B}${Ls}`,console.log("requestData==",JSON.parse(_.reserveJson)),console.log("使用 captchaCode:",d);try{const r=await Le.schedule.getPaymentUrl({..._,signTimerStr:zt.MD5(B).toString(),signcheck:!0});if(console.log("code===",r),r.code==0){if(r.data.result&&(r.data.result.channel=="ICBCOnlinePosOrder"||r.data.result.channel=="AlipayPC"||r.data.result.channel=="WechatPayPC")){try{let E=0,ke=[];L.value.forEach(k=>{E+=k.detailJson.days,ke.push(`${k.detailJson.roomNameEn}, ${k.detailJson.roomTypeCode}+${k.detailJson.rateName.replace(/^<p>|<\/p>$/g,"")},${k.detailJson.price},${k.detailJson.days},${k.detailJson.startTime}-${k.detailJson.endTime},hotel`)})}catch(E){console.error("Matomo trackEvent error:",E)}setTimeout(()=>{window.location.href=r.data.result.redirectUrl},1500),console.log("data.result.redirectUrl",r.data.result.redirectUrl)}else if(r.data&&r.data.length>0){try{let k=0,z=[];L.value.forEach(R=>{k+=R.detailJson.days,z.push(`${R.detailJson.roomNameEn}, ${R.detailJson.roomTypeCode}+${R.detailJson.rateName.replace(/^<p>|<\/p>$/g,"")},${R.detailJson.price},${R.detailJson.days},${R.detailJson.startTime}-${R.detailJson.endTime},hotel`)})}catch(k){console.error("Matomo trackEvent error:",k)}M.setItem("orderData",r.data[0]);const E=ot(),ke={allOrderId:r.data[0].orderNo,bookerName:r.data[0].lastName};N(E("/confirmation"),ke),Q.value=!1;try{let k=0,z=[];orderList.value.orderRoomVos.forEach(R=>{k+=R.detailJson.days,z.push(`${R.detailJson.roomNameEn}, ${R.detailJson.roomTypeCode}+${R.detailJson.rateName.replace(/^<p>|<\/p>$/g,"")},${R.detailJson.price},${R.detailJson.days},${R.detailJson.startTime}-${R.detailJson.endTime},hotel`)})}catch(k){console.error("Matomo trackEvent error:",k)}}if((await Le.schedule.clearCart({hotelId:g.id||Z.query.id||M.getItem("currentHotelId"),userId:ue,userType:"-1"})).code==0){ne&&ne.emit("refreshCart");try{uni.removeStorageSync("addEcommerceItem"),L.value.forEach(E=>{pe.addEcommerceItem(E.detailJson.roomTypeCode+" "+E.roomName,q.value,E.detailJson.roomCatCode+" "+E.detailJson.roomName,E.detailJson.totalPrice,E.detailJson.quantity)})}catch{}}}else r.code=="10001"?f.show({message:o("payment.NotBeCompletedTryAgain"),confirmText:o("redirect.back"),url:"/reservation/search"}):r.code=="4002"?(console.log("库存不足状态  4002",r.message),f.show({message:o("payment.roomsNotAvailable"),confirmText:o("payment.returnCart"),onConfirm(){const J=ot(),E={id:g.id||Z.query.id||M.getItem("currentHotelId")};N(J("/cart"),E),Q.value=!1}})):(Q.value=!0,f.show({message:o("payment.NotBeCompletedTryAgain"),confirmText:o("redirect.back"),url:"/reservation/search"}))}catch{f.show({message:o("payment.NotBeCompletedTryAgain"),confirmText:o("redirect.back"),url:"/reservation/search"})}},Ee=()=>{O.value.forEach(d=>{d&&typeof d.closeAllSelects=="function"&&d.closeAllSelects()})},Xe=d=>{const b=d.target;b.closest(".el-select-dropdown")||b.closest(".el-popper")||b.closest(".el-select__popper")||b.closest(".el-select__wrap")||Ee()},Ze=d=>{const b=d.target;b.closest(".el-select-dropdown")||b.closest(".el-popper")||b.closest(".el-select__popper")||b.closest(".el-select__wrap")||Ee()};let Qe=0,h=0,le=null,Me=0,ye=null;const rt=d=>d?d.closest(".el-select-dropdown__wrap")||d.closest(".el-scrollbar__wrap")||d.classList.contains("el-select-dropdown__wrap")||d.classList.contains("el-scrollbar__wrap"):!1,mt=d=>{d.touches&&d.touches.length>0&&(Qe=d.touches[0].clientY,h=Date.now(),Me=window.pageYOffset||document.documentElement.scrollTop,le&&(clearTimeout(le),le=null),ye&&(clearTimeout(ye),ye=null))},ft=d=>{if(!d.touches||d.touches.length===0)return;const b=d.touches[0],G=b.clientY,A=Math.abs(G-Qe),B=Date.now()-h;if(A>3&&B<1e3){const _=document.elementFromPoint(b.clientX,b.clientY);if(rt(_))return;const r=d.target;if(rt(r))return;let J=r==null?void 0:r.parentElement;for(;J&&J!==document.body;){if(rt(J))return;J=J.parentElement}le||(Ee(),le=setTimeout(()=>{le=null},150))}},lt=()=>{le&&(clearTimeout(le),le=null),ye&&clearTimeout(ye),ye=setTimeout(()=>{const d=window.pageYOffset||document.documentElement.scrollTop;Math.abs(d-Me)>5&&document.querySelectorAll('.el-select-dropdown:not([style*="display: none"])').length>0&&Ee(),ye=null},150)};return Yt(async()=>{window.addEventListener("scroll",Xe,{passive:!0}),document.addEventListener("wheel",Ze,{passive:!0}),document.addEventListener("touchstart",mt,{passive:!0}),document.addEventListener("touchmove",ft,{passive:!0}),document.addEventListener("touchend",lt,{passive:!0}),document.addEventListener("touchcancel",lt,{passive:!0}),await Se(),Ge(),je(),qe(),ne.on("currencyUpdated",()=>{Se(),Ge(),je(),qe()});try{{const d=At(),b=Ot(),G=V.value==="default"?"sjm":V.value;let A=[];L.value.length>0&&L.value.forEach(B=>{let _=0,r="";
2B.detailJson.rateDailies.forEach((J,E)=>{_+=J.tax+J.serviceCharge,r+=E<B.detailJson.rateDailies.length-1?J.date+", ":J.date}),_=_/B.detailJson.rateDailies.length,A.push({name:B.detailJson.rateNameEn.replace(/^<p>|<\/p>$/g,"")||"",sku:B.detailJson.roomTypeCode+"+"+B.detailJson.code,quantity:B.detailJson.days,price:B.detailJson.price,tax:Math.round((_+Number.EPSILON)*100)/100,date:b,type:"room"})}),window.ecomData.push({transactionProducts:A,currentTimeMacau:d,currentTimeLocal:b,checkInDate:Y.value,checkOutDate:t.value,selectedHotel:M.getItem("hotelCode"),memberLoggedIn:!1,numberTotalRooms:L.value.length,numberTotalAdults:p.value,numberTotalChild:C.value,numberTotalNights:M.getItem("dayNum"),currentStep:3,skinCode:G=="default"?"sjm":G,totalPrice:i.value,numberTotalRoomNights:L.value.length*M.getItem("dayNum")})}}catch(d){console.error("Matomo DataLayer Error:",d)}}),wt(()=>{window.removeEventListener("scroll",Xe),document.removeEventListener("wheel",Ze),document.removeEventListener("touchstart",mt),document.removeEventListener("touchmove",ft),document.removeEventListener("touchend",lt),document.removeEventListener("touchcancel",lt),le&&(clearTimeout(le),le=null),ye&&(clearTimeout(ye),ye=null)}),(d,b)=>{const G=Ut,A=qt,B=Ht;return v(),P("div",es,[e("div",ts,[e("div",as,[e("div",ls,[s(w)=="pvm"?(v(),P("h1",{key:0,class:j(["text-[26px] md:text-[32px] lg:text-[32px] whitespace-nowrap mr-[30px] hidden lg:block font-mono tracking-[3.2px]",{"!font-bold":s(w)=="tkl"}])},l(Q.value?s(w)=="pvm"?s(o)("header.BookingConfirmation"):s(o)("payment.bookingConfirmation"):s(w)=="pvm"?s(o)("payment.paymentpvm"):s(o)("payment.payment")),3)):(v(),P("h2",{key:1,class:j(["text-[26px] md:text-[32px] lg:text-[32px] whitespace-nowrap mr-[30px] hidden lg:block font-mono tracking-[3.2px]",{"!font-bold":s(w)=="tkl"}])},l(Q.value?s(w)=="pvm"?s(o)("header.BookingConfirmation"):s(o)("payment.bookingConfirmation"):s(w)=="pvm"?s(o)("payment.paymentpvm"):s(o)("payment.payment")),3))]),tt(e("div",ss,[e("div",os,[e("span",ns,l(s(o)("payment.onlinePayment")),1),e("span",{class:j(["text-[16px]",{"!font-bold":s(w)=="tkl"}])},l(y.value[n.value])+" "+l(ee.value),3)]),e("div",rs,[e("span",is,l(s(o)("payment.outstandingBalance")),1),e("span",{class:j(["text-[16px]",{"!font-bold":s(w)=="tkl"}])},l(y.value[n.value])+" "+l(W.value),3)]),e("div",cs,[e("span",ds,l(s(o)("payment.totalAmount")),1),e("span",{class:j(["text-[20px]",{"!font-bold":s(w)=="tkl"}])},l(y.value[n.value])+" "+l(ae.value),3),S.value!=="MOP"?(v(),P("span",us,l(s(o)("payment.paymentInMOP",{amount:a.value})),1)):ce("",!0)])],512),[[it,!Q.value]])])]),e("div",ps,[e("div",ms,[e("div",{class:j(["flex items-center justify-start gap-[12px] pb-[12px] lg:pb-[24px]",{"!pb-0":Q.value}])},[s(w)=="pvm"?(v(),P("h1",fs,l(Q.value?s(w)=="pvm"?s(o)("header.BookingConfirmation"):s(o)("payment.bookingConfirmation"):s(w)=="pvm"?s(o)("payment.paymentpvm"):s(o)("payment.payment")),1)):(v(),P("h2",vs,l(Q.value?s(w)=="pvm"?s(o)("header.BookingConfirmation"):s(o)("payment.bookingConfirmation"):s(w)=="pvm"?s(o)("payment.paymentpvm"):s(o)("payment.payment")),1))],2),tt(e("div",xs,[e("div",gs,[e("div",{class:j(["flex items-center gap-[12px] md:gap-[20px] mb-[4px] md:mb-[8px] md:hidden",{"!mb-0 md:!mb-[4px]":S.value!=="MOP"}])},[e("div",hs,l(s(o)("payment.totalAmount")),1),e("div",ys,l(y.value[n.value])+" "+l(ae.value),1)],2),S.value!=="MOP"?(v(),P("div",bs,l(s(o)("payment.paymentInMOP",{amount:a.value})),1)):ce("",!0),e("div",ws,[e("div",{class:j(["flex items-center gap-[12px] md:gap-[20px] mb-[4px] md:mb-[8px]",{"!mb-0 md:!mb-[4px]":S.value!=="MOP"}])},[e("div",_s,l(s(o)("payment.totalAmount")),1),e("div",Cs,l(y.value[n.value])+" "+l(ae.value),1)],2),S.value!=="MOP"?(v(),P("div",$s,l(s(o)("payment.paymentInMOP",{amount:a.value})),1)):ce("",!0)])]),e("div",ks,[e("div",Ps,l(s(o)("payment.onlinePayment1"))+l(y.value[n.value])+" "+l(ee.value),1),e("div",Ts,l(s(o)("payment.outstandingBalance1"))+l(y.value[n.value])+" "+l(W.value),1)])],512),[[it,!Q.value]])])]),e("div",Is,[e("div",{class:j(["container py-[24px] md:py-[24px] px-[16px] md:px-[40px] md:py-[40p
2x] lg:py-[24px] lg:px-0",{"md:!py-[40px] lg:!py-[60px]":Q.value}])},[Q.value?(v(),P("div",Js,[b[3]||(b[3]=e("div",{class:"my-10"},[e("img",{src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/loading%402x.png",alt:"Loading",class:"w-[48px] h-[48px] mx-auto mb-8 rotating-icon"})],-1)),e("div",Ns,l(s(o)("payment.processingReservation")),1)])):(v(),P("div",Ds,[c(Sa,{rooms:L.value},null,8,["rooms"]),c(A,{modelValue:$e.value,"onUpdate:modelValue":b[0]||(b[0]=_=>$e.value=_),onChange:d.handleChange},{default:$(()=>[(v(!0),P(we,null,Re(L.value,(_,r)=>(v(),oe(G,{key:r,name:r,class:"py-[8px] md:py-[40px] border-b border-primary2"},{title:$(()=>[e("div",{class:j(["text-booking-summary-text text-[18px] md:text-[22px] lg:text-[26px] font-normal w-full text-left whitespace-nowrap overflow-hidden text-ellipsis",{"!font-[400]":s(w)=="tkl"}])},l(d.$t("rooms.roomStr"))+" "+l(r+1)+" - "+l(d.$t("rooms.guestInfo")),3)]),icon:$(({isActive:J})=>[e("img",{class:j(["transform transition-transform duration-200 w-[20px] md:w-[24px] h-[20px] md:h-[24px] ml-auto",{"rotate-180":J}]),src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/SVG%402x.png",alt:""},null,2)]),default:$(()=>[c(kl,{"room-data":_,"room-index":r,onCopyGuestInfo:Be,ref_for:!0,ref:J=>{J&&Te(J,r)},"title-list":Je.value,"area-list":Ke.value,"residence-list":ze.value,onResidenceSearch:qe,onPhoneCodeSearch:je},null,8,["room-data","room-index","title-list","area-list","residence-list"])]),_:2},1032,["name"]))),128))]),_:1},8,["modelValue","onChange"]),c(Wl,{modelValue:se.value,"onUpdate:modelValue":b[1]||(b[1]=_=>se.value=_),needDeposit:ge.value,ref_key:"paymentMethodRef",ref:te},null,8,["modelValue","needDeposit"]),c(Ql,{modelValue:Ie.value,"onUpdate:modelValue":b[2]||(b[2]=_=>Ie.value=_),ref_key:"termsConditionsRef",ref:xe},null,8,["modelValue"]),e("div",Ss,[c(s(H),{ref_key:"captchaRef",ref:Ce,onVerifySuccess:at},null,512),c(B,{type:"primary",iconType:"svg",text:s(o)("payment.confirm"),icon:"OK",onClick:Fe,id:"login-btn",class:"flex-1 md:flex-none"},null,8,["text"])])]))],2)])])}}}),Os=We(Rs,[["__scopeId","data-v-4d125a32"]]);export{Os 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.