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.

2 lines
4.7 KiB

import{d as a,e,f as l,o as s,N as t,O as u,P as n,j as i,k as r,m as o,n as c,p as d,D as v,E as f,I as _,G as p,t as m,v as g,x as y,y as h,F as k,z as b,C as j,J as w,B as P,K as C}from"./index-DBg2bUhq.js";import{b as x}from"./content.tJrjcqQa.js";import{f as A,a as F,i as N,c as V}from"./activity.4NBjJ4my.js";import{P as z}from"./poster.DLiVsUXX.js";import{s as I}from"./search.BJnl3YRK.js";import{d as $}from"./down.BCKq9i8s.js";import{_ as B}from"./_plugin-vue_export-helper.BCo6x5W8.js";const D=B(a({__name:"index",setup(a){const B=e([]),D=e(1),E=e(0),G=e(!1),J=e(!1),K=e(""),O=e(""),U=[{value:"",label:"全部状态"},{value:"ongoing",label:"进行中"},{value:"not_started",label:"未开始"},{value:"ended",label:"已结束"}],q=e(0),H=l(()=>E.value>0&&D.value<E.value);async function L(a,e){if(!G.value||e){if(e){if(J.value||!H.value)return;J.value=!0}else G.value=!0;try{const l=await x({page:a,page_size:10,keyword:K.value.trim()||void 0,schedule_status:O.value||void 0}),{list:s,lastPage:t}=function(a){if(!a||"object"!=typeof a)return{list:[],lastPage:1};const e=a;if(Array.isArray(e))return{list:e,lastPage:1};const l=e.data;if(Array.isArray(l))return{list:l,lastPage:Number(e.last_page??1)||1};if(l&&"object"==typeof l){const a=l;if(Array.isArray(a.data)){const l=Number(a.last_page??e.last_page??1)||1;return{list:a.data,lastPage:l}}}return{list:[],lastPage:1}}(l);E.value=t,B.value=e?[...B.value,...s]:s,D.value=a}catch{e||(B.value=[])}finally{G.value=!1,J.value=!1}}}async function M(){D.value=1,await L(1,!1)}function Q(){M()}function R(a){var e;const l=Number((null==(e=null==a?void 0:a.detail)?void 0:e.value)??0);q.value=Number.isFinite(l)?l:0;const s=U[q.value];O.value=(null==s?void 0:s.value)??"",M()}function S(a){C({url:`/pages/activity/detail?id=${a}`})}function T(a){const e=null==a?void 0:a.schedule_status;return"not_started"===e||"ongoing"===e||"ended"===e?e:V(null==a?void 0:a.start_at,null==a?void 0:a.end_at)}function W(a){return F(T(a))}return s(()=>{!async function(){D.value=1,await L(1,!1)}()}),t(()=>{G.value||J.value||!H.value||L(D.value+1,!0)}),u(async()=>{try{await M()}finally{n()}}),(a,e)=>{const l=v,s=_,t=o,u=m,n=p;return c(),i(t,{class:"page"},{default:r(()=>[d(t,{class:"toolbar"},{default:r(()=>[d(t,{class:"toolbar-row"},{default:r(()=>[d(t,{class:"search-wrap"},{default:r(()=>[d(l,{class:"search-icon-img",src:f(I),mode:"aspectFit"},null,8,["src"]),d(s,{modelValue:K.value,"onUpdate:modelValue":e[0]||(e[0]=a=>K.value=a),class:"search-input",placeholder:"搜索活动标题","placeholder-class":"ph","confirm-type":"search",onConfirm:Q},null,8,["modelValue"])]),_:1}),d(n,{mode:"selector",range:U,"range-key":"label",value:q.value,class:"status-picker",onChange:R},{default:r(()=>[d(t,{class:"status-pick"},{default:r(()=>[d(u,{class:"status-pick-text"},{default:r(()=>{var a;return[g(y((null==(a=U[q.value])?void 0:a.label)||"全部"),1)]}),_:1}),d(l,{class:"status-pick-arrow",src:f($),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["value"])]),_:1})]),_:1}),d(t,{class:"list-inner"},{default:r(()=>[(c(!0),h(k,null,b(B.value,a=>(c(),i(t,{key:a.id,class:"item",onClick:e=>S(a.id)},{default:r(()=>[d(t,{class:"poster-wrap"},{default:r(()=>{return[d(l,{class:"poster",src:a.image||f(z),mode:"aspectFill"},null,8,["src"]),d(t,{class:j(["status",(e=a,`st-${T(e)}`)])},{default:r(()=>[g(y(W(a)),1)]),_:2},1032,["class"])];var e}),_:2},1024),d(t,{class:"body"},{default:r(()=>{var e,l;return[d(t,{class:"title"},{default:r(()=>[g(y(a.title),1)]),_:2},1024),(null==(e=a.tags)?void 0:e.length)?(c(),i(t,{key:0,class:"act-tags"},{default:r(()=>[(c(!0),h(k,null,b((a.tags||[]).slice(0,4),(e,l)=>(c(),i(u,{key:"t-"+a.id+"-"+l,class:"act-tag-chip"},{default:r(()=>[g(y(e),1)]),_:2},1024))),128))]),_:2},1024)):w("",!0),d(t,{class:"meta"},{default:r(()=>[g(y(f(A)(a.start_at,a.end_at)),1)]),_:2},1024),d(t,{class:"meta venue-line"},{default:r(()=>[g(y(a.venue_name||"场馆待定"),1)]),_:2},1024),(l=a,N(null==l?void 0:l.end_at)||!0!==(null==l?void 0:l.is_bookable)?w("",!0):(c(),i(t,{key:1,class:"action-row"},{default:r(()=>[d(t,{class:"btn",onClick:P(e=>S(a.id),["stop"])},{default:r(()=>[g("立即预约")]),_:2},1032,["onClick"])]),_:2},1024)))]}),_:2},1024)]),_:2},1032,["onClick"]))),128)),G.value&&!B.value.length?(c(),i(t,{key:0,class:"hint"},{default:r(()=>[g("加载中…")]),_:1})):w("",!0),J.value?(c(),i(t,{key:1,class:"hint"},{default:r(()=>[g("加载更多…")]),_:1})):w("",!0),E.value>0&&!H.value&&B.value.length&&!G.value?(c(),i(t,{key:2,class:"hint muted"},{default:r(()=>[g("没有更多了")]),_:1})):w("",!0),G.value||B.value.length?w("",!0):(c(),i(t,{key:3,class:"hint muted"},{default:r(()=>[g("暂无活动")]),_:1}))]),_:1})]),_:1})}}}),[["__scopeId","data-v-55ae1859"]]);export{D as default};