1import{d as M,r as g,c as l,l as E,b as f,a as e,u as n,M as P,m as z,t as o,i as R,aa as T,q as S,Z as D,a0 as H,o as a,_ as j,ah as U,ai as q,F as B,e as I,ae as K,D as A,aj as O,Y as J,ak as W,al as L,R as Y}from"./index-Dl44lZ-k.js";/* empty css */import{S as Z}from"./SearchForm-kMs9kXps.js";import{t as G,c as Q,a as X,b as ee}from"./transport-Cd7e_3rl.js";import{j as se}from"./JourneysDetail-BXH4lmLR.js";import{g as te}from"./accommodation-lo45RTJm.js";/* empty css *//* empty css *//* empty css */import"./FlightSeat-BtKGziOA.js";const ie={class:"transport-record-detail",id:"transport-record-detail-id"},ne={class:"top"},oe={key:0,class:"title"},ae={key:1,class:"title"},le={key:0,class:"infos"},re={class:"info"},de={class:"content"},ce={class:"info"},ue={class:"content"},ve={class:"info"},me={class:"content"},fe={class:"info"},pe={class:"content"},ye={key:0,class:"info"},ge={class:"content"},_e={class:"btns"},ke={key:1,class:"infos"},he={class:"info"},Ce={class:"content"},be={class:"info"},$e={class:"content"},Re={class:"info"},De={class:"content"},we={class:"info"},Ne={class:"content"},xe=M({__name:"RecordDetail",props:["details"],emits:["close","refresh"],setup(c,{emit:F}){const _=c,k=F;let u=g(null),h=g(""),C=g(!1);async function y(){var v;try{C.value=!0,h.value="",u.value=await G({transportBookingReference:_.details.services[0].bookingReference,bookingReference:_.details.bookingReference})}catch(s){if((v=s==null?void 0:s.msg)!=null&&v.error)for(const $ of s.msg.error)D.error($);else D.error("Fail to get Cancel Fee, please try again.")}finally{C.value=!1}}async function w(){try{C.value=!0;const v=await Q({transportBookingReference:_.details.services[0].bookingReference,bookingReference:_.details.bookingReference,refundAmount:u.value.refund.amount,reason:h.value});D.success("Cancellation successful!"),k("refresh"),k("close")}catch{D.error("Cancel failed, please try again.")}finally{C.value=!1}}return(v,s)=>{const $=H;return a(),l("div",ie,[n(C)?(a(),E(P,{key:0})):f("",!0),e("div",{class:"main",onClick:T(()=>{},["stop"])},[e("div",ne,[n(u)?(a(),l("div",ae,[e("div",{class:"g-icon",onClick:s[0]||(s[0]=m=>R(u)?u.value=null:u=null)},"arrow_back"),s[5]||(s[5]=e("div",null,"Cancellation",-1))])):(a(),l("div",oe,[s[4]||(s[4]=e("div",null,"Order Details",-1)),e("div",{class:z(["tag",{cancelled:c.details.status==="CANCELED"}])},o(c.details.status==="CANCELED"?"CANCELLED":"BOOKED"),3)])),e("div",{class:"g-icon",onClick:s[1]||(s[1]=T(m=>k("close"),["stop"]))},"close")]),n(u)?(a(),l("div",ke,[e("div",he,[s[11]||(s[11]=e("div",{class:"name"},"Total paid amount:",-1)),e("div",Ce,o(c.details.recordRes.currency)+" "+o(c.details.recordRes.paid_amount),1)]),e("div",be,[s[12]||(s[12]=e("div",{class:"name"},"Cancellation Fee:",-1)),e("div",$e,o(n(u).cancellationFee.currency)+" "+o(n(u).cancellationFee.amount),1)]),e("div",Re,[s[13]||(s[13]=e("div",{class:"name"},"Refundable amount:",-1)),e("div",De,o(n(u).refund.currency)+" "+o(n(u).refund.amount),1)]),e("div",we,[s[14]||(s[14]=e("div",{class:"name"},"Cancel reason (Optional):",-1)),e("div",Ne,[S($,{modelValue:n(h),"onUpdate:modelValue":s[3]||(s[3]=m=>R(h)?h.value=m:h=m),autosize:{minRows:2,maxRows:4},type:"textarea",placeholder:"Please input"},null,8,["modelValue"])])]),s[15]||(s[15]=e("div",{class:"alert"},[e("div",{class:"g-icon"},"info"),e("div",null," Once the refund is confirmed, it will be returned to your wallet via the original payment method within 24 hours. ")],-1)),e("div",{class:"btns"},[e("div",{class:"btn",onClick:w},"Cancel and refund")])])):(a(),l("div",le,[e("div",re,[s[6]||(s[6]=e("div",{class:"name"},"Flight details:",-1)),e("div",de,[S(se,{journeyInfo:c.details.services[0].journeys,airlineMap:c.details.dictionary.airlines,airportMap:c.details.dictionary.airports},null,8,["journeyInfo","airlineMap","airportMap"])])]),e("div",ce,[s[7]||(s[7]=e("div",{class:"name"},"Persons:",-1)),e("div",ue,o(c.details.persons.map(m=>m.name+" "+m.lastName).join(", ")),1)]),e("div",ve,[s[8]||(s[8]=e("div",{class:"name"},"Booking Time:",-1)),e("div",me,o(c.details.bookingTime),1)]),e("div",fe,[s[9]||(s[9]=e("div",{class:"name"},"Price:",-1)),e("div",pe,o(c.details.recordRes.currency)+" "+o(c.details.recordRes.paid_amount),1)]),c.details.refundAmount?(a(),l("div",ye,[s[10]||(s[10]=e("div",{class:"name"},"Refund Amount:",-1)),e("div",ge,o(c.details.priceBreakdown.totalPrice.currency)+" "+o(c.details.refundAmount),1)])):f("",!0),e("div",_e,[c.details.status==="BOOKED"?(a(),l("div",{key:0,class:"btn",onClick:y},"Check the refund amount ")):(a(),l("div",{key:1,class:"btn",onClick:s[2]||(s[2]=m=>k("close"))},"Close"))])]))])])}}}),Be=j(xe,[["__scopeId","data-v-87ac3886"]]),Ee={class:"transport-search"},Fe={class:"main"},Ie={class:"history search-plate"},Oe={class:"title"},Se={key:0,class:"sub"},Te={key:0,class:"empty"},Ae={key:1,class:"content"},Le=["onClick"],Me={class:"card-img bg-skeleton"},Pe=["src"],je={class:"card-content"},Ve={class:"head"},ze={class:"name"},He={class:"extra"},Ue={key:0,class:"desc"},qe={class:"date-room"},Ke={class:"date"},Je={class:"rooms"},We={key:0,class:"order search-plate"},Ye={class:"title"},Ze={key:0,class:"sub"},Ge={key:0,class:"empty"}
1,Qe={key:1,class:"content"},Xe=["onClick"],es={key:0,class:"status"},ss={key:1,class:"status status-refund"},ts={class:"card-left"},is={class:"card-head"},ns={class:"title"},os={class:"time"},as={class:"card-body"},ls={class:"card-detail"},rs={class:"card-price"},ds={key:0,class:"refund"},cs={key:0,class:"page"},us=M({__name:"index",setup(c){const F=J(),_=U();let k=g([]),u=g({});async function h(){var b;let d=L.getItem("transportHistory")??[];for(let r=0;r<d.length;r++)Y()>d[r].departureDate.replaceAll("-","")&&(d.splice(r,1),r--);L.setItem("transportHistory",d),k.value=d;let t=[],N=new Set([...d.map(r=>r.departure.slice(1,4)),...d.map(r=>r.arrival.slice(1,4))]),i=0;for(const r of N)i++,t.push(te({destinationId:r},i));const x=await Promise.allSettled(t);let p={};for(const r of x)(b=r==null?void 0:r.value)!=null&&b.code&&(p[r.value.code]={image:r.value.images[0],description:r.value.description});u.value=p}function C({departure:d,arrival:t,departureDate:N,returnDate:i,persons:x}){F.push({path:"/transport/list",query:{f:W(JSON.stringify({departure:d,arrival:t,departureDate:N,returnDate:i,persons:x}))}})}let y=g([]),w=g(!1),v=g(1),s=g(5);async function $(){try{if(_.userToken&&_.userPhoneNumber){const{res:d}=await ee({userId:_.userToken});d.forEach(t=>{t.journeys=JSON.parse(t.journeys)}),y.value=d}}catch{D.error("Fail to get transport records.")}}let m=g(null);async function V(d){try{w.value=!0;let t=await X({transportBookingReference:d.transport_booking_reference,bookingReference:d.booking_reference});m.value={...t,bookingTime:d.booking_time,refundAmount:d.refunded_amount}}catch{D.error("Fail to get this transport record.")}finally{w.value=!1}}return q(async()=>{await Promise.all([h(),$()])}),(d,t)=>{const N=K;return a(),l("div",Ee,[n(w)?(a(),E(P,{key:0})):f("",!0),e("div",Fe,[t[16]||(t[16]=e("div",{class:"booking-title"},"Travel with Bae",-1)),S(Z,{module:1}),e("div",Ie,[e("div",Oe,[t[4]||(t[4]=e("div",{class:"g-icon"},"history",-1)),t[5]||(t[5]=e("div",null,"Search History",-1)),n(k).length>0?(a(),l("div",Se,"Keep the latest 5 records")):f("",!0)]),n(k).length===0?(a(),l("div",Te,t[6]||(t[6]=[e("div",{class:"g-icon"},"empty_dashboard",-1),e("div",null,"No History",-1)]))):(a(),l("div",Ae,[(a(!0),l(B,null,I(n(k),(i,x)=>{var p,b,r;return a(),l("div",{class:"history-card",onClick:vs=>C(i)},[e("div",Me,[(p=n(u)[i.arrival.slice(1,4)])!=null&&p.image?(a(),l("img",{key:0,src:n(u)[i.arrival.slice(1,4)].image,referrerpolicy:"no-referrer"},null,8,Pe)):f("",!0)]),e("div",je,[e("div",Ve,[e("div",ze,o(i.departureName)+" to "+o(i.arrivalName),1),e("div",He,[e("div",null,o((b=i.t)==null?void 0:b.replaceAll("/","-")),1)])]),(r=n(u)[i.arrival.slice(1,4)])!=null&&r.description?(a(),l("div",Ue,o(n(u)[i.arrival.slice(1,4)].description),1)):f("",!0),e("div",qe,[e("div",Ke,[A(o(n(O)(i.departureDate))+" ",1),i.returnDate?(a(),l(B,{key:0},[A(" ~ "+o(n(O)(i.returnDate)),1)],64)):f("",!0)]),e("div",Je,o(i.personDesc),1)])])],8,Le)}),256))]))]),n(_).userPhoneNumber?(a(),l("div",We,[e("div",Ye,[t[7]||(t[7]=e("div",{class:"g-icon"},"order_approve",-1)),t[8]||(t[8]=e("div",null,"My Orders",-1)),n(y).length>0?(a(),l("div",Ze,"Total number: "+o(n(y).length),1)):f("",!0)]),n(y).length===0?(a(),l("div",Ge,t[9]||(t[9]=[e("div",{class:"g-icon"},"empty_dashboard",-1),e("div",null,"No Order",-1)]))):(a(),l("div",Qe,[(a(!0),l(B,null,I(n(y).slice((n(v)-1)*n(s),n(v)*n(s)),(i,x)=>(a(),l("div",{class:"order-card",onClick:p=>V(i)},[i.status==2?(a(),l("div",es,t[10]||(t[10]=[e("div",{class:"g-icon fill"},"check_circle",-1),e("div",null,"Booked",-1)]))):(a(),l("div",ss,t[11]||(t[11]=[e("div",{class:"g-icon fill"},"cancel",-1),e("div",null,"Cancelled",-1)]))),e("div",ts,[e("div",is,[e("div",ns,o(i.journeys[0].dep)+" to "+o(i.journeys[0].arr)+" ("+o(i.journeys.length>1?"Round Trip":"One Way")+") ",1),e("div",os,o(i.insert_time),1)]),e("div",as,[e("div",ls,[(a(!0),l(B,null,I(i.journeys,(p,b)=>(a(),l("div",null,[e("div",null," Seg"+o(+b+1)+": "+o(p.dep)+" ("+o(n(O)(p.depDate))+" "+o(p.depTime)+") to "+o(p.arr),1)]))),256)),e("div",null,[t[12]||(t[12]=e("div",{class:""},"persons:",-1)),e("div",null,o(i.persons),1)])]),e("div",rs,[i.status==10&&i.refunded_amount?(a(),l("div",ds,[t[13]||(t[13]=e("div",{class:"name"},"Refund: ",-1)),e("div",null,o(i.currency)+" "+o(i.refunded_amount),1)])):f("",!0),e("div",null,[t[14]||(t[14]=e("div",{class:"name"},"Total Price:",-1)),e("div",null,o(i.currency)+" "+o(i.paid_amount),1)])])])]),t[15]||(t[15]=e("div",{class:"g-icon"},"arrow_forward_ios",-1))],8,Xe))),256)),n(y).length>n(s)?(a(),l("div",cs,[n(y).length>0?(a(),E(N,{key:0,background:"",layout:"prev, pager, next",total:n(y).length,"current-page":n(v),"onUpdate:currentPage":t[0]||(t[0]=i=>R(v)?v.value=i:v=i),"pager-count":5,"page-size":n(s),"onUpdate:pageSize":t[1]||(t[1]=i=>R(s)?s.value=i:s=i),onCurrentChange:t[2]||(t[2]=i=>R(v)?v.value=i:v=i)},null,8,["total","current-page","page-size"])):f("",!0)])):f("",!0)]))])):f("",!0)]),n(m)?(a(),E(Be,{key:1,details:n(m),onClose:t[3]||(t[3]=i=>R(m)?m.value=null:m=null),onRefresh:$},null,8,["details"])):f("",!0)])}}}),$s=j(us,[["__scopeId","data-v-67333208"]]);export{$s 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.