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

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