You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
5.3 KiB
1 line
5.3 KiB
import{n as e}from"./axios-CiYFffbI.js";import{I as t,N as n,V as r,Y as i,_ as a,d as o,f as s,i as c,it as l,kt as u,nt as d,p as f,q as p,u as m,ut as h,v as g,y as _,z as v}from"./runtime-core.esm-bundler-CnFWH3R5.js";import{n as y}from"./http-LCi9aT1G.js";import{t as b}from"./listTableRowIndex-Bl-nc9Qt.js";import{n as x,t as S}from"./datetime-DLy52ZIc.js";import{t as C}from"./bookingType-sDQIPutU.js";import{t as w}from"./reservationStatus-DPnogIlu.js";var T={style:{"font-family":`monospace`,"font-size":`12px`}},E=1680,D=_({__name:`TicketGrabRegistrations`,setup(_){let D=l(!1),O=l(`pending`),k=l(``),A=l(void 0),j=l([]),M=d({current:1,pageSize:10,total:0}),N=l([]),P=l([]),F=l(null),I=l([]),L=l(void 0);function R(){return F.value?.full_admin_access===!0}async function z(){try{let{data:e}=await y.get(`/me`);F.value=e}catch{F.value=null}}async function B(){try{let{data:e}=await y.get(`/venues`);I.value=Array.isArray(e)?e:[]}catch{I.value=[]}}async function V(){try{let{data:e}=await y.get(`/ticket-grab-events/options`,{params:{limit:2e3}});P.value=e.data??[]}catch{P.value=[]}}async function H(){D.value=!0;try{let e={reservation_kind:`ticket_grab`,ticket_grab_event_id:A.value||void 0,status:O.value,keyword:k.value||void 0,start_date:j.value?.[0]||void 0,end_date:j.value?.[1]||void 0,page:M.current,page_size:M.pageSize};R()&&L.value!=null&&L.value>0&&(e.venue_id=L.value);let{data:t}=await y.get(`/activity-registrations`,{params:e});N.value=t.data,M.total=t.total}catch(t){e.error(t?.response?.data?.message??`加载失败`)}finally{D.value=!1}}function U(e){M.current=e,H()}function W(e){M.pageSize=e,M.current=1,H()}return p(L,()=>{M.current=1,H()}),n(async()=>{await z(),await B(),await V(),await H()}),(e,n)=>{let l=r(`a-option`),d=r(`a-select`),p=r(`a-radio`),_=r(`a-radio-group`),y=r(`a-input`),F=r(`a-range-picker`),z=r(`a-button`),B=r(`a-space`),V=r(`a-table-column`),G=r(`a-tag`),K=r(`a-table`),q=r(`a-card`);return t(),o(q,{title:`抢票管理 / 抢票报名`,bordered:!1},{default:i(()=>[g(B,{direction:`vertical`,fill:``},{default:i(()=>[g(B,{wrap:``,size:12},{default:i(()=>[R()?(t(),o(d,{key:0,modelValue:L.value,"onUpdate:modelValue":n[0]||=e=>L.value=e,"allow-clear":``,"allow-search":``,placeholder:`搜索或选择场馆`,style:{width:`260px`}},{default:i(()=>[(t(!0),f(c,null,v(I.value,e=>(t(),o(l,{key:e.id,value:e.id},{default:i(()=>[a(u(e.name),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`])):s(``,!0),g(d,{modelValue:A.value,"onUpdate:modelValue":n[1]||=e=>A.value=e,"allow-clear":``,placeholder:`抢票活动(全部)`,style:{width:`260px`},"allow-search":``,onChange:n[2]||=()=>{M.current=1,H()}},{default:i(()=>[(t(!0),f(c,null,v(P.value,e=>(t(),o(l,{key:e.id,value:e.id},{default:i(()=>[a(u(e.title),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`modelValue`]),g(_,{modelValue:O.value,"onUpdate:modelValue":n[3]||=e=>O.value=e,type:`button`,size:`small`,onChange:H},{default:i(()=>[g(p,{value:`all`},{default:i(()=>[...n[7]||=[a(`全部`,-1)]]),_:1}),g(p,{value:`pending`},{default:i(()=>[...n[8]||=[a(`待核销`,-1)]]),_:1}),g(p,{value:`verified`},{default:i(()=>[...n[9]||=[a(`已核销`,-1)]]),_:1}),g(p,{value:`cancelled`},{default:i(()=>[...n[10]||=[a(`已取消`,-1)]]),_:1}),g(p,{value:`expired`},{default:i(()=>[...n[11]||=[a(`已过期`,-1)]]),_:1})]),_:1},8,[`modelValue`]),g(y,{modelValue:k.value,"onUpdate:modelValue":n[4]||=e=>k.value=e,placeholder:`姓名 / 身份证 / token`,"allow-clear":``,style:{width:`220px`}},null,8,[`modelValue`]),g(F,{modelValue:j.value,"onUpdate:modelValue":n[5]||=e=>j.value=e,style:{width:`260px`}},null,8,[`modelValue`]),g(z,{type:`primary`,onClick:n[6]||=()=>{M.current=1,H()}},{default:i(()=>[...n[12]||=[a(` 查询 `,-1)]]),_:1})]),_:1}),g(K,{scroll:{x:E},data:N.value,loading:D.value,"row-key":`id`,pagination:{current:M.current,pageSize:M.pageSize,total:M.total,showTotal:!0,onChange:U,onPageSizeChange:W}},{columns:i(()=>[g(V,{title:``,width:50,ellipsis:!0,tooltip:!0},{cell:i(({rowIndex:e})=>[a(u(h(b)(e,M.current,M.pageSize)),1)]),_:1}),g(V,{title:`抢票活动`,width:200,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[a(u(e.ticket_grab_event?.title??`-`),1)]),_:1}),g(V,{title:`场馆`,width:160,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[a(u(e.venue?.name??`-`),1)]),_:1}),g(V,{title:`姓名`,"data-index":`visitor_name`,width:100}),g(V,{title:`身份证`,"data-index":`id_card`,width:180,ellipsis:!0,tooltip:!0}),g(V,{title:`入馆日`,width:120},{cell:i(({record:e})=>[a(u(e.entry_date?h(x)(String(e.entry_date)):`-`),1)]),_:1}),g(V,{title:`预约类型`,width:100},{cell:i(({record:e})=>[a(u(h(C)(e.booking_type,e.ticket_count)),1)]),_:1}),g(V,{title:`票数`,width:80},{cell:i(({record:e})=>[a(u(e.ticket_count??1),1)]),_:1}),g(V,{title:`状态`,width:100},{cell:i(({record:e})=>[g(G,{color:e.status===`verified`?`green`:e.status===`pending`?`arcoblue`:`gray`},{default:i(()=>[a(u(h(w)(e.status)),1)]),_:2},1032,[`color`])]),_:1}),g(V,{title:`下单时间`,width:170},{cell:i(({record:e})=>[a(u(h(S)(e.created_at)),1)]),_:1}),g(V,{title:`核销时间`,width:170},{cell:i(({record:e})=>[a(u(e.verified_at?h(S)(String(e.verified_at)):`-`),1)]),_:1}),g(V,{title:`核销 Token`,width:220,ellipsis:!0,tooltip:!0},{cell:i(({record:e})=>[m(`span`,T,u(e.qr_token),1)]),_:1})]),_:1},8,[`scroll`,`data`,`loading`,`pagination`])]),_:1})]),_:1})}}});export{D as default}; |