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

import{d as e,r as a,c as l,w as t,Y as s,b as n,e as i,v as r,t as u,u as o,S as d,M as c,x as v,y as g,z as f,A as m,F as p,B as h,H as _,C as b,D as y,a0 as k,K as w,f as x,a1 as C,a2 as S,a3 as $,a4 as N,a5 as j}from"./index-BznAv2H5.js";import{k as z}from"./content.IclVJQGc.js";import{g as B}from"./markerPin.DdplcbG_.js";import{_ as R}from"./_plugin-vue_export-helper.BCo6x5W8.js";const Y="#05c9ac",I=R(e({__name:"detail",setup(e){const R=a(null),I=a(!0),K=a(!1),P=l(()=>{var e;const a=null==(e=R.value)?void 0:e.intro_html;if(null==a||""===a)return"";const l=String(a);let t="";if(/<[a-z][\s\S]*>/i.test(l))t=function(e){if(!e||"string"!=typeof e)return"";const a="max-width:100%;height:auto;display:block;vertical-align:top;";return e.replace(/<img\b([\s\S]*?)(\/>|>)/gi,(e,l,t)=>{const s=String(l).trim();return/style\s*=/i.test(s)?/max-width\s*:/i.test(s)?e:e.replace(/style\s*=\s*(["'])([\s\S]*?)\1/i,(e,l,t)=>/max-width/i.test(t)?e:`style=${l}${t};${a}${l}`):`<img ${s} style="${a}"${"/>"===t?" />":">"}`})}(l);else{const e=function(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}(l);t=`<div style="white-space:pre-wrap;font-size:14px;color:#4e5969;line-height:1.65;">${e}</div>`}return(s=t)&&String(s).trim()&&String(s).replace(/<[^>]+>/g," ").replace(/&nbsp;/gi," ").replace(/\s+/g," ").trim().length>0?t:"";var s}),q=l(()=>{var e,a;const l=null==(a=null==(e=R.value)?void 0:e.venues)?void 0:a[0];return{latitude:Number((null==l?void 0:l.lat)||31.2989),longitude:Number((null==l?void 0:l.lng)||120.5853)}}),A=l(()=>B(Y)),D=l(()=>{var e;const a=A.value;return((null==(e=R.value)?void 0:e.venues)||[]).map((e,l)=>{const t=Number(e.lat),s=Number(e.lng);return t&&s?{id:Number(e.id)||l+1,latitude:t,longitude:s,width:32,height:38,iconPath:a||void 0,anchor:{x:.5,y:1},label:{content:String(l+1),color:"#ffffff",fontSize:11,anchorX:0,anchorY:0,borderWidth:0,bgColor:Y,borderRadius:20,padding:4},callout:{content:`${l+1}. ${e.name||"场馆"}`,color:"#333333",fontSize:12,borderRadius:8,bgColor:"#ffffff",padding:8,display:"BYCLICK"}}:null}).filter(Boolean)});function F(){S(()=>{setTimeout(()=>{var e;const a=null==(e=$())?void 0:e.proxy,l=N();a&&l.in(a);const t=j(180);l.select(".judge-intro").boundingClientRect(),l.exec(e=>{const[a]=e||[];K.value=!!(a&&a.height&&a.height>t+1)})},120)})}return t(P,()=>{I.value=!0,F()}),t(R,()=>{F()}),s(async e=>{const a=Number((null==e?void 0:e.id)||0);a&&(R.value=await z(a))}),(e,a)=>{const l=c,t=v,s=r,S=k,$=d;return u(),n(s,{class:"page"},{default:i(()=>[o($,{"scroll-y":"",class:"scroll"},{default:i(()=>[o(l,{class:"map",latitude:q.value.latitude,longitude:q.value.longitude,markers:D.value,scale:12,"show-location":""},null,8,["latitude","longitude","markers"]),o(s,{class:"main-card"},{default:i(()=>{var e,a,l;return[o(t,{class:"tour-title"},{default:i(()=>{var e;return[g(f((null==(e=R.value)?void 0:e.name)||"-"),1)]}),_:1}),(null==(a=null==(e=R.value)?void 0:e.tags)?void 0:a.length)?(u(),n(s,{key:0,class:"chip-row"},{default:i(()=>[(u(!0),m(p,null,h(R.value.tags,e=>(u(),n(t,{key:e,class:"chip"},{default:i(()=>[g(f(e),1)]),_:2},1024))),128))]),_:1})):_("",!0),(u(!0),m(p,null,h((null==(l=R.value)?void 0:l.venues)||[],(e,a)=>(u(),n(s,{key:e.id,class:"venue-row",onClick:a=>{return l=e.id,void w({url:`/pages/venue/detail?id=${l}`});var l}},{default:i(()=>[o(s,{class:"idx"},{default:i(()=>[g(f(Number(a)+1),1)]),_:2},1024),o(s,{class:"venue-mid"},{default:i(()=>[o(s,{class:"name"},{default:i(()=>[g(f(e.name),1)]),_:2},1024),o(s,{class:"addr"},{default:i(()=>[g(f(e.address||"-"),1)]),_:2},1024)]),_:2},1024),o(s,{class:"go",onClick:b(a=>function(e){(null==e?void 0:e.lat)&&(null==e?void 0:e.lng)?C({latitude:Number(e.lat),longitude:Number(e.lng),name:e.name||"站点",address:e.address||""}):x({title:"暂无导航坐标",icon:"none"})}(e),["stop"])},{default:i(()=>[g("导航")]),_:2},1032,["onClick"])]),_:2},1032,["onClick"]))),128))]}),_:1}),P.value?(u(),n(s,{key:0,class:"intro-card"},{default:i(()=>[o(s,{class:"sec-title-row"},{default:i(()=>[o(t,{class:"sec-title"},{default:i(()=>[g("线路简介")]),_:1}),K.value?(u(),n(t,{key:0,class:"expand-link",onClick:a[0]||(a[0]=e=>I.value=!I.value)},{default:i(()=>[g(f(I.value?"收起":"展开"),1)]),_:1})):_("",!0)]),_:1}),o(s,{class:y(["intro-rich-wrap judge-intro",{"is-collapsed":K.value&&!I.value}])},{default:i(()=>[o(S,{class:"intro-rich",nodes:P.value},null,8,["nodes"])]),_:1},8,["class"])]),_:1})):_("",!0),o(s,{class:"safe-bottom"})]),_:1})]),_:1})}}}),[["__scopeId","data-v-b9bc3caa"]]);export{I as default};