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.
 
 
 
 
 
 
hy-screen-2.0/docs/assets/index-e9ee50f7-178654178154...

1 lines
23 KiB

var en=Object.defineProperty,tn=Object.defineProperties;var nn=Object.getOwnPropertyDescriptors;var nt=Object.getOwnPropertySymbols;var an=Object.prototype.hasOwnProperty,sn=Object.prototype.propertyIsEnumerable;var at=(l,u,r)=>u in l?en(l,u,{enumerable:!0,configurable:!0,writable:!0,value:r}):l[u]=r,E=(l,u)=>{for(var r in u||(u={}))an.call(u,r)&&at(l,r,u[r]);if(nt)for(var r of nt(u))sn.call(u,r)&&at(l,r,u[r]);return l},q=(l,u)=>tn(l,nn(u));var R=(l,u,r)=>new Promise((S,T)=>{var g=h=>{try{y(r.next(h))}catch(C){T(C)}},o=h=>{try{y(r.throw(h))}catch(C){T(C)}},y=h=>h.done?S(h.value):Promise.resolve(h.value).then(g,o);y((r=r.apply(l,u)).next())});import{g as st}from"./index-e9f36657-1786541781548.js";import{A as rn}from"./assets-4ee2b5a6-1786541781548.js";/* empty css */import{f as ln,c as rt,b as un,g as lt}from"./townshipBoundaries-cb449981-1786541781548.js";import{b as on,c as cn,d as it,g as dn,a as vn}from"./openApi-e3a5d37a-1786541781548.js";import{n as fn,r as gn}from"./index-25a05535-1786541781548.js";import{q as ut,r as mn,s as yn}from"./screen2Standard-54c0337d-1786541781548.js";import{c as hn,F as wn}from"./featurePanelLayout-3e9b38ef-1786541781548.js";import{M as pn}from"./index-af4e3bce-1786541781548.js";import{_ as bn}from"./TopicSwitcher-dccf4985-1786541781548.js";import{_ as kn}from"./LayerPanel-3f19d00c-1786541781548.js";import{a as ot,_ as _n}from"./FeatureInfoPanel-d72afc33-1786541781548.js";import{_ as Ln,g as v,o as k,c as _,a as w,t as me,F as Ce,y as Fe,n as se,K as ye,d as m,q as Sn,h as Tn,w as G,A as ne,b as D,j as ae,C as ct,x as dt,u as Me,z as Nn}from"./index-1786541781548.js";import{_ as vt}from"./index-6fc47545-1786541781548.js";import"./geoserver-a49d147b-1786541781548.js";const xn="/openApi",Pn=`${xn}/screen2/resource/grassland/ndvi-timeline`;function $n(){return R(this,null,function*(){const l=fn(yield gn(Pn)),u=Array.isArray(l==null?void 0:l.rows)?l.rows:[];return Mn(u)})}function Mn(l=[]){const u=new Set;return l.map((r,S)=>{const T=Cn(ft(r,["url","layerName","layer_name","layer","name"]));if(!T)return null;const g=ft(r,["date","month","time","label"])||T,o=Fn(g);return{key:`${T}-${g||S}`,label:o,date:String(g),layerName:T,source:r}}).filter(Boolean).filter(r=>u.has(r.key)?!1:(u.add(r.key),!0))}function ft(l,u){for(const r of u)if((l==null?void 0:l[r])!==void 0&&(l==null?void 0:l[r])!==null&&(l==null?void 0:l[r])!=="")return l[r]}function Cn(l){const u=String(l||"").trim();return u?u.includes(":")||/^https?:\/\//i.test(u)?u:`ne:${u}`:""}function Fn(l){const u=String(l||"").trim();if(!u)return"";const r=u.match(/(\d{4})[-_/年. ]?(1[0-2]|0?[1-9])(?:月)?/);return r?`${r[1]}.${String(Number(r[2])).padStart(2,"0")}`:u}const An={class:"grassland-ndvi-timeline-head"},In={key:0,class:"grassland-ndvi-timeline-state"},Vn={key:1,class:"grassland-ndvi-timeline-state is-error"},En={key:2,class:"grassland-ndvi-timeline-state"},Rn={key:3,class:"grassland-ndvi-timeline-body"},Bn=["aria-checked","title","onClick"],qn={class:"grassland-ndvi-timeline-label"},Gn=42,Dn=28,zn={__name:"GrasslandNdviTimeline",props:{items:{type:Array,default:()=>[]},modelValue:{type:String,default:""},loading:{type:Boolean,default:!1},status:{type:String,default:"idle"}},emits:["update:modelValue"],setup(l,{emit:u}){const r=l,S=u,T=v(()=>r.items.findIndex(c=>c.key===r.modelValue)),g=v(()=>T.value===-1?Math.max(0,r.items.length-1):T.value),o=v(()=>r.items[g.value]||null),y=v(()=>r.loading?"加载中":"未选择"),h=v(()=>r.items.length>7),C=v(()=>h.value?Dn:Gn),I=v(()=>Y(g.value)),re=v(()=>z(g.value));function U(c){if(!r.items.length)return;const d=Math.min(r.items.length-1,Math.max(0,g.value+c));S("update:modelValue",r.items[d].key)}function le(c){!c||c.key===r.modelValue||S("update:modelValue",c.key)}function Q(c){return!r.items.length||c<0?0:r.items.length===1?.5:c/(r.items.length-1)}function Y(c){const d=Q(c),x=L(d*100),p=C.value*(1-d*2);return`calc(${x}% ${p<0?"-":"+"} ${L(Math.abs(p))}px)`}function z(c){const d=Q(c);return d<=0?"0px":`calc(${L(d*100)}% - ${L(C.value*2*d)}px)`}function L(c){return Number(c.toFixed(4)).toString()}return(c,d)=>{var x;return k(),_("div",{class:se(["grassland-ndvi-timeline",{"is-dense":h.value}])},[w("div",An,[d[2]||(d[2]=w("span",null,"草地健康/退化",-1)),w("strong",null,me(((x=o.value)==null?void 0:x.label)||y.value),1)]),l.loading?(k(),_("div",In,"加载月份数据")):l.status==="error"?(k(),_("div",Vn,"月份数据加载失败")):l.items.length?(k(),_("div",Rn,[w("button",{class:"grassland-ndvi-timeline-nav",type:"button",title:"上一期",onClick:d[0]||(d[0]=p=>U(-1))},"‹"),w("div",{class:"grassland-ndvi-timeline-track",style:ye({"--timeline-active-left":I.value,"--timeline-fill-width":re.value,"--timeline-edge-offset":`${C.value}px`}),role:"radiogroup","aria-label":"草地健康退化月份"},[d[4]||(d[4]=w("div",{class:"grassland-ndvi-timeline-line"},null,-1)),d[5]||(d[5]=w("div",{class:"grassland-ndvi-timeline-fill"},null,-1)),d[6]||(d[6]=w("div",{class:"grassland-ndvi-timeline-thumb"},[w("i")],-1)),(k(!0),_(Ce,null,Fe(l.items,(p,b)=>{var J,W;return k(),_("button",{key:p.key,class:se(["grassland-ndvi-timeline-mark",{"is-active":p.key===((J=o.value)==null?void 0:J.key),"is-past":b<=g.value,"is-staggered":h.value&&b%2===1}]),type:"button",role:"radio","aria-checked":p.key===((W=o.value)==null?void 0:W.key),style:ye({left:Y(b)}),title:p.date,onClick:$=>le(p)},[d[3]||(d[3]=w("span",{class:"grassland-ndvi-timeline-tick"},null,-1)),w("span",qn,me(p.label),1)],14,Bn)}),128))],4),w("button",{class:"grassland-ndvi-timeline-nav",type:"button",title:"下一期",onClick:d[1]||(d[1]=p=>U(1))},"›")])):(k(),_("div",En,"暂无月份数据"))],2)}}},Wn=Ln(zn,[["__scopeId","data-v-45f308f0"]]),jn={class:"forest-grass-wet"},Kn={class:"forest-grass-wet-ui",id:"forest-grass-wet-ui"},On={class:"fgw-left"},Hn={class:"fgw-side-stack is-left"},Un={class:"fgw-right"},Qn={class:"fgw-side-stack is-right"},Yn={key:2,class:"fgw-ndvi-timeline"},Jn={class:"fgw-bottom-topic"},Xn={key:0,class:"loading"},Zn={class:"loading-progress"},ea={class:"value"},ha={__name:"index",props:{showLoading:{type:Boolean,default:!0},active:{type:Boolean,default:!0}},emits:["topic-stats"],setup(l,{expose:u,emit:r}){const S=l,T=r,g=m(null),o=m(ln[0].key),y=m(""),h=m([]),C=m([]),I=m("idle"),re=m(!1),U=m({title:"业务统计",rows:[]}),le=m({title:"业务统计",rows:[]}),Q=m([]),Y=m([]),z=m(null),L=m(""),c=m(null),d=m(!1),x=m(""),p=m(!1),b=m(null),J=m(0),W=m(S.showLoading),$=m([]),X=m("idle"),F=m(""),B=m({type:"idle",text:"等待 GeoServer 图层加载"});let Z=null,M=!1,he=!1,j=!1,A=null,Ae=0,Ie=0,we=0,K=0,ie=0,ue=!1,pe=!1;const gt={图斑编号:"patch_no",图斑号:"patch_no",湿地编号:"land_number",草地编号:"land_number",林地类型:"dlmc",地类:"landUseName",地类名称:"landUseName",所在乡镇:"townName",所在区域:"full_name",面积:"acreage",图斑面积:"acreage",湿地面积:"acreage",草场面积:"acreage",草原类:"grassTypeName",草原型:"grassMinType",草原等级:"grasslandLevel",草原类型:"basic_type_name",小斑干草产量:"xbGcYield",小斑鲜草产量:"xbXcYield",鲜草产量:"xcYield",干草产量:"gcYield",海拔:"elevation",地貌:"landformName",权属单位:"qsdwmc",坐落单位:"zldwmc",林班:"lin_ban",小班:"xiao_ban",森林类别:"sen_lin_lb",林种:"lin_zhong",公益林等级:"gjgyl_bhdj",保护等级:"bh_dj",质量等级:"zl_dj",优势树种:"you_shi_sz",起源:"qi_yuan",龄组:"ling_zu",郁闭度:"yu_bi_du",林地权属:"ld_qs",土地使用权属:"tdsyqs",林木权属:"lmqs",生态区位:"stqwmc",坡度等级:"slope"},mt=new Set(["grassland-distribution","basic-grassland","grassland-level","grassland-type","grassland-yield","wetland-distribution","woodland-distribution","woodland-protection","woodland-type","woodland-quality","woodland-ownership"]),yt=[{topicKey:"wetland",layerKey:"wetland-distribution",name:"湿地分布",legendName:"湿地资源"},{topicKey:"grassland",layerKey:"grassland-distribution",name:"草地分布",legendName:"草地资源"},{topicKey:"woodland",layerKey:"woodland-distribution",name:"林地分布",legendName:"林地资源"}],ht=new Set(["code","msg","message","success","data","result","grassland","wetland","woodland","basicGrassland","dyColumn","geom","wkt","geometry","the_geom","theGeom","shape","shape_leng","shape_length","length","perimeter","gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"].map(e=>e.toLowerCase())),wt=v(()=>rt(o.value)),pt=v(()=>un(o.value)),oe=v(()=>yt.map(e=>Mt(e)).filter(Boolean)),ce=v(()=>o.value==="overview"?oe.value:pt.value),Ve=v({get(){return o.value==="overview"?h.value:y.value},set(e){if(o.value==="overview"){h.value=Array.isArray(e)?e.map(String).filter(Boolean):[];return}y.value=String(e||"")}}),ee=v(()=>y.value?lt(o.value,y.value):null),O=v(()=>o.value==="grassland"&&y.value==="grassland-health"),bt=v(()=>O.value),Ee=v(()=>$.value.find(e=>e.key===F.value)||null),H=v(()=>{var e;return(((e=ee.value)==null?void 0:e.legends)||[]).find(t=>t.key===L.value)||null}),kt=v(()=>oe.value.flatMap(e=>e.legends||[])),be=v(()=>{var e;return o.value==="overview"?kt.value:((e=ee.value)==null?void 0:e.legends)||[]}),_t=v(()=>ce.value.length>0),Re=v(()=>ce.value.length<=6&&be.value.length<=8),Be=v(()=>{if(!Re.value)return 430;const e=Math.max(1,ce.value.length),t=Math.max(1,Math.ceil(be.value.length/2)),n=e*34+Math.max(0,e-1)*5,a=30+t*28;return Math.max(220,Math.min(430,72+n+a))}),Lt=v(()=>{var a,s;if(o.value==="overview"){const i=new Set(h.value),f=oe.value.filter(V=>i.has(V.key));return Ct(f)}const e=ee.value;if(!e||O.value&&!((a=Ee.value)!=null&&a.layerName))return null;let t=(s=H.value)!=null&&s.cqlFilter?q(E({},e),{cqlFilter:H.value.cqlFilter,activeLegend:H.value,name:H.value.name||e.name}):e;const n=Ee.value;return O.value&&(n!=null&&n.layerName)&&(t=q(E({},t),{layerName:n.layerName,name:`${e.name} ${n.label}`,timelineDate:n.label,timelineItem:n})),t}),qe=m(typeof window=="undefined"?1080:window.innerHeight),Ge=ut.sideCardWidth;v(()=>ut.sideCardGap);const De=v(()=>mn(qe.value)),St=v(()=>yn(De.value,2)),ke=v(()=>!!b.value),Tt=wn,ze=v(()=>hn({point:b.value?$t(b.value):null,rowCount:c.value?Ne(c.value):0,loading:p.value,empty:!x.value&&(d.value||!c.value)})),Nt=v(()=>ze.value.height),xt=v(()=>ze.value.style),Pt=v(()=>{var n,a,s,i,f,V,P;const e=((a=(n=c.value)==null?void 0:n.layer)==null?void 0:a.overviewTopicKey)||((i=(s=c.value)==null?void 0:s.layer)==null?void 0:i.topicKey)||o.value;return{grassland:"草地详情",wetland:"湿地详情",woodland:"林地详情"}[e]||`${((V=(f=c.value)==null?void 0:f.layer)==null?void 0:V.name)||((P=wt.value)==null?void 0:P.name)||"资源"}详情`});function $t(e){const t=document.querySelector(".forest-grass-wet"),n=t==null?void 0:t.getBoundingClientRect();return!(n!=null&&n.width)||!(n!=null&&n.height)?e:{x:(e.x-n.left)/n.width*1920,y:(e.y-n.top)/n.height*1080}}function _e(){qe.value=typeof window=="undefined"?1080:window.innerHeight}function Mt({topicKey:e,layerKey:t,name:n,legendName:a}){var f;const s=lt(e,t);if(!s||s.key!==t)return null;const i=((f=s.legends)==null?void 0:f[0])||{};return q(E({},s),{name:n,overviewTopicKey:e,legends:[q(E({},i),{key:`overview-${t}`,name:a,selectable:!1})]})}function Ct(e=[]){const t=e.filter(Boolean);if(!t.length)return null;const[n,...a]=t;return q(E({},n),{overlayLayers:a})}Sn(()=>{_e(),window.addEventListener("resize",_e),document.addEventListener("pointerdown",Je,!0),Ft(),Se(o.value,""),de(o.value,"")}),Tn(()=>{M=!0,A&&window.clearTimeout(A),window.removeEventListener("resize",_e),document.removeEventListener("pointerdown",Je,!0)}),G(o,e=>{ue=!0,L.value="",y.value="",e==="overview"&&(h.value=[]),N(),B.value={type:"idle",text:"等待 GeoServer 图层加载"},Se(e,""),de(e,"",null),ne(()=>{ue=!1})}),G(y,()=>{ue||(pe=!0,L.value="",N(),B.value={type:y.value?"loading":"idle",text:y.value?"正在加载 GeoServer 图层":"等待 GeoServer 图层加载"},Se(o.value,y.value),de(o.value,y.value,null),ne(()=>{pe=!1}))}),G(h,()=>{o.value==="overview"&&(L.value="",N(),B.value={type:h.value.length?"loading":"idle",text:h.value.length?"正在加载 GeoServer 图层":"等待 GeoServer 图层加载"},z.value=Ye("overview",h.value.join(",")))},{deep:!0}),G(L,()=>{ue||pe||(N(),de(o.value,y.value,H.value))}),G(O,e=>{if(e){Vt();return}F.value=""}),G(F,()=>{O.value&&N()}),G(()=>S.active,e=>{var t,n,a,s;g.value&&(e?(Le(),(n=(t=g.value).resume)==null||n.call(t)):(s=(a=g.value).pause)==null||s.call(a))});function Ft(){var n;Z=new rn;const e={progress:0};Z.instance.on("onProgress",(a,s,i)=>{const f=Math.floor(s/i*100);st.to(e,{progress:f,onUpdate:()=>{J.value=Math.floor(e.progress)}})});const t=()=>{M||he||(he=!0,Le())};Z.instance.on("onLoad",t),(n=Z.ready)==null||n.then(t).catch(()=>{M||(B.value={type:"error",text:"地图资源加载失败"})})}function Le(){M||!S.active||!he||j||(j=!0,A&&window.clearTimeout(A),A=window.setTimeout(()=>{A=null,We()},600))}function We(e=0){return R(this,null,function*(){var n,a,s,i,f;if(M)return;if(!S.active){j=!1;return}if(yield ne(),!S.active){j=!1;return}if(!!((a=(n=g.value)==null?void 0:n.loadMap)!=null&&a.call(n,Z)||(i=(s=g.value)==null?void 0:s.hasMap)!=null&&i.call(s))){yield Zt(),yield ne(),(f=g.value)==null||f.play();return}if(e<24){window.setTimeout(()=>We(e+1),120);return}j=!1})}function At(){A&&(window.clearTimeout(A),A=null)}function je(){var e,t,n,a;(t=(e=g.value)==null?void 0:e.resume)==null||t.call(e),(a=(n=g.value)==null?void 0:n.refreshView)==null||a.call(n)}function It(){var e,t;if(N(),B.value={type:"loading",text:"地图正在复位"},(t=(e=g.value)==null?void 0:e.hasMap)!=null&&t.call(e)){je(),B.value={type:"success",text:"地图已复位"};return}At(),j=!1,ne(()=>{Le()})}u({refreshMapView:je,resetMap:It});function Se(n){return R(this,arguments,function*(e,t=y.value){const a=t,s=++Ie;re.value=!0,I.value="loading";const i=yield on(e,a);M||s!==Ie||e===o.value&&(a||"")===(y.value||"")&&Et(i,e)})}function Vt(e=!1){return R(this,null,function*(){if(!O.value)return;if(!e&&$.value.length){Ke();return}const t=++we;X.value="loading";try{const n=yield $n();if(M||t!==we)return;$.value=n,X.value=n.length?"success":"empty",Ke()}catch(n){if(M||t!==we)return;$.value=[],F.value="",X.value="error"}})}function Ke(){if(!$.value.length){F.value="";return}$.value.some(t=>t.key===F.value)||(F.value=$.value[$.value.length-1].key)}function Et(e,t){var a,s,i;const n=Rt(e);C.value=n.core||[],U.value=n.left||{title:"业务统计",rows:[]},le.value=n.right||{title:"业务统计",rows:[]},Q.value=(a=n.leftPanels)!=null&&a.length?n.leftPanels:[U.value],Y.value=(s=n.rightPanels)!=null&&s.length?n.rightPanels:[le.value],I.value=n.status,re.value=!1,T("topic-stats",{topicKey:t,topicName:rt(t).name,items:((i=n.top)!=null&&i.length?n.top:n.core||[]).slice(0,4)})}function Rt(e){return e||{}}function Oe(e,t){return`${o.value}-${t}-${(e==null?void 0:e.key)||(e==null?void 0:e.title)||"panel"}`}function Te(e){var n;const t=((n=e==null?void 0:e.rows)==null?void 0:n.length)||0;return(e==null?void 0:e.span)===1?!1:(e==null?void 0:e.span)===2?!0:(e==null?void 0:e.type)==="spotlight"||(e==null?void 0:e.type)==="metric"||(e==null?void 0:e.type)==="column"&&t<=5?!1:(e==null?void 0:e.type)==="rank"&&t>4||(e==null?void 0:e.type)==="split"&&t>4||(e==null?void 0:e.type)==="donut"&&t>5||(e==null?void 0:e.type)==="structure"&&t>4||(e==null?void 0:e.type)==="bar"&&t>4||(e==null?void 0:e.type)==="line"&&t>6}function He(e){return Te(e)?St.value:De.value}function Ne(e){const t=(e==null?void 0:e.properties)||{};return Object.keys(t).filter(a=>Ue(a,t[a])).length}function Ue(e,t){return t==null||t===""||Array.isArray(t)||typeof t=="object"?!1:!ht.has(String(e||"").toLowerCase())}function Bt(){if(o.value==="overview"){const e=new Set(h.value);return oe.value.filter(t=>e.has(t.key)).slice().reverse()}return ee.value?[ee.value]:[]}function xe(e={}){const t=String(e.overviewTopicKey||o.value||"").toLowerCase(),n=`${e.key||""} ${e.layerName||""} ${t}`.toLowerCase();return n.includes("basic-grassland")||n.includes("resource_basic_grassland")?"basicGrassland":t==="woodland"||n.includes("woodland")||n.includes("t_woodland")?"woodland":t==="wetland"||n.includes("wetland")||n.includes("shidi")?"wetland":t==="grassland"||n.includes("grassland")?"grassland":""}function qt(e={}){const t=Qe(e.lng),n=Qe(e.lat);return t===""||n===""?"":`POINT(${t} ${n})`}function Qe(e){const t=Number(e);return Number.isFinite(t)?t.toFixed(8).replace(/\.?0+$/,""):""}function Gt(){return R(this,arguments,function*(e={}){var Xe,Ze,ve,et,fe,tt;const t=Number((Xe=e==null?void 0:e.lngLat)==null?void 0:Xe.lng),n=Number((Ze=e==null?void 0:e.lngLat)==null?void 0:Ze.lat),a=Bt();if(!Number.isFinite(t)||!Number.isFinite(n)||!a.length){N();return}const s=++K,i=ie,f=e.screen||{x:960,y:540},V=a.some(te=>["wetland","woodland"].includes(xe(te)));let P="";b.value=V?f:null,c.value=null,d.value=!1,x.value="",p.value=!0,(et=(ve=g.value)==null?void 0:ve.clearSelectedFeature)==null||et.call(ve);try{for(const te of a){P=xe(te);const ge=yield Dt(te,{lng:t,lat:n});if(s!==K||M)return;if(ge){c.value=ge,b.value=$e(ge,f),d.value=!1,(tt=(fe=g.value)==null?void 0:fe.highlightFeature)==null||tt.call(fe,ge,{highlightTone:"v21"});return}}s===K&&ie===i&&(V?(d.value=!0,b.value=f):N())}catch(te){s===K&&ie===i&&(["wetland","woodland"].includes(P)?(c.value=null,d.value=!1,x.value=`${P==="woodland"?"林地":"湿地"}详情加载失败,请稍后重试`,b.value=f):N())}finally{s===K&&(p.value=!1)}})}function Dt(e,t){return R(this,null,function*(){const n=xe(e);if(!n)return null;const a=qt(t);let s=null;n==="grassland"?s=yield it(a,n):n==="wetland"?s=yield dn(a):n==="woodland"?s=yield vn(a):n==="basicGrassland"&&(s=yield it(a,n));const i=zt(s,n);if(!Wt(i))return null;const f=Kt(i,e,t,n);return Ne(f)>0?f:null})}function zt(e,t){const n=["grassland","wetland","woodland","basicGrassland"],a=[e,e==null?void 0:e.data,e==null?void 0:e.result];for(const i of a){const f=Pe(i==null?void 0:i[t]);if(f)return f}return a.some(i=>n.some(f=>Pe(i==null?void 0:i[f])))?null:Pe(e)}function Pe(e){return Array.isArray(e)?e.find(t=>t&&typeof t=="object")||null:e&&typeof e=="object"?e:null}function Wt(e){return!e||typeof e!="object"?!1:Array.isArray(e.dyColumn)&&e.dyColumn.some(jt)?!0:Object.keys(e).some(t=>Ue(t,e[t]))}function jt(e={}){const t=e==null?void 0:e.value;return t==null||t===""?!1:!!String((e==null?void 0:e.field)||(e==null?void 0:e.title)||"").trim()}function Kt(e,t,n,a){const s=Ht(e),i=Ot(e);return{id:e.id||e.patchNo||e.patch_no||e.landNumber||e.land_number||`${a}-${n.lng}-${n.lat}`,properties:s,feature:{type:"Feature",properties:s,geometry:i},geometry:i,layer:t,lngLat:n}}function Ot(e={}){return e.geometry||e.geom||e.wkt||e.the_geom||e.theGeom||e.geo||e.geometryWkt||e.geometry_wkt||e.shape||null}function Ht(e={}){const t=E({},e);return(Array.isArray(e.dyColumn)?e.dyColumn:[]).forEach(a=>{const s=a==null?void 0:a.value;if(s==null||s==="")return;const i=gt[String((a==null?void 0:a.title)||"").trim()],f=String((a==null?void 0:a.field)||"").trim();[f,Ut(f),i].filter(Boolean).forEach(P=>{(t[P]===void 0||t[P]===null||t[P]==="")&&(t[P]=s)})}),t}function Ut(e){return String(e||"").replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`)}function de(a,s){return R(this,arguments,function*(e,t,n=H.value){const i=++Ae;if(!t||!Qt(t,n)){z.value=Ye(e,t);return}const f=yield cn(e,t,n);M||i!==Ae||e!==o.value||t!==y.value||((n==null?void 0:n.key)||"")===L.value&&(z.value=q(E({},f),{hideTownLabelStats:!0}))})}function Qt(e,t=null){return!!(t!=null&&t.key)||mt.has(e)}function Ye(e,t){return{status:"disabled",topicKey:e,layerKey:t,title:"",unit:"",hideTownLabelStats:!0,rows:[]}}function Yt(e){var n,a;ie+=1;const t=(a=(n=e==null?void 0:e.feature)!=null?n:e)!=null?a:null;if(!t||Ne(t)<=0){N();return}c.value=t,d.value=!1,x.value="",b.value=$e(t,(e==null?void 0:e.screen)||b.value)}function $e(e,t=null){var n,a,s,i;return((a=(n=g.value)==null?void 0:n.getVectorFeatureAnchorScreen)==null?void 0:a.call(n,e))||((i=(s=g.value)==null?void 0:s.getVectorFeatureScreen)==null?void 0:i.call(s,e))||t}function Jt(){if(!ke.value||!c.value)return;const e=$e(c.value,b.value);if(!e)return;const t=b.value;t&&Math.abs(Number(t.x)-Number(e.x))<.5&&Math.abs(Number(t.y)-Number(e.y))<.5||(b.value=e)}function Xt(e){B.value=e}function N(){var e,t;K+=1,c.value=null,d.value=!1,x.value="",p.value=!1,b.value=null,(t=(e=g.value)==null?void 0:e.clearSelectedFeature)==null||t.call(e)}function Je(e){if(!ke.value)return;const t=document.querySelector(".fgw-map-feature-info"),n=document.querySelector(".forest-grass-wet .cesium-map"),a=e.target;t&&a instanceof Node&&t.contains(a)||n&&a instanceof Node&&n.contains(a)||N()}function Zt(){return W.value?new Promise(e=>{st.to(".forest-grass-wet .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{W.value=!1,e()}})}):Promise.resolve()}return(e,t)=>(k(),_("div",jn,[D(pn,{ref_key:"mapSceneRef",ref:g,"active-layer":Lt.value,"map-ranking":z.value,"admin-boundary-line-scale":1.65,"initial-zoom":9,"auto-apply-layer-map-view":!1,"max-zoom":21,"hide-town-label-stats":"","enable-imagery-feature-pick":!1,"emit-empty-feature-info-on-miss":!1,"enable-town-polygon-pick":!1,onFeatureLoading:t[0]||(t[0]=n=>p.value=n),onFeatureInfo:Yt,onMapClick:Gt,onLayerStatus:Xt,onViewChange:Jt},null,8,["active-layer","map-ranking"]),w("div",Kn,[I.value==="error"||I.value==="empty"?(k(),_("div",{key:0,class:se(["fgw-data-state",{"is-error":I.value==="error"}]),role:"status"},me(I.value==="error"?"数据库数据加载失败,请稍后重试":"数据库暂无数据"),3)):ae("",!0),w("div",On,[w("div",Hn,[(k(!0),_(Ce,null,Fe(Q.value,n=>(k(),ct(vt,{key:Oe(n,"left"),class:se(["fgw-side-card left-card",{"is-double":Te(n)}]),title:n.title,width:Me(Ge),height:He(n)},{default:dt(()=>[D(ot,{panel:n,compact:"","column-label-standard":"","visual-version":"v21"},null,8,["panel"])]),_:2},1032,["class","title","width","height"]))),128))])]),w("div",Un,[w("div",Qn,[(k(!0),_(Ce,null,Fe(Y.value,n=>(k(),ct(vt,{key:Oe(n,"right"),class:se(["fgw-side-card right-card",{"is-double":Te(n)}]),title:n.title,width:Me(Ge),height:He(n)},{default:dt(()=>[D(ot,{panel:n,compact:"","column-label-standard":"","visual-version":"v21"},null,8,["panel"])]),_:2},1032,["class","title","width","height"]))),128))])]),_t.value?(k(),_("div",{key:1,class:"fgw-map-layer-tools",style:ye({height:`${Be.value}px`})},[D(kn,{modelValue:Ve.value,"onUpdate:modelValue":t[1]||(t[1]=n=>Ve.value=n),"selected-legend-key":L.value,"onUpdate:selectedLegendKey":t[2]||(t[2]=n=>L.value=n),"topic-key":o.value,layers:ce.value,legends:be.value,multiple:o.value==="overview",width:248,height:Be.value,compact:Re.value},null,8,["modelValue","selected-legend-key","topic-key","layers","legends","multiple","height","compact"])],4)):ae("",!0),bt.value?(k(),_("div",Yn,[D(Wn,{modelValue:F.value,"onUpdate:modelValue":t[3]||(t[3]=n=>F.value=n),items:$.value,loading:X.value==="loading",status:X.value},null,8,["modelValue","items","loading","status"])])):ae("",!0),ke.value?(k(),_("div",{key:3,class:"fgw-map-feature-info",style:ye(xt.value)},[D(_n,{title:Pt.value,feature:c.value,empty:d.value,error:x.value,loading:p.value,width:Me(Tt),height:Nt.value,closable:"",onClose:N},null,8,["title","feature","empty","error","loading","width","height"])],4)):ae("",!0),w("div",Jn,[D(bn,{modelValue:o.value,"onUpdate:modelValue":t[4]||(t[4]=n=>o.value=n)},null,8,["modelValue"])])]),W.value?(k(),_("div",Xn,[t[6]||(t[6]=Nn('<div class="loading-text"><span style="--index:1;">L</span><span style="--index:2;">O</span><span style="--index:3;">A</span><span style="--index:4;">D</span><span style="--index:5;">I</span><span style="--index:6;">N</span><span style="--index:7;">G</span></div>',1)),w("div",Zn,[w("span",ea,me(J.value),1),t[5]||(t[5]=w("span",{class:"unit"},"%",-1))])])):ae("",!0)]))}};export{ha as default};