wangzhibo
2025-10-23 cad64c1de2c45856b0774933c5801b05b64984e8
1
"use strict";const e=require("../../common/vendor.js"),t={setup(){const t=["未使用","已使用","已取消","已过期"],n=e.ref(0),a=e.ref([]),o=e.ref(!1),s=async()=>{o.value=!0;try{const t=await e.index.request({url:"/static/data/bookings.json",method:"GET"});200===t.data.code?a.value=t.data.data||[]:e.index.showToast({title:"获取预约信息失败",icon:"none"})}catch(t){console.error("获取预约信息错误:",t),e.index.showToast({title:"网络错误",icon:"none"})}finally{o.value=!1}},r=e.computed((()=>a.value.filter((e=>e.status===t[n.value]))));return e.onMounted((()=>{s()})),{tabs:t,currentTab:n,reservations:a,filteredReservations:r,loading:o,onTabChange:e=>{n.value=e.currentIndex},cancelReservation:async t=>{e.index.showModal({title:"提示",content:"确定取消预约吗?",success:async n=>{if(n.confirm)try{const n=await e.index.request({url:"https://api.example.com/reservations/cancel",method:"POST",header:{Authorization:"Bearer "+e.index.getStorageSync("token"),"Content-Type":"application/json"},data:{reservationId:t.id,userId:e.index.getStorageSync("userId")}});200===n.data.code?(e.index.showToast({title:"预约已取消",icon:"success"}),await s()):e.index.showToast({title:n.data.msg||"取消失败",icon:"none"})}catch(a){console.error("取消预约错误:",a),e.index.showToast({title:"取消失败,请重试",icon:"none"})}}})}}}};if(!Array){e.resolveComponent("uni-segmented-control")()}Math;const n=e._export_sfc(t,[["render",function(t,n,a,o,s,r){return e.e({a:e.o(o.onTabChange),b:e.p({current:o.currentTab,values:o.tabs,"style-type":"button","active-color":"#3b82f6"}),c:o.loading},(o.loading,{}),{d:e.f(o.filteredReservations,((n,a,s)=>e.e({a:"未使用"===n.status},"未使用"===n.status?{b:e.o((e=>o.cancelReservation(a)),a)}:{},{c:e.t(n.venue),d:"未使用"!=n.status},"未使用"!=n.status?{e:e.t(n.status)}:{},{f:e.t(n.date),g:e.t(n.time),h:e.t(n.person),i:e.t(n.phone),j:e.t(n.companions),k:"未使用"===n.status},"未使用"===n.status?{l:e.o((e=>t.verifyReservation(a)),a)}:{},{m:a}))),e:!o.filteredReservations.length},o.filteredReservations.length?{}:{f:e.t(o.tabs[o.currentTab])})}]]);wx.createPage(n);