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
10 KiB
2 lines
10 KiB
import{d as l,e,f as a,w as s,Z as t,j as n,k as u,q as i,n as o,t as c,u as r,v as d,_ as v,B as f,F as _,C as p,$ as g,H as m,a0 as h,E as y,y as b,z as k,x,G as w,J as j,D as $,a1 as F,W as C,s as S,a2 as N,K as q,a3 as z,Q as A,a4 as R,a5 as B,a6 as D}from"./index-AX7ZPvYY.js";import{f as E}from"./content.-L1_ukL9.js";import{i as G,f as H}from"./activity.k1jR9V-B.js";import{h as I,f as J}from"./geo.BHVFNtB7.js";import{u as K,t as Q,g as T,m as W,a as Z}from"./tip.CRDnOkzn.js";import{s as L}from"./search.BJnl3YRK.js";import{_ as M}from"./_plugin-vue_export-helper.BCo6x5W8.js";const O=M(l({__name:"detail",setup(l){function M(l){if(!l||"string"!=typeof l)return"";const e="max-width:100%;height:auto;display:block;vertical-align:top;";return l.replace(/<img\b([\s\S]*?)(\/>|>)/gi,(l,a,s)=>{const t=String(a).trim();if(/style\s*=/i.test(t))return/max-width\s*:/i.test(t)?l:l.replace(/style\s*=\s*(["'])([\s\S]*?)\1/i,(l,a,s)=>/max-width/i.test(s)?l:`style=${a}${s};${e}${a}`);return`<img ${t} style="${e}"${"/>"===s?" />":">"}`})}function O(l){if(!l||!String(l).trim())return!1;return String(l).replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/\s+/g," ").trim().length>0}const P=e(null),U=e(!0),V=e(!0),X=e(!1),Y=e(!1),ll=e("--"),el=e(null),al=a(()=>{const l=P.value;return l?Array.isArray(l.carousel)&&l.carousel.length?l.carousel:l.image?[{type:"image",url:l.image}]:[]:[]}),sl=a(()=>{var l,e;return 0===((null==(l=P.value)?void 0:l.registered_count)??0)&&!0===(null==(e=P.value)?void 0:e.is_bookable)}),tl=a(()=>{var l;const e=(null==(l=P.value)?void 0:l.registered_count)??0;return sl.value?"可预约":e>0?`${e}人已预约`:"敬请期待"}),nl=a(()=>{var l;return G(null==(l=P.value)?void 0:l.end_at)}),ul=a(()=>{var l;const e=null==(l=P.value)?void 0:l.reservation_notice;if(null==e||""===e)return"";const a=String(e);let s="";if(/<[a-z][\s\S]*>/i.test(a))s=M(a);else{const l=function(l){return l.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}(a);s=`<div style="white-space:pre-wrap;font-size:13px;color:#4e5969;line-height:1.5;">${l}</div>`}return O(s)?s:""}),il=a(()=>{var l;const e=null==(l=P.value)?void 0:l.detail_html;if(!e)return"";const a=M(String(e));return O(a)?a:""});function ol(){var l,e,a,s,t,n;return{lat:Number((null==(l=P.value)?void 0:l.lat)??(null==(a=null==(e=P.value)?void 0:e.venue)?void 0:a.lat)??0),lng:Number((null==(s=P.value)?void 0:s.lng)??(null==(n=null==(t=P.value)?void 0:t.venue)?void 0:n.lng)??0)}}function cl(){const{lat:l,lng:e}=ol();if(!l||!e||!el.value)return void(ll.value="--");const a=I(el.value.lat,el.value.lng,l,e);ll.value=J(a)}function rl(){var l,e,a,s;const{lat:t,lng:n}=ol();t&&n?N({latitude:t,longitude:n,name:(null==(l=P.value)?void 0:l.title)||"活动地点",address:(null==(e=P.value)?void 0:e.address)||(null==(s=null==(a=P.value)?void 0:a.venue)?void 0:s.address)||""}):S({title:"暂无导航坐标",icon:"none"})}function dl(){var l;(null==(l=P.value)?void 0:l.id)&&q({url:`/pages/activity/reserve?id=${P.value.id}`})}function vl(){var l,e,a;const s=String((null==(l=P.value)?void 0:l.contact_phone)||(null==(a=null==(e=P.value)?void 0:e.venue)?void 0:a.contact_phone)||"").trim();s?z({phoneNumber:s.replace(/\s/g,"")}):S({title:"暂无联系电话",icon:"none"})}function fl(){var l,e;const a=Number((null==(e=null==(l=P.value)?void 0:l.venue)?void 0:e.id)??0);a?q({url:`/pages/venue/detail?id=${a}`}):S({title:"暂无场馆详情",icon:"none"})}return s(P,()=>{cl()}),s([il,ul],()=>{U.value=!0,V.value=!0,A(()=>{setTimeout(()=>{var l;const e=null==(l=R())?void 0:l.proxy,a=B();e&&a.in(e);const s=D(180);a.select(".judge-detail").boundingClientRect(),a.select(".judge-notice").boundingClientRect(),a.exec(l=>{const[e,a]=l||[];X.value=!!(e&&e.height&&e.height>s+1),Y.value=!!(a&&a.height&&a.height>s+1)})},120)})}),t(async l=>{const e=Number((null==l?void 0:l.id)||0);e&&(P.value=await E(e),i({type:"gcj02",success:l=>{el.value={lat:l.latitude,lng:l.longitude},cl()},fail:()=>{ll.value="--"}}))}),(l,e)=>{const a=m,s=h,t=g,i=v,S=o,N=x,q=F,z=d,A=C;return c(),n(S,{class:"page"},{default:u(()=>[r(z,{"scroll-y":"",class:"scroll"},{default:u(()=>{var l;return[r(S,{class:"hero"},{default:u(()=>[al.value.length?(c(),n(i,{key:0,class:"hero-swiper",circular:"",autoplay:al.value.length>1,interval:4e3,"indicator-dots":al.value.length>1,"indicator-active-color":"#05c9ac","indicator-color":"rgba(255,255,255,0.45)"},{default:u(()=>[(c(!0),f(_,null,p(al.value,(l,e)=>(c(),n(t,{key:"s-"+e,class:"swiper-item"},{default:u(()=>["video"!==l.type?(c(),n(a,{key:0,class:"slide-media",src:l.url,mode:"aspectFill"},null,8,["src"])):(c(),n(s,{key:1,class:"slide-media slide-video",src:l.url,controls:"","object-fit":"cover","show-center-play-btn":!0},null,8,["src"]))]),_:2},1024))),128))]),_:1},8,["autoplay","indicator-dots"])):(c(),n(S,{key:1,class:"hero-placeholder"})),r(S,{class:y(["live-badge",{"is-bookable":sl.value}])},{default:u(()=>[b(k(tl.value),1)]),_:1},8,["class"])]),_:1}),r(S,{class:"main-card"},{default:u(()=>{var l,s,t,i,o,d,v,g,m,h,x,F;return[r(N,{class:"act-title"},{default:u(()=>{var l;return[b(k((null==(l=P.value)?void 0:l.title)||"-"),1)]}),_:1}),(null==(s=null==(l=P.value)?void 0:l.tags)?void 0:s.length)?(c(),n(S,{key:0,class:"act-tags"},{default:u(()=>[(c(!0),f(_,null,p(P.value.tags,l=>(c(),n(N,{key:l,class:"act-tag-chip"},{default:u(()=>[b(k(l),1)]),_:2},1024))),128))]),_:1})):w("",!0),(null==(i=null==(t=P.value)?void 0:t.venue)?void 0:i.name)?(c(),n(S,{key:1,class:"info-row"},{default:u(()=>[r(a,{class:"info-ico",src:j(K),mode:"aspectFit"},null,8,["src"]),r(S,{class:"info-text-col info-text-col--venue"},{default:u(()=>[r(N,{class:"info-label"},{default:u(()=>[b("举办场馆:")]),_:1}),r(N,{class:"info-value info-value--venue",onClick:$(fl,["stop"])},{default:u(()=>[b(k(P.value.venue.name),1)]),_:1})]),_:1})]),_:1})):w("",!0),r(S,{class:"info-row"},{default:u(()=>[r(a,{class:"info-ico",src:j(Q),mode:"aspectFit"},null,8,["src"]),r(S,{class:"info-text-col info-text-col--line"},{default:u(()=>[r(N,{class:"info-label"},{default:u(()=>[b("活动时间:")]),_:1}),r(N,{class:"info-value"},{default:u(()=>{var l,e;return[b(k(j(H)(null==(l=P.value)?void 0:l.start_at,null==(e=P.value)?void 0:e.end_at)),1)]}),_:1})]),_:1})]),_:1}),(null==(d=null==(o=P.value)?void 0:o.venue)?void 0:d.open_time)?(c(),n(S,{key:2,class:"info-row"},{default:u(()=>[r(a,{class:"info-ico",src:j(Q),mode:"aspectFit"},null,8,["src"]),r(S,{class:"info-text-col info-text-col--line"},{default:u(()=>[r(N,{class:"info-label"},{default:u(()=>[b("开放时间:")]),_:1}),r(N,{class:"info-value"},{default:u(()=>[b(k(P.value.venue.open_time),1)]),_:1})]),_:1})]),_:1})):w("",!0),r(S,{class:"info-row"},{default:u(()=>[r(a,{class:"info-ico",src:j(T),mode:"aspectFit"},null,8,["src"]),r(S,{class:"info-text-col info-text-col--line"},{default:u(()=>[r(N,{class:"info-label"},{default:u(()=>[b("距离:")]),_:1}),r(N,{class:"info-value"},{default:u(()=>[b(k(ll.value),1)]),_:1})]),_:1})]),_:1}),(null==(v=P.value)?void 0:v.address)||(null==(m=null==(g=P.value)?void 0:g.venue)?void 0:m.address)?(c(),n(S,{key:3,class:"info-row"},{default:u(()=>[r(a,{class:"info-ico",src:j(W),mode:"aspectFit"},null,8,["src"]),r(S,{class:"info-text-col info-text-col--line"},{default:u(()=>[r(N,{class:"info-label"},{default:u(()=>[b("具体地址:")]),_:1}),r(N,{class:"info-value"},{default:u(()=>{var l,e,a;return[b(k((null==(l=P.value)?void 0:l.address)||(null==(a=null==(e=P.value)?void 0:e.venue)?void 0:a.address)),1)]}),_:1})]),_:1})]),_:1})):w("",!0),(null==(h=P.value)?void 0:h.contact_phone)||(null==(F=null==(x=P.value)?void 0:x.venue)?void 0:F.contact_phone)?(c(),n(S,{key:4,class:"info-row",onClick:vl},{default:u(()=>[r(a,{class:"info-ico",src:j(Z),mode:"aspectFit"},null,8,["src"]),r(S,{class:"info-text-col info-text-col--line"},{default:u(()=>[r(N,{class:"info-label"},{default:u(()=>[b("联系电话:")]),_:1}),r(N,{class:"info-value info-value--link"},{default:u(()=>{var l,e,a;return[b(k((null==(l=P.value)?void 0:l.contact_phone)||(null==(a=null==(e=P.value)?void 0:e.venue)?void 0:a.contact_phone)),1)]}),_:1})]),_:1})]),_:1})):w("",!0),ul.value?(c(),n(S,{key:5,class:"notice-block"},{default:u(()=>[r(S,{class:"sec-title-row notice-head-row"},{default:u(()=>[r(S,{class:"notice-head-left"},{default:u(()=>[r(a,{class:"info-ico",src:j(Z),mode:"aspectFit"},null,8,["src"]),r(N,{class:"notice-label"},{default:u(()=>[b("预约须知")]),_:1})]),_:1}),Y.value?(c(),n(N,{key:0,class:"expand-link",onClick:e[0]||(e[0]=l=>V.value=!V.value)},{default:u(()=>[b(k(V.value?"收起":"展开"),1)]),_:1})):w("",!0)]),_:1}),r(S,{class:y(["notice-block-body judge-notice",{"is-collapsed":Y.value&&!V.value}])},{default:u(()=>[r(q,{class:"notice-inline-rich",nodes:ul.value},null,8,["nodes"])]),_:1},8,["class"])]),_:1})):w("",!0)]}),_:1}),(null==(l=P.value)?void 0:l.summary)?(c(),n(S,{key:0,class:"summary-card"},{default:u(()=>[r(S,{class:"sec-title-row"},{default:u(()=>[r(S,{class:"summary-title-left"},{default:u(()=>[r(a,{class:"info-ico",src:j(L),mode:"aspectFit"},null,8,["src"]),r(N,{class:"sec-title"},{default:u(()=>[b("活动简介")]),_:1})]),_:1})]),_:1}),r(N,{class:"summary-text"},{default:u(()=>[b(k(P.value.summary),1)]),_:1})]),_:1})):w("",!0),il.value?(c(),n(S,{key:1,class:"intro-card"},{default:u(()=>[r(S,{class:"sec-title-row"},{default:u(()=>[r(N,{class:"sec-title sec-title--brand"},{default:u(()=>[b("活动详情")]),_:1}),X.value?(c(),n(N,{key:0,class:"expand-link",onClick:e[1]||(e[1]=l=>U.value=!U.value)},{default:u(()=>[b(k(U.value?"收起":"展开"),1)]),_:1})):w("",!0)]),_:1}),r(S,{class:y(["intro-rich-wrap judge-detail",{"is-collapsed":X.value&&!U.value}])},{default:u(()=>[r(q,{class:"intro-rich",nodes:il.value},null,8,["nodes"])]),_:1},8,["class"])]),_:1})):w("",!0),r(S,{class:"safe-bottom"})]}),_:1}),r(S,{class:"action-bar"},{default:u(()=>[r(A,{class:y(["btn ghost",{"btn-full":nl.value}]),onClick:rl},{default:u(()=>[b("一键导航")]),_:1},8,["class"]),nl.value?w("",!0):(c(),n(A,{key:0,class:"btn primary",onClick:dl},{default:u(()=>[b("立即预约")]),_:1}))]),_:1})]),_:1})}}}),[["__scopeId","data-v-70c3626d"]]);export{O as default};
|