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
9.6 KiB
2 lines
9.6 KiB
import{d as e,e as l,f as a,w as t,Z as s,j as c,k as i,q as n,n as u,t as r,u as o,v as d,_ as v,B as f,F as p,C as _,$ as m,H as g,a0 as y,y as h,z as k,x as b,O as x,E as w,G as $,J as j,a1 as S,W as C,s as F,a3 as N,K as A,a2 as z,Q as q,a4 as I,a5 as R,a6 as B}from"./index-DcvbZGSt.js";import{l as E}from"./content.Cgu-vdzk.js";import{f as G}from"./activity.k1jR9V-B.js";import{h as H,f as J}from"./geo.BHVFNtB7.js";import{u as K,t as O,a as Q,g as T,m as W}from"./tip.CRDnOkzn.js";import{_ as Z}from"./_plugin-vue_export-helper.BCo6x5W8.js";const D=Z(e({__name:"detail",setup(e){const Z={science_venue:"科技场馆类",education_research:"教育科研类",agriculture:"“三农”类",enterprise:"企业类",nature_resource:"自然资源类",other:"其他类"},D={free:"免费",paid:"收费"};function L(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 t=parseInt(a,16);return`rgba(${t>>16&255},${t>>8&255},${255&t},${l})`}function M(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 P(e){if(!e||!String(e).trim())return!1;return String(e).replace(/<[^>]+>/g," ").replace(/ /gi," ").replace(/\s+/g," ").trim().length>0}const U=l(null),V=l(!0),X=l(!0),Y=l(!1),ee=l(!1),le=l("--"),ae=l(null),te=a(()=>{const e=U.value;return e?Array.isArray(e.carousel)&&e.carousel.length?e.carousel:e.cover_image?[{type:"image",url:e.cover_image}]:[]:[]}),se=a(()=>{var e;const l=null==(e=U.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=M(a);else{const e=function(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}(a);t=`<div style="white-space:pre-wrap;font-size:13px;color:#4e5969;line-height:1.5;">${e}</div>`}return P(t)?t:""}),ce=a(()=>{var e;const l=null==(e=U.value)?void 0:e.detail_html;if(!l)return"";const a=M(String(l));return P(a)?a:""});function ie(e){const l=e||"#05c9ac";return{color:l,backgroundColor:L(l,.14),border:`1px solid ${L(l,.35)}`}}const ne=a(()=>{const e=U.value;if(!e)return[];const l=e.venue_types;return Array.isArray(l)&&l.length?l.map(String):e.venue_type?[String(e.venue_type)]:[]});function ue(){const e=U.value;if(!(null==e?void 0:e.lat)||!(null==e?void 0:e.lng)||!ae.value)return void(le.value="--");const l=H(ae.value.lat,ae.value.lng,Number(e.lat),Number(e.lng));le.value=J(l)}function re(){var e;const l=String((null==(e=U.value)?void 0:e.contact_phone)||"").trim();if(!l)return void F({title:"暂无联系电话",icon:"none"});const a=l.replace(/\s/g,"");N({phoneNumber:a})}function oe(){var e,l,a,t;const s=Number((null==(e=U.value)?void 0:e.lat)||0),c=Number((null==(l=U.value)?void 0:l.lng)||0);s&&c?z({latitude:s,longitude:c,name:(null==(a=U.value)?void 0:a.name)||"场馆",address:(null==(t=U.value)?void 0:t.address)||""}):F({title:"暂无导航坐标",icon:"none"})}return t(U,()=>{ue()}),t([ce,se],()=>{V.value=!0,X.value=!0,q(()=>{setTimeout(()=>{var e;const l=null==(e=I())?void 0:e.proxy,a=R();l&&a.in(l);const t=B(180);a.select(".judge-intro").boundingClientRect(),a.select(".judge-notice").boundingClientRect(),a.exec(e=>{const[l,a]=e||[];Y.value=!!(l&&l.height&&l.height>t+1),ee.value=!!(a&&a.height&&a.height>t+1)})},120)})}),s(async e=>{const l=Number((null==e?void 0:e.id)||0);l&&(U.value=await E(l),n({type:"gcj02",success:e=>{ae.value={lat:e.latitude,lng:e.longitude},ue()},fail:()=>{le.value="--"}}))}),(e,l)=>{const a=g,t=y,s=m,n=v,F=u,N=b,z=S,q=d,I=C;return r(),c(F,{class:"page"},{default:i(()=>[o(q,{"scroll-y":"",class:"scroll"},{default:i(()=>{var e,u;return[o(F,{class:"hero"},{default:i(()=>[te.value.length?(r(),c(n,{key:0,class:"hero-swiper",circular:"","indicator-dots":te.value.length>1,"indicator-active-color":"#05c9ac","indicator-color":"rgba(255,255,255,0.45)"},{default:i(()=>[(r(!0),f(p,null,_(te.value,(e,l)=>(r(),c(s,{key:"s-"+l,class:"swiper-item"},{default:i(()=>["video"!==e.type?(r(),c(a,{key:0,class:"slide-media",src:e.url,mode:"aspectFill"},null,8,["src"])):(r(),c(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,["indicator-dots"])):(r(),c(F,{key:1,class:"hero-placeholder"})),o(F,{class:"live-badge"},{default:i(()=>{var e;return[h(" 当前馆内人数:"+k((null==(e=U.value)?void 0:e.live_people_count)??0)+"人 ",1)]}),_:1})]),_:1}),o(F,{class:"main-card"},{default:i(()=>{var e,t,s,n,u,d;return[o(N,{class:"venue-name"},{default:i(()=>{var e;return[h(k((null==(e=U.value)?void 0:e.name)||"-"),1)]}),_:1}),ne.value.length||(null==(e=U.value)?void 0:e.ticket_type)||(null==(t=U.value)?void 0:t.district)?(r(),c(F,{key:0,class:"chip-row"},{default:i(()=>{var e,l;return[(r(!0),f(p,null,_(ne.value,(e,l)=>{var a;return r(),c(N,{key:"vt-"+l,class:"chip",style:x(ie((null==(a=U.value)?void 0:a.venue_type_color)||"#05c9ac"))},{default:i(()=>{return[h(k((l=e,l?Z[l]||l:"")),1)];var l}),_:2},1032,["style"])}),128)),(null==(e=U.value)?void 0:e.ticket_type)?(r(),c(N,{key:0,class:w(["chip","paid"===U.value.ticket_type?"chip-paid":"chip-free"])},{default:i(()=>{return[h(k((e=U.value.ticket_type,e?D[e]||e:"")),1)];var e}),_:1},8,["class"])):$("",!0),(null==(l=U.value)?void 0:l.district)?(r(),c(N,{key:1,class:"chip chip-district"},{default:i(()=>[h(k(U.value.district),1)]),_:1})):$("",!0)]}),_:1})):$("",!0),(null==(s=U.value)?void 0:s.unit_name)?(r(),c(F,{key:1,class:"info-row"},{default:i(()=>[o(a,{class:"info-ico",src:j(K),mode:"aspectFit"},null,8,["src"]),o(F,{class:"info-text-col"},{default:i(()=>[o(N,{class:"info-text"},{default:i(()=>[h("所属单位:"+k(U.value.unit_name),1)]),_:1})]),_:1})]),_:1})):$("",!0),(null==(n=U.value)?void 0:n.open_time)?(r(),c(F,{key:2,class:"info-row"},{default:i(()=>[o(a,{class:"info-ico",src:j(O),mode:"aspectFit"},null,8,["src"]),o(F,{class:"info-text-col"},{default:i(()=>[o(N,{class:"info-text"},{default:i(()=>[h("开放时间:"+k(U.value.open_time),1)]),_:1})]),_:1})]),_:1})):$("",!0),(null==(u=U.value)?void 0:u.contact_phone)?(r(),c(F,{key:3,class:"info-row",onClick:re},{default:i(()=>[o(a,{class:"info-ico",src:j(Q),mode:"aspectFit"},null,8,["src"]),o(F,{class:"info-text-col"},{default:i(()=>[o(N,{class:"info-text info-text--link"},{default:i(()=>[h("联系电话:"+k(U.value.contact_phone),1)]),_:1})]),_:1})]),_:1})):$("",!0),o(F,{class:"info-row"},{default:i(()=>[o(a,{class:"info-ico",src:j(T),mode:"aspectFit"},null,8,["src"]),o(F,{class:"info-text-col"},{default:i(()=>[o(N,{class:"info-text"},{default:i(()=>[h("距离:"+k(le.value),1)]),_:1})]),_:1})]),_:1}),(null==(d=U.value)?void 0:d.address)?(r(),c(F,{key:4,class:"info-row"},{default:i(()=>[o(a,{class:"info-ico",src:j(W),mode:"aspectFit"},null,8,["src"]),o(F,{class:"info-text-col"},{default:i(()=>[o(N,{class:"info-text"},{default:i(()=>[h("具体地址:"+k(U.value.address),1)]),_:1})]),_:1})]),_:1})):$("",!0),se.value?(r(),c(F,{key:5,class:"notice-block"},{default:i(()=>[o(F,{class:"sec-title-row notice-head-row"},{default:i(()=>[o(F,{class:"notice-head-left"},{default:i(()=>[o(a,{class:"info-ico",src:j(Q),mode:"aspectFit"},null,8,["src"]),o(N,{class:"notice-label"},{default:i(()=>[h("预约须知")]),_:1})]),_:1}),ee.value?(r(),c(N,{key:0,class:"expand-link",onClick:l[0]||(l[0]=e=>X.value=!X.value)},{default:i(()=>[h(k(X.value?"收起":"展开"),1)]),_:1})):$("",!0)]),_:1}),o(F,{class:w(["notice-block-body judge-notice",{"is-collapsed":ee.value&&!X.value}])},{default:i(()=>[o(z,{class:"notice-inline-rich",nodes:se.value},null,8,["nodes"])]),_:1},8,["class"])]),_:1})):$("",!0)]}),_:1}),ce.value?(r(),c(F,{key:0,class:"intro-card"},{default:i(()=>[o(F,{class:"sec-title-row"},{default:i(()=>[o(N,{class:"sec-title"},{default:i(()=>[h("场馆介绍")]),_:1}),Y.value?(r(),c(N,{key:0,class:"expand-link",onClick:l[1]||(l[1]=e=>V.value=!V.value)},{default:i(()=>[h(k(V.value?"收起":"展开"),1)]),_:1})):$("",!0)]),_:1}),o(F,{class:w(["intro-rich-wrap judge-intro",{"is-collapsed":Y.value&&!V.value}])},{default:i(()=>[o(z,{class:"intro-rich",nodes:ce.value},null,8,["nodes"])]),_:1},8,["class"])]),_:1})):$("",!0),(null==(u=null==(e=U.value)?void 0:e.activities)?void 0:u.length)?(r(),c(F,{key:1,class:"activities-card"},{default:i(()=>[o(F,{class:"sec-title-row"},{default:i(()=>[o(N,{class:"sec-title"},{default:i(()=>[h("场馆活动")]),_:1})]),_:1}),(r(!0),f(p,null,_(U.value.activities,e=>(r(),c(F,{key:e.id,class:"venue-act-row",onClick:l=>{var a;(a=e.id)&&A({url:`/pages/activity/detail?id=${a}`})}},{default:i(()=>[e.cover_image?(r(),c(a,{key:0,class:"venue-act-cover",src:e.cover_image,mode:"aspectFill"},null,8,["src"])):(r(),c(F,{key:1,class:"venue-act-cover venue-act-ph"})),o(F,{class:"venue-act-body"},{default:i(()=>[o(N,{class:"venue-act-title"},{default:i(()=>[h(k(e.title),1)]),_:2},1024),e.summary?(r(),c(N,{key:0,class:"venue-act-sum"},{default:i(()=>[h(k(e.summary),1)]),_:2},1024)):$("",!0),o(N,{class:"venue-act-meta"},{default:i(()=>[h(k(j(G)(e.start_at,e.end_at)),1)]),_:2},1024),null!=e.registered_count?(r(),c(N,{key:1,class:"venue-act-meta"},{default:i(()=>[h(k(e.registered_count)+"人已预约",1)]),_:2},1024)):$("",!0)]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})):$("",!0),o(F,{class:"safe-bottom"})]}),_:1}),o(F,{class:"action-bar"},{default:i(()=>[o(I,{class:"btn primary",onClick:oe},{default:i(()=>[h("一键导航")]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-599b62fd"]]);export{D as default};
|