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