|
|
import{d as a,r as e,c as l,o as t,b as n,e as i,f as s,i as c,K as u,L as d,N as o,g as r,j as v,k as f,l as _,n as p,A as g,x as k,F as m,y,t as b,p as h,O as C,v as x,B as S,_ as $}from"./index-xAYBzD2S.js";import{d as w,e as j}from"./content.DLzN1aRv.js";import{g as B}from"./profile.a2rhO7D6.js";import{f as N,a as A,i as F}from"./datetime.BfIJTcZ8.js";const I=$(a({__name:"orders",setup(a){const $=e([]),I=e(!1),K=e(!1),L=e(!1),O=e("all"),P=l(()=>{const a=$.value;return"all"===O.value?a:a.filter(a=>a.status===O.value)});function T(){return!!u(d.accessToken)}function q(a){return"pending"===a?"待核销":"verified"===a?"已核销":"cancelled"===a?"已取消":"expired"===a?"已过期":a||"-"}function z(a){return"pending"===(null==a?void 0:a.status)&&!F(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(!T())return K.value=!1,L.value=!1,$.value=[],void s({title:"请先通过微信登录",icon:"none"});I.value=!0,L.value=!1,K.value=!1;try{const e=await B();if(a=null==e?void 0:e.phone,!/^1\d{10}$/.test(String(a??"").trim()))return $.value=[],void(L.value=!0);K.value=!0,$.value=await w()}catch(e){s({title:(null==e?void 0:e.message)||"加载失败",icon:"none"}),$.value=[]}finally{I.value=!1}var a}function J(){L.value=!1,S({url:"/pages/mine/profile"})}function M(){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&&z(e))try{await j(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=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"===O.value}]),onClick:e[0]||(e[0]=a=>O.value="all")},{default:i(()=>[_("全部")]),_:1},8,["class"]),v(u,{class:p(["chip",{active:"pending"===O.value}]),onClick:e[1]||(e[1]=a=>O.value="pending")},{default:i(()=>[_("待核销")]),_:1},8,["class"]),v(u,{class:p(["chip",{active:"verified"===O.value}]),onClick:e[2]||(e[2]=a=>O.value="verified")},{default:i(()=>[_("已核销")]),_:1},8,["class"]),v(u,{class:p(["chip",{active:"cancelled"===O.value}]),onClick:e[3]||(e[3]=a=>O.value="cancelled")},{default:i(()=>[_("已取消")]),_:1},8,["class"]),v(u,{class:p(["chip",{active:"expired"===O.value}]),onClick:e[4]||(e[4]=a=>O.value="expired")},{default:i(()=>[_("已过期")]),_:1},8,["class"])]),_:1})]),_:1}),I.value?(r(),n(u,{key:0,class:"empty-hint"},{default:i(()=>[_("加载中…")]),_:1})):!I.value&&T()&&K.value&&!P.value.length?(r(),n(u,{key:1,class:"empty-hint"},{default:i(()=>[_("当前没有预约记录")]),_:1})):g("",!0),(r(!0),k(m,null,y(P.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(q(a.status)),1)]),_:2},1032,["class"])];var e}),_:2},1024),"ticket_grab"===a.reservation_kind?(r(),k(m,{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(G(a)),1)]),_:2},1024),v(u,{class:"line"},{default:i(()=>[_("入馆日期:"+b(h(N)(a.entry_date)),1)]),_:2},1024),v(u,{class:"line"},{default:i(()=>[_("下单时间:"+b(h(A)(a.created_at)),1)]),_:2},1024)],64)):(r(),k(m,{key:1},[v(u,{class:"line"},{default:i(()=>[_("预约场次:"+b(D(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(E(a)),1)]),_:2},1024),v(u,{class:"line"},{default:i(()=>[_("下单时间:"+b(h(A)(a.created_at)),1)]),_:2},1024)],64)),v(u,{class:"actions"},{default:i(()=>[z(a)?(r(),n(d,{key:0,class:"btn-light mini",onClick:x(e=>{return l=a.id,t=a,void(T()&&(z(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(T()?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)),L.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:M},{default:i(()=>[_("稍后再说")]),_:1}),v(d,{class:"cancel-dlg-btn cancel-dlg-btn--main-inline",onClick:J},{default:i(()=>[_("确认")]),_:1})]),_:1})]),_:1})]),_:1})):g("",!0),Q.value?(r(),n(u,{key:3,class:"cancel-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-a47de4a0"]]);export{I as default};
|