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
2.2 KiB
2 lines
2.2 KiB
import{d as e,r as a,c as t,o as l,a as s,b as i,p as u,m as r,n as c,t as n,u as o,v as d,F as v,x as p,A as f,E as m,D as _}from"./index-BB-pivgX.js";import{g as y}from"./content.O7f4k6ZP.js";import{_ as k}from"./_plugin-vue_export-helper.BCo6x5W8.js";const T=k(e({__name:"index",setup(e){const k=a([]),T=a({district:"全部区域",venueType:"全部类型",ticketType:"全部"}),g=a(["全部区域"]),x=a(["全部类型"]),w=a(["全部"]),C=t(()=>k.value.filter(e=>{const a="全部区域"===T.value.district||(e.district||"")===T.value.district,t="全部类型"===T.value.venueType||(e.venue_type||"")===T.value.venueType,l="全部"===T.value.ticketType||(e.ticket_type||"")===T.value.ticketType;return a&&t&&l}));function h(e,a){_({itemList:a,success(t){T.value[e]=a[t.tapIndex]}})}return l(async function(){const e=await y();k.value=e||[],g.value=["全部区域",...Array.from(new Set(k.value.map(e=>e.district).filter(Boolean)))],x.value=["全部类型",...Array.from(new Set(k.value.map(e=>e.venue_type).filter(Boolean)))],w.value=["全部",...Array.from(new Set(k.value.map(e=>e.ticket_type).filter(Boolean)))]}),(e,a)=>{const t=u,l=f;return r(),s(t,{class:"page"},{default:i(()=>[c(t,{class:"head"},{default:i(()=>[n("科普场馆")]),_:1}),c(t,{class:"filter-row"},{default:i(()=>[c(t,{class:"filter-item",onClick:a[0]||(a[0]=e=>h("district",g.value))},{default:i(()=>[n(o(T.value.district),1)]),_:1}),c(t,{class:"filter-item",onClick:a[1]||(a[1]=e=>h("venueType",x.value))},{default:i(()=>[n(o(T.value.venueType),1)]),_:1}),c(t,{class:"filter-item",onClick:a[2]||(a[2]=e=>h("ticketType",w.value))},{default:i(()=>[n(o(T.value.ticketType),1)]),_:1})]),_:1}),c(t,{class:"list"},{default:i(()=>[(r(!0),d(v,null,p(C.value,e=>(r(),s(t,{key:e.id,class:"item",onClick:a=>{return t=e.id,void m({url:`/pages/venue/detail?id=${t}`});var t}},{default:i(()=>[e.cover_image?(r(),s(l,{key:0,class:"img",src:e.cover_image,mode:"aspectFill"},null,8,["src"])):(r(),s(t,{key:1,class:"img placeholder"})),c(t,{class:"body"},{default:i(()=>[c(t,{class:"name"},{default:i(()=>[n(o(e.name),1)]),_:2},1024),c(t,{class:"addr"},{default:i(()=>[n(o(e.address||"-"),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})}}}),[["__scopeId","data-v-96872a55"]]);export{T as default};
|