|
|
import{d as a,e,f as l,o as s,j as t,k as i,g as n,S as c,s as u,m as o,n as d,p as r,u as v,I as f,Q as p,v as _,B as m,x as g,F as k,y as h,D as y,z as C,J as b,U as x}from"./index-_pXctLR1.js";import{d as $,e as j}from"./content.BpoHdgiW.js";import{f as w,a as I}from"./datetime.DReAHQ1x.js";import{_ as U}from"./_plugin-vue_export-helper.BCo6x5W8.js";const V=U(a({__name:"orders",setup(a){const U=e(""),V=e([]),T=e(!1),z=e("all"),B=l(()=>"all"===z.value?V.value:V.value.filter(a=>a.status===z.value));function D(){return!!n(c.accessToken)}function F(a){return"pending"===a?"待核销":"verified"===a?"已核销":"cancelled"===a?"已取消":a||"-"}async function J(){const a=/^1\d{10}$/.test(U.value);if(a||D()){T.value=!0;try{V.value=await $(a?U.value:void 0)}catch(e){u({title:(null==e?void 0:e.message)||"加载失败",icon:"none"})}finally{T.value=!1}}else u({title:"请输入手机号,或先通过微信登录",icon:"none"})}return s(()=>{D()&&J()}),(a,e)=>{const l=o,s=f,n=p;return d(),t(l,{class:"page"},{default:i(()=>[r(l,{class:"card"},{default:i(()=>[r(l,{class:"title"},{default:i(()=>[v("我的活动预约")]),_:1}),r(l,{class:"sub"},{default:i(()=>[v("微信登录后自动展示绑定订单;也可输入预约手机号查询。")]),_:1}),r(l,{class:"row"},{default:i(()=>[r(s,{modelValue:U.value,"onUpdate:modelValue":e[0]||(e[0]=a=>U.value=a),class:"ipt",type:"number",maxlength:"11",placeholder:"预约手机号(可选,与登录二选一)"},null,8,["modelValue"]),r(n,{class:"btn",onClick:J},{default:i(()=>[v(_(T.value?"查询中":"查询"),1)]),_:1})]),_:1}),r(l,{class:"filters"},{default:i(()=>[r(l,{class:m(["chip",{active:"all"===z.value}]),onClick:e[1]||(e[1]=a=>z.value="all")},{default:i(()=>[v("全部")]),_:1},8,["class"]),r(l,{class:m(["chip",{active:"pending"===z.value}]),onClick:e[2]||(e[2]=a=>z.value="pending")},{default:i(()=>[v("待核销")]),_:1},8,["class"]),r(l,{class:m(["chip",{active:"verified"===z.value}]),onClick:e[3]||(e[3]=a=>z.value="verified")},{default:i(()=>[v("已核销")]),_:1},8,["class"]),r(l,{class:m(["chip",{active:"cancelled"===z.value}]),onClick:e[4]||(e[4]=a=>z.value="cancelled")},{default:i(()=>[v("已取消")]),_:1},8,["class"])]),_:1})]),_:1}),(d(!0),g(k,null,h(B.value,a=>(d(),t(l,{key:a.id,class:"order-card"},{default:i(()=>[r(l,{class:"order-top"},{default:i(()=>{return[r(l,{class:"t"},{default:i(()=>{var e;return[v(_((null==(e=a.activity)?void 0:e.title)||"-"),1)]}),_:2},1024),r(l,{class:m(["status",(e=a.status,"pending"===e?"pending":"verified"===e?"verified":"cancelled")])},{default:i(()=>[v(_(F(a.status)),1)]),_:2},1032,["class"])];var e}),_:2},1024),r(l,{class:"line"},{default:i(()=>{var e;return[v("订单信息:"+_(y(w)(null==(e=a.activity_day)?void 0:e.activity_date))+" | "+_(a.ticket_count||1)+"人",1)]}),_:2},1024),r(l,{class:"line"},{default:i(()=>[v("联系人:"+_(a.visitor_name||"-")+" | "+_(a.visitor_phone||"-"),1)]),_:2},1024),r(l,{class:"line"},{default:i(()=>[v("下单时间:"+_(y(I)(a.created_at)),1)]),_:2},1024),r(l,{class:"actions"},{default:i(()=>[r(n,{class:"btn-light mini",disabled:"pending"!==a.status,onClick:C(e=>async function(a){const e=/^1\d{10}$/.test(U.value);if(!e&&!D())return;if((await x({title:"确认取消预约",content:"取消后将释放该日期名额,是否继续?",confirmText:"确认取消",confirmColor:"#ff7d00"})).confirm)try{await j(a,e?U.value:void 0),u({title:"取消成功",icon:"success"}),await J()}catch(l){u({title:(null==l?void 0:l.message)||"取消失败",icon:"none"})}}(a.id),["stop"])},{default:i(()=>[v("取消")]),_:2},1032,["disabled","onClick"]),r(n,{class:"btn-main mini",onClick:C(e=>function(a){const e=/^1\d{10}$/.test(U.value);if(!e&&!D())return void u({title:"请输入手机号或先登录",icon:"none"});const l=e?`&phone=${encodeURIComponent(U.value)}`:"";b({url:`/pages/mine/reservation-detail?id=${a}${l}`})}(a.id),["stop"])},{default:i(()=>[v("查看详情")]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024))),128))]),_:1})}}}),[["__scopeId","data-v-7d9643aa"]]);export{V as default};
|