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
6.9 KiB

import{d as e,e as l,f as a,o as u,j as t,k as s,m as r,n,p as v,I as o,D as i,E as c,G as d,t as m,v as f,x as p,y as _,F as b,z as g,H as y,C as k,J as h,K as x}from"./index-CCfg2zYz.js";import{g as j,a as C}from"./content.enM9SF-c.js";import{P as N}from"./poster.DLiVsUXX.js";import{s as w}from"./search.BJnl3YRK.js";import{v as F,d as I}from"./suzhouDistrictPolygons.CNjkFdyA.js";import{v as P}from"./venueTypes.DuAf5T5V.js";import{v as V,c as $,o as z}from"./venueThemeColors.DRxjaxXI.js";import{_ as D}from"./_plugin-vue_export-helper.BCo6x5W8.js";const T=D(e({__name:"index",setup(e){const D=l([]),T=l(null),q=l(""),E=l("区域"),G=l(""),H=l("主题"),J=l(""),K=l("预约模式"),S=l(""),U=l("开放模式"),A=l(""),B=l("收费类型"),L=l(""),M=a(()=>{var e;return[{label:"区域",value:""},...((null==(e=T.value)?void 0:e.district)??[]).map(e=>({label:e.label,value:e.value}))]}),O=a(()=>{var e;return[{label:"主题",value:""},...((null==(e=T.value)?void 0:e.venue_type)??[]).map(e=>({label:e.label,value:e.value}))]}),Q=a(()=>{var e;return[{label:"预约模式",value:""},...((null==(e=T.value)?void 0:e.venue_booking_mode)??[]).map(e=>({label:e.label,value:e.value}))]}),R=a(()=>{var e;return[{label:"开放模式",value:""},...((null==(e=T.value)?void 0:e.venue_open_mode)??[]).map(e=>({label:e.label,value:e.value}))]}),W=a(()=>{var e;return[{label:"收费类型",value:""},...((null==(e=T.value)?void 0:e.ticket_type)??[]).map(e=>({label:e.label,value:e.value}))]});function X(e){return P(e)}const Y=a(()=>{var e;const l={};for(const a of(null==(e=T.value)?void 0:e.venue_type)??[])l[a.value]=a.label;return l}),Z=a(()=>{var e;const l={};for(const a of(null==(e=T.value)?void 0:e.ticket_type)??[])l[a.value]=a.label;return l}),ee=a(()=>{var e;const l={};for(const a of(null==(e=T.value)?void 0:e.venue_open_mode)??[])l[a.value]=a.label;return l});a(()=>{var e;const l={};for(const a of(null==(e=T.value)?void 0:e.venue_booking_mode)??[])l[a.value]=a.label;return l});const le=a(()=>{const e=q.value.trim();return D.value.filter(l=>{if(G.value&&!F(String(l.district||""),G.value))return!1;if(J.value&&!X(l).includes(J.value))return!1;if(S.value&&(l.booking_mode||"")!==S.value)return!1;if(A.value&&(l.open_mode||"")!==A.value)return!1;if("free"===L.value&&"free"!==(l.ticket_type||""))return!1;if("paid"===L.value&&"paid"!==(l.ticket_type||""))return!1;if(e){if(!`${l.name||""}${l.address||""}`.includes(e))return!1}return!0})});function ae(e,l){const a=Number((null==e?void 0:e.sort)??0),u=Number((null==l?void 0:l.sort)??0);return a!==u?a-u:Number(null==e?void 0:e.id)-Number(null==l?void 0:l.id)}const ue=a(()=>[...le.value].sort(ae));function te(e,l){const a=e.findIndex(e=>e.value===l);return a>=0?a:0}const se=a(()=>te(M.value,G.value)),re=a(()=>te(O.value,J.value)),ne=a(()=>te(Q.value,S.value)),ve=a(()=>te(R.value,A.value)),oe=a(()=>te(W.value,L.value));function ie(e){const l=M.value[Number(e.detail.value)];l&&(E.value=l.label,G.value=l.value)}function ce(e){const l=O.value[Number(e.detail.value)];l&&(H.value=l.label,J.value=l.value)}function de(e){const l=Q.value[Number(e.detail.value)];l&&(K.value=l.label,S.value=l.value)}function me(e){const l=R.value[Number(e.detail.value)];l&&(U.value=l.label,A.value=l.value)}function fe(e){const l=W.value[Number(e.detail.value)];l&&(B.value=l.label,L.value=l.value)}const pe=a(()=>!!(G.value||J.value||S.value||A.value||L.value||q.value.trim()));return u(()=>{!async function(){const[e,l]=await Promise.all([j(),C()]);T.value=e,D.value=l||[]}()}),(e,l)=>{const a=o,u=i,j=r,C=m,F=d;return n(),t(j,{class:"page"},{default:s(()=>[v(j,{class:"map-section"},{default:s(()=>[v(j,{class:"toolbar"},{default:s(()=>[v(j,{class:"search-wrap"},{default:s(()=>[v(a,{modelValue:q.value,"onUpdate:modelValue":l[0]||(l[0]=e=>q.value=e),class:"search-input",placeholder:"请输入你要搜索的内容","placeholder-class":"ph"},null,8,["modelValue"]),v(u,{class:"search-icon-img",src:c(w),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1}),v(j,{class:"filters"},{default:s(()=>[v(F,{mode:"selector",range:M.value,"range-key":"label",value:se.value,onChange:ie},{default:s(()=>[v(j,{class:"f-item"},{default:s(()=>[v(C,{class:"f-item-text"},{default:s(()=>[f(p(E.value),1)]),_:1}),v(u,{class:"f-item-arrow",src:c(I),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),v(F,{mode:"selector",range:O.value,"range-key":"label",value:re.value,onChange:ce},{default:s(()=>[v(j,{class:"f-item"},{default:s(()=>[v(C,{class:"f-item-text"},{default:s(()=>[f(p(H.value),1)]),_:1}),v(u,{class:"f-item-arrow",src:c(I),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),v(F,{mode:"selector",range:W.value,"range-key":"label",value:oe.value,onChange:fe},{default:s(()=>[v(j,{class:"f-item"},{default:s(()=>[v(C,{class:"f-item-text"},{default:s(()=>[f(p(B.value),1)]),_:1}),v(u,{class:"f-item-arrow",src:c(I),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),v(F,{mode:"selector",range:Q.value,"range-key":"label",value:ne.value,onChange:de},{default:s(()=>[v(j,{class:"f-item"},{default:s(()=>[v(C,{class:"f-item-text"},{default:s(()=>[f(p(K.value),1)]),_:1}),v(u,{class:"f-item-arrow",src:c(I),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),v(F,{mode:"selector",range:R.value,"range-key":"label",value:ve.value,onChange:me},{default:s(()=>[v(j,{class:"f-item"},{default:s(()=>[v(C,{class:"f-item-text"},{default:s(()=>[f(p(U.value),1)]),_:1}),v(u,{class:"f-item-arrow",src:c(I),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"])]),_:1})]),_:1}),v(j,{class:"list"},{default:s(()=>[(n(!0),_(b,null,g(ue.value,e=>(n(),t(j,{key:e.id,class:"item",onClick:l=>{return a=e.id,void x({url:`/pages/venue/detail?id=${a}`});var a}},{default:s(()=>[v(u,{class:"img",src:e.cover_image||c(N),mode:"aspectFill"},null,8,["src"]),v(j,{class:"body"},{default:s(()=>[v(j,{class:"name"},{default:s(()=>[f(p(e.name),1)]),_:2},1024),X(e).length||e.ticket_type||e.open_mode?(n(),t(j,{key:0,class:"meta-row"},{default:s(()=>{var l;return[(n(!0),_(b,null,g(X(e),(l,a)=>{var u;return n(),t(C,{key:"vt-"+e.id+"-"+a,class:"meta-pill",style:y(c(V)(c($)(l,null==(u=T.value)?void 0:u.venue_type)))},{default:s(()=>{return[f(p((e=l,(e?Y.value[e]||e:"")||l)),1)];var e}),_:2},1032,["style"])}),128)),e.ticket_type?(n(),t(C,{key:0,class:k(["meta-pill","paid"===e.ticket_type?"meta-pill--paid":"meta-pill--free"])},{default:s(()=>{return[f(p((l=e.ticket_type,l?Z.value[l]||l:"")),1)];var l}),_:2},1032,["class"])):h("",!0),e.open_mode?(n(),t(C,{key:1,class:"open-mode-tag",style:y(c(z)(e.open_mode,null==(l=T.value)?void 0:l.venue_open_mode))},{default:s(()=>{return[f(p((l=e.open_mode,l?ee.value[l]||l:"")),1)];var l}),_:2},1032,["style"])):h("",!0)]}),_:2},1024)):h("",!0)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),ue.value.length?h("",!0):(n(),t(j,{key:0,class:"empty-tip"},{default:s(()=>[f(p(pe.value?"暂无符合条件的场馆":"暂无场馆"),1)]),_:1}))]),_:1})]),_:1})}}}),[["__scopeId","data-v-d5cd2024"]]);export{T as default};