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

import{h as e,i as l,g as a,S as t,s as u,r as s,a as n,b as o,c as i,A as r,d as c,e as d,f as v,w as f,o as _,j as m,k as p,l as g,m as h,u as y,n as k,p as b,q as w,t as C,v as x,x as S,y as F,F as N,z as I,B as $,C as j,I as P,D as T,E as z,G as A,M as R,H as D,J as L,K as M,L as U}from"./index-CCfg2zYz.js";import{P as q}from"./poster.DLiVsUXX.js";import{s as V}from"./search.BJnl3YRK.js";import{v as B,g as E,a as G,d as H,m as J}from"./suzhouDistrictPolygons.CNjkFdyA.js";import{f as K,a as W,c as X}from"./activity.BNBJ_f9a.js";import{t as Y,g as O}from"./ticketMap.BogdvK1G.js";import{v as Q}from"./venueTypes.DuAf5T5V.js";import{v as Z,o as ee,a as le,c as ae}from"./venueThemeColors.DRxjaxXI.js";import{_ as te}from"./_plugin-vue_export-helper.BCo6x5W8.js";const ue="szkp_force_loc_prompt",se="szkp_wechat_oauth_denied",ne="szkp_h5_oauth_state_ss";let oe=null;function ie(){return oe||(oe=async function(){var c,d;if(!l())return!0;const v=new URL(window.location.href),f=v.searchParams.get("code"),_=v.searchParams.get("state");if(v.searchParams.get("err")){try{window.sessionStorage.setItem(se,"1")}catch{}return v.searchParams.delete("code"),v.searchParams.delete("state"),v.searchParams.delete("err"),window.history.replaceState({},"",v.pathname+v.search+v.hash),!0}if(f){let l="";try{l=window.sessionStorage.getItem(ne)||""}catch{}l||(l=a(t.oauthState)||"");if(Boolean(_&&l&&String(_)!==String(l))){u({title:"授权状态异常,请关闭页面后重试",icon:"none"});try{window.sessionStorage.removeItem(ne)}catch{}s(t.oauthState)}else{n({title:"授权登录中…",mask:!0});try{const l=await e.post("/h5/wechat/oauth",{code:f},{withAuth:!1});if(null==l?void 0:l.token){o(t.accessToken,l.token);try{window.sessionStorage.setItem(ue,"1")}catch{}}}catch(g){const e=(null==g?void 0:g.message)||(null==(d=null==(c=null==g?void 0:g.errors)?void 0:c.code)?void 0:d[0])||"微信登录失败";u({title:e,icon:"none"})}finally{i()}}try{window.sessionStorage.removeItem(ne)}catch{}return s(t.oauthState),v.searchParams.delete("code"),v.searchParams.delete("state"),window.history.replaceState({},"",v.pathname+v.search+v.hash),!0}if(a(t.accessToken))return!0;try{if("1"===window.sessionStorage.getItem(se))return!0}catch{}const m=encodeURIComponent(function(){if("undefined"==typeof window)return"";const e=new URL(window.location.href);return e.hash="",e.search="",e.toString()}()),p=`${Date.now()}-${Math.random().toString(36).slice(2,10)}`;try{window.sessionStorage.setItem(ne,p)}catch{}return o(t.oauthState,p),window.location.href=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${r.wechatAppId}&redirect_uri=${m}&response_type=code&scope=snsapi_userinfo&state=${p}#wechat_redirect`,!1}().finally(()=>{oe=null})),oe}const re={lat:31.2989,lng:120.5853},ce={lat:.085,lng:.098};const de=te(c({__name:"index",setup(l){const a=d(!1),t=d(null),s=d({latitude:re.lat,longitude:re.lng}),n=d(11),o=d("map"),i=d(""),r=d("区域"),c=d(""),te=d("主题"),ue=d(""),se=d("预约模式"),ne=d(""),oe=d("开放模式"),de=d(""),ve=d("收费类型"),fe=d(""),_e=d(null),me=v(()=>{var e,l;const a={};for(const u of(null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.venue_type)??[])a[u.value]=u.label;return a}),pe=v(()=>{var e,l;const a={};for(const u of(null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.ticket_type)??[])a[u.value]=u.label;return a}),ge=v(()=>{var e,l;const a={};for(const u of(null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.venue_open_mode)??[])a[u.value]=u.label;return a});function he(e){return e?me.value[e]||e:""}function ye(e){return e?pe.value[e]||e:""}function ke(e){return e?ge.value[e]||e:""}v(()=>{var e,l;const a={};for(const u of(null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.venue_booking_mode)??[])a[u.value]=u.label;return a});const be=v(()=>{var e,l;return Number((null==(l=null==(e=t.value)?void 0:e.stats)?void 0:l.in_venue_total)??0).toLocaleString()}),we=v(()=>{var e;const l=[...(null==(e=t.value)?void 0:e.top_live_venues)??[]].sort((e,l)=>Number(l.people_count??0)-Number(e.people_count??0)),a=[];for(let t=0;t<3;t++){const e=l[t];e?a.push({id:e.id,name:e.name,people_count:e.people_count,empty:!1}):a.push({id:0,name:"",people_count:0,empty:!0})}return a}),Ce=v(()=>{var e,l;return[{label:"区域",value:""},...((null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.district)??[]).map(e=>({label:e.label,value:e.value}))]}),xe=v(()=>{var e,l;return[{label:"主题",value:""},...((null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.venue_type)??[]).map(e=>({label:e.label,value:e.value}))]}),Se=v(()=>{var e,l;return[{label:"预约模式",value:""},...((null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.venue_booking_mode)??[]).map(e=>({label:e.label,value:e.value}))]}),Fe=v(()=>{var e,l;return[{label:"开放模式",value:""},...((null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.venue_open_mode)??[]).map(e=>({label:e.label,value:e.value}))]}),Ne=v(()=>{var e,l;return[{label:"收费类型",value:""},...((null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.ticket_type)??[]).map(e=>({label:e.label,value:e.value}))]});function Ie(e,l){const a=e.findIndex(e=>e.value===l);return a>=0?a:0}const $e=v(()=>Ie(Ce.value,c.value)),je=v(()=>Ie(xe.value,ue.value)),Pe=v(()=>Ie(Se.value,ne.value)),Te=v(()=>Ie(Fe.value,de.value)),ze=v(()=>Ie(Ne.value,fe.value));function Ae(e){const l=Ce.value[Number(e.detail.value)];l&&(r.value=l.label,c.value=l.value)}function Re(e){const l=xe.value[Number(e.detail.value)];l&&(te.value=l.label,ue.value=l.value)}function De(e){const l=Se.value[Number(e.detail.value)];l&&(se.value=l.label,ne.value=l.value)}function Le(e){const l=Fe.value[Number(e.detail.value)];l&&(oe.value=l.label,de.value=l.value)}function Me(e){const l=Ne.value[Number(e.detail.value)];l&&(ve.value=l.label,fe.value=l.value)}function Ue(e){return Q(e)}function qe(e){const l=Number(e.sort);return Number.isFinite(l)?l:0}function Ve(e,l){const a=qe(e)-qe(l);return 0!==a?a:e.id-l.id}const Be=v(()=>{var e;const l=i.value.trim();return((null==(e=t.value)?void 0:e.map_venues)??[]).filter(e=>{if(c.value&&!B(String(e.district||""),c.value))return!1;if(ue.value&&!Ue(e).includes(ue.value))return!1;if(ne.value&&(e.booking_mode||"")!==ne.value)return!1;if(de.value&&(e.open_mode||"")!==de.value)return!1;if("free"===fe.value&&"free"!==(e.ticket_type||""))return!1;if("paid"===fe.value&&"paid"!==(e.ticket_type||""))return!1;if(l){if(!`${e.name||""}${e.address||""}`.includes(l))return!1}return!0})}),Ee=v(()=>[...Be.value].sort(Ve)),Ge=v(()=>{var e,l;const a=null==(e=c.value)?void 0:e.trim();return a?((null==(l=t.value)?void 0:l.map_venues)??[]).filter(e=>B(String(e.district||""),a)):[]}),He=v(()=>{var e;if(!(null==(e=c.value)?void 0:e.trim()))return null;const l=c.value.trim(),a=E(l);if(null==a?void 0:a.length)return a;const t=G(Ge.value.map(e=>({lat:e.lat,lng:e.lng})));return t&&t.length>=3?[t]:null}),Je=v(()=>{const e=He.value;return(null==e?void 0:e.length)?e.map(e=>({points:e,strokeWidth:2,strokeColor:"#05C9ACE6",fillColor:"#05C9AC14",zIndex:5})):[]}),Ke=v(()=>{var e;if(!(null==(e=c.value)?void 0:e.trim()))return[];const l=He.value,a=[];if(null==l?void 0:l.length)for(const t of l)for(const e of t)a.push({latitude:e.latitude,longitude:e.longitude});for(const t of Ee.value)a.push({latitude:t.lat,longitude:t.lng});return a});function We(e,l){if(!e.length)return[];let a=1/0,t=-1/0,u=1/0,s=-1/0;for(const c of e)c.latitude<a&&(a=c.latitude),c.latitude>t&&(t=c.latitude),c.longitude<u&&(u=c.longitude),c.longitude>s&&(s=c.longitude);if(!Number.isFinite(a)||t<=a||!Number.isFinite(u)||s<=u)return e.map(e=>({...e}));const n=(a+t)/2,o=(u+s)/2,i=(t-a)/2*l,r=(s-u)/2*l;return[{latitude:n-i,longitude:o-r},{latitude:n-i,longitude:o+r},{latitude:n+i,longitude:o-r},{latitude:n+i,longitude:o+r}]}const Xe=v(()=>!!(ue.value||ne.value||de.value||fe.value||i.value.trim())),Ye=v(()=>{var e,l;if(null==(e=c.value)?void 0:e.trim()){const e=Ke.value;if(e.length)return We(e,.9)}if(!(null==(l=c.value)?void 0:l.trim())&&Xe.value&&Ee.value.length>0){const e=G(Ee.value.map(e=>({lat:e.lat,lng:e.lng})),.012);if(null==e?void 0:e.length){return We(e.map(e=>({latitude:e.latitude,longitude:e.longitude})),.9)}}return We(function(e=ce){const l=re,a=e.lat,t=e.lng;return[{latitude:l.lat-a,longitude:l.lng-t},{latitude:l.lat-a,longitude:l.lng+t},{latitude:l.lat+a,longitude:l.lng-t},{latitude:l.lat+a,longitude:l.lng+t}]}(),.9)}),Oe=v(()=>{var e;if((null==(e=c.value)?void 0:e.trim())&&Ke.value.length)try{const e=y(48);return[e,e,e,e]}catch{return[16,16,16,16]}}),Qe=v(()=>!!(c.value||ue.value||ne.value||de.value||fe.value||i.value.trim())),Ze=v(()=>null==_e.value?null:Be.value.find(e=>e.id===_e.value)??null);function el(e){var l,a;return ae(e,null==(a=null==(l=t.value)?void 0:l.venue_dicts)?void 0:a.venue_type)}f([Ee,c,He,Xe],()=>{var e,l;const a=He.value;if((null==(e=c.value)?void 0:e.trim())&&(null==a?void 0:a.length)){const e=J(a);return void(s.value={latitude:e.latitude,longitude:e.longitude})}if(!(null==(l=c.value)?void 0:l.trim())&&Xe.value&&Ee.value.length>0){const e=Ee.value[0];return void(s.value={latitude:e.lat,longitude:e.lng})}pl()}),f(Be,e=>{null==_e.value||e.some(e=>e.id===_e.value)||(_e.value=null)}),f(o,e=>{"list"===e&&(_e.value=null),"map"===e&&(n.value=11)}),f([c,ue,ne,de,fe],()=>{"map"===o.value&&setTimeout(()=>{n.value=c.value?12:11},100)});let ll=null;f([Ee,Qe],()=>{ll&&(clearTimeout(ll),ll=null),"map"===o.value&&(!Qe.value||Ee.value.length>0||(ll=setTimeout(()=>{ll=null,u({title:"暂无符合条件的场馆",icon:"none",duration:2e3})},150)))});const al=v(()=>{const e=n.value>=13;return Ee.value.map(l=>{const a=Y(l,()=>function(e){var l,a;if(!e)return"#05c9ac";const u=Q(e)[0];if(u&&(null==(a=null==(l=t.value)?void 0:l.venue_dicts)?void 0:a.venue_type)){const e=t.value.venue_dicts.venue_type.find(e=>e.value===u);if(null==e?void 0:e.color)return e.color}return e.venue_type_color||"#05c9ac"}(l)),u=O(a),s={id:l.id,latitude:l.lat,longitude:l.lng,width:28,height:32,iconPath:u,anchor:{x:.5,y:1}},n=(l.name||"").trim();return e&&n&&(s.label={content:n,color:"#1d2129",fontSize:11,bgColor:"rgba(255,255,255,0.92)",padding:3,borderRadius:4,anchorX:0,anchorY:-4}),s})});function tl(e){var l;const a=null==e?void 0:e.detail;if(!a||"begin"===a.type)return;const t="number"==typeof a.scale?a.scale:"number"==typeof(null==(l=a.detail)?void 0:l.scale)?a.detail.scale:null;null!=t&&Number.isFinite(t)&&(n.value=t)}let ul=!1;function sl(e){var l;const a=null==(l=null==e?void 0:e.detail)?void 0:l.markerId;null!=a&&(_e.value=Number(a),ul=!0,setTimeout(()=>{ul=!1},400))}function nl(){ul||(_e.value=null)}function ol(){_e.value=null}function il(e){e&&M({url:`/pages/venue/detail?id=${e}`})}function rl(){M({url:"/pages/stats/index"})}function cl(){U({url:"/pages/activity/index"})}function dl(){M({url:"/pages/discover/index"})}function vl(e){const l=e.schedule_status;return"not_started"===l||"ongoing"===l||"ended"===l?l:X(e.start_at,e.end_at)}function fl(e){return"ended"!==vl(e)&&!0===e.is_bookable}function _l(e){return W(vl(e))}function ml(e){return`st-${vl(e)}`}function pl(){s.value={latitude:re.lat,longitude:re.lng}}async function gl(){a.value=!0;try{const l=await e.get("/h5/home",{},{withAuth:!1});t.value=l,pl(),await g({title:"苏州市科普场馆地图",desc:"热门活动、研学线路与场馆导览"}).catch(()=>{})}catch(l){u({title:(null==l?void 0:l.message)||"加载首页失败",icon:"none"})}finally{a.value=!1}}return _(async()=>{await ie()&&await gl()}),(e,l)=>{const u=h,c=C,d=P,v=T,f=A,_=R,g=w;return k(),m(u,{class:"page-root"},{default:p(()=>[b(g,{"scroll-y":"",class:"page"},{default:p(()=>[b(u,{class:"hero"},{default:p(()=>[b(u,{class:"hero-brand"}),b(u,{class:"hero-content"},{default:p(()=>[b(u,{class:"stat-card"},{default:p(()=>[b(u,{class:"stat-main"},{default:p(()=>[b(u,{class:"stat-left"},{default:p(()=>[b(c,{class:"stat-label"},{default:p(()=>[x("在馆实时总人数")]),_:1}),b(u,{class:"stat-note"},{default:p(()=>[x("(纳入市科协人数统计系统场馆)")]),_:1}),b(c,{class:"stat-num"},{default:p(()=>[x(S(be.value)+" 人",1)]),_:1})]),_:1}),b(u,{class:"stat-right"},{default:p(()=>[b(u,{class:"live-list"},{default:p(()=>[(k(!0),F(N,null,I(we.value,(e,l)=>(k(),m(u,{key:"live-"+l,class:j(["live-venue-row",{"is-empty":e.empty}]),onClick:$(l=>{var a;(a=e).empty||il(a.id)},["stop"])},{default:p(()=>[b(u,{class:"live-row-one"},{default:p(()=>[b(c,{class:"live-top"},{default:p(()=>[x("Top "+S(l+1),1)]),_:2},1024),b(c,{class:"live-name"},{default:p(()=>[x(S(e.empty?"—":e.name),1)]),_:2},1024),b(c,{class:"live-count"},{default:p(()=>[x(S(e.empty?"—":e.people_count+" 人"),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1}),b(u,{class:"stat-foot",onClick:$(rl,["stop"])},{default:p(()=>[b(c,{class:"stat-foot-link"},{default:p(()=>[x("客流量统计 >")]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),b(u,{class:"map-section"},{default:p(()=>[b(u,{class:"toolbar"},{default:p(()=>[b(u,{class:"tabs"},{default:p(()=>[b(c,{class:j(["tab",{on:"map"===o.value}]),onClick:l[0]||(l[0]=e=>o.value="map")},{default:p(()=>[x("地图")]),_:1},8,["class"]),b(c,{class:j(["tab",{on:"list"===o.value}]),onClick:l[1]||(l[1]=e=>o.value="list")},{default:p(()=>[x("列表")]),_:1},8,["class"])]),_:1}),b(u,{class:"search-wrap"},{default:p(()=>[b(d,{modelValue:i.value,"onUpdate:modelValue":l[2]||(l[2]=e=>i.value=e),class:"search-input",placeholder:"请输入你要搜索的内容","placeholder-class":"ph"},null,8,["modelValue"]),b(v,{class:"search-icon-img",src:z(V),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1}),b(u,{class:"filters"},{default:p(()=>[b(f,{mode:"selector",range:Ce.value,"range-key":"label",value:$e.value,onChange:Ae},{default:p(()=>[b(u,{class:"f-item"},{default:p(()=>[b(c,{class:"f-item-text"},{default:p(()=>[x(S(r.value),1)]),_:1}),b(v,{class:"f-item-arrow",src:z(H),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),b(f,{mode:"selector",range:xe.value,"range-key":"label",value:je.value,onChange:Re},{default:p(()=>[b(u,{class:"f-item"},{default:p(()=>[b(c,{class:"f-item-text"},{default:p(()=>[x(S(te.value),1)]),_:1}),b(v,{class:"f-item-arrow",src:z(H),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),b(f,{mode:"selector",range:Ne.value,"range-key":"label",value:ze.value,onChange:Me},{default:p(()=>[b(u,{class:"f-item"},{default:p(()=>[b(c,{class:"f-item-text"},{default:p(()=>[x(S(ve.value),1)]),_:1}),b(v,{class:"f-item-arrow",src:z(H),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),b(f,{mode:"selector",range:Se.value,"range-key":"label",value:Pe.value,onChange:De},{default:p(()=>[b(u,{class:"f-item"},{default:p(()=>[b(c,{class:"f-item-text"},{default:p(()=>[x(S(se.value),1)]),_:1}),b(v,{class:"f-item-arrow",src:z(H),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),b(f,{mode:"selector",range:Fe.value,"range-key":"label",value:Te.value,onChange:Le},{default:p(()=>[b(u,{class:"f-item"},{default:p(()=>[b(c,{class:"f-item-text"},{default:p(()=>[x(S(oe.value),1)]),_:1}),b(v,{class:"f-item-arrow",src:z(H),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"])]),_:1}),"map"===o.value?(k(),m(u,{key:0,class:"map-wrap"},{default:p(()=>[b(_,{class:"main-map",latitude:s.value.latitude,longitude:s.value.longitude,markers:al.value,scale:n.value,polygons:Je.value,"include-points":Ye.value,padding:Oe.value,"enable-3D":!1,"enable-poi":!1,"enable-building":!1,"enable-traffic":!1,"show-compass":!1,onRegionchange:tl,onMarkertap:sl,onTap:nl},null,8,["latitude","longitude","markers","scale","polygons","include-points","padding"]),Ze.value?(k(),m(u,{key:0,class:"venue-sheet",onClick:l[4]||(l[4]=$(()=>{},["stop"]))},{default:p(()=>[b(u,{class:"venue-sheet-inner"},{default:p(()=>[b(u,{class:"sheet-bar"}),b(u,{class:"sheet-row"},{default:p(()=>[b(v,{class:"sheet-cover",src:Ze.value.image||z(q),mode:"aspectFill"},null,8,["src"]),b(u,{class:"sheet-main"},{default:p(()=>[b(c,{class:"sheet-name"},{default:p(()=>[x(S(Ze.value.name),1)]),_:1}),Ue(Ze.value).length||Ze.value.ticket_type||Ze.value.open_mode?(k(),m(u,{key:0,class:"sheet-meta"},{default:p(()=>{var e,l;return[(k(!0),F(N,null,I(Ue(Ze.value),(e,l)=>(k(),m(c,{key:"svm-"+l,class:"sheet-type",style:D(z(Z)(el(e)))},{default:p(()=>[x(S(he(e)||e),1)]),_:2},1032,["style"]))),128)),Ze.value.ticket_type?(k(),m(c,{key:0,class:j(["sheet-ticket","paid"===Ze.value.ticket_type?"paid":"free"])},{default:p(()=>[x(S(ye(Ze.value.ticket_type)),1)]),_:1},8,["class"])):L("",!0),Ze.value.open_mode?(k(),m(c,{key:1,class:"open-mode-tag",style:D(z(ee)(Ze.value.open_mode,null==(l=null==(e=t.value)?void 0:e.venue_dicts)?void 0:l.venue_open_mode))},{default:p(()=>[x(S(ke(Ze.value.open_mode)),1)]),_:1},8,["style"])):L("",!0)]}),_:1})):L("",!0)]),_:1})]),_:1}),b(u,{class:"sheet-actions"},{default:p(()=>[b(u,{class:"sheet-btn ghost",onClick:ol},{default:p(()=>[x("关闭")]),_:1}),b(u,{class:"sheet-btn primary",onClick:l[3]||(l[3]=e=>il(Ze.value.id))},{default:p(()=>[x("详情")]),_:1})]),_:1})]),_:1})]),_:1})):L("",!0)]),_:1})):(k(),m(g,{key:1,"scroll-y":"",class:"venue-list-scroll"},{default:p(()=>[(k(!0),F(N,null,I(Ee.value,e=>(k(),m(u,{key:e.id,class:"venue-row",onClick:l=>il(e.id)},{default:p(()=>[b(v,{class:"venue-thumb",src:e.image||z(q),mode:"aspectFill"},null,8,["src"]),b(u,{class:"venue-info"},{default:p(()=>[b(c,{class:"venue-name"},{default:p(()=>[x(S(e.name),1)]),_:2},1024),Ue(e).length||e.ticket_type||e.open_mode?(k(),m(u,{key:0,class:"venue-meta"},{default:p(()=>{var l,a;return[(k(!0),F(N,null,I(Ue(e),(l,a)=>(k(),m(c,{key:"vml-"+e.id+"-"+a,class:"venue-type-pill",style:D(z(Z)(el(l)))},{default:p(()=>[x(S(he(l)||l),1)]),_:2},1032,["style"]))),128)),e.ticket_type?(k(),m(c,{key:0,class:j(["venue-ticket-pill","paid"===e.ticket_type?"paid":"free"])},{default:p(()=>[x(S(ye(e.ticket_type)),1)]),_:2},1032,["class"])):L("",!0),e.open_mode?(k(),m(c,{key:1,class:"open-mode-tag",style:D(z(ee)(e.open_mode,null==(a=null==(l=t.value)?void 0:l.venue_dicts)?void 0:a.venue_open_mode))},{default:p(()=>[x(S(ke(e.open_mode)),1)]),_:2},1032,["style"])):L("",!0)]}),_:2},1024)):L("",!0)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),Ee.value.length?L("",!0):(k(),m(u,{key:0,class:"empty-tip"},{default:p(()=>[x(S(Qe.value?"暂无符合条件的场馆":"暂无场馆"),1)]),_:1}))]),_:1}))]),_:1}),b(u,{class:"section"},{default:p(()=>[b(u,{class:"sec-head"},{default:p(()=>[b(u,{class:"sec-bar"}),b(c,{class:"sec-title"},{default:p(()=>[x("热门活动")]),_:1}),b(c,{class:"sec-more",onClick:cl},{default:p(()=>[x("更多 >")]),_:1})]),_:1}),b(g,{"scroll-x":"",class:"act-scroll","show-scrollbar":!1,"enable-flex":!0},{default:p(()=>[b(u,{class:"act-scroll-row"},{default:p(()=>{var e;return[(k(!0),F(N,null,I((null==(e=t.value)?void 0:e.hot_activities)??[],e=>(k(),m(u,{key:(e.list_kind||"activity")+"-"+e.id,class:"act-card",onClick:l=>function(e){"ticket_grab"!==e.list_kind?M({url:`/pages/activity/detail?id=${e.id}`}):M({url:`/pages/ticket-grab/detail?id=${e.id}`})}(e)},{default:p(()=>[b(u,{class:"act-img-wrap"},{default:p(()=>[b(v,{class:"act-img",src:e.image||z(q),mode:"aspectFill"},null,8,["src"]),b(u,{class:j(["act-schedule-tag",ml(e)])},{default:p(()=>[x(S(_l(e)),1)]),_:2},1032,["class"]),"ticket_grab"===e.list_kind&&e.can_grab_today?(k(),m(u,{key:0,class:"act-book-badge is-grab"},{default:p(()=>[b(c,{class:"act-book-text is-grab"},{default:p(()=>[x("抢票")]),_:1})]),_:1})):"ticket_grab"!==e.list_kind&&fl(e)?(k(),m(u,{key:1,class:"act-book-badge is-bookable"},{default:p(()=>[b(c,{class:"act-book-text is-bookable"},{default:p(()=>[x("可预约")]),_:1})]),_:1})):L("",!0)]),_:2},1024),b(u,{class:"act-body"},{default:p(()=>[b(c,{class:"act-title"},{default:p(()=>[x(S(e.title),1)]),_:2},1024),b(u,{class:"act-tags"},{default:p(()=>[(k(!0),F(N,null,I((e.tags||[]).slice(0,4),(l,a)=>{var u,s;return k(),m(c,{key:"tag-"+e.id+"-"+a,class:"act-tag-chip",style:D(z(le)(a,null==(s=null==(u=t.value)?void 0:u.venue_dicts)?void 0:s.venue_type))},{default:p(()=>[x(S(l),1)]),_:2},1032,["style"])}),128))]),_:2},1024),b(c,{class:"act-meta"},{default:p(()=>[x(S(z(K)(e.start_at,e.end_at)),1)]),_:2},1024),"ticket_grab"===e.list_kind?(k(),m(c,{key:0,class:"act-meta"},{default:p(()=>[x(S(Number(e.venue_count)||0)+"家场馆可预约",1)]),_:2},1024)):(k(),m(c,{key:1,class:"act-meta"},{default:p(()=>[x(S(e.venue_name||e.address||"苏州"),1)]),_:2},1024))]),_:2},1024)]),_:2},1032,["onClick"]))),128))]}),_:1})]),_:1})]),_:1}),b(u,{class:"section"},{default:p(()=>{var e;return[b(u,{class:"sec-head"},{default:p(()=>[b(u,{class:"sec-bar"}),b(c,{class:"sec-title"},{default:p(()=>[x("科普四季研学线路推荐")]),_:1}),b(c,{class:"sec-more",onClick:dl},{default:p(()=>[x("更多 >")]),_:1})]),_:1}),(k(!0),F(N,null,I((null==(e=t.value)?void 0:e.study_tours)??[],e=>(k(),m(u,{key:e.id,class:"tour-card",onClick:l=>{return a=e.id,void M({url:`/pages/study-tour/detail?id=${a}`});var a}},{default:p(()=>[b(u,{class:"tour-img-wrap"},{default:p(()=>[b(v,{class:"tour-img",src:e.cover_image||z(q),mode:"aspectFill"},null,8,["src"])]),_:2},1024),b(u,{class:"tour-body"},{default:p(()=>{var l;return[b(c,{class:"tour-title"},{default:p(()=>[x(S(e.name),1)]),_:2},1024),b(u,{class:"tour-stops-timeline"},{default:p(()=>[(k(!0),F(N,null,I(e.venue_names,(l,a)=>(k(),m(u,{key:"v-"+e.id+"-"+a,class:"tour-stop-row"},{default:p(()=>[b(u,{class:"tour-timeline-axis"},{default:p(()=>[b(u,{class:"tour-dot-cell"},{default:p(()=>[b(u,{class:"tour-tl-dot"})]),_:1}),a<e.venue_names.length-1?(k(),m(u,{key:0,class:"tour-tl-line"})):L("",!0)]),_:2},1024),b(c,{class:"tour-stop-name"},{default:p(()=>[x(S(l),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),(null==(l=e.tags)?void 0:l.length)?(k(),m(u,{key:0,class:"tour-tags-row"},{default:p(()=>[(k(!0),F(N,null,I(e.tags,(l,a)=>{var u,s;return k(),m(c,{key:"t-"+e.id+"-"+a,class:"tour-tag",style:D(z(le)(a,null==(s=null==(u=t.value)?void 0:u.venue_dicts)?void 0:s.venue_type))},{default:p(()=>[x(S(l),1)]),_:2},1032,["style"])}),128))]),_:2},1024)):L("",!0)]}),_:2},1024)]),_:2},1032,["onClick"]))),128))]}),_:1}),b(u,{class:"bottom-safe"}),a.value?(k(),m(u,{key:0,class:"loading-mask"},{default:p(()=>[x("加载中...")]),_:1})):L("",!0)]),_:1})]),_:1})}}}),[["__scopeId","data-v-57197ab7"]]);export{de as default};