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