|
|
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};
|