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