import{h as e,S as a,r as t,i as l,g as s,s as u,a as n,b as o,c,A as i,d as r,e as d,f as v,w as f,o as m,j as p,k as _,l as h,m as g,n as y,p as w,q as k,t as b,u as S,v as C,x,y as I,z as M,B as F,F as $,C as j,D as P,E as T,G as V,I as z,H as L,J as U,M as A,K as q,L as N}from"./index-Cx62DbNr.js";import{s as R}from"./search.BJnl3YRK.js";import{d as B,F as D}from"./FilterPickerSheet.CKQ6Liim.js";import{f as E}from"./activity.k1jR9V-B.js";import{h as G,f as H}from"./geo.BHVFNtB7.js";import{M as J,m as K}from"./ticketMap.By4_sH7a.js";import{v as O}from"./venueTypes.VBfNTKYP.js";import{_ as Q}from"./_plugin-vue_export-helper.BCo6x5W8.js";const W="szkp_force_loc_prompt",X="szkp_wechat_oauth_denied",Y="szkp_h5_oauth_state_ss";let Z=null;function ee(){return Z||(Z=async function(){var r,d;if(!l())return!0;const v=new URL(window.location.href),f=v.searchParams.get("code"),m=v.searchParams.get("state");if(v.searchParams.get("err")){try{window.sessionStorage.setItem(X,"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(Y)||""}catch{}l||(l=s(a.oauthState)||"");if(Boolean(m&&l&&String(m)!==String(l))){u({title:"授权状态异常,请关闭页面后重试",icon:"none"});try{window.sessionStorage.removeItem(Y)}catch{}t(a.oauthState)}else{n({title:"授权登录中…",mask:!0});try{const t=await e.post("/h5/wechat/oauth",{code:f},{withAuth:!1});if(null==t?void 0:t.token){o(a.accessToken,t.token);try{window.sessionStorage.setItem(W,"1")}catch{}}}catch(h){const e=(null==h?void 0:h.message)||(null==(d=null==(r=null==h?void 0:h.errors)?void 0:r.code)?void 0:d[0])||"微信登录失败";u({title:e,icon:"none"})}finally{c()}}try{window.sessionStorage.removeItem(Y)}catch{}return t(a.oauthState),v.searchParams.delete("code"),v.searchParams.delete("state"),window.history.replaceState({},"",v.pathname+v.search+v.hash),!0}if(s(a.accessToken))return!0;try{if("1"===window.sessionStorage.getItem(X))return!0}catch{}const p=encodeURIComponent(function(){if("undefined"==typeof window)return"";const e=new URL(window.location.href);return e.hash="",e.search="",e.toString()}()),_=`${Date.now()}-${Math.random().toString(36).slice(2,10)}`;try{window.sessionStorage.setItem(Y,_)}catch{}return o(a.oauthState,_),window.location.href=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${i.wechatAppId}&redirect_uri=${p}&response_type=code&scope=snsapi_userinfo&state=${_}#wechat_redirect`,!1}().finally(()=>{Z=null})),Z}const ae=Q(r({__name:"index",setup(s){const n=d(!1),o=d(null),c=d(null),i=d({latitude:31.2989,longitude:120.5853}),r=d("map"),Q=d(""),X=d("全部区域"),Y=d(""),Z=d("全部分类"),ae=d(""),te=d("预约类型"),le=d(""),se=d("开放模式"),ue=d(""),ne=d("收费类型"),oe=d(""),ce=d(!1),ie=d(""),re=d([]),de=d(""),ve=d(null),fe=d(null),me=d(!1),pe=d(null),_e=v(()=>{var e,a;const t={};for(const l of(null==(a=null==(e=o.value)?void 0:e.venue_dicts)?void 0:a.venue_type)??[])t[l.value]=l.label;return t}),he=v(()=>{var e,a;const t={};for(const l of(null==(a=null==(e=o.value)?void 0:e.venue_dicts)?void 0:a.ticket_type)??[])t[l.value]=l.label;return t}),ge=v(()=>{var e,a;const t={};for(const l of(null==(a=null==(e=o.value)?void 0:e.venue_dicts)?void 0:a.venue_open_mode)??[])t[l.value]=l.label;return t});function ye(e){return e?_e.value[e]||e:""}function we(e){return e?he.value[e]||e:""}function ke(e){return e?ge.value[e]||e:""}function be(e){try{"undefined"!=typeof window&&window.sessionStorage&&window.sessionStorage.setItem(a.locConsent,e)}catch{}}const Se=v(()=>{var e,a;if(c.value)return c.value.total.toLocaleString();return((null==(a=null==(e=o.value)?void 0:e.stats)?void 0:a.reservation_total)??0).toLocaleString()}),Ce=v(()=>{var e,a;const t=[...(null==(e=c.value)?void 0:e.top3)??(null==(a=o.value)?void 0:a.top_live_venues)??[]].sort((e,a)=>Number(a.people_count??0)-Number(e.people_count??0)),l=[];for(let s=0;s<3;s++){const e=t[s];e?l.push({id:e.id,name:e.name,people_count:e.people_count,empty:!1}):l.push({id:0,name:"",people_count:0,empty:!0})}return l}),xe=v(()=>{var e,a;return[{label:"全部区域",value:""},...((null==(a=null==(e=o.value)?void 0:e.venue_dicts)?void 0:a.district)??[]).map(e=>({label:e.label,value:e.value}))]}),Ie=v(()=>{var e,a;return[{label:"全部分类",value:""},...((null==(a=null==(e=o.value)?void 0:e.venue_dicts)?void 0:a.venue_type)??[]).map(e=>({label:e.label,value:e.value}))]}),Me=v(()=>{var e,a;return[{label:"预约类型",value:""},...((null==(a=null==(e=o.value)?void 0:e.venue_dicts)?void 0:a.venue_appointment_type)??[]).map(e=>({label:e.label,value:e.value}))]}),Fe=v(()=>{var e,a;return[{label:"开放模式",value:""},...((null==(a=null==(e=o.value)?void 0:e.venue_dicts)?void 0:a.venue_open_mode)??[]).map(e=>({label:e.label,value:e.value}))]}),$e=v(()=>{var e,a;return[{label:"收费类型",value:""},...((null==(a=null==(e=o.value)?void 0:e.venue_dicts)?void 0:a.ticket_type)??[]).map(e=>({label:e.label,value:e.value}))]});function je(e){return O(e)}const Pe=v(()=>{var e;const a=Q.value.trim();return((null==(e=o.value)?void 0:e.map_venues)??[]).filter(e=>{if(Y.value&&(e.district||"")!==Y.value)return!1;if(ae.value&&!je(e).includes(ae.value))return!1;if(le.value&&(e.appointment_type||"")!==le.value)return!1;if(ue.value&&(e.open_mode||"")!==ue.value)return!1;if("free"===oe.value&&"free"!==(e.ticket_type||""))return!1;if("paid"===oe.value&&"paid"!==(e.ticket_type||""))return!1;if(a){if(!`${e.name||""}${e.address||""}`.includes(a))return!1}return!0})}),Te=v(()=>{const e=[...Pe.value],a=fe.value;return a?e.sort((e,t)=>G(a.lat,a.lng,e.lat,e.lng)-G(a.lat,a.lng,t.lat,t.lng)):e}),Ve=v(()=>null==pe.value?null:Pe.value.find(e=>e.id===pe.value)??null),ze=v(()=>{const e=Ve.value,a=fe.value;if(!e||!a)return"定位后可显示距离";const t=G(a.lat,a.lng,e.lat,e.lng);return`距您 ${H(t)}`});f(Pe,e=>{null==pe.value||e.some(e=>e.id===pe.value)||(pe.value=null)}),f(r,e=>{"list"===e&&(pe.value=null)});const Le=v(()=>Pe.value.map(e=>({id:e.id,latitude:e.lat,longitude:e.lng,width:J,height:J,iconPath:K(e.ticket_type),anchor:{x:.5,y:1}})));function Ue(e){const a=fe.value;if(!a)return"距离 --";const t=G(a.lat,a.lng,e.lat,e.lng);return`距您 ${H(t)}`}function Ae(e){ve.value=e,"district"===e?(ie.value="选择区域",re.value=xe.value,de.value=Y.value):"type"===e?(ie.value="选择场馆分类",re.value=Ie.value,de.value=ae.value):"appointment"===e?(ie.value="选择预约类型",re.value=Me.value,de.value=le.value):"open_mode"===e?(ie.value="选择开放模式",re.value=Fe.value,de.value=ue.value):(ie.value="选择收费类型",re.value=$e.value,de.value=oe.value),ce.value=!0}function qe(e){const a=ve.value;"district"===a?(X.value=e.label,Y.value=e.value):"type"===a?(Z.value=e.label,ae.value=e.value):"appointment"===a?(te.value=e.label,le.value=e.value):"open_mode"===a?(se.value=e.label,ue.value=e.value):"ticket"===a&&(ne.value=e.label,oe.value=e.value)}let Ne=!1;function Re(e){var a;const t=null==(a=null==e?void 0:e.detail)?void 0:a.markerId;null!=t&&(pe.value=Number(t),Ne=!0,setTimeout(()=>{Ne=!1},400))}function Be(){Ne||(pe.value=null)}function De(){pe.value=null}function Ee(e){e&&q({url:`/pages/venue/detail?id=${e}`})}function Ge(){q({url:"/pages/stats/index"})}function He(){N({url:"/pages/activity/index"})}function Je(){q({url:"/pages/discover/index"})}function Ke(e){return 0===(e.registered_count??0)&&!0===e.is_bookable}function Oe(e){const a=e.registered_count??0;return Ke(e)?"可预约":a>0?`${a}人已预约`:"敬请期待"}function Qe(){var e;if(fe.value)return void(i.value={latitude:fe.value.lat,longitude:fe.value.lng});const a=(null==(e=o.value)?void 0:e.map_venues)??[];a.length?i.value={latitude:a[0].lat,longitude:a[0].lng}:i.value={latitude:31.2989,longitude:120.5853}}async function We(){n.value=!0;try{const a=await e.get("/h5/home",{},{withAuth:!1});o.value=a,c.value=function(e){const a=[...e].sort(()=>Math.random()-.5),t=["苏州科技馆","苏州博物馆","苏州工业园区展厅","苏州中心科普站","吴江科技馆","常熟科技馆","太仓科技馆"],l=[];for(let s=0;s<3;s++){const e=a[s];e?l.push({id:e.id,name:e.name,people_count:100+Math.floor(900*Math.random())}):l.push({id:0,name:t[Math.floor(Math.random()*t.length)],people_count:100+Math.floor(900*Math.random())})}return{total:1001+Math.floor(9e3*Math.random()),top3:l}}(a.map_venues??[]),Qe(),await h({title:"苏州科普地图",desc:"热门活动、研学线路与场馆导览"}).catch(()=>{})}catch(a){u({title:(null==a?void 0:a.message)||"加载首页失败",icon:"none"})}finally{n.value=!1}}async function Xe(){if(me.value=!1,l())try{const e=await w();return fe.value={lat:e.lat,lng:e.lng},void Qe()}catch{}k({type:"gcj02",success:e=>{fe.value={lat:e.latitude,lng:e.longitude},Qe()},fail:()=>{fe.value=null,Qe();try{"undefined"!=typeof window&&window.sessionStorage&&window.sessionStorage.removeItem(a.locConsent)}catch{}try{t(a.locConsent)}catch{}me.value=!0}})}function Ye(){me.value=!1,Ze()}function Ze(){return new Promise(e=>{(function(){if("undefined"==typeof window)return!1;try{if("1"===window.sessionStorage.getItem(W))return window.sessionStorage.removeItem(W),!0}catch{}return!1})()&&function(){try{"undefined"!=typeof window&&window.sessionStorage&&window.sessionStorage.removeItem(a.locConsent)}catch{}try{t(a.locConsent)}catch{}}();const s=function(){try{if("undefined"!=typeof window&&window.sessionStorage){const e=window.sessionStorage.getItem(a.locConsent);if("granted"===e||"denied"===e)return e}}catch{}return null}();if("denied"!==s)return"granted"===s?l()?void g({title:"需要获取您的位置",content:"用于展示「距您」距离与列表排序。在微信中需您确认后才会调起定位;拒绝后仍可浏览场馆。",confirmText:"允许",cancelText:"暂不",success:a=>{a.confirm?(be("granted"),Xe().finally(()=>e())):(be("denied"),e())}}):void Xe().finally(()=>e()):void g({title:"需要获取您的位置",content:"用于展示「距您」距离、列表排序与地图中心。拒绝后仍可浏览场馆,但无法显示距离。",confirmText:"允许",cancelText:"暂不",success:a=>{a.confirm?(be("granted"),Xe().finally(()=>e())):(be("denied"),e())}});e()})}return m(async()=>{await ee()&&(await We(),await Ze())}),(e,a)=>{const t=y,l=x,s=z,u=L,c=A,d=C;return b(),p(t,{class:"page-root"},{default:_(()=>[S(d,{"scroll-y":"",class:"page"},{default:_(()=>[S(t,{class:"hero"},{default:_(()=>[S(t,{class:"hero-brand"}),S(t,{class:"hero-content"},{default:_(()=>[S(t,{class:"stat-card"},{default:_(()=>[S(t,{class:"stat-main"},{default:_(()=>[S(t,{class:"stat-left"},{default:_(()=>[S(l,{class:"stat-label"},{default:_(()=>[I("全市实时总人数")]),_:1}),S(l,{class:"stat-num"},{default:_(()=>[I(M(Se.value)+" 人",1)]),_:1}),S(l,{class:"stat-desc"},{default:_(()=>[I("正在参观科普场馆")]),_:1})]),_:1}),S(t,{class:"stat-right"},{default:_(()=>[S(t,{class:"live-list"},{default:_(()=>[(b(!0),F($,null,j(Ce.value,(e,a)=>(b(),p(t,{key:"live-"+a,class:T(["live-venue-row",{"is-empty":e.empty}]),onClick:P(a=>{var t;(t=e).empty||Ee(t.id)},["stop"])},{default:_(()=>[S(t,{class:"live-row-one"},{default:_(()=>[S(l,{class:"live-top"},{default:_(()=>[I("Top "+M(a+1),1)]),_:2},1024),S(l,{class:"live-name"},{default:_(()=>[I(M(e.empty?"—":e.name),1)]),_:2},1024),S(l,{class:"live-count"},{default:_(()=>[I(M(e.empty?"—":e.people_count+" 人"),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1}),S(t,{class:"stat-foot",onClick:P(Ge,["stop"])},{default:_(()=>[S(l,{class:"stat-foot-link"},{default:_(()=>[I("客流量统计 >")]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),me.value?(b(),p(t,{key:0,class:"loc-retry-bar",onClick:Ye},{default:_(()=>[S(l,{class:"loc-retry-text"},{default:_(()=>[I("定位未成功,点击此处重新授权并获取位置")]),_:1})]),_:1})):V("",!0),S(t,{class:"map-section"},{default:_(()=>[S(t,{class:"toolbar"},{default:_(()=>[S(t,{class:"tabs"},{default:_(()=>[S(l,{class:T(["tab",{on:"map"===r.value}]),onClick:a[0]||(a[0]=e=>r.value="map")},{default:_(()=>[I("地图")]),_:1},8,["class"]),S(l,{class:T(["tab",{on:"list"===r.value}]),onClick:a[1]||(a[1]=e=>r.value="list")},{default:_(()=>[I("列表")]),_:1},8,["class"])]),_:1}),S(t,{class:"search-wrap"},{default:_(()=>[S(s,{modelValue:Q.value,"onUpdate:modelValue":a[2]||(a[2]=e=>Q.value=e),class:"search-input",placeholder:"请输入你要搜索的内容","placeholder-class":"ph"},null,8,["modelValue"]),S(u,{class:"search-icon-img",src:U(R),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1}),S(t,{class:"filters"},{default:_(()=>[S(t,{class:"f-item",onClick:a[3]||(a[3]=e=>Ae("district"))},{default:_(()=>[S(l,{class:"f-item-text"},{default:_(()=>[I(M(X.value),1)]),_:1}),S(u,{class:"f-item-arrow",src:U(B),mode:"aspectFit"},null,8,["src"])]),_:1}),S(t,{class:"f-item",onClick:a[4]||(a[4]=e=>Ae("type"))},{default:_(()=>[S(l,{class:"f-item-text"},{default:_(()=>[I(M(Z.value),1)]),_:1}),S(u,{class:"f-item-arrow",src:U(B),mode:"aspectFit"},null,8,["src"])]),_:1}),S(t,{class:"f-item",onClick:a[5]||(a[5]=e=>Ae("appointment"))},{default:_(()=>[S(l,{class:"f-item-text"},{default:_(()=>[I(M(te.value),1)]),_:1}),S(u,{class:"f-item-arrow",src:U(B),mode:"aspectFit"},null,8,["src"])]),_:1}),S(t,{class:"f-item",onClick:a[6]||(a[6]=e=>Ae("open_mode"))},{default:_(()=>[S(l,{class:"f-item-text"},{default:_(()=>[I(M(se.value),1)]),_:1}),S(u,{class:"f-item-arrow",src:U(B),mode:"aspectFit"},null,8,["src"])]),_:1}),S(t,{class:"f-item",onClick:a[7]||(a[7]=e=>Ae("ticket"))},{default:_(()=>[S(l,{class:"f-item-text"},{default:_(()=>[I(M(ne.value),1)]),_:1}),S(u,{class:"f-item-arrow",src:U(B),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1}),"map"===r.value?(b(),p(t,{key:0,class:"map-wrap"},{default:_(()=>[S(c,{class:"main-map",latitude:i.value.latitude,longitude:i.value.longitude,markers:Le.value,scale:11,"show-location":"",onMarkertap:Re,onTap:Be},null,8,["latitude","longitude","markers"]),Ve.value?(b(),p(t,{key:0,class:"venue-sheet",onClick:a[9]||(a[9]=P(()=>{},["stop"]))},{default:_(()=>[S(t,{class:"venue-sheet-inner"},{default:_(()=>[S(t,{class:"sheet-bar"}),S(t,{class:"sheet-row"},{default:_(()=>[Ve.value.image?(b(),p(u,{key:0,class:"sheet-cover",src:Ve.value.image,mode:"aspectFill"},null,8,["src"])):(b(),p(t,{key:1,class:"sheet-cover sheet-cover-ph"})),S(t,{class:"sheet-main"},{default:_(()=>[S(l,{class:"sheet-name"},{default:_(()=>[I(M(Ve.value.name),1)]),_:1}),je(Ve.value).length||Ve.value.ticket_type||Ve.value.open_mode?(b(),p(t,{key:0,class:"sheet-meta"},{default:_(()=>[(b(!0),F($,null,j(je(Ve.value),(e,a)=>(b(),p(l,{key:"svm-"+a,class:"sheet-type"},{default:_(()=>[I(M(ye(e)||e),1)]),_:2},1024))),128)),Ve.value.ticket_type?(b(),p(l,{key:0,class:T(["sheet-ticket","paid"===Ve.value.ticket_type?"paid":"free"])},{default:_(()=>[I(M(we(Ve.value.ticket_type)),1)]),_:1},8,["class"])):V("",!0),Ve.value.open_mode?(b(),p(l,{key:1,class:"open-mode-tag"},{default:_(()=>[I(M(ke(Ve.value.open_mode)),1)]),_:1})):V("",!0)]),_:1})):V("",!0),S(l,{class:"sheet-addr"},{default:_(()=>[I(M(Ve.value.address||"地址待定"),1)]),_:1}),S(l,{class:"sheet-dist"},{default:_(()=>[I(M(ze.value),1)]),_:1})]),_:1})]),_:1}),S(t,{class:"sheet-actions"},{default:_(()=>[S(t,{class:"sheet-btn ghost",onClick:De},{default:_(()=>[I("关闭")]),_:1}),S(t,{class:"sheet-btn primary",onClick:a[8]||(a[8]=e=>Ee(Ve.value.id))},{default:_(()=>[I("详情")]),_:1})]),_:1})]),_:1})]),_:1})):V("",!0)]),_:1})):(b(),p(d,{key:1,"scroll-y":"",class:"venue-list-scroll"},{default:_(()=>[(b(!0),F($,null,j(Te.value,e=>(b(),p(t,{key:e.id,class:"venue-row",onClick:a=>Ee(e.id)},{default:_(()=>[e.image?(b(),p(u,{key:0,class:"venue-thumb",src:e.image,mode:"aspectFill"},null,8,["src"])):(b(),p(t,{key:1,class:"venue-thumb ph-img"})),S(t,{class:"venue-info"},{default:_(()=>[S(l,{class:"venue-name"},{default:_(()=>[I(M(e.name),1)]),_:2},1024),je(e).length||e.ticket_type||e.open_mode?(b(),p(t,{key:0,class:"venue-meta"},{default:_(()=>[(b(!0),F($,null,j(je(e),(a,t)=>(b(),p(l,{key:"vml-"+e.id+"-"+t,class:"venue-type-pill"},{default:_(()=>[I(M(ye(a)||a),1)]),_:2},1024))),128)),e.ticket_type?(b(),p(l,{key:0,class:T(["venue-ticket-pill","paid"===e.ticket_type?"paid":"free"])},{default:_(()=>[I(M(we(e.ticket_type)),1)]),_:2},1032,["class"])):V("",!0),e.open_mode?(b(),p(l,{key:1,class:"open-mode-tag"},{default:_(()=>[I(M(ke(e.open_mode)),1)]),_:2},1024)):V("",!0)]),_:2},1024)):V("",!0),S(l,{class:"venue-addr"},{default:_(()=>[I(M(e.address||"-"),1)]),_:2},1024),S(l,{class:"venue-dist"},{default:_(()=>[I(M(Ue(e)),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),Te.value.length?V("",!0):(b(),p(t,{key:0,class:"empty-tip"},{default:_(()=>[I("暂无符合条件的场馆")]),_:1}))]),_:1}))]),_:1}),S(t,{class:"section"},{default:_(()=>[S(t,{class:"sec-head"},{default:_(()=>[S(t,{class:"sec-bar"}),S(l,{class:"sec-title"},{default:_(()=>[I("热门活动")]),_:1}),S(l,{class:"sec-more",onClick:He},{default:_(()=>[I("更多 >")]),_:1})]),_:1}),S(d,{"scroll-x":"",class:"act-scroll","show-scrollbar":!1,"enable-flex":!0},{default:_(()=>[S(t,{class:"act-scroll-row"},{default:_(()=>{var e;return[(b(!0),F($,null,j((null==(e=o.value)?void 0:e.hot_activities)??[],e=>(b(),p(t,{key:e.id,class:"act-card",onClick:a=>{return t=e.id,void q({url:`/pages/activity/detail?id=${t}`});var t}},{default:_(()=>[S(t,{class:"act-img-wrap"},{default:_(()=>[e.image?(b(),p(u,{key:0,class:"act-img",src:e.image,mode:"aspectFill"},null,8,["src"])):(b(),p(t,{key:1,class:"act-img-ph"})),S(t,{class:T(["act-book-badge",{"is-bookable":Ke(e)}])},{default:_(()=>[S(l,{class:T(["act-book-text",{"is-bookable":Ke(e)}])},{default:_(()=>[I(M(Oe(e)),1)]),_:2},1032,["class"])]),_:2},1032,["class"])]),_:2},1024),S(t,{class:"act-body"},{default:_(()=>[S(l,{class:"act-title"},{default:_(()=>[I(M(e.title),1)]),_:2},1024),S(t,{class:"act-tags"},{default:_(()=>[(b(!0),F($,null,j((e.tags||[]).slice(0,4),(a,t)=>(b(),p(l,{key:"tag-"+e.id+"-"+t,class:"act-tag-chip"},{default:_(()=>[I(M(a),1)]),_:2},1024))),128))]),_:2},1024),S(l,{class:"act-meta"},{default:_(()=>[I(M(U(E)(e.start_at,e.end_at)),1)]),_:2},1024),S(l,{class:"act-meta"},{default:_(()=>[I(M(e.venue_name||e.address||"苏州"),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]}),_:1})]),_:1})]),_:1}),S(t,{class:"section"},{default:_(()=>{var e;return[S(t,{class:"sec-head"},{default:_(()=>[S(t,{class:"sec-bar"}),S(l,{class:"sec-title"},{default:_(()=>[I("科普四季研学线路推荐")]),_:1}),S(l,{class:"sec-more",onClick:Je},{default:_(()=>[I("更多 >")]),_:1})]),_:1}),(b(!0),F($,null,j((null==(e=o.value)?void 0:e.study_tours)??[],e=>(b(),p(t,{key:e.id,class:"tour-card",onClick:a=>{return t=e.id,void q({url:`/pages/study-tour/detail?id=${t}`});var t}},{default:_(()=>[S(t,{class:"tour-img-wrap"},{default:_(()=>[e.cover_image?(b(),p(u,{key:0,class:"tour-img",src:e.cover_image,mode:"aspectFill"},null,8,["src"])):(b(),p(t,{key:1,class:"tour-img tour-ph"}))]),_:2},1024),S(t,{class:"tour-body"},{default:_(()=>{var a;return[S(l,{class:"tour-title"},{default:_(()=>[I(M(e.name),1)]),_:2},1024),S(t,{class:"tour-stops-timeline"},{default:_(()=>[(b(!0),F($,null,j(e.venue_names,(a,s)=>(b(),p(t,{key:"v-"+e.id+"-"+s,class:"tour-stop-row"},{default:_(()=>[S(t,{class:"tour-timeline-axis"},{default:_(()=>[S(t,{class:"tour-dot-cell"},{default:_(()=>[S(t,{class:"tour-tl-dot"})]),_:1}),s[I(M(a),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024),(null==(a=e.tags)?void 0:a.length)?(b(),p(t,{key:0,class:"tour-tags-row"},{default:_(()=>[(b(!0),F($,null,j(e.tags,(a,t)=>(b(),p(l,{key:"t-"+e.id+"-"+t,class:"tour-tag"},{default:_(()=>[I(M(a),1)]),_:2},1024))),128))]),_:2},1024)):V("",!0)]}),_:2},1024)]),_:2},1032,["onClick"]))),128))]}),_:1}),S(t,{class:"bottom-safe"}),n.value?(b(),p(t,{key:1,class:"loading-mask"},{default:_(()=>[I("加载中...")]),_:1})):V("",!0)]),_:1}),S(D,{modelValue:ce.value,"onUpdate:modelValue":a[10]||(a[10]=e=>ce.value=e),title:ie.value,options:re.value,"selected-value":de.value,onSelect:qe},null,8,["modelValue","title","options","selected-value"])]),_:1})}}}),[["__scopeId","data-v-bcf1593b"]]);export{ae as default};