|
|
import{d as a,e,f as t,o as i,j as l,k as s,g as n,S as c,s as d,m as u,U as r,n as o,p as v,t as f,x as _,v as p,E as m,F as y,G as k,C as g,z as x,V as C,D as h,J as b,K as S,Y as j,_ as w}from"./index-CPXWftEC.js";import{d as T,e as $}from"./content.DTi_0fLX.js";import{f as B,a as q,i as z}from"./datetime.BfIJTcZ8.js";const D=w(a({__name:"orders",setup(a){const w=e([]),D=e(!1),E=e("all"),F=t(()=>"all"===E.value?w.value:w.value.filter(a=>a.status===E.value));function G(){return!!n(c.accessToken)}function I(a){return"pending"===a?"待核销":"verified"===a?"已核销":"cancelled"===a?"已取消":"expired"===a?"已过期":a||"-"}function J(a){return"pending"===(null==a?void 0:a.status)&&!z(function(a){var e,t;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==(t=null==a?void 0:a.activity_day)?void 0:t.activity_date}(a))}function K(a){const e=null==a?void 0:a.activity_day;if(!e)return"-";const t=String(e.time_range_text||"").trim(),i=String(e.session_name||"").trim();return t?i?`${i} ${t}`:t:B(e.activity_date)}function P(a){const e=null==a?void 0:a.activity_day;if(!e)return"-";const t=String(e.time_range_text||"").trim();return t||B(e.activity_date)}async function U(){if(G()){D.value=!0;try{w.value=await T()}catch(a){d({title:(null==a?void 0:a.message)||"加载失败",icon:"none"})}finally{D.value=!1}}else d({title:"请先通过微信登录",icon:"none"})}return i(()=>{G()&&U()}),(a,e)=>{const t=r("SubPageBackBtn"),i=f,n=u,c=C;return o(),l(n,{class:"page"},{default:s(()=>[v(t),v(n,{class:"notice-top"},{default:s(()=>[v(i,{class:"notice-text"},{default:s(()=>[_("请按时到场参与活动,累计 3 次无故未履约,将限制 3 个月预约资格,感谢诚信守约。")]),_:1})]),_:1}),v(n,{class:"card"},{default:s(()=>[v(n,{class:"title"},{default:s(()=>[_("我的活动预约")]),_:1}),v(n,{class:"filters"},{default:s(()=>[v(n,{class:p(["chip",{active:"all"===E.value}]),onClick:e[0]||(e[0]=a=>E.value="all")},{default:s(()=>[_("全部")]),_:1},8,["class"]),v(n,{class:p(["chip",{active:"pending"===E.value}]),onClick:e[1]||(e[1]=a=>E.value="pending")},{default:s(()=>[_("待核销")]),_:1},8,["class"]),v(n,{class:p(["chip",{active:"verified"===E.value}]),onClick:e[2]||(e[2]=a=>E.value="verified")},{default:s(()=>[_("已核销")]),_:1},8,["class"]),v(n,{class:p(["chip",{active:"cancelled"===E.value}]),onClick:e[3]||(e[3]=a=>E.value="cancelled")},{default:s(()=>[_("已取消")]),_:1},8,["class"]),v(n,{class:p(["chip",{active:"expired"===E.value}]),onClick:e[4]||(e[4]=a=>E.value="expired")},{default:s(()=>[_("已过期")]),_:1},8,["class"])]),_:1})]),_:1}),(o(!0),m(y,null,k(F.value,a=>(o(),l(n,{key:a.id,class:"order-card"},{default:s(()=>[v(n,{class:"order-top"},{default:s(()=>{return[v(n,{class:"t"},{default:s(()=>{var e;return[_(g((null==(e=a.activity)?void 0:e.title)||"-"),1)]}),_:2},1024),v(n,{class:p(["status",(e=a.status,"pending"===e?"pending":"verified"===e?"verified":"expired"===e?"expired":"cancelled")])},{default:s(()=>[_(g(I(a.status)),1)]),_:2},1032,["class"])];var e}),_:2},1024),"ticket_grab"===a.reservation_kind?(o(),m(y,{key:0},[v(n,{class:"line"},{default:s(()=>[_("入馆日期:"+g(x(B)(a.entry_date)),1)]),_:2},1024),v(n,{class:"line"},{default:s(()=>[_("预约人:"+g(a.visitor_name||"-"),1)]),_:2},1024),v(n,{class:"line"},{default:s(()=>[_("联系方式:"+g(a.visitor_phone||"-"),1)]),_:2},1024),v(n,{class:"line"},{default:s(()=>[_("预约人数:"+g(a.ticket_count||1)+" 人",1)]),_:2},1024),v(n,{class:"line"},{default:s(()=>[_("下单时间:"+g(x(q)(a.created_at)),1)]),_:2},1024)],64)):(o(),m(y,{key:1},[v(n,{class:"line"},{default:s(()=>[_("预约场次:"+g(K(a)),1)]),_:2},1024),v(n,{class:"line"},{default:s(()=>[_("联系人:"+g(a.visitor_name||"-")+" | "+g(a.visitor_phone||"-")+" "+g(a.ticket_count||1)+"人",1)]),_:2},1024),v(n,{class:"line"},{default:s(()=>[_("场次时间:"+g(P(a)),1)]),_:2},1024),v(n,{class:"line"},{default:s(()=>[_("下单时间:"+g(x(q)(a.created_at)),1)]),_:2},1024)],64)),v(n,{class:"actions"},{default:s(()=>[J(a)?(o(),l(c,{key:0,class:"btn-light mini",onClick:h(e=>async function(a,e){if(!G())return;if(!J(e))return void d({title:"当前不可取消",icon:"none"});if((await j({title:"取消预约",content:"累计 3 次预约未履约将自动进入灰名单,3 个月内将限制预约功能,请合理安排行程。\n\n确认后将取消本次预约并释放名额。",confirmText:"确认取消",cancelText:"返回",confirmColor:"#ff7d00"})).confirm)try{await $(a),d({title:"取消成功",icon:"success"}),await U()}catch(t){d({title:(null==t?void 0:t.message)||"取消失败",icon:"none"})}}(a.id,a),["stop"])},{default:s(()=>[_("取消")]),_:2},1032,["onClick"])):b("",!0),v(c,{class:"btn-main mini",onClick:h(e=>{return t=a.id,void(G()?S({url:`/pages/mine/reservation-detail?id=${t}`}):d({title:"请先通过微信登录",icon:"none"}));var t},["stop"])},{default:s(()=>[_("查看详情")]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024))),128))]),_:1})}}}),[["__scopeId","data-v-e8b27b81"]]);export{D as default};
|