You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
6.9 KiB

4 weeks ago
import{d as a,r as e,c as l,o as t,e as n,f as i,g as s,i as c,L as u,M as d,N as o,j as r,k as v,l as f,m as _,n as g,B as p,y as m,F as k,z as y,v as b,q as C,O as h,x,C as S,_ as $}from"./index-BIkOonBg.js";import{d as j,e as w}from"./content.1OYGf7bZ.js";import{g as B}from"./profile.7hLUy0He.js";import{f as N,a as q,i as z}from"./datetime.BfIJTcZ8.js";const F=$(a({__name:"orders",setup(a){const $=e([]),F=e(!1),I=e(!1),L=e(!1),M=e("all"),O=l(()=>{const a=$.value;return"all"===M.value?a:a.filter(a=>a.status===M.value)});function P(){return!!u(d.accessToken)}function T(a){return"pending"===a?"待核销":"verified"===a?"已核销":"cancelled"===a?"已取消":"expired"===a?"已过期":a||"-"}function A(a){return"pending"===(null==a?void 0:a.status)&&!z(function(a){var e,l;return"ticket_grab"===(null==a?void 0:a.reservation_kind)?(null==a?void 0:a.entry_date)||(null==(e=null==a?void 0:a.activity_day)?void 0:e.activity_date):null==(l=null==a?void 0:a.activity_day)?void 0:l.activity_date}(a))}function D(a){const e=null==a?void 0:a.activity_day;if(!e)return"-";const l=String(e.time_range_text||"").trim(),t=String(e.session_name||"").trim();return l?t?`${t} ${l}`:l:N(e.activity_date)}function E(a){const e=null==a?void 0:a.activity_day;if(!e)return"-";const l=String(e.time_range_text||"").trim();return l||N(e.activity_date)}function G(a){return`预约人:${String((null==a?void 0:a.visitor_name)||"").trim()||"-"}${String((null==a?void 0:a.visitor_phone)||"").trim()||"-"}${Number(null==a?void 0:a.ticket_count)||1}`}async function H(){if(!P())return I.value=!1,L.value=!1,$.value=[],void s({title:"请先通过微信登录",icon:"none"});F.value=!0;try{const e=await B();I.value=(a=null==e?void 0:e.phone,!/^1\d{10}$/.test(String(a??"").trim())),$.value=await j(),L.value=I.value}catch(e){s({title:(null==e?void 0:e.message)||"加载失败",icon:"none"}),$.value=[],L.value=!1}finally{F.value=!1}var a}function J(){L.value=!1,S({url:"/pages/mine/profile"})}function K(){L.value=!1}const Q=e(!1),R=e(0),U=e(null);function V(){Q.value=!1,R.value=0,U.value=null}async function W(){const a=R.value,e=U.value;if(V(),a&&e&&A(e))try{await w(a),s({title:"取消成功",icon:"success"}),await H()}catch(l){s({title:(null==l?void 0:l.message)||"取消失败",icon:"none"})}}return t(()=>{H()}),(a,e)=>{const l=o("SubPageBackBtn"),t=f,u=c,d=h;return r(),n(u,{class:"page"},{default:i(()=>[v(l),v(u,{class:"notice-top"},{default:i(()=>[v(t,{class:"notice-text"},{default:i(()=>[_("请按时到场参与活动,累计 3 次无故未履约,将限制 3 个月预约资格,感谢诚信守约。")]),_:1})]),_:1}),v(u,{class:"card"},{default:i(()=>[v(u,{class:"title"},{default:i(()=>[_("我的活动预约")]),_:1}),v(u,{class:"filters"},{default:i(()=>[v(u,{class:g(["chip",{active:"all"===M.value}]),onClick:e[0]||(e[0]=a=>M.value="all")},{default:i(()=>[_("全部")]),_:1},8,["class"]),v(u,{class:g(["chip",{active:"pending"===M.value}]),onClick:e[1]||(e[1]=a=>M.value="pending")},{default:i(()=>[_("待核销")]),_:1},8,["class"]),v(u,{class:g(["chip",{active:"verified"===M.value}]),onClick:e[2]||(e[2]=a=>M.value="verified")},{default:i(()=>[_("已核销")]),_:1},8,["class"]),v(u,{class:g(["chip",{active:"cancelled"===M.value}]),onClick:e[3]||(e[3]=a=>M.value="cancelled")},{default:i(()=>[_("已取消")]),_:1},8,["class"]),v(u,{class:g(["chip",{active:"expired"===M.value}]),onClick:e[4]||(e[4]=a=>M.value="expired")},{default:i(()=>[_("已过期")]),_:1},8,["class"])]),_:1})]),_:1}),F.value?(r(),n(u,{key:0,class:"empty-hint"},{default:i(()=>[_("加载中…")]),_:1})):F.value||!P()||O.value.length?p("",!0):(r(),n(u,{key:1,class:"empty-hint"},{default:i(()=>[_("当前没有预约记录")]),_:1})),(r(!0),m(k,null,y(O.value,a=>(r(),n(u,{key:a.id,class:"order-card"},{default:i(()=>[v(u,{class:"order-top"},{default:i(()=>{return[v(u,{class:"t"},{default:i(()=>{var e;return[_(b((null==(e=a.activity)?void 0:e.title)||"-"),1)]}),_:2},1024),v(u,{class:g(["status",(e=a.status,"pending"===e?"pending":"verified"===e?"verified":"expired"===e?"expired":"cancelled")])},{