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