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

import{d as e,e as l,f as a,w as t,V as s,j as n,k as i,m as u,n as o,p as c,q as r,W as d,x as v,F as f,y as p,X as g,C as m,Y as _,H as y,t as h,u as b,v as k,D as x,z as w,B as j,Z as $,Q as S,s as C,_ as F,J as z,$ as N,a0 as q,a1 as A,a2 as R}from"./index-_pXctLR1.js";import{f as B}from"./content.BpoHdgiW.js";import{c as D,f as H}from"./activity.4NBjJ4my.js";import{i as I,a as J,b as P,c as Q}from"./icon7.C1JV_D3L.js";import{i as T,a as V}from"./icon_up.DJ5zmdk8.js";import{P as W}from"./poster.DLiVsUXX.js";import{_ as X}from"./_plugin-vue_export-helper.BCo6x5W8.js";const Y=X(e({__name:"detail",setup(e){function X(e){if(!e||"string"!=typeof e)return"";const l="max-width:100%;height:auto;display:block;vertical-align:top;";return e.replace(/<img\b([\s\S]*?)(\/>|>)/gi,(e,a,t)=>{const s=String(a).trim();if(/style\s*=/i.test(s))return/max-width\s*:/i.test(s)?e:e.replace(/style\s*=\s*(["'])([\s\S]*?)\1/i,(e,a,t)=>/max-width/i.test(t)?e:`style=${a}${t};${l}${a}`);return`<img ${s} style="${l}"${"/>"===t?" />":">"}`})}function Y(e){if(!e||!String(e).trim())return!1;return String(e).replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/\s+/g," ").trim().length>0}const Z=l(null),E=l(!0),G=l(!1),K=l(!1),L=l(!1),M=a(()=>{const e=Z.value;return e?Array.isArray(e.carousel)&&e.carousel.length?e.carousel:e.image?[{type:"image",url:e.image}]:[{type:"image",url:W}]:[{type:"image",url:W}]}),O=a(()=>{const e=Z.value;if(!e)return"ongoing";const l=e.schedule_status;return"not_started"===l||"ongoing"===l||"ended"===l?l:D(e.start_at,e.end_at)}),U=a(()=>"ended"===O.value),ee=a(()=>{var e;return!U.value&&!0===(null==(e=Z.value)?void 0:e.is_bookable)}),le=a(()=>{var e;const l=null==(e=Z.value)?void 0:e.reservation_notice;if(null==l||""===l)return"";const a=String(l);let t="";if(/<[a-z][\s\S]*>/i.test(a)){t=`<div style="font-size:13px;color:#2c2c2c;line-height:1.8;">${X(a)}</div>`}else{const e=function(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}(a);t=`<div style="white-space:pre-wrap;font-size:13px;color:#2c2c2c;line-height:1.8;">${e}</div>`}return Y(t)?t:""}),ae=a(()=>{var e;const l=null==(e=Z.value)?void 0:e.detail_html;if(!l)return"";const a=X(String(l));return Y(a)?a:""});function te(e){return null==e?"":String(e).trim()}function se(e){return te(e).length>0}function ne(){var e,l,a,t;const{lat:s,lng:n}=function(){var e,l,a,t,s,n;return{lat:Number((null==(e=Z.value)?void 0:e.lat)??(null==(a=null==(l=Z.value)?void 0:l.venue)?void 0:a.lat)??0),lng:Number((null==(t=Z.value)?void 0:t.lng)??(null==(n=null==(s=Z.value)?void 0:s.venue)?void 0:n.lng)??0)}}();s&&n?F({latitude:s,longitude:n,name:(null==(e=Z.value)?void 0:e.title)||"活动地点",address:(null==(l=Z.value)?void 0:l.address)||(null==(t=null==(a=Z.value)?void 0:a.venue)?void 0:t.address)||""}):C({title:"暂无导航坐标",icon:"none"})}function ie(){var e;(null==(e=Z.value)?void 0:e.id)&&z({url:`/pages/activity/reserve?id=${Z.value.id}`})}function ue(){var e,l;const a=Number((null==(l=null==(e=Z.value)?void 0:e.venue)?void 0:l.id)??0);a?z({url:`/pages/venue/detail?id=${a}`}):C({title:"暂无场馆详情",icon:"none"})}return t([ae,le],()=>{E.value=!0,G.value=!0,N(()=>{setTimeout(()=>{var e;const l=null==(e=q())?void 0:e.proxy,a=A();l&&a.in(l);const t=R(187);a.select(".judge-activity-detail").boundingClientRect(),a.select(".judge-notice").boundingClientRect(),a.exec(e=>{const[l,a]=e||[];K.value=!!(l&&l.height&&l.height>t+1),L.value=!!(a&&a.height&&a.height>t+1),L.value?G.value=!1:G.value=!0})},120)})}),s(async e=>{const l=Number((null==e?void 0:e.id)||0);l&&(Z.value=await B(l))}),(e,l)=>{const a=m,t=_,s=g,C=d,F=u,z=h,N=$,q=r,A=S;return o(),n(F,{class:"page"},{default:i(()=>[c(q,{"scroll-y":"",class:"scroll"},{default:i(()=>{var e;return[c(F,{class:"hero"},{default:i(()=>[M.value.length?(o(),n(C,{key:0,class:"hero-swiper",circular:"",autoplay:M.value.length>1,interval:4e3,"indicator-dots":M.value.length>1,"indicator-active-color":"#05c9ac","indicator-color":"rgba(255,255,255,0.45)"},{default:i(()=>[(o(!0),v(f,null,p(M.value,(e,l)=>(o(),n(s,{key:"s-"+l,class:"swiper-item"},{default:i(()=>["video"!==e.type?(o(),n(a,{key:0,class:"slide-media",src:e.url,mode:"aspectFill"},null,8,["src"])):(o(),n(t,{key:1,class:"slide-media slide-video",src:e.url,controls:"","object-fit":"cover","show-center-play-btn":!0},null,8,["src"]))]),_:2},1024))),128))]),_:1},8,["autoplay","indicator-dots"])):y("",!0)]),_:1}),c(F,{class:"main-card"},{default:i(()=>{var e,t,s,u,r,d,g,m;return[c(z,{class:"act-title"},{default:i(()=>{var e;return[b(k((null==(e=Z.value)?void 0:e.title)||"-"),1)]}),_:1}),(null==(t=null==(e=Z.value)?void 0:e.tags)?void 0:t.length)?(o(),n(F,{key:0,class:"act-tags"},{default:i(()=>[(o(!0),v(f,null,p((Z.value.tags||[]).slice(0,4),(e,l)=>(o(),n(z,{key:"tg-"+l+"-"+e,class:"act-tag-chip"},{default:i(()=>[b(k(e),1)]),_:2},1024))),128))]),_:1})):y("",!0),(null==(u=null==(s=Z.value)?void 0:s.venue)?void 0:u.name)?(o(),n(F,{key:1,class:"info-row"},{default:i(()=>[c(a,{class:"info-ico",src:x(I),mode:"aspectFit"},null,8,["src"]),c(F,{class:"info-text-col info-text-col--line"},{default:i(()=>[c(z,{class:"info-label"},{default:i(()=>[b("举办场馆:")]),_:1}),c(z,{class:"info-value info-value--venue",onClick:w(ue,["stop"])},{default:i(()=>[b(k(Z.value.venue.name),1)]),_:1})]),_:1})]),_:1})):y("",!0),(null==(d=null==(r=Z.value)?void 0:r.venue)?void 0:d.open_time)&&se(Z.value.venue.open_time)?(o(),n(F,{key:2,class:"info-row"},{default:i(()=>[c(a,{class:"info-ico",src:x(J),mode:"aspectFit"},null,8,["src"]),c(F,{class:"info-text-col info-text-col--line"},{default:i(()=>[c(z,{class:"info-label"},{default:i(()=>[b("开放时间:")]),_:1}),c(z,{class:"info-value"},{default:i(()=>[b(k(te(Z.value.venue.open_time)),1)]),_:1})]),_:1})]),_:1})):y("",!0),Z.value?(o(),n(F,{key:3,class:"info-row"},{default:i(()=>[c(a,{class:"info-ico",src:x(P),mode:"aspectFit"},null,8,["src"]),c(F,{class:"info-text-col info-text-col--line"},{default:i(()=>[c(z,{class:"info-label"},{default:i(()=>[b("活动日期:")]),_:1}),c(z,{class:"info-value"},{default:i(()=>{var e,l;return[b(k(x(H)(null==(e=Z.value)?void 0:e.start_at,null==(l=Z.value)?void 0:l.end_at)),1)]}),_:1})]),_:1})]),_:1})):y("",!0),Z.value&&se(Z.value.address||(null==(m=null==(g=Z.value)?void 0:g.venue)?void 0:m.address))?(o(),n(F,{key:4,class:"info-row"},{default:i(()=>[c(a,{class:"info-ico",src:x(Q),mode:"aspectFit"},null,8,["src"]),c(F,{class:"info-text-col info-text-col--line"},{default:i(()=>[c(z,{class:"info-label"},{default:i(()=>[b("活动地址:")]),_:1}),c(z,{class:"info-value"},{default:i(()=>{var e,l;return[b(k(te(Z.value.address||(null==(l=null==(e=Z.value)?void 0:e.venue)?void 0:l.address))),1)]}),_:1})]),_:1})]),_:1})):y("",!0),le.value?(o(),n(F,{key:5,class:"notice-block"},{default:i(()=>[c(F,{class:"sec-title-row notice-head-row"},{default:i(()=>[c(z,{class:"notice-label"},{default:i(()=>[b("预约须知")]),_:1}),L.value?(o(),n(F,{key:0,class:"expand-arrow-tap",onClick:l[0]||(l[0]=e=>G.value=!G.value)},{default:i(()=>[c(a,{class:"expand-arrow-img",src:G.value?x(T):x(V),mode:"aspectFit"},null,8,["src"])]),_:1})):y("",!0)]),_:1}),c(F,{class:j(["notice-block-body judge-notice",{"is-collapsed":L.value&&!G.value}])},{default:i(()=>[c(N,{class:"notice-inline-rich",nodes:le.value},null,8,["nodes"])]),_:1},8,["class"])]),_:1})):y("",!0)]}),_:1}),(null==(e=Z.value)?void 0:e.summary)?(o(),n(F,{key:0,class:"summary-card"},{default:i(()=>[c(F,{class:"sec-title-row"},{default:i(()=>[c(z,{class:"sec-title"},{default:i(()=>[b("活动简介")]),_:1})]),_:1}),c(z,{class:"summary-text"},{default:i(()=>[b(k(Z.value.summary),1)]),_:1})]),_:1})):y("",!0),ae.value?(o(),n(F,{key:1,class:"intro-card"},{default:i(()=>[c(F,{class:"sec-title-row"},{default:i(()=>[c(z,{class:"sec-title"},{default:i(()=>[b("活动详情")]),_:1}),K.value?(o(),n(F,{key:0,class:"expand-arrow-tap",onClick:l[1]||(l[1]=e=>E.value=!E.value)},{default:i(()=>[c(a,{class:"expand-arrow-img",src:E.value?x(T):x(V),mode:"aspectFit"},null,8,["src"])]),_:1})):y("",!0)]),_:1}),c(F,{class:j(["intro-rich-wrap judge-activity-detail",{"is-collapsed":K.value&&!E.value}])},{default:i(()=>[c(N,{class:"intro-rich",nodes:ae.value},null,8,["nodes"])]),_:1},8,["class"])]),_:1})):y("",!0),c(F,{class:"safe-bottom"})]}),_:1}),c(F,{class:"action-bar"},{default:i(()=>[c(A,{class:j(["btn ghost",{"btn-full":U.value||!ee.value}]),onClick:ne},{default:i(()=>[b("一键导航")]),_:1},8,["class"]),ee.value?(o(),n(A,{key:0,class:"btn primary",onClick:ie},{default:i(()=>[b("立即预约")]),_:1})):y("",!0)]),_:1})]),_:1})}}}),[["__scopeId","data-v-6c394d9d"]]);export{Y as default};