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