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 a,S as t,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 y,u as b,p as k,q as w,t as N,v as C,x as S,y as x,I as F,z as $,B as I,C as j,D as P,M as z,E as T,F as A,G as R,H as L,J as q,K as D,L as M,N as U,_ as V}from"./index-CalkcR7d.js";import{g as B,t as E,b as G,v as H,n as J,a as K}from"./peopleCounting.Cr0ks6_K.js";import{P as W}from"./poster.C6TYC1FC.js";import{s as X}from"./search.BJnl3YRK.js";import{v as Y,g as O,a as Q,m as Z,d as ee,b as le}from"./suzhouDistrictPolygons.U6J8TgzC.js";import{f as ae,a as te,c as ue}from"./activity.DEGdoGAe.js";import{t as ne,g as se}from"./ticketMap.B4zREq3s.js";import{v as oe}from"./venueTypes.DuAf5T5V.js";import{v as ie,o as re,a as ce,c as de}from"./venueThemeColors.DRxjaxXI.js";import{m as ve}from"./text.CdTUJGny.js";const fe="szkp_force_loc_prompt",me="szkp_wechat_oauth_denied",_e="szkp_h5_oauth_state_ss";let pe=null;function ge(){return pe||(pe=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(me,"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(_e)||""}catch{}l||(l=a(t.oauthState)||"");if(Boolean(m&&l&&String(m)!==String(l))){u({title:"授权状态异常,请关闭页面后重试",icon:"none"});try{window.sessionStorage.removeItem(_e)}catch{}n(t.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(t.accessToken,l.token);try{window.sessionStorage.setItem(fe,"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(_e)}catch{}return n(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(me))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(_e,p)}catch{}return o(t.oauthState,p),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(()=>{pe=null})),pe}const he={lat:31.2989,lng:120.5853},ye={lat:.085,lng:.098};function be(e=ye){const l=he,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}]}const ke=.92,we=V(c({__name:"index",setup(l){const a={backgroundImage:"url(/h5/assets/head-BCNsV_in.png)",backgroundSize:"cover",backgroundPosition:"center top",backgroundRepeat:"no-repeat"},t=d(!1),n=d(null),s=d(null),o=d({latitude:he.lat,longitude:he.lng}),i=d(11),r=d("map"),c=d(""),V=d("区域"),fe=d(""),me=d("主题"),_e=d(""),pe=d("预约模式"),ye=d(""),we=d("开放模式"),Ne=d(""),Ce=d("收费类型"),Se=d(""),xe=d(null),Fe=v(()=>{var e,l;const a={};for(const t of(null==(l=null==(e=n.value)?void 0:e.venue_dicts)?void 0:l.venue_type)??[])a[t.value]=t.label;return a}),$e=v(()=>{var e,l;const a={};for(const t of(null==(l=null==(e=n.value)?void 0:e.venue_dicts)?void 0:l.ticket_type)??[])a[t.value]=t.label;return a}),Ie=v(()=>{var e,l;const a={};for(const t of(null==(l=null==(e=n.value)?void 0:e.venue_dicts)?void 0:l.venue_open_mode)??[])a[t.value]=t.label;return a});function je(e){return e?Fe.value[e]||e:""}function Pe(e){return e?$e.value[e]||e:""}function ze(e){return e?Ie.value[e]||e:""}v(()=>{var e,l;const a={};for(const t of(null==(l=null==(e=n.value)?void 0:e.venue_dicts)?void 0:l.venue_booking_mode)??[])a[t.value]=t.label;return a});const Te=v(()=>{var e,l;const a=E(s.value);if(null!=a)return a.toLocaleString();return Number((null==(l=null==(e=n.value)?void 0:e.stats)?void 0:l.in_venue_total)??0).toLocaleString()}),Ae=v(()=>{var e;const l=s.value;if(l&&200===l.code&&Array.isArray(l.venues)){const e=G(l.groups),a=[...l.venues].map(l=>{var a,t,u;const s=H(l.venueId),o=null!=s?null==(u=null==(t=null==(a=n.value)?void 0:a.all_venues)?void 0:t.find(e=>e.id===s))?void 0:u.name:void 0;return{id:s??0,name:K(l,e,o),people_count:J(l.enter,l.exit)}}).filter(e=>e.id>0).sort((e,l)=>l.people_count-e.people_count),t=[];for(let l=0;l<3;l++){const e=a[l];e&&e.people_count>0?t.push({id:e.id,name:e.name,people_count:e.people_count,empty:!1}):t.push({id:0,name:"",people_count:0,empty:!0})}return t}const a=[...(null==(e=n.value)?void 0:e.top_live_venues)??[]].sort((e,l)=>Number(l.people_count??0)-Number(e.people_count??0)),t=[];for(let u=0;u<3;u++){const e=a[u];e&&Number(e.people_count)>0?t.push({id:e.id,name:e.name,people_count:e.people_count,empty:!1}):t.push({id:0,name:"",people_count:0,empty:!0})}return t}),Re=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}))]}),Le=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}))]}),De=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}))]}),Me=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 a=e.findIndex(e=>e.value===l);return a>=0?a:0}const Ve=v(()=>Ue(Re.value,fe.value)),Be=v(()=>Ue(Le.value,_e.value)),Ee=v(()=>Ue(qe.value,ye.value)),Ge=v(()=>Ue(De.value,Ne.value)),He=v(()=>Ue(Me.value,Se.value));function Je(e){const l=Re.value[Number(e.detail.value)];l&&(V.value=l.label,fe.value=l.value)}function Ke(e){const l=Le.value[Number(e.detail.value)];l&&(me.value=l.label,_e.value=l.value)}function We(e){const l=qe.value[Number(e.detail.value)];l&&(pe.value=l.label,ye.value=l.value)}function Xe(e){const l=De.value[Number(e.detail.value)];l&&(we.value=l.label,Ne.value=l.value)}function Ye(e){const l=Me.value[Number(e.detail.value)];l&&(Ce.value=l.label,Se.value=l.value)}function Oe(e){return oe(e)}function Qe(e){const l=Number(e.sort);return Number.isFinite(l)?l:0}function Ze(e,l){const a=Qe(e)-Qe(l);return 0!==a?a:e.id-l.id}function el(e){const l=[];for(const a of e){const e=Number(a.lat),t=Number(a.lng);Number.isFinite(e)&&Number.isFinite(t)&&l.push({lat:e,lng:t})}return l}const ll=v(()=>{var e;const l=c.value.trim();return((null==(e=n.value)?void 0:e.all_venues)??[]).filter(e=>{if(!1===e.is_active)return!1;if(fe.value&&!Y(String(e.district||""),fe.value))return!1;if(_e.value&&!Oe(e).includes(_e.value))return!1;if(ye.value&&(e.booking_mode||"")!==ye.value)return!1;if(Ne.value&&(e.open_mode||"")!==Ne.value)return!1;if("free"===Se.value&&"free"!==(e.ticket_type||""))return!1;if("paid"===Se.value&&"paid"!==(e.ticket_type||""))return!1;if(l){const a=`${e.name||""}${e.address||""}`;if(!ve(a,l,String(e.name||"")))return!1}return!0})}),al=v(()=>[...ll.value].sort(Ze)),tl=v(()=>{if(!c.value.trim())return null;const e=al.value;if(1!==e.length)return null;const l=e[0],a=Number(l.lat),t=Number(l.lng);return Number.isFinite(a)&&Number.isFinite(t)?l:null}),ul=v(()=>{var e;if(!c.value.trim())return null;if(null==(e=fe.value)?void 0:e.trim())return null;const l=al.value;if(l.length<2)return null;for(const a of l){const e=Number(a.lat),l=Number(a.lng);if(Number.isFinite(e)&&Number.isFinite(l))return a}return null}),nl=v(()=>{var e,l;const a=null==(e=fe.value)?void 0:e.trim();return a?((null==(l=n.value)?void 0:l.map_venues)??[]).filter(e=>Y(String(e.district||""),a)):[]}),sl=v(()=>{var e;if(!(null==(e=fe.value)?void 0:e.trim()))return null;const l=fe.value.trim(),a=O(l);if(null==a?void 0:a.length)return a;const t=Q(el(nl.value));return t&&t.length>=3?[t]:null}),ol=v(()=>{const e=sl.value;return(null==e?void 0:e.length)?e.map(e=>({points:e,strokeWidth:2,strokeColor:"#05C9ACE6",fillColor:"#05C9AC14",zIndex:5})):[]}),il=v(()=>{var e;if(!(null==(e=fe.value)?void 0:e.trim()))return[];const l=sl.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});if(!a.length){const e=Q(el(nl.value),.012);if(null==e?void 0:e.length)for(const l of e)a.push({latitude:l.latitude,longitude:l.longitude})}return a});function rl(e,l){if(!e.length)return[];let a=1/0,t=-1/0,u=1/0,n=-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>n&&(n=c.longitude);if(!Number.isFinite(a)||t<=a||!Number.isFinite(u)||n<=u)return e.map(e=>({...e}));const s=(a+t)/2,o=(u+n)/2,i=(t-a)/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 cl=v(()=>!!(_e.value||ye.value||Ne.value||Se.value||c.value.trim())),dl=v(()=>{var e,l;if(null==(e=fe.value)?void 0:e.trim()){const e=il.value;if(e.length)return rl(e,ke)}if(!(null==(l=fe.value)?void 0:l.trim())&&cl.value&&al.value.length>0){const e=be().map(e=>({...e})),l=Q(el(al.value),.018);if(null==l?void 0:l.length)for(const a of l)e.push({latitude:a.latitude,longitude:a.longitude});return rl(e,ke)}return rl(be(),ke)}),vl=v(()=>Z(fe.value)),fl=v(()=>{if(tl.value)return 15;const e=vl.value;return null!=e?e:cl.value?9:i.value}),ml=v(()=>{if(null!=vl.value)return;if(cl.value)return;const e=dl.value;return e.length?e:void 0}),_l=v(()=>{const e=tl.value;if(e)return`s-${e.id}-${c.value.trim()}`;const l=ul.value;if(l)return`m-${l.id}-${c.value.trim()}`;const a=vl.value;return null!=a?`d-${fe.value||""}-${a}`:cl.value?"z9":"fit"}),pl=v(()=>{var e;if((null==(e=fe.value)?void 0:e.trim())&&il.value.length)try{const e=b(48);return[e,e,e,e]}catch{return[16,16,16,16]}}),gl=v(()=>!!(fe.value||_e.value||ye.value||Ne.value||Se.value||c.value.trim())),hl=v(()=>null==xe.value?null:ll.value.find(e=>e.id===xe.value)??null);function yl(e){var l,a;return de(e,null==(a=null==(l=n.value)?void 0:l.venue_dicts)?void 0:a.venue_type)}f([al,fe,sl,cl,c],()=>{var e,l;const a=tl.value;if(a)return void(o.value={latitude:Number(a.lat),longitude:Number(a.lng)});const t=ul.value;if(t)return void(o.value={latitude:Number(t.lat),longitude:Number(t.lng)});const u=sl.value;if((null==(e=fe.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=fe.value)?void 0:l.trim())||cl.value,Al()}),f(ll,e=>{null==xe.value||e.some(e=>e.id===xe.value)||(xe.value=null)}),f(r,e=>{if("list"===e&&(xe.value=null),"map"===e){const e=Z(fe.value);null!=e?i.value=e:cl.value?i.value=9:i.value=11}}),f([fe,_e,ye,Ne,Se,c],()=>{"map"===r.value&&setTimeout(()=>{const e=Z(fe.value);null!=e?i.value=e:cl.value?i.value=9:i.value=11},100)});let bl=null;f([al,gl],()=>{bl&&(clearTimeout(bl),bl=null),"map"===r.value&&(!gl.value||al.value.length>0||(bl=setTimeout(()=>{bl=null,u({title:"暂无符合条件的场馆",icon:"none",duration:2e3})},150)))});const kl=v(()=>{const e=fl.value>=13;return al.value.map(l=>{const a=ne(l,()=>function(e){var l,a;if(!e)return"#05c9ac";const t=oe(e)[0];if(t&&(null==(a=null==(l=n.value)?void 0:l.venue_dicts)?void 0:a.venue_type)){const e=n.value.venue_dicts.venue_type.find(e=>e.value===t);if(null==e?void 0:e.color)return e.color}return e.venue_type_color||"#05c9ac"}(l)),t=se(a),u={id:l.id,latitude:l.lat,longitude:l.lng,width:28,height:32,iconPath:t,anchor:{x:.5,y:1}},s=(l.name||"").trim();return e&&s&&(u.label={content:s,color:"#1d2129",fontSize:11,bgColor:"rgba(255,255,255,0.92)",padding:3,borderRadius:4,anchorX:0,anchorY:-4}),u})});function wl(e){var l;if(cl.value)return;if(null!=Z(fe.value))return;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)&&(i.value=t)}let Nl=!1;function Cl(e){var l;const a=null==(l=null==e?void 0:e.detail)?void 0:l.markerId;null!=a&&(xe.value=Number(a),Nl=!0,setTimeout(()=>{Nl=!1},400))}function Sl(){Nl||(xe.value=null)}function xl(){xe.value=null}function Fl(e){e&&M({url:`/pages/venue/detail?id=${e}`})}function $l(){M({url:"/pages/stats/index"})}function Il(){U({url:"/pages/activity/index"})}function jl(){M({url:"/pages/discover/index"})}function Pl(e){const l=e.schedule_status;return"not_started"===l||"ongoing"===l||"ended"===l?l:ue(e.start_at,e.end_at)}function zl(e){return te(Pl(e))}function Tl(e){return`st-${Pl(e)}`}function Al(){o.value={latitude:he.lat,longitude:he.lng}}async function Rl(){t.value=!0;try{const l=await e.get("/h5/home",{},{withAuth:!1});n.value=l,Al(),await h().catch(()=>{})}catch(l){u({title:(null==l?void 0:l.message)||"加载首页失败",icon:"none"})}finally{t.value=!1}}return m(()=>{!async function(){try{s.value=await B()}catch{s.value=null}}()}),_(async()=>{await ge()&&await Rl()}),(e,l)=>{const u=y,s=C,i=F,d=$,v=j,f=z,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:a}),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:S(["tab",{on:"map"===r.value}]),onClick:l[0]||(l[0]=e=>r.value="map")},{default:g(()=>[x("地图")]),_:1},8,["class"]),w(s,{class:S(["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:I(X),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1}),w(u,{class:"filters"},{default:g(()=>[w(v,{mode:"selector",range:Re.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(P(V.value),1)]),_:1}),w(d,{class:"f-item-arrow",src:I(ee),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),w(v,{mode:"selector",range:Le.value,"range-key":"label",value:Be.value,onChange:Ke},{default:g(()=>[w(u,{class:"f-item"},{default:g(()=>[w(s,{class:"f-item-text"},{default:g(()=>[x(P(me.value),1)]),_:1}),w(d,{class:"f-item-arrow",src:I(ee),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),w(v,{mode:"selector",range:Me.value,"range-key":"label",value:He.value,onChange:Ye},{default:g(()=>[w(u,{class:"f-item"},{default:g(()=>[w(s,{class:"f-item-text"},{default:g(()=>[x(P(Ce.value),1)]),_:1}),w(d,{class:"f-item-arrow",src:I(ee),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),w(v,{mode:"selector",range:qe.value,"range-key":"label",value:Ee.value,onChange:We},{default:g(()=>[w(u,{class:"f-item"},{default:g(()=>[w(s,{class:"f-item-text"},{default:g(()=>[x(P(pe.value),1)]),_:1}),w(d,{class:"f-item-arrow",src:I(ee),mode:"aspectFit"},null,8,["src"])]),_:1})]),_:1},8,["range","value"]),w(v,{mode:"selector",range:De.value,"range-key":"label",value:Ge.value,onChange:Xe},{default:g(()=>[w(u,{class:"f-item"},{default:g(()=>[w(s,{class:"f-item-text"},{default:g(()=>[x(P(we.value),1)]),_:1}),w(d,{class:"f-item-arrow",src:I(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:_l.value,class:"main-map",latitude:o.value.latitude,longitude:o.value.longitude,markers:kl.value,scale:fl.value,polygons:ol.value,"include-points":ml.value,padding:pl.value,"enable-3D":!1,"enable-poi":!1,"enable-building":!1,"enable-traffic":!1,"show-compass":!1,onRegionchange:wl,onMarkertap:Cl,onTap:Sl},null,8,["latitude","longitude","markers","scale","polygons","include-points","padding"])),hl.value?(k(),p(u,{key:0,class:"venue-sheet",onClick:l[4]||(l[4]=T(()=>{},["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:hl.value.image||I(W),mode:"aspectFill"},null,8,["src"]),w(u,{class:"sheet-main"},{default:g(()=>[w(s,{class:"sheet-name"},{default:g(()=>[x(P(hl.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),A(R,null,L(Oe(hl.value),(e,l)=>(k(),p(s,{key:"svm-"+l,class:"sheet-type",style:q(I(ie)(yl(e)))},{default:g(()=>[x(P(je(e)||e),1)]),_:2},1032,["style"]))),128)),hl.value.ticket_type?(k(),p(s,{key:0,class:S(["sheet-ticket","paid"===hl.value.ticket_type?"paid":"free"])},{default:g(()=>[x(P(Pe(hl.value.ticket_type)),1)]),_:1},8,["class"])):D("",!0),hl.value.open_mode?(k(),p(s,{key:1,class:"open-mode-tag",style:q(I(re)(hl.value.open_mode,null==(l=null==(e=n.value)?void 0:e.venue_dicts)?void 0:l.venue_open_mode))},{default:g(()=>[x(P(ze(hl.value.open_mode)),1)]),_:1},8,["style"])):D("",!0)]}),_:1})]),_:1})]),_:1})]),_:1}),w(u,{class:"sheet-actions"},{default:g(()=>[w(u,{class:"sheet-btn ghost",onClick:xl},{default:g(()=>[x("关闭")]),_:1}),w(u,{class:"sheet-btn primary",onClick:l[3]||(l[3]=e=>Fl(hl.value.id))},{default:g(()=>[x("详情")]),_:1})]),_:1})]),_:1})]),_:1})):D("",!0)]),_:1})):(k(),p(m,{key:1,"scroll-y":"",class:"venue-list-scroll"},{default:g(()=>[(k(!0),A(R,null,L(al.value,e=>(k(),p(u,{key:e.id,class:"venue-row",onClick:l=>Fl(e.id)},{default:g(()=>[w(d,{class:"venue-thumb",src:e.image||I(W),mode:"aspectFill"},null,8,["src"]),w(u,{class:"venue-info"},{default:g(()=>[w(s,{class:"venue-name"},{default:g(()=>[x(P(e.name),1)]),_:2},1024),w(u,{class:"venue-tags-line"},{default:g(()=>[w(u,{class:"venue-meta"},{default:g(()=>{var l,a;return[(k(!0),A(R,null,L(Oe(e),(l,a)=>(k(),p(s,{key:"vml-"+e.id+"-"+a,class:"venue-type-pill",style:q(I(ie)(yl(l)))},{default:g(()=>[x(P(je(l)||l),1)]),_:2},1032,["style"]))),128)),e.ticket_type?(k(),p(s,{key:0,class:S(["venue-ticket-pill","paid"===e.ticket_type?"paid":"free"])},{default:g(()=>[x(P(Pe(e.ticket_type)),1)]),_:2},1032,["class"])):D("",!0),e.open_mode?(k(),p(s,{key:1,class:"open-mode-tag",style:q(I(re)(e.open_mode,null==(a=null==(l=n.value)?void 0:l.venue_dicts)?void 0:a.venue_open_mode))},{default:g(()=>[x(P(ze(e.open_mode)),1)]),_:2},1032,["style"])):D("",!0)]}),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1032,["onClick"]))),128)),al.value.length?D("",!0):(k(),p(u,{key:0,class:"empty-tip"},{default:g(()=>[x(P(gl.value?"暂无符合条件的场馆":"暂无场馆"),1)]),_:1}))]),_:1}))]),_:1})]),_:1})]),_:1}),w(u,{class:"stat-section"},{default:g(()=>[w(u,{class:"stat-card"},{default:g(()=>[w(u,{class:"stat-card__body"},{default:g(()=>[w(u,{class:"stat-main"},{default:g(()=>[w(u,{class:"stat-left"},{default:g(()=>[w(s,{class:"stat-label"},{default:g(()=>[x("在馆实时总人数")]),_:1}),w(u,{class:"stat-note"},{default:g(()=>[x("(纳入市科协人数统计系统场馆)")]),_:1}),w(s,{class:"stat-num"},{default:g(()=>[x(P(Te.value)+" 人",1)]),_:1})]),_:1}),w(u,{class:"stat-right"},{default:g(()=>[w(u,{class:"live-list"},{default:g(()=>[(k(!0),A(R,null,L(Ae.value,(e,l)=>(k(),p(u,{key:"live-"+l,class:S(["live-venue-row",{"is-empty":e.empty}]),onClick:T(l=>{var a;(a=e).empty||Fl(a.id)},["stop"])},{default:g(()=>[w(u,{class:"live-row-one"},{default:g(()=>[w(s,{class:"live-name"},{default:g(()=>[x(P(e.empty?"—":e.name),1)]),_:2},1024),w(s,{class:"live-count"},{default:g(()=>[x(P(e.empty?"—":e.people_count+" 人"),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1}),w(u,{class:"stat-foot",onClick:T($l,["stop"])},{default:g(()=>[w(s,{class:"stat-foot-link"},{default:g(()=>[x("客流量统计 >")]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),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:Il},{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),A(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?M({url:`/pages/activity/detail?id=${e.id}`}):M({url:`/pages/ticket-grab/detail?id=${e.id}`})}(e)},{default:g(()=>[w(u,{class:"act-img-wrap"},{default:g(()=>[w(d,{class:"act-img",src:e.image||I(W),mode:"aspectFill"},null,8,["src"]),w(u,{class:S(["act-schedule-tag",Tl(e)])},{default:g(()=>[x(P(zl(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})):D("",!0)]),_:2},1024),w(u,{class:"act-body"},{default:g(()=>[w(s,{class:"act-title"},{default:g(()=>[x(P(e.title),1)]),_:2},1024),w(u,{class:"act-tags"},{default:g(()=>[(k(!0),A(R,null,L(e.tags||[],(l,a)=>{var t,u;return k(),p(s,{key:"tag-"+e.id+"-"+a,class:"act-tag-chip",style:q(I(ce)(a,null==(u=null==(t=n.value)?void 0:t.venue_dicts)?void 0:u.venue_type))},{default:g(()=>[x(P(l),1)]),_:2},1032,["style"])}),128))]),_:2},1024),w(s,{class:"act-meta"},{default:g(()=>[x(P(I(ae)(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(P(Number(e.venue_count)||0)+"家场馆可抢票",1)]),_:2},1024)):(k(),p(s,{key:1,class:"act-meta"},{default:g(()=>[x(P(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:0,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:jl},{default:g(()=>[x("更多 >")]),_:1})]),_:1}),(k(!0),A(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 a=e.id,void M({url:`/pages/study-tour/detail?id=${a}`});var a}},{default:g(()=>[w(u,{class:"tour-img-wrap"},{default:g(()=>[w(d,{class:"tour-img",src:e.cover_image||I(W),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(P(e.name),1)]),_:2},1024),w(u,{class:"tour-stops-timeline"},{default:g(()=>[(k(!0),A(R,null,L(e.venue_names,(l,a)=>(k(),p(u,{key:"v-"+e.id+"-"+a,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}),a<e.venue_names.length-1?(k(),p(u,{key:0,class:"tour-tl-line"})):D("",!0)]),_:2},1024),w(s,{class:"tour-stop-name"},{default:g(()=>[x(P(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),A(R,null,L(e.tags,(l,a)=>{var t,u;return k(),p(s,{key:"t-"+e.id+"-"+a,class:"tour-tag",style:q(I(ce)(a,null==(u=null==(t=n.value)?void 0:t.venue_dicts)?void 0:u.venue_type))},{default:g(()=>[x(P(l),1)]),_:2},1032,["style"])}),128))]),_:2},1024)):D("",!0)]}),_:2},1024)]),_:2},1032,["onClick"]))),128))]}),_:1})):D("",!0),w(u,{class:"bottom-safe"}),t.value?(k(),p(u,{key:1,class:"loading-mask"},{default:g(()=>[x("加载中...")]),_:1})):D("",!0)]}),_:1})]),_:1})}}}),[["__scopeId","data-v-f2cb07ad"]]);export{we as default};
|