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

4 days ago
import{d as e,r as l,c as a,w as s,J as t,a as i,b as u,k as c,p as n,m as r,n as o,S as d,K as v,v as f,F as p,x as _,L as g,A as h,N as m,t as y,u as k,q as b,O as w,C as x,z as $,B as j,P as S,H as C,e as F,Q as N,R as z,T as R,U as A,V as q}from"./index-Cu9ZRBys.js";import{k as I}from"./content.SYmDdoIV.js";import{h as T,f as B}from"./geo.BHVFNtB7.js";import{u as H,t as J,g as K,m as L,a as O}from"./tip.CRDnOkzn.js";import{_ as P}from"./_plugin-vue_export-helper.BCo6x5W8.js";const Q=P(e({__name:"detail",setup(e){const P={science_venue:"科技场馆类",education_research:"教育科研类",agriculture:"“三农”类",enterprise:"企业类",nature_resource:"自然资源类",other:"其他类"},Q={free:"免费",paid:"收费"};function U(e,l){let a=e.replace("#","").trim();if(3===a.length&&(a=a.split("").map(e=>e+e).join("")),6!==a.length)return`rgba(5, 201, 172, ${l})`;const s=parseInt(a,16);return`rgba(${s>>16&255},${s>>8&255},${255&s},${l})`}function V(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 D(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function E(e){if(!e||!String(e).trim())return!1;return String(e).replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/\s+/g," ").trim().length>0}const G=l(null),M=l(!0),W=l(!0),X=l(!0),Y=l(!1),Z=l(!1),ee=l(!1),le=l("--"),ae=l(null),se=a(()=>{const e=G.value;return e?Array.isArray(e.carousel)&&e.carousel.length?e.carousel:e.cover_image?[{type:"image",url:e.cover_image}]:[]:[]}),te=a(()=>{var e;const l=null==(e=G.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=V(a);else{s=`<div style="white-space:pre-wrap;font-size:13px;color:#4e5969;line-height:1.65;">${D(a)}</div>`}return E(s)?s:""});const ie=a(()=>{var e;return function(e){if(null==e||""===e)return"";const l=String(e);let a="";a=/<[a-z][\s\S]*>/i.test(l)?V(l):`<div style="white-space:pre-wrap;font-size:14px;color:#4e5969;line-height:1.65;">${D(l)}</div>`;return E(a)?a:""}(null==(e=G.value)?void 0:e.study_courses)}),ue=a(()=>{var e;const l=null==(e=G.value)?void 0:e.detail_html;if(!l)return"";const a=V(String(l));return E(a)?a:""}),ce=a(()=>{var e;const l=(null==(e=G.value)?void 0:e.venue_type_color)||"#05c9ac";return{color:l,backgroundColor:U(l,.14),border:`1px solid ${U(l,.35)}`}});function ne(){const e=G.value;if(!(null==e?void 0:e.lat)||!(null==e?void 0:e.lng)||!ae.value)return void(le.value="--");const l=T(ae.value.lat,ae.value.lng,Number(e.lat),Number(e.lng));le.value=B(l)}function re(){var e,l,a,s;const t=Number((null==(e=G.value)?void 0:e.lat)||0),i=Number((null==(l=G.value)?void 0:l.lng)||0);t&&i?N({latitude:t,longitude:i,name:(null==(a=G.value)?void 0:a.name)||"场馆",address:(null==(s=G.value)?void 0:s.address)||""}):F({title:"暂无导航坐标",icon:"none"})}return s(G,()=>{ne()}),s([ue,ie,te],()=>{M.value=!0,W.value=!0,X.value=!0,z(()=>{setTimeout(()=>{var e;const l=null==(e=R())?void 0:e.proxy,a=A();l&&a.in(l);const s=q(180);a.select(".judge-intro").boundingClientRect(),a.select(".judge-courses").boundingClientRect(),a.select(".judge-notice").boundingClientRect(),a.exec(e=>{const[l,a,t]=e||[];Y.value=!!(l&&l.height&&l.height>s+1),Z.value=!!(a&&a.height&&a.height>s+1),ee.value=!!(t&&t.height&&t.height>s+1)})},120)})}),t(async e=>{const l=Number((null==e?void 0:e.id)||0);l&&(G.value=await I(l),c({type:"gcj02",success:e=>{ae.value={lat:e.latitude,lng:e.longitude},ne()},fail:()=>{le.value="--"}}))}),(e,l)=>{const a=h,s=m,t=g,c=v,F=n,N=b,z=S,R=d,A=C;return r(),i(F,{class:"page"},{default:u(()=>[o(R,{"scroll-y":"",class:"scroll"},{default:u(()=>[o(F,{class:"hero"},{default:u(()=>[se.value.length?(r(),i(c,{key:0,class:"hero-swiper