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 days ago
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-BqJ4W6ZW.js";import{f as E}from"./content.B4VyUnMP.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(/&nbsp;/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,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}(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"},