|
|
import{d as e,e as l,f as a,w as s,Y as t,o as n,k as i,l as o,n as u,U as r,p as c,q as d,t as v,Z as f,F as _,G as m,H as p,$ as g,z as y,a0 as h,K as k,v as b,y as w,D as x,J as $,B as S,E as C,x as j,a1 as F,V as N,L as A,s as q,a2 as z,a3 as B,a4 as P,a5 as R,u as I,_ as T}from"./index-BLY0-PeP.js";import{f as U,g as D,p as E,h as G}from"./content.DH-HRi-y.js";import{a as H}from"./venueThemeColors.DRxjaxXI.js";import{c as J,f as K}from"./activity.DEGdoGAe.js";import{s as L,i as V,a as Y,d as Z,b as M}from"./phone.D9-kct2_.js";import{i as O,a as Q,b as W}from"./icon4.CHREtDdF.js";import{i as X,a as ee}from"./icon_up.DJ5zmdk8.js";import{P as le}from"./poster.C6TYC1FC.js";import"./text.BxMbQPAt.js";const ae=T(e({__name:"detail",setup(e){function T(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,s)=>{const t=String(a).trim();if(/style\s*=/i.test(t))return/max-width\s*:/i.test(t)?e:e.replace(/style\s*=\s*(["'])([\s\S]*?)\1/i,(e,a,s)=>/max-width/i.test(s)?e:`style=${a}${s};${l}${a}`);return`<img ${t} style="${l}"${"/>"===s?" />":">"}`})}function ae(e){if(!e||!String(e).trim())return!1;return String(e).replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/\s+/g," ").trim().length>0}const se=l(0),te=l(!1),ne=l(null),ie=l(null),oe=l(!0),ue=l(!1),re=l(!1),ce=l(!1),de=a(()=>{const e=ne.value;return e?Array.isArray(e.carousel)&&e.carousel.length?e.carousel:e.image?[{type:"image",url:e.image}]:[{type:"image",url:le}]:[{type:"image",url:le}]}),ve=a(()=>{const e=ne.value;if(!e)return"ongoing";const l=e.schedule_status;return"not_started"===l||"ongoing"===l||"ended"===l?l:J(e.start_at,e.end_at)}),fe=a(()=>"ended"===ve.value),_e=a(()=>{if(!fe.value||!ne.value)return!1;const e=ne.value.behind_scenes_media;return!!Array.isArray(e)&&e.some(e=>String((null==e?void 0:e.url)||"").trim().length>0)});function me(){var e;const l=null==(e=ne.value)?void 0:e.id;l&&A({url:`/pages/activity/behind-scenes?id=${l}`})}const pe=a(()=>{var e;const l=null==(e=ne.value)?void 0:e.reservation_type;return!l||"online"===l}),ge=a(()=>{var e;return!fe.value&&!0===(null==(e=ne.value)?void 0:e.is_bookable)&&pe.value}),ye=a(()=>{var e,l;return"other"===(null==(e=ne.value)?void 0:e.reservation_type)&&!!String((null==(l=ne.value)?void 0:l.external_url)||"").trim()}),he=a(()=>{var e;return Array.isArray(null==(e=ne.value)?void 0:e.booking_days)?ne.value.booking_days:[]}),ke=a(()=>{var e;return L(null==(e=ne.value)?void 0:e.contact_phone)}),be=a(()=>{var e;if(!pe.value)return null;const l=null==(e=ne.value)?void 0:e.registrations_preview;return!l||(l.reservation_total??0)<1?null:l}),we=a(()=>{const e=be.value;return!!e&&e.reservation_total>5});function xe(){var e,l;const a=null==(e=ne.value)?void 0:e.id,s=null==(l=ne.value)?void 0:l.title;if(!a)return;const t=s?`?id=${a}&title=${encodeURIComponent(String(s))}`:`?id=${a}`;A({url:`/pages/activity/registrations${t}`})}const $e=l(0);function Se(e){const l=Number(null==e?void 0:e.booked_count);return!Number.isFinite(l)||l<=0?"":(null==e?void 0:e.enrolled_count_text)?String(e.enrolled_count_text):"已报名数:"+l}function Ce(){var e;const l=null==(e=ne.value)?void 0:e.id;if(!l)return;const a=he.value;if(!a.length)return void A({url:`/pages/activity/reserve?id=${l}`});if(!$e.value)return void q({title:"请先选择场次",icon:"none"});const s=a.find(e=>e.id===$e.value);s?s.is_bookable&&A({url:`/pages/activity/reserve?id=${l}&day_id=${$e.value}`}):q({title:"场次无效",icon:"none"})}const je=a(()=>{var e;const l=null==(e=ne.value)?void 0:e.reservation_notice;if(null==l||""===l)return"";const a=String(l);let s="";if(/<[a-z][\s\S]*>/i.test(a)){s=`<div style="font-size:13px;color:#2c2c2c;line-height:1.8;">${T(a)}</div>`}else{const e=function(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}(a);s=`<div style="white-space:pre-wrap;font-size:13px;color:#2c2c2c;line-height:1.8;">${e}</div>`}return ae(s)?s:""}),Fe=a(()=>{var e;const l=null==(e=ne.value)?void 0:e.detail_html;if(!l)return"";const a=T(String(l));return ae(a)?a:""});function Ne(e){return null==e?"":String(e).trim()}function Ae(e){return Ne(e).length>0}function qe(e){const l=String(e||"").trim();return"free"===l?"免费":"paid"===l?"收费":l?Ne(l):""}function ze(){var e,l,a,s,t;const{lat:n,lng:i}=function(){var e,l,a,s,t,n;return{lat:Number((null==(e=ne.value)?void 0:e.lat)??(null==(a=null==(l=ne.value)?void 0:l.venue)?void 0:a.lat)??0),lng:Number((null==(s=ne.value)?void 0:s.lng)??(null==(n=null==(t=ne.value)?void 0:t.venue)?void 0:n.lng)??0)}}(),o=null!=(null==(e=ne.value)?void 0:e.location)&&String(ne.value.location).trim()||(null==(l=ne.value)?void 0:l.address)||(null==(s=null==(a=ne.value)?void 0:a.venue)?void 0:s.address)||"";z({lat:n,lng:i,name:(null==(t=ne.value)?void 0:t.title)||"活动地点",address:o})}function Be(){var e,l;const a=null==(e=ne.value)?void 0:e.id,s=String((null==(l=ne.value)?void 0:l.external_url)||"").trim();if(a&&s){if("undefined"!=typeof window){window.open(s,"_blank","noopener,noreferrer")||window.location.assign(s)}G(a).catch(()=>{})}}function Pe(){var e,l;const a=Number((null==(l=null==(e=ne.value)?void 0:e.venue)?void 0:l.id)??0);a?A({url:`/pages/venue/detail?id=${a}`}):q({title:"暂无场馆详情",icon:"none"})}return s([Fe,je],()=>{oe.value=!0,ue.value=!0,B(()=>{setTimeout(()=>{var e;const l=null==(e=P())?void 0:e.proxy,a=R();l&&a.in(l);const s=I(187);a.select(".judge-activity-detail").boundingClientRect(),a.select(".judge-notice").boundingClientRect(),a.exec(e=>{const[l,a]=e||[];re.value=!!(l&&l.height&&l.height>s+1),ce.value=!!(a&&a.height&&a.height>s+1),ce.value?ue.value=!1:ue.value=!0})},120)})}),t(e=>{se.value=Number((null==e?void 0:e.id)||0),te.value=!1}),s(se,()=>{te.value=!1}),n(()=>{se.value&&async function(){const e=se.value;if(!e)return;const[l,a]=await Promise.all([U(e),D()]);ne.value=l,ie.value=a,te.value||(te.value=!0,E(e).catch(()=>{}))}()}),(e,l)=>{const a=r("SubPageBackBtn"),s=y,t=h,n=g,A=f,q=u,z=b,B=F,P=v,R=N;return c(),i(q,{class:"page"},{default:o(()=>[d(a),d(P,{"scroll-y":"",class:"scroll"},{default:o(()=>{var e;return[d(q,{class:"hero"},{default:o(()=>[de.value.length?(c(),i(A,{key:0,class:"hero-swiper",circular:"",autoplay:de.value.length>1,interval:4e3,"indicator-dots":de.value.length>1,"indicator-active-color":"#05c9ac","indicator-color":"rgba(255,255,255,0.45)"},{default:o(()=>[(c(!0),_(m,null,p(de.value,(e,l)=>(c(),i(n,{key:"s-"+l,class:"swiper-item"},{default:o(()=>["video"!==e.type?(c(),i(s,{key:0,class:"slide-media",src:e.url,mode:"aspectFill"},null,8,["src"])):(c(),i(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"])):k("",!0)]),_:1}),d(q,{class:"main-card"},{default:o(()=>{var e,a,t,n,u,r;return[d(z,{class:"act-title"},{default:o(()=>{var e;return[w(x((null==(e=ne.value)?void 0:e.title)||"-"),1)]}),_:1}),(null==(a=null==(e=ne.value)?void 0:e.tags)?void 0:a.length)?(c(),i(q,{key:0,class:"act-tags"},{default:o(()=>[(c(!0),_(m,null,p((ne.value.tags||[]).slice(0,4),(e,l)=>{var a;return c(),i(z,{key:"tg-"+l+"-"+e,class:"act-tag-chip",style:$(S(H)(l,null==(a=ie.value)?void 0:a.venue_type))},{default:o(()=>[w(x(e),1)]),_:2},1032,["style"])}),128))]),_:1})):k("",!0),(null==(n=null==(t=ne.value)?void 0:t.venue)?void 0:n.name)?(c(),i(q,{key:1,class:"info-row"},{default:o(()=>[d(s,{class:"info-ico",src:S(V),mode:"aspectFit"},null,8,["src"]),d(q,{class:"info-text-col info-text-col--line"},{default:o(()=>[d(z,{class:"info-label"},{default:o(()=>[w("举办场馆:")]),_:1}),d(z,{class:"info-value info-value--venue",onClick:C(Pe,["stop"])},{default:o(()=>[w(x(ne.value.venue.name),1)]),_:1})]),_:1})]),_:1})):k("",!0),ne.value&&Ae(ne.value.contact_name)?(c(),i(q,{key:2,class:"info-row"},{default:o(()=>[d(s,{class:"info-ico",src:S(O),mode:"aspectFit"},null,8,["src"]),d(q,{class:"info-text-col info-text-col--line"},{default:o(()=>[d(z,{class:"info-label"},{default:o(()=>[w("联系人:")]),_:1}),d(z,{class:"info-value"},{default:o(()=>[w(x(Ne(ne.value.contact_name)),1)]),_:1})]),_:1})]),_:1})):k("",!0),ne.value&&ke.value.length?(c(),i(q,{key:3,class:"info-row info-row--phones"},{default:o(()=>[d(s,{class:"info-ico",src:S(Y),mode:"aspectFit"},null,8,["src"]),d(q,{class:"info-text-col info-text-col--phone-block"},{default:o(()=>[d(z,{class:"info-label"},{default:o(()=>[w("联系方式:")]),_:1}),d(q,{class:"phone-list"},{default:o(()=>[(c(!0),_(m,null,p(ke.value,(e,l)=>(c(),i(z,{key:"act-ph-"+l+"-"+e,class:"phone-link phone-line",onClick:C(l=>S(Z)(e),["stop"])},{default:o(()=>[w(x(e),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})]),_:1})):k("",!0),ne.value?(c(),i(q,{key:4,class:"info-row"},{default:o(()=>[d(s,{class:"info-ico",src:S(Q),mode:"aspectFit"},null,8,["src"]),d(q,{class:"info-text-col info-text-col--line"},{default:o(()=>[d(z,{class:"info-label"},{default:o(()=>[w("活动日期:")]),_:1}),d(z,{class:"info-value"},{default:o(()=>{var e,l;return[w(x(S(K)(null==(e=ne.value)?void 0:e.start_at,null==(l=ne.value)?void 0:l.end_at)),1)]}),_:1})]),_:1})]),_:1})):k("",!0),ne.value&&Ae(ne.value.specific_time)?(c(),i(q,{key:5,class:"info-row"},{default:o(()=>[d(s,{class:"info-ico",src:S(W),mode:"aspectFit"},null,8,["src"]),d(q,{class:"info-text-col info-text-col--line"},{default:o(()=>[d(z,{class:"info-label"},{default:o(()=>[w("具体时间:")]),_:1}),d(z,{class:"info-value"},{default:o(()=>[w(x(Ne(ne.value.specific_time)),1)]),_:1})]),_:1})]),_:1})):k("",!0),ne.value?(c(),i(q,{key:6,class:"info-row"},{default:o(()=>[d(s,{class:"info-ico",src:S(W),mode:"aspectFit"},null,8,["src"]),d(q,{class:"info-text-col info-text-col--line"},{default:o(()=>[d(z,{class:"info-label"},{default:o(()=>[w("报名方式:")]),_:1}),d(z,{class:"info-value"},{default:o(()=>{return[w(x((e=ne.value.reservation_type,e&&"online"!==e?"phone"===e?"电话预约":"wechat_mp"===e?"公众号预约":"offline_visit"===e?"线下预约":"none"===e?"无需预约":"offline"===e?"线下预约":"other"===e?"外链跳转预约":String(e):"需要报名")),1)];var e}),_:1})]),_:1})]),_:1})):k("",!0),ne.value&&qe(ne.value.offline_reservation_method)?(c(),i(q,{key:7,class:"info-row"},{default:o(()=>[d(s,{class:"info-ico",src:S(W),mode:"aspectFit"},null,8,["src"]),d(q,{class:"info-text-col info-text-col--line"},{default:o(()=>[d(z,{class:"info-label"},{default:o(()=>[w("门票说明:")]),_:1}),d(z,{class:"info-value"},{default:o(()=>[w(x(qe(ne.value.offline_reservation_method)),1)]),_:1})]),_:1})]),_:1})):k("",!0),ne.value&&Ae(ne.value.location||(null==(r=null==(u=ne.value)?void 0:u.venue)?void 0:r.address))?(c(),i(q,{key:8,class:"info-row"},{default:o(()=>[d(s,{class:"info-ico",src:S(M),mode:"aspectFit"},null,8,["src"]),d(q,{class:"info-text-col info-text-col--line"},{default:o(()=>[d(z,{class:"info-label"},{default:o(()=>[w("活动地点:")]),_:1}),d(z,{class:"info-value"},{default:o(()=>{var e,l;return[w(x(Ne(ne.value.location||(null==(l=null==(e=ne.value)?void 0:e.venue)?void 0:l.address))),1)]}),_:1})]),_:1})]),_:1})):k("",!0),je.value?(c(),i(q,{key:9,class:"notice-block"},{default:o(()=>[d(q,{class:"sec-title-row notice-head-row"},{default:o(()=>[d(z,{class:"notice-label"},{default:o(()=>[w("预约须知")]),_:1}),ce.value?(c(),i(q,{key:0,class:"expand-arrow-tap",onClick:l[0]||(l[0]=e=>ue.value=!ue.value)},{default:o(()=>[d(s,{class:"expand-arrow-img",src:ue.value?S(X):S(ee),mode:"aspectFit"},null,8,["src"])]),_:1})):k("",!0)]),_:1}),d(q,{class:j(["notice-block-body judge-notice",{"is-collapsed":ce.value&&!ue.value}])},{default:o(()=>[d(B,{class:"notice-inline-rich",nodes:je.value},null,8,["nodes"])]),_:1},8,["class"])]),_:1})):k("",!0)]}),_:1}),(null==(e=ne.value)?void 0:e.summary)?(c(),i(q,{key:0,class:"summary-card"},{default:o(()=>[d(q,{class:"sec-title-row"},{default:o(()=>[d(z,{class:"sec-title"},{default:o(()=>[w("活动简介")]),_:1})]),_:1}),d(z,{class:"summary-text"},{default:o(()=>[w(x(ne.value.summary),1)]),_:1})]),_:1})):k("",!0),pe.value&&he.value.length?(c(),i(q,{key:1,class:"session-card-wrap"},{default:o(()=>[d(q,{class:"sec-title-row session-sec-hd"},{default:o(()=>[d(q,{class:"session-sec-bar"}),d(z,{class:"sec-title"},{default:o(()=>[w("活动场次")]),_:1})]),_:1}),(c(!0),_(m,null,p(he.value,(e,l)=>(c(),i(q,{key:"ss-"+e.id+"-"+l,class:j(["session-item",{on:e.is_bookable&&$e.value===e.id,dim:!e.is_bookable}]),onClick:l=>function(e){(null==e?void 0:e.id)&&e.is_bookable&&($e.value=Number(e.id))}(e)},{default:o(()=>[e.is_bookable&&$e.value===e.id?(c(),i(q,{key:0,class:"session-check"},{default:o(()=>[w("✓")]),_:1})):k("",!0),d(z,{class:"session-name"},{default:o(()=>[w(x(e.session_name||e.time_display||"场次"),1)]),_:2},1024),d(z,{class:"session-time"},{default:o(()=>[w("场次时间:"+x(e.time_display||"-"),1)]),_:2},1024),d(z,{class:"session-quota"},{default:o(()=>[w("人数限制:"+x(Number(e.day_quota)||0)+"人",1)]),_:2},1024),d(q,{class:"session-status-line"},{default:o(()=>[d(z,{class:j(["session-action","sk-"+(e.status_kind||"open")])},{default:o(()=>[w(x(e.action_headline||e.status_text||"-"),1)]),_:2},1032,["class"]),Se(e)?(c(),i(z,{key:0,class:"session-enrolled"},{default:o(()=>[w(x(Se(e)),1)]),_:2},1024)):k("",!0)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})):k("",!0),be.value?(c(),i(q,{key:2,class:"enrolled-card"},{default:o(()=>[d(q,{class:"enrolled-hd"},{default:o(()=>[d(q,{class:"enrolled-hd-left"},{default:o(()=>[d(q,{class:"enrolled-title-col"},{default:o(()=>[d(q,{class:"enrolled-title-with-bar"},{default:o(()=>[d(z,{class:"enrolled-title-line"},{default:o(()=>[w("已报名("+x(be.value.reservation_total)+")",1)]),_:1}),d(q,{class:"enrolled-title-bar"})]),_:1})]),_:1})]),_:1}),we.value?(c(),i(q,{key:0,class:"enrolled-more",onClick:xe},{default:o(()=>[d(z,{class:"enrolled-more-text"},{default:o(()=>[w("更多报名")]),_:1}),d(z,{class:"enrolled-more-ico"},{default:o(()=>[w("›")]),_:1})]),_:1})):k("",!0)]),_:1}),d(q,{class:"enrolled-hd-line"}),d(q,{class:"enrolled-avatars"},{default:o(()=>[(c(!0),_(m,null,p(be.value.items,(e,l)=>(c(),i(q,{key:"enr-pv-"+e.id+"-"+l,class:"enrolled-user"},{default:o(()=>[d(s,{class:"enrolled-avatar",src:e.avatar_url||S(le),mode:"aspectFill"},null,8,["src"]),d(z,{class:"enrolled-uname"},{default:o(()=>[w(x(e.visitor_name),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):k("",!0),Fe.value?(c(),i(q,{key:3,class:"intro-card"},{default:o(()=>[d(q,{class:"sec-title-row"},{default:o(()=>[d(z,{class:"sec-title"},{default:o(()=>[w("活动详情")]),_:1}),re.value?(c(),i(q,{key:0,class:"expand-arrow-tap",onClick:l[1]||(l[1]=e=>oe.value=!oe.value)},{default:o(()=>[d(s,{class:"expand-arrow-img",src:oe.value?S(X):S(ee),mode:"aspectFit"},null,8,["src"])]),_:1})):k("",!0)]),_:1}),d(q,{class:j(["intro-rich-wrap judge-activity-detail",{"is-collapsed":re.value&&!oe.value}])},{default:o(()=>[d(B,{class:"intro-rich",nodes:Fe.value},null,8,["nodes"])]),_:1},8,["class"])]),_:1})):k("",!0),d(q,{class:"safe-bottom"})]}),_:1}),d(q,{class:"action-bar"},{default:o(()=>[d(R,{class:j(["btn ghost",{"btn-full":!ye.value&&!ge.value&&!_e.value}]),onClick:ze},{default:o(()=>[w("一键导航")]),_:1},8,["class"]),_e.value?(c(),i(R,{key:0,class:"btn bts",onClick:me},{default:o(()=>[w("活动花絮")]),_:1})):k("",!0),ye.value?(c(),i(R,{key:1,class:"btn primary",onClick:Be},{default:o(()=>[w("立即查看")]),_:1})):k("",!0),ge.value?(c(),i(R,{key:2,class:"btn primary",onClick:Ce},{default:o(()=>[w("立即预约")]),_:1})):k("",!0)]),_:1})]),_:1})}}}),[["__scopeId","data-v-f2d434e8"]]);export{ae as default};
|