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
5.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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