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