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