PageSourceSearch

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

js palazzoversace.mo collected 2026-10-06 17:25:29 UTC 17,331 bytes, 1 lines download raw bytes

1import{_ as Oe,a as De}from"./CVJX6qxg.js";import{_ as je,a as ue,r as i,h as Me,O as pe,b as Re,e as xe,f as K,g as Ee,w as Ye,i as Le,j as Ae,D as Be,F as He,c as p,l as o,m as j,P as r,n as M,t as s,p as v,B as z,q as H,C as fe,J as Q,v as R,Q as ge,s as Ve,H as qe,o as m,K as ve,R as b,S as J,T as he,k as Ue,N as ye}from"./L1BY2RrO.js";import{_ as We}from"./BCa7FPmd.js";import{_ as Ge}from"./DbdQM4Gf.js";const Fe={class:"min-h-screen bg-gray-50 overflow-hidden"},Ke={class:"select-room lg:pb-[0px] pt-[99px] md:px-[40px]"},ze={class:"container flex justify-between items-center px-[16px] py-[16px] md:py-[40px] md:px-0"},Qe={class:"w-full lg:px-[40px]"},Xe={class:"container md:px-[40px] px-[16px] py-[4px] mx-auto md:!py-0 lg:px-0"},Ze={class:"justify-between items-start w-full py-[32px] pr-[40px] md:flex hidden relative"},et={class:"soldOut"},tt={class:"flex justify-start items-start gap-[14px] mr-[40px] lg:w-[180px]"},ot={class:"flex items-center justify-start gap-[18px]"},st=["onClick"],at=["onClick"],lt={class:"flex-1 flex justify-between items-start"},rt={class:"flex flex-col"},nt={class:"text-[16px] text-[#505050] leading-[32px]"},it={class:"text-[16px] text-[#505050] leading-[32px] flex items-center flex-wrap"},dt=["innerHTML"],ct={class:"text-[16px] text-[#7D8A8A] leading-[32px]"},mt={class:"flex flex-col flex-wrap"},ut={key:1,class:"text-[16px] text-[#505050] text-right"},pt={class:"flex flex-col justify-between items-start w-full py-[12px] md:hidden relative"},xt={class:"soldOut"},ft={class:"flex items-center justify-start gap-[18px] mb-[12px]"},gt=["onClick"],vt=["onClick"],ht={class:"flex justify-between items-start w-full mb-[12px]"},yt={class:"text-primary text-[18px] lg:text-[26px] h-[28px] leading-[28px] md:h-[36px] md:leading-[36px]"},Ct={class:"flex-1 flex justify-end items-center h-[28px] md:h-[36px] md:leading-[36px]"},_t={class:"flex items-center gap-[10px]"},wt={key:0,class:"text-[14px] md:text-[16px] text-[#505050]"},$t={key:1,class:"text-[20px] text-primary font-[500]"},It={class:"flex flex-col gap-[6px] md:gap-[10px] w-full"},kt={class:"text-[14px] md:text-[16px] text-[#505050]"},bt={class:"text-[14px] md:text-[16px] text-[#505050] flex justify-start items-center flex-wrap"},Jt=["innerHTML"],Tt={class:"text-[14px] md:text-[16px] text-[#7D8A8A]"},Pt={class:"flex items-center flex-col CollapseItem"},St={class:"border-t-[1px] border-primary flex justify-between items-center py-[12px] md:py-[20px] text-[14px] md:text-[16px] text-[#505050] md:mr-[88px]"},Nt={class:"flex-1 flex flex-col w-full"},Ot={class:"border-t-[1px] border-primary flex justify-between items-center py-[12px] md:py-[20px] text-[14px] md:text-[16px] text-[#505050] md:mr-[88px]"},Dt={class:"border-t-[1px] border-primary flex justify-between items-center py-[12px] md:py-[20px] text-[14px] md:text-[16px] text-[#505050] md:mr-[88px]"},jt={class:"border-t-[1px] border-primary flex justify-start items-start py-[12px] md:py-[20px] pb-[20px] md:pb-[40px] text-[14px] md:text-[16px] text-[#A78A5D] underline underline-offset-2 w-full box-border md:w-[calc(100%-88px)] md:mr-[88px]"},Mt=["onClick"],Rt={key:0,class:"mt-[12px] md:mt-[32px] flex items-start"},Et={class:"text-[#B94D4D] text-[16px] leading-[30px]"},Yt={key:1,class:"md:mt-[40px] flex md:flex-row flex-col-reverse justify-between items-center mb-[16px]"},Lt={class:"flex md:flex-row-reverse flex-col-reverse items-center gap-[10px] md:gap-[20px] w-full md:w-auto md:my-0"},At={class:"text-right w-full border-primary md:border-none py-[20px] md:py-0 flex md:flex-col flex-row items-center md:items-end justify-end md:mr-[88px]"},Bt={class:"text-[#505050] text-[14px] md:text-[16px]"},Ht={__name:"cart",setup(Vt){const{$sessionStorage:n,$matomo:Ce,$eventBus:E}=ue(),_e=Le();i("MOP");const{getPageParams:we,navigateWithEncryptedParams:V}=Me();let d={};try{d=we(),console.log("getPageParams 返回的参数:",d)}catch(e){console.error("获取页面参数失败:",e),d=pe().query||{},console.log("回退到URL参数:",d)}i("Hotel Grand Lisboa");const X=i(!1),{t:C,locale:qt}=Re(),{skin:Y}=xe(),$e=K(()=>{const e=Y.value==="default"?"sjm":Y.value;return C("header.ShoppingCart")+" | "+C(`header.${e}`)});Ee({title:$e});const T=i(d.adults||n.getItem("adultNum")||2),P=i(d.children||n.getItem("childNum")||0),S=i(d.startTime||n.getItem("checkIn")||""),N=i(d.endTime||n.getItem("checkOut")||""),Ie=i(d.currency||(n.getItem("currency")?n.getItem("currency").currencyCode:"MOP")),w=K(()=>{switch($){case"en":return"nameEn";case"sc":return"name";case"tc":return"nameTc";case"jp":return"nameJp";case"kr":return"nameKr";default:return"nameEn"}}),O=pe(),q=i(0),Z=i(0),L=i(!1),ee=i(n.getItem("dayNum")||0);let U=sessionStorage.getItem("tempUserId");const W=Ye(),ke=K(()=>{{const{width:e}=window.screen;return e}});let $=n.getItem("l")||"en",_=n.getItem("currency")||{name:C("rooms.mop"),currencyCode:"MOP"};const I=i({language:$,..._}),D=i(!1),te=i(!1),{$customAlert:oe}=ue(),h=i(!0),be=async()=>{let e=c.value.filter(t=>t.soldOut).map(t=>
1t.id);e.length&&(await Je(e),await A(),E&&E.emit("refreshCart"))},Je=async e=>{h.value=!0;try{const t=await R.schedule.clearCart({hotelId:n.getItem("currentHotelId"),userId:U,userType:"-1",ids:e||""});t.code==0?(D.value=!1,te.value=!1):oe.show({message:t.message,title:C("home.Reminder"),confirmText:C("infomation.confirm")})}finally{h.value=!1}},se=()=>{var t;const e={id:n.getItem("currentHotelId"),checkIn:S.value,checkOut:N.value,hotelCode:n.getItem("hotelCode"),adults:n.getItem("adultNum"),children:n.getItem("childNum")||0,days:ee.value,offerCodes:n.getItem("offerCodes")||sessionStorage.getItem("rate"),promoCode:n.getItem("promoCode"),promoCodesResult:n.getItem("promoCodesResult"),rate:sessionStorage.getItem("rate")||"",roomgroup:sessionStorage.getItem("roomgroup")||"",exclude_rate:sessionStorage.getItem("exclude_rate")||"",isOffer:sessionStorage.getItem("isOffer"),firstOfferCode:((t=sessionStorage.getItem("rate"))==null?void 0:t.split(",")[0])||""};V(W("/select-room"),e)},Te=async()=>{try{let t=[];c.value.forEach(l=>{t.push(`${l.detailJson.roomNameEn}, ${l.detailJson.roomTypeCode}+${l.detailJson.rateName.replace(/^<p>|<\/p>$/g,"")},${l.detailJson.price},${l.detailJson.days},${l.detailJson.startTime}-${l.detailJson.endTime},hotel`)})}catch(t){console.error("Matomo trackEvent error:",t)}if(await A(),D.value){te.value=!0;return}const e={promoCode:d.promoCode||O.query.promoCode,id:d.id||O.query.id};V(W("/payment"),e)},c=i([]),A=async()=>{h.value=!0;try{const{code:e,data:t}=await R.schedule.getCartList({userId:U,hotelId:n.getItem("currentHotelId"),currency:Ie.value,userType:"-1",promoCodes:d.promoCode||O.query.promoCode||n.getItem("promoCode")});if(console.log(t,"data"),e==0&&(t.list.forEach(l=>{let x=0,u=0;l.detailJson.rateDailies.forEach(g=>{x+=g.tax,u+=g.serviceCharge}),l.detailJson.tax=ge(x),l.detailJson.serviceCharge=ge(u)}),c.value=t.list,q.value=t.totalPrice,D.value=t.list.some(l=>l.soldOut),!c.value.length)){se();return}}finally{h.value=!1}},ae=e=>{var l;const t={id:n.getItem("currentHotelId"),checkIn:S.value,checkOut:N.value,hotelCode:n.getItem("hotelCode"),adults:n.getItem("adultNum"),children:n.getItem("childNum")||0,days:ee.value,isOffer:n.getItem("isOffer"),offerCodes:n.getItem("offerCodes"),promoCode:n.getItem("promoCode"),promoCodesResult:n.getItem("promoCodesResult"),rate:sessionStorage.getItem("rate")||"",roomgroup:sessionStorage.getItem("roomgroup")||"",exclude_rate:sessionStorage.getItem("exclude_rate")||"",isOffer:sessionStorage.getItem("isOffer"),firstOfferCode:((l=sessionStorage.getItem("rate"))==null?void 0:l.split(",")[0])||"",isEdit:!0};V(W("/select-room"),t),n.setItem("editId",e)},le=i(""),re=e=>{le.value=e,ne()},ne=async e=>{h.value=!0;try{const{code:t,data:l}=await R.schedule.deleteCartItem({id:e||le.value,userId:U,userType:"-1"});if(t==0){try{Ce.removeEcommerceItem(item.detailJson.roomTypeCode+"+"+item.detailJson.code)}catch{}E&&E.emit("refreshCart"),A()}}finally{h.value=!1}},ie=i({}),de=i({}),Pe=async e=>{de.value=e;const{code:t,data:l}=await R.schedule.getRoomRateDetail({rateCode:e.detailJson.code,hotelId:d.id||O.query.id||""});t==0&&(ie.value=l.bookingPolicy,await Se(e),L.value=!0)},ce=i(""),me=i(""),Se=async e=>{const{code:t,data:l}=await R.schedule.getCodeWord({deposit:e.detailJson.depositCode,cancel:e.detailJson.cancelCode,hotelId:d.id||O.query.id||""});t==0&&(ce.value=l.cancel.detail,me.value=l.deposit.detail)};_e.currentRoute.value.query;const{skin:f}=xe(),G=e=>{let t;const l=Ue();l==="sc"||l==="tc"||l==="ja"||l==="jp"?t="YYYY年M月D日":l==="ko"||l==="kr"?t="YYYY년 M월 D일":t="D MMM YYYY";let x;return l==="sc"||l==="tc"||l==="ja"||l==="jp"||l==="ko"||l==="kr"?x=ye(e).format(t):x=ye(e).format("D MMM YYYY"),`${x}`};return Ae(async()=>{console.log(d,"pageParams.id"),d.id||oe.show({message:C("redirect.sessionExpired"),confirmText:C("redirect.startOver"),url:"/reservation/search"}),await A();try{let e=[];c.value.forEach(t=>{e.push(`${t.detailJson.roomNameEn}, ${t.detailJson.roomTypeCode}+${t.detailJson.rateName.replace(/^<p>|<\/p>$/g,"")},${t.detailJson.price},${t.detailJson.days},${t.detailJson.startTime}-${t.detailJson.endTime},hotel`)})}catch(e){console.error("Matomo trackEvent error:",e)}try{{const e=Be(),t=He(),l=Y.value==="default"?"sjm":Y.value;let x=[];c.value.length>0&&c.value.forEach(u=>{let g=0,F="";
1u.detailJson.rateDailies.forEach((k,a)=>{g+=k.tax+k.serviceCharge,F+=a<u.detailJson.rateDailies.length-1?k.date+", ":k.date}),g=g/u.detailJson.rateDailies.length,x.push({name:u.detailJson.rateNameEn.replace(/^<p>|<\/p>$/g,"")||"",sku:u.detailJson.roomTypeCode+"+"+u.detailJson.code,quantity:u.detailJson.days,price:u.detailJson.price,tax:Math.round((g+Number.EPSILON)*100)/100,date:t,type:"room"})}),window.ecomData.push({transactionProducts:x,currentTimeMacau:e,currentTimeLocal:t,checkInDate:S.value,checkOutDate:N.value,selectedHotel:n.getItem("hotelCode"),memberLoggedIn:!1,numberTotalRooms:c.value.length,numberTotalAdults:T.value,numberTotalChild:P.value,numberTotalNights:n.getItem("dayNum"),currentStep:2.5,skinCode:l=="default"?"sjm":l,totalPrice:q.value,numberTotalRoomNights:c.value.length*n.getItem("dayNum")})}}catch(e){console.error("ecomData Error:",e)}}),(e,t)=>{const l=De,x=Oe,u=Ve,g=qe,F=We,k=Ge;return m(),p(Q,null,[o("div",Fe,[o("div",Ke,[o("div",ze,[r(f)=="pvm"?(m(),p("h1",{key:0,class:M(["edit flex items-center text-[26px] md:text-[32px] font-mono",{"!font-bold":r(f)=="tkl"}])},s(r(f)=="pvm"?e.$t("payment.yourCartpvm"):e.$t("payment.YOURCART"))+" ("+s(c.value.length)+s(c.value.length>1?r($)=="en"?" "+e.$t("rooms.roomsStr"):e.$t("rooms.roomsStr"):r($)=="en"?" "+e.$t("rooms.roomsStr"):e.$t("rooms.roomStr"))+") ",3)):(m(),p("h2",{key:1,class:M(["edit flex items-center text-[26px] md:text-[32px] font-mono",{"!font-bold":r(f)=="tkl"}])},s(r(f)=="pvm"?e.$t("payment.yourCartpvm"):e.$t("payment.YOURCART"))+" ("+s(c.value.length)+s(c.value.length>1?r($)=="en"?" "+e.$t("rooms.roomsStr"):e.$t("rooms.roomsStr"):r($)=="en"?" "+e.$t("rooms.roomStr"):e.$t("rooms.roomStr"))+") ",3))])]),o("div",Qe,[o("div",Xe,[j(x,{modelValue:Z.value,"onUpdate:modelValue":t[2]||(t[2]=a=>Z.value=a)},{default:z(()=>[(m(!0),p(Q,null,ve(c.value,(a,B)=>(m(),fe(l,{name:B+1,key:B,arrowAlign:r(ke)<768?"":"center"},{title:z(()=>[o("div",Ze,[a.soldOut?(m(),p("div",{key:0,class:"absolute top-0 left-0 bottom-0 right-0 mask w-full h-full translate-x-[60px]",onClick:t[0]||(t[0]=J(()=>{},["stop"]))},[o("div",et,s(e.$t("payment.soldOut")),1)])):v("",!0),o("div",tt,[o("div",ot,[o("div",{class:"flex justify-center items-center h-[36px]",onClick:J(y=>ae(a.id),["stop"])},t[7]||(t[7]=[o("img",{src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/edit-black.png",class:"w-[16px] h-[16px] md:w-[20px] md:h-[20px]",alt:""},null,-1)]),8,st),o("div",{class:"flex justify-center items-center h-[36px]",onClick:J(y=>re(a.id),["stop"])},t[8]||(t[8]=[o("img",{src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/delete.png",class:"w-[16px] h-[16px] md:w-[20px] md:h-[20px]",alt:""},null,-1)]),8,at)]),o("div",{class:M(["text-primary text-[22px] lg:text-[26px]",{"!font-[400] !text-[#000]":r(f)=="tkl"}])},s(e.$t("payment.room"))+s(B+1),3)]),o("div",lt,[o("div",rt,[o("div",nt,s(a.hotelName),1),o("div",it,[H(s(a.detailJson.roomName)+" - "+s(a.detailJson.roomTypeName)+" | ",1),o("div",{innerHTML:a.detailJson.rateName,class:"ml-[5px]"},null,8,dt)]),o("div",ct,s(G(S.value))+" - "+s(G(N.value))+" | "+s(T.value+` ${T.value<=1?e.$t("rooms.adult"):e.$t("rooms.adults")}`)+", "+s(P.value+` ${P.value<=1?e.$t("rooms.child"):e.$t("rooms.children")}`),1)]),o("div",mt,[a.soldOut?v("",!0):(m(),p("div",{key:0,class:M(["text-[24px] text-price-primary text-right",{"!font-bold":r(f)=="tkl"}])},s(r(_)[r(w)])+" "+s(r(b)(a.detailJson.totalPrice,I.value)||0),3)),a.soldOut?v("",!0):(m(),p("div",ut,s(a.detailJson.rateDailies.length>1?e.$t("payment.totalNightsStr",{count:a.detailJson.rateDailies.length}):e.$t("payment.totalNights",{count:a.detailJson.rateDailies.length})),1))])])]),o("div",pt,[a.soldOut?(m(),p("div",{key:0,class:"absolute left-0 bottom-0 right-0 mask w-[calc(100%+36px)] h-[calc(100%-42px)]",onClick:t[1]||(t[1]=J(()=>{},["stop"]))},[o("div",xt,s(e.$t("payment.soldOut")),1)])):v("",!0),o("div",ft,[o("div",{class:"flex justify-center items-center md:h-[36px]",onClick:J(y=>ae(a.id),["stop"])},t[9]||(t[9]=[o("img",{src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/edit-black.png",class:"w-[20px] h-[20px]",alt:""},null,-1)]),8,gt),o("div",{class:"flex justify-center items-center md:h-[36px]",onClick:J(y=>re(a.id),["stop"])},t[10]||(t[10]=[o("img",{src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/delete.png",class:"w-[20px] h-[20px]",alt:""},null,-1)]),8,vt)]),o("div",ht,[o("div",yt,s(e.$t("payment.room"))+s(B+1),1
1),o("div",Ct,[o("div",_t,[a.soldOut?v("",!0):(m(),p("div",wt,s(a.detailJson.rateDailies.length>1?e.$t("payment.totalNightsStr",{count:a.detailJson.rateDailies.length}):e.$t("payment.totalNights",{count:a.detailJson.rateDailies.length})),1)),a.soldOut?v("",!0):(m(),p("div",$t,s(r(_)[r(w)])+" "+s(r(b)(a.detailJson.totalPrice,I.value)||0),1))])])]),o("div",It,[o("div",kt,s(a.hotelName),1),o("div",bt,[H(s(a.detailJson.roomName)+" - "+s(a.detailJson.roomTypeName)+" | ",1),o("div",{innerHTML:a.detailJson.rateName},null,8,Jt)]),o("div",Tt,s(r(he)(S.value))+" - "+s(r(he)(N.value))+" | "+s(T.value+` ${T.value<=1?e.$t("rooms.adult"):e.$t("rooms.adults")}`)+", "+s(P.value+` ${P.value<=1?e.$t("rooms.child"):e.$t("rooms.children")}`),1)])])]),default:z(()=>[o("div",Pt,[(m(!0),p(Q,null,ve(a.detailJson.rateDailies,(y,Ne)=>(m(),p("div",{class:"flex-1 flex flex-col w-full",key:Ne},[o("div",St,[o("div",null,s(y.dateStr||G(y.date)),1),o("div",null,s(r(_)[r(w)])+" "+s(r(b)(y.price,I.value)||0),1)])]))),128)),o("div",Nt,[o("div",Ot,[o("div",null,s(a.detailJson.rateDailies.length>1?e.$t("payment.governmentTaxStr",{count:a.detailJson.rateDailies.length}):e.$t("payment.governmentTax",{count:a.detailJson.rateDailies.length})),1),o("div",null,s(r(_)[r(w)])+" "+s(r(b)(a.detailJson.tax,I.value)||0),1)]),o("div",Dt,[o("div",null,s(a.detailJson.rateDailies.length>1?e.$t("payment.serviceChargeStr",{count:a.detailJson.rateDailies.length}):e.$t("payment.serviceCharge",{count:a.detailJson.rateDailies.length})),1),o("div",null,s(r(_)[r(w)])+" "+s(r(b)(a.detailJson.serviceCharge,I.value)||0),1)])]),o("div",jt,[o("span",{class:"cursor-pointer text-policy-text",onClick:y=>Pe(a)},s(e.$t("payment.ReservationPolicy")),9,Mt)])])]),_:2},1032,["name","arrowAlign"]))),128))]),_:1},8,["modelValue"]),D.value?(m(),p("div",Rt,[t[11]||(t[11]=o("img",{src:"https://image.sjmresorts.com/static/BookingPageWeb/icons/error.png",alt:"",class:"w-[24px] h-[30px] mr-[12px]"},null,-1)),o("span",Et,[H(s(e.$t("payment.sellOutPalceholder1"))+", "+s(e.$t("payment.sellOutPalceholder2")),1),o("span",{class:"text-[#A8996E] underline cursor-pointer",onClick:be},s(e.$t("payment.here")),1),H(s(e.$t("payment.sellOutPalceholder3")),1)])])):v("",!0),!h.value&&r(d).id?(m(),p("div",Yt,[o("div",Lt,[c.value&&c.value.length<9?(m(),fe(u,{key:0,text:e.$t("infomation.addAnotherRoom"),class:"w-full md:w-auto whitespace-nowrap",type:"",onClick:se},null,8,["text"])):v("",!0),j(u,{text:e.$t("infomation.GOTOPAYMENT"),class:"w-full md:w-auto whitespace-nowrap",onClick:Te,disabled:D.value},null,8,["text","disabled"])]),o("div",At,[o("div",Bt,s(e.$t("payment.GrandTotal")),1),o("div",{class:M(["text-[20px] md:text-[24px] text-price-primary ml-[12px] font-[500] md:font-normal",{"!font-bold":r(f)=="tkl"}])},s(r(_)[r(w)])+" "+s(r(b)(q.value,I.value)),3)])])):v("",!0)])])]),j(g,{modelValue:X.value,"onUpdate:modelValue":t[3]||(t[3]=a=>X.value=a),title:"Reminder",confirmText:e.$t("infomation.confirm"),cancelText:e.$t("infomation.cancle"),content:r(f)=="pvm"?e.$t("rooms.Reminderpvm"):e.$t("rooms.Reminder"),onConfirm:t[4]||(t[4]=a=>ne())},null,8,["modelValue","confirmText","cancelText","content"]),j(F,{show:L.value,selectItem:de.value,bookingPolicy:ie.value,cancelPolicy:ce.value,depositPolicy:me.value,"onUpdate:show":t[5]||(t[5]=a=>L.value=a),onClose:t[6]||(t[6]=a=>L.value=!1)},null,8,["show","selectItem","bookingPolicy","cancelPolicy","depositPolicy"]),j(k,{show:h.value},null,8,["show"])],64)}}},Kt=je(Ht,[["__scopeId","data-v-792a9af4"]]);export{Kt 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.