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-2c5b1158-178437865139...

1 lines
40 KiB

var Dt=Object.defineProperty,Ot=Object.defineProperties;var Vt=Object.getOwnPropertyDescriptors;var _t=Object.getOwnPropertySymbols;var It=Object.prototype.hasOwnProperty,Bt=Object.prototype.propertyIsEnumerable;var ht=(f,c,m)=>c in f?Dt(f,c,{enumerable:!0,configurable:!0,writable:!0,value:m}):f[c]=m,ue=(f,c)=>{for(var m in c||(c={}))It.call(c,m)&&ht(f,m,c[m]);if(_t)for(var m of _t(c))Bt.call(c,m)&&ht(f,m,c[m]);return f},ye=(f,c)=>Ot(f,Vt(c));var W=(f,c,m)=>new Promise((N,C)=>{var g=P=>{try{R(m.next(P))}catch(A){C(A)}},T=P=>{try{R(m.throw(P))}catch(A){C(A)}},R=P=>P.done?N(P.value):Promise.resolve(P.value).then(g,T);R((m=m.apply(f,c)).next())});import{g as bt}from"./index-e9f36657-1784378651390.js";/* empty css */import{_ as wt}from"./index-8193533d-1784378651390.js";import{d as Yt,i as Te,g as qt,b as St}from"./townshipBoundaries-a3a8b9c1-1784378651390.js";import{r as kt,n as Et}from"./index-bb11a8b6-1784378651390.js";import{c as Ut,F as Wt,b as zt}from"./featurePanelLayout-311dd995-1784378651390.js";import{A as Ht}from"./assets-a26a4c41-1784378651390.js";import{q as Gt,r as Jt,s as Qt}from"./screen2Standard-f85af2d3-1784378651390.js";import{M as Zt}from"./index-ae8926ff-1784378651390.js";import{_ as Xt}from"./LayerPanel-e35ca392-1784378651390.js";import{a as Ct,_ as Kt}from"./FeatureInfoPanel-aedbb434-1784378651390.js";import{_ as en}from"./TopicSwitcher-c2a18053-1784378651390.js";import{_ as At,g as v,w as Le,q as Ft,h as Nt,o as d,c as p,a as r,t as y,F as _e,y as he,n as be,K as Ve,s as lt,O as ut,u as Oe,j as J,d as L,N as ct,A as Re,b as je,C as Qe,x as jt,z as tn}from"./index-1784378651390.js";import{b as Ze,e as dt,r as nn,a as an,p as sn,g as rn,c as vt,d as on}from"./data-93a1fea5-1784378651390.js";import"./data-ee410ed3-1784378651390.js";const ln="/openApi";function un(f){return W(this,null,function*(){const c=yield kt(`${ln}/ecologicalProtection/rangeStats`,{method:"POST",timeout:3e4,params:{scopeKey:f},headers:{"Content-Type":"application/json"},body:JSON.stringify({scopeKey:f})}),m=Et(c);return dn(Array.isArray(m)?m[0]||{}:m||{})})}const cn={scope_key:"scopeKey",scope_name:"scopeName",scope_area_wan_mu:"scopeAreaWanMu",source_feature_count:"sourceFeatureCount",grassland_area_wan_mu:"grasslandAreaWanMu",wetland_area_wan_mu:"wetlandAreaWanMu",woodland_area_wan_mu:"woodlandAreaWanMu",grassland_fresh_yield_wan_ton:"grasslandFreshYieldWanTon",wetland_fresh_yield_wan_ton:"wetlandFreshYieldWanTon",grassland_mu_yield_jin:"grasslandMuYieldJin",wetland_mu_yield_jin:"wetlandMuYieldJin",grassland_vegetation_cover_percent:"grasslandVegetationCoverPercent",grassland_patch_count:"grasslandPatchCount",wetland_patch_count:"wetlandPatchCount",woodland_patch_count:"woodlandPatchCount",grassland_distribution:"grasslandDistribution",wetland_distribution:"wetlandDistribution",woodland_distribution:"woodlandDistribution",grassland_productivity:"grasslandProductivity",grassland_types:"grasslandTypes",zoning_structure:"zoningStructure",grassland_levels:"grasslandLevels",vegetation_cover_bands:"vegetationCoverBands",woodland_types:"woodlandTypes",woodland_quality:"woodlandQuality",area_method:"areaMethod",area_unit:"areaUnit",productivity_method:"productivityMethod"};function dn(f={}){return!f||typeof f!="object"?{}:Object.entries(f).reduce((c,[m,N])=>{c[m]=N;const C=cn[m];return C&&c[C]===void 0&&(c[C]=N),c},{})}const vn={class:"engineering-analysis-panel"},gn={class:"analysis-card-head"},pn={class:"analysis-type-list",role:"radiogroup","aria-label":"工程类型"},fn=["disabled","aria-checked","onClick"],mn={class:"analysis-type-main"},yn={class:"analysis-filter-grid","aria-label":"动态筛选条件"},_n={class:"is-wide"},hn=["disabled"],bn=["value"],wn=["disabled"],Sn=["disabled"],Cn={class:"analysis-filter-note"},jn={key:0},Ln={key:1},kn={key:2},En={key:3},An=["disabled","aria-busy"],Fn={key:0,class:"analysis-submit-spinner"},Nn={key:1},$n={key:2},Mn={key:0,class:"analysis-progress","aria-live":"polite"},Pn=["aria-valuenow","aria-busy"],xn={key:1,class:"analysis-error"},Tn={key:0,class:"analysis-card analysis-result-card"},Rn={class:"analysis-card-head is-result"},Dn={key:0,class:"analysis-result-summary is-loading"},On={class:"is-final"},Vn={key:1,class:"analysis-result-summary"},In={class:"is-excluded"},Bn={class:"is-final"},Yn={class:"analysis-result-list"},qn=["aria-pressed","onClick"],Un={key:0},Wn={key:1},zn={key:2},Hn={key:0},Gn={key:1},Jn={key:2,class:"analysis-excluded-projects"},Qn={class:"analysis-excluded-project-list"},Zn=["title"],Xn=["disabled"],Kn={class:"analysis-result-foot"},De="/geoserver/ne/ows",gt="ne:t_ecological_engineering_suitability_layer",ea="ne:t_ecological_engineering_suitability_export_layer",ta="ne:t_ecological_restoration_project_layer",na=750,Lt=5e3,aa=120,sa=4500,pt="#FFD43B",ra={__name:"EngineeringAnalysisPanel",emits:["analysis-reset","analysis-batch","analysis-complete","result-visibility"],setup(f,{emit:c}){const m=c,N=[{key:"forest-conservation",name:"封山育林",color:pt},{key:"grassland-improvement",name:"草原改良",color:pt},{key:"artificial-grass",name:"人工种草",color:pt}],C=L([N[0].key]),g=L(""),T=L("same"),R=L(3),P=L(null),A=L("idle"),Y=L(""),V=L(""),_=L(null),k=L("loading"),b=ct({}),ee=ct({}),te=ct({});let q=null,ne=0;const ce=Yt,$=v(()=>A.value==="running"),D=v(()=>A.value==="done"),Q=v(()=>C.value.length>0&&!$.value&&(T.value==="none"||k.value==="ready")),ke=v(()=>N),oe=v(()=>{var n;return((n=N.find(s=>s.key===C.value[0]))==null?void 0:n.name)||"请选择工程"}),Z=v(()=>N.filter(n=>C.value.includes(n.key)).map(n=>b[n.key]||Ye(n))),Ee=v(()=>{const n=Number(P.value);return Number.isFinite(n)?n-Number(R.value)+1:null}),x=v(()=>{const n=`${Ee.value}${P.value}`,s=_.value?`项目库更新至 ${_.value} 年 · `:"",o=T.value==="all"?`排除 ${n} 内实施过任一工程的相交地块`:`排除 ${n} 内实施过同类工程的相交地块`;return`${s}${o}`}),ae=v(()=>$.value?"分析中":D.value?"分析完成":"等待分析"),we=v(()=>Z.value.reduce((n,s)=>n+Number(s.baseCount||0),0)),Ae=v(()=>Z.value.reduce((n,s)=>n+Number(s.targetCount||0),0)),B=v(()=>Z.value.reduce((n,s)=>n+Number(s.loadedCount||0),0)),ve=v(()=>Math.max(0,we.value-Ae.value)),ge=v(()=>Z.value.reduce((n,s)=>n+Number(s.loadedAreaMu||0),0)/1e4),Fe=v(()=>Math.max(0,...Z.value.map(n=>Number(n.loadedPage||0)))),de=v(()=>Object.values(te).map(n=>ye(ue({},n),{areaMu:Number(Number(n.areaMu||0).toFixed(2))})).sort((n,s)=>s.areaMu-n.areaMu)),Ie=v(()=>de.value.reduce((n,s)=>n+Number(s.areaMu||0),0)/1e4);v(()=>D.value?100:$.value?Ae.value?Math.min(99,Math.round(B.value/Ae.value*100)):Z.value.some(n=>n.status==="counting")?4:0:0);const ie=v(()=>{const n=Z.value.find(s=>["counting","loading"].includes(s.status));return(n==null?void 0:n.status)==="counting"?`正在核对${n.name}候选量与历史项目记录`:(n==null?void 0:n.status)==="loading"?`正在加载${n.name}可实施图斑,已读取 ${X(n.loadedCount)}`:D.value?`分析完成,共形成 ${X(B.value)} 个可实施候选图斑`:"正在准备空间分析"}),Be=v(()=>{const n=g.value||"红原县全域";return T.value==="none"?`${n} · 未排除历史项目`:`${n} · ${Ee.value}${P.value} 年未实施条件`});Le([C,g,T,R,P],()=>{!D.value&&A.value!=="error"||(A.value="idle",Y.value="",V.value="",Object.keys(b).forEach(n=>delete b[n]),m("analysis-reset"))}),Ft(()=>ze()),Nt(()=>He());function Ye(n){return ye(ue({},n),{status:"idle",baseCount:0,targetCount:0,loadedCount:0,loadedAreaMu:0,loadedPage:0,visible:!0})}function Xe(n){$.value||C.value[0]!==n&&(C.value=[n])}function qe(){return W(this,null,function*(){var l,h,E,j;if(!Q.value)return;He();const n=++ne,s=((h=(l=window.performance)==null?void 0:l.now)==null?void 0:h.call(l))||Date.now();q=new AbortController,A.value="running",Y.value="",V.value="";const o=Pe();Object.keys(b).forEach(M=>delete b[M]),Object.keys(ee).forEach(M=>delete ee[M]),Object.keys(te).forEach(M=>delete te[M]),C.value.forEach(M=>{const O=N.find(H=>H.key===M);b[M]=Ye(O),b[M].status="counting"}),m("analysis-reset");try{yield Promise.all(C.value.map(O=>W(this,null,function*(){const H=b[O],[pe,fe]=yield Promise.all([Ne(Se(O,!1,o),q.signal),Ne(Se(O,!0,o),q.signal)]);K(n),H.baseCount=pe,H.targetCount=fe,H.status="queued"}))),yield Promise.all([(()=>W(this,null,function*(){for(const O of C.value)K(n),yield Ue(b[O],o,n,q.signal)}))(),Promise.all(C.value.map(O=>nt(O,o,n,q.signal)))]),K(n);const M=(((j=(E=window.performance)==null?void 0:E.now)==null?void 0:j.call(E))||Date.now())-s;yield Ge(Math.max(0,sa-M),q.signal),K(n),A.value="done",V.value=Ke(o),m("analysis-complete",{rows:Z.value,filters:o,statistics:st(o)})}catch(M){if((M==null?void 0:M.name)==="AbortError"||n!==ne)return;A.value="error",Y.value="工程适宜区服务暂时无法连接,请稍后重试。",V.value="",m("analysis-reset")}finally{n===ne&&(q=null)}})}function Ue(n,s,o,l){return W(this,null,function*(){if(n.status="loading",!n.targetCount){n.status="done";return}let h=0;for(;h<n.targetCount;){K(o);const E=yield tt(Se(n.key,!0,s),h,l);K(o);const j=Array.isArray(E.features)?E.features:[];if(!j.length)break;n.loadedPage+=1,n.loadedCount+=j.length,n.loadedAreaMu+=j.reduce((M,O)=>{var H;return M+Number(((H=O==null?void 0:O.properties)==null?void 0:H.source_area_mu)||0)},0),$e(j,s),m("analysis-batch",{key:n.key,name:n.name,color:n.color,features:j,loadedCount:n.loadedCount,targetCount:n.targetCount}),h+=j.length,yield it(l)}n.status="done"})}function Se(n,s,o=Pe()){const l=[`engineering_type='${se(n)}'`];return l.push(...We(o,s)),l.join(" AND ")}function Ke(n){const o=[`eng_type IN (${n.engineeringTypes.map(l=>`'${se(l)}'`).join(",")})`];if(n.township&&o.push(`town_name='${se(n.township)}'`),n.projectFilterMode!=="none"){const l=n.projectFilterMode==="all"?"last_year":"same_year";o.push(`(${l} IS NULL OR ${l}<${Number(n.startYear)})`)}return o.join(" AND ")}function We(n,s){const o=[];if(n.township&&o.push(`township_name='${se(n.township)}'`),s&&n.projectFilterMode!=="none"){const l=n.projectFilterMode==="all"?"latest_project_year":"latest_same_type_project_year";o.push(`(${l} IS NULL OR ${l}<${Number(n.startYear)})`)}return o}function et(n,s){const o=[`engineering_type='${se(n)}'`];if(s.township&&o.push(`township_name='${se(s.township)}'`),s.projectFilterMode==="none")return"EXCLUDE";const l=s.projectFilterMode==="all"?"latest_project_year":"latest_same_type_project_year";return o.push(`${l}>=${Number(s.startYear)}`),o.join(" AND ")}function Ne(n,s){return W(this,null,function*(){const o=new URLSearchParams({service:"WFS",version:"2.0.0",request:"GetFeature",typeNames:gt,resultType:"hits",CQL_FILTER:n}),l=yield fetch(`${De}?${o}`,{credentials:"same-origin",signal:s});if(!l.ok)throw new Error(`HTTP ${l.status}`);const h=yield l.text(),E=h.match(/numberMatched="(\d+)"/i)||h.match(/numberOfFeatures="(\d+)"/i);return Number((E==null?void 0:E[1])||0)})}function tt(n,s,o){return W(this,null,function*(){const l=new URLSearchParams({service:"WFS",version:"2.0.0",request:"GetFeature",typeNames:gt,outputFormat:"application/json",srsName:"EPSG:4326",count:String(na),startIndex:String(s),sortBy:"id",CQL_FILTER:n}),h=yield fetch(`${De}?${l}`,{credentials:"same-origin",signal:o});if(!h.ok)throw new Error(`HTTP ${h.status}`);return h.json()})}function nt(n,s,o,l){return W(this,null,function*(){if(s.projectFilterMode==="none")return;const h=s.projectFilterMode==="all"?"latest_project_year":"latest_same_type_project_year",E=s.projectFilterMode==="all"?"latest_project_name":"latest_same_type_project_name",j=et(n,s);let M=0;for(;;){K(o);const O=yield at(j,h,E,M,l);K(o);const H=Array.isArray(O.features)?O.features:[];if(H.forEach(pe=>{const fe=(pe==null?void 0:pe.properties)||{},Ce=String(fe[E]||"未标注项目").trim()||"未标注项目",Je=Number(fe[h])||null,me=te[Ce]||{name:Ce,latestYear:Je,featureCount:0,areaMu:0};me.latestYear=Math.max(Number(me.latestYear||0),Number(Je||0))||null,me.featureCount+=1,me.areaMu+=Number(fe.source_area_mu||0),te[Ce]=me}),H.length<Lt)break;M+=H.length}})}function at(n,s,o,l,h){return W(this,null,function*(){const E=new URLSearchParams({service:"WFS",version:"2.0.0",request:"GetFeature",typeNames:gt,outputFormat:"application/json",count:String(Lt),startIndex:String(l),sortBy:"id",propertyName:`id,source_area_mu,${s},${o}`,CQL_FILTER:n}),j=yield fetch(`${De}?${E}`,{credentials:"same-origin",signal:h});if(!j.ok)throw new Error(`HTTP ${j.status}`);return j.json()})}function ze(){return W(this,null,function*(){var n,s,o;k.value="loading";try{const l=new URLSearchParams({service:"WFS",version:"2.0.0",request:"GetFeature",typeNames:ta,outputFormat:"application/json",propertyName:"year",sortBy:"year D",count:"1",CQL_FILTER:"year IS NOT NULL"}),h=yield fetch(`${De}?${l}`,{credentials:"same-origin"});if(!h.ok)throw new Error(`HTTP ${h.status}`);const E=yield h.json(),j=Number((o=(s=(n=E.features)==null?void 0:n[0])==null?void 0:s.properties)==null?void 0:o.year);if(!Number.isFinite(j))throw new Error("项目库缺少有效实施年份");_.value=j,A.value==="idle"&&(P.value=j),k.value="ready"}catch(l){k.value="error",console.warn("[engineering-analysis] project data coverage unavailable",l)}})}function $e(n,s){const o=s.township?"location_unit_name":"township_name";n.forEach(l=>{const h=(l==null?void 0:l.properties)||{},E=String(h[o]||"未标注").trim()||"未标注",j=ee[E]||{name:E,featureCount:0,areaMu:0};j.featureCount+=1,j.areaMu+=Number(h.source_area_mu||0),ee[E]=j})}function st(n){return{engineeringType:n.engineeringTypes[0],engineeringName:oe.value,scopeName:n.township||"红原县全域",dimensionLabel:n.township?"村":"乡镇",baseCount:we.value,excludedCount:ve.value,finalCount:B.value,finalAreaMu:ge.value*1e4,projectDataLatestYear:_.value,filters:n,excludedProjects:de.value.map(s=>ue({},s)),distribution:Object.values(ee).map(s=>ye(ue({},s),{areaMu:Number(s.areaMu.toFixed(2))})).sort((s,o)=>o.areaMu-s.areaMu)}}function rt(n){!n||n.status==="idle"||(n.visible=n.visible===!1,m("result-visibility",{key:n.key,visible:n.visible}))}function ot(){if(!D.value||!V.value||!B.value)return;const n=new Date,o=`ecological_engineering_suitability_${[n.getFullYear(),String(n.getMonth()+1).padStart(2,"0"),String(n.getDate()).padStart(2,"0")].join("")}.zip`,l=new URLSearchParams({service:"WFS",version:"2.0.0",request:"GetFeature",typeNames:ea,outputFormat:"shape-zip",srsName:"EPSG:4326",CQL_FILTER:V.value,format_options:`charset:UTF-8;filename:${o}`}),h=document.createElement("a");h.href=`${De}?${l}`,h.download=o,document.body.appendChild(h),h.click(),h.remove()}function Me(n){return n.status==="counting"?"核对中":n.status==="queued"?"等待加载":n.status==="loading"?"加载中":n.status==="error"?"异常":n.visible===!1?"已隐藏":"地图显示"}function Pe(){return{engineeringTypes:[...C.value],township:g.value,projectFilterMode:T.value,recentYears:R.value,startYear:Ee.value,endYear:P.value}}function He(){q&&q.abort(),q=null}function K(n){if(n!==ne)throw new DOMException("Analysis superseded","AbortError")}function it(n){return Ge(aa,n)}function Ge(n,s){return n?s!=null&&s.aborted?Promise.reject(new DOMException("Analysis aborted","AbortError")):new Promise((o,l)=>{const h=window.setTimeout(E,n);s==null||s.addEventListener("abort",j,{once:!0});function E(){s==null||s.removeEventListener("abort",j),o()}function j(){window.clearTimeout(h),l(new DOMException("Analysis aborted","AbortError"))}}):Promise.resolve()}function se(n){return String(n!=null?n:"").replace(/'/g,"''")}function X(n){const s=Number(n);return Number.isFinite(s)?Math.round(s).toLocaleString("zh-CN"):"0"}function le(n){const s=Number(n);return Number.isFinite(s)?s>=100?s.toFixed(1):s>=10?s.toFixed(2):s.toFixed(3):"0"}return(n,s)=>(d(),p("div",vn,[r("section",{class:be(["analysis-card analysis-workbench",{"is-running":$.value}])},[r("header",gn,[s[3]||(s[3]=r("div",null,[r("span",null,"生态工程实施分析"),r("small",null,"基础候选区 + 动态业务条件")],-1)),r("strong",null,y(ae.value),1)]),s[11]||(s[11]=r("div",{class:"analysis-section-title"},[r("span",null,"01"),r("strong",null,"工程类型"),r("em",null,"单选")],-1)),r("div",pn,[(d(!0),p(_e,null,he(ke.value,o=>(d(),p("button",{key:o.key,type:"button",class:be(["analysis-type-row",{"is-selected":C.value.includes(o.key)}]),disabled:$.value,role:"radio","aria-checked":C.value.includes(o.key),onClick:l=>Xe(o.key)},[r("i",{class:"analysis-type-check",style:Ve({"--type-color":o.color})},null,4),r("div",mn,[r("strong",null,y(o.name),1)])],10,fn))),128))]),s[12]||(s[12]=r("div",{class:"analysis-section-title is-filter"},[r("span",null,"02"),r("strong",null,"动态筛选条件"),r("em",null,"3 项条件")],-1)),r("div",yn,[r("label",_n,[s[5]||(s[5]=r("span",null,"所属乡镇",-1)),lt(r("select",{"onUpdate:modelValue":s[0]||(s[0]=o=>g.value=o),"data-testid":"analysis-town",disabled:$.value},[s[4]||(s[4]=r("option",{value:""},"全县",-1)),(d(!0),p(_e,null,he(Oe(ce),o=>(d(),p("option",{key:o,value:o},y(o),9,bn))),128))],8,hn),[[ut,g.value]])]),r("label",null,[s[7]||(s[7]=r("span",null,"已有项目",-1)),lt(r("select",{"onUpdate:modelValue":s[1]||(s[1]=o=>T.value=o),"data-testid":"analysis-project-filter",disabled:$.value},[...s[6]||(s[6]=[r("option",{value:"same"},"排除同类工程",-1),r("option",{value:"all"},"排除全部工程",-1),r("option",{value:"none"},"不排除",-1)])],8,wn),[[ut,T.value]])]),r("label",null,[s[9]||(s[9]=r("span",null,"未实施年限",-1)),lt(r("select",{"onUpdate:modelValue":s[2]||(s[2]=o=>R.value=o),"data-testid":"analysis-recent-years",disabled:$.value||T.value==="none"},[...s[8]||(s[8]=[r("option",{value:1},"最近 1 年",-1),r("option",{value:3},"最近 3 年",-1),r("option",{value:5},"最近 5 年",-1)])],8,Sn),[[ut,R.value,void 0,{number:!0}]])])]),r("div",Cn,[s[10]||(s[10]=r("i",null,null,-1)),T.value==="none"?(d(),p("span",jn,"保留与已有工程相交的候选地块")):k.value==="loading"?(d(),p("span",Ln,"正在读取项目库最新实施年份…")):k.value==="error"?(d(),p("span",kn,"项目库年份读取失败,暂不能执行历史项目排除")):(d(),p("span",En,y(x.value),1))]),r("button",{type:"button",class:"analysis-submit","data-testid":"analysis-submit",disabled:!Q.value,"aria-busy":$.value,onClick:qe},[$.value?(d(),p("span",Fn)):J("",!0),r("span",null,y($.value?"空间分析进行中":D.value?"重新分析":"开始分析"),1),$.value?(d(),p("strong",Nn,"逐批加载")):(d(),p("strong",$n,y(oe.value),1))],8,An),$.value||D.value?(d(),p("div",Mn,[r("div",{role:"progressbar","aria-label":"分析进度",class:be({"is-indeterminate":$.value}),"aria-valuenow":D.value?100:void 0,"aria-busy":$.value,"aria-valuemin":"0","aria-valuemax":"100"},[r("i",{style:Ve(D.value?{width:"100%"}:void 0)},null,4)],10,Pn),r("span",null,y(ie.value),1)])):J("",!0),Y.value?(d(),p("p",xn,y(Y.value),1)):J("",!0)],2),$.value||D.value?(d(),p("section",Tn,[r("header",Rn,[r("div",null,[s[13]||(s[13]=r("span",null,"可实施区域",-1)),r("small",null,y(Be.value),1)]),r("strong",null,y(X(B.value))+" 个"+y($.value?"已加载":""),1)]),$.value?(d(),p("div",Dn,[r("div",null,[s[14]||(s[14]=r("span",null,"已加载图斑",-1)),r("strong",null,y(X(B.value)),1),s[15]||(s[15]=r("small",null,"个",-1))]),r("div",null,[s[16]||(s[16]=r("span",null,"已加载面积",-1)),r("strong",null,y(le(ge.value)),1),s[17]||(s[17]=r("small",null,"万亩",-1))]),r("div",On,[s[18]||(s[18]=r("span",null,"当前批次",-1)),r("strong",null,y(Fe.value||"—"),1),r("small",null,y(Fe.value?"页":"准备中"),1)])])):(d(),p("div",Vn,[r("div",null,[s[19]||(s[19]=r("span",null,"基础候选",-1)),r("strong",null,y(X(we.value)),1),s[20]||(s[20]=r("small",null,"个图斑",-1))]),r("div",In,[s[21]||(s[21]=r("span",null,"项目排除",-1)),r("strong",null,y(X(ve.value)),1),s[22]||(s[22]=r("small",null,"个图斑",-1))]),r("div",Bn,[s[23]||(s[23]=r("span",null,"最终可实施",-1)),r("strong",null,y(le(ge.value)),1),s[24]||(s[24]=r("small",null,"万亩",-1))])])),r("div",Yn,[(d(!0),p(_e,null,he(Z.value,o=>(d(),p("button",{key:o.key,type:"button",class:be(["analysis-result-row",[`is-${o.status}`,{"is-hidden":o.visible===!1}]]),"aria-pressed":o.visible!==!1,onClick:l=>rt(o)},[r("i",{style:Ve({"--type-color":o.color})},null,4),r("div",null,[r("strong",null,y(o.name),1),o.status==="loading"?(d(),p("span",Un,"正在读取第 "+y(o.loadedPage)+" 页",1)):o.status==="error"?(d(),p("span",Wn,"加载失败")):(d(),p("span",zn,y(le(o.loadedAreaMu/1e4))+" 万亩",1))]),o.status==="loading"?(d(),p("b",Hn,"已加载 "+y(X(o.loadedCount))+" 个",1)):(d(),p("b",Gn,y(X(o.loadedCount))+" 个图斑",1)),r("em",null,y(o.visible===!1?"已隐藏":Me(o)),1)],10,qn))),128))]),D.value&&de.value.length?(d(),p("section",Jn,[r("header",null,[s[25]||(s[25]=r("strong",null,"排除项目与候选面积",-1)),r("em",null,"合计 "+y(le(Ie.value))+" 万亩",1)]),r("div",Qn,[(d(!0),p(_e,null,he(de.value,(o,l)=>(d(),p("div",{key:o.name,class:"analysis-excluded-project-row"},[r("span",null,y(l+1),1),r("div",null,[r("strong",{title:o.name},y(o.name),9,Zn),r("small",null,y(o.latestYear?`${o.latestYear} 年 · `:"")+"排除 "+y(X(o.featureCount))+" 个相交图斑",1)]),r("b",null,y(le(o.areaMu/1e4))+" 万亩",1)]))),128))])])):J("",!0),D.value?(d(),p("button",{key:3,type:"button",class:"analysis-export","data-testid":"analysis-export-shp",disabled:!V.value||!B.value,onClick:ot},[...s[26]||(s[26]=[r("span",null,"导出本次分析结果",-1),r("strong",null,"SHP",-1)])],8,Xn)):J("",!0),r("footer",Kn,y($.value?"正在逐批叠加候选图斑,最终统计将在加载完成后生成。":"结果已排除初筛禁入范围;工程立项前仍需结合连片度、权属和现场踏勘复核。"),1)])):J("",!0)]))}},oa=At(ra,[["__scopeId","data-v-c66525b9"]]),ia="/openApi";function la(){return W(this,arguments,function*(f={}){const c=yield kt(`${ia}/ai/ecological-engineering/advice`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({dataJson:JSON.stringify({engineeringName:f.engineeringName,scopeName:f.scopeName,dimensionLabel:f.dimensionLabel,baseCount:f.baseCount,excludedCount:f.excludedCount,finalCount:f.finalCount,finalAreaMu:f.finalAreaMu,projectDataLatestYear:f.projectDataLatestYear,filters:f.filters,distribution:(f.distribution||[]).slice(0,30),excludedProjects:(f.excludedProjects||[]).slice(0,30)})}),timeout:7e4});if((c==null?void 0:c.success)===!1||(c==null?void 0:c.code)!==void 0&&![0,200,"0","200"].includes(c.code))throw new Error((c==null?void 0:c.message)||(c==null?void 0:c.msg)||"DeepSeek分析建议生成失败");return Et(c)})}const ua={class:"engineering-statistics-panel","data-testid":"engineering-statistics-panel","aria-label":"生态工程分析统计","aria-live":"polite"},ca={class:"statistics-head"},da={class:"advice-section"},va={key:0,class:"advice-loading","data-testid":"engineering-advice-status"},ga={key:1,class:"advice-list"},pa={key:2,class:"advice-error"},fa={__name:"EngineeringStatisticsPanel",props:{statistics:{type:Object,required:!0}},setup(f){const c=f,m=L(!1),N=L(""),C=L("");let g=0;const T=v(()=>{var _;return Array.isArray((_=c.statistics)==null?void 0:_.distribution)?c.statistics.distribution:[]}),R=v(()=>{var b;const _=[],k=T.value[0];return k&&_.push(`优先核查${k.name}等候选面积较集中的区域,进一步评价地块连片度和施工可达性。`),Number(((b=c.statistics)==null?void 0:b.excludedCount)||0)>0?_.push(`对已排除的 ${V(c.statistics.excludedCount)} 个历史项目相交图斑复核项目边界、实施年份和工程类型,避免重复建设。`):_.push("本次年份条件未排除历史项目相交图斑,建议结合项目库更新时间确认筛选时段是否完整。"),_.push("候选结果用于工程初筛,立项前仍需完成权属核验、现场踏勘和实施方案论证。"),_}),P=v(()=>{const _=String(N.value||"").split(/\n+/).map(k=>k.replace(/^\s*(?:[-•]|\d+[.、)])\s*/,"").trim()).filter(Boolean);return _.length?_.slice(0,5):R.value}),A=v(()=>m.value?"DeepSeek自动研判中":N.value?"DeepSeek研判":"系统初步建议");Le(()=>c.statistics,_=>{const k=++g;N.value="",C.value="",m.value=!1,_&&Y(k,_)},{immediate:!0});function Y(_,k){return W(this,null,function*(){m.value=!0,C.value="";try{const b=yield la(k);if(_!==g)return;if(N.value=String((b==null?void 0:b.advice)||(b==null?void 0:b.content)||"").trim(),!N.value)throw new Error("DeepSeek未返回有效建议")}catch(b){if(_!==g)return;C.value=/404/.test(String((b==null?void 0:b.message)||""))?"DeepSeek建议接口尚未部署,已保留系统初步建议。":(b==null?void 0:b.message)||"DeepSeek暂时不可用,已保留系统初步建议。"}finally{_===g&&(m.value=!1)}})}function V(_){const k=Number(_);return Number.isFinite(k)?Math.round(k).toLocaleString("zh-CN"):"0"}return(_,k)=>(d(),p("aside",ua,[r("header",ca,[r("div",null,[k[0]||(k[0]=r("span",null,"分析建议",-1)),r("small",null,y(f.statistics.engineeringName)+" · "+y(f.statistics.scopeName),1)]),r("strong",null,y(A.value),1)]),r("section",da,[m.value?(d(),p("div",va,[...k[1]||(k[1]=[r("span",{class:"advice-spinner"},null,-1),r("span",null,"DeepSeek 正在自动生成分析建议…",-1)])])):(d(),p("ol",ga,[(d(!0),p(_e,null,he(P.value,(b,ee)=>(d(),p("li",{key:`${ee}-${b}`},y(b),1))),128))])),C.value?(d(),p("p",pa,y(C.value),1)):J("",!0)])]))}},ma=At(fa,[["__scopeId","data-v-fb17a135"]]);const ya={class:"forest-grass-wet ecological-protection"},_a={class:"forest-grass-wet-ui ecological-protection-ui"},ha={key:0,class:"fgw-left"},ba={class:"fgw-side-stack is-left"},wa={key:1,class:"fgw-right"},Sa={class:"fgw-side-stack is-right"},Ca={class:"fgw-bottom-topic ecological-bottom-topic"},ja={key:0,class:"loading"},La={class:"loading-progress"},ka={class:"value"},qa={__name:"index",props:{activeView:{type:String,default:"ecological-redline"},showLoading:{type:Boolean,default:!0},active:{type:Boolean,default:!0}},emits:["module-stats","view-change"],setup(f,{expose:c,emit:m}){const N=f,C=m,g=L(null),T=L(""),R=L(""),P=L(Ze({},"ecological-redline")),A=L(null),Y=L(!1),V=L(!1),_=L(null),k=L(0),b=L(N.showLoading),ee=L(null),te=L({type:"idle",text:"等待生态保护图层加载"}),q=L(null);let ne=null,ce=!1,$=!1,D=!1,Q=null,ke=0,oe=0;const Z=new Map,Ee=new Set(["code","msg","message","success","data","result","project","progress","dycolumn","geom","wkt","geometry","the_geom","raw_properties","gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"]),x=v(()=>Te.some(e=>e.key===N.activeView)?N.activeView:"ecological-redline"),ae=v(()=>x.value==="engineering-analysis"),we=v(()=>["restoration","engineering-analysis"].includes(x.value)),Ae=v(()=>dt.includes(x.value)),B=v(()=>T.value?qt(x.value,T.value):null),ve=v(()=>{var e;return(((e=B.value)==null?void 0:e.legends)||[]).find(t=>t.key===R.value)||null}),ge=v(()=>{var e;return((e=B.value)==null?void 0:e.legends)||[]}),Fe=v(()=>St(x.value)),de=v(()=>Fe.value.length<=2&&ge.value.length<=6),Ie=v(()=>{if(ae.value)return 112;if(!de.value)return 430;const e=Math.max(1,Fe.value.length),t=Math.max(1,Math.ceil(ge.value.length/2)),a=e*34+Math.max(0,e-1)*5,i=30+t*28;return Math.max(196,Math.min(340,72+a+i))}),ie=v(()=>{const e=B.value;return e?ve.value?ye(ue({},e),{cqlFilter:ve.value.cqlFilter||e.cqlFilter,activeLegend:ve.value,name:ve.value.name||e.name}):e:null}),Be=v(()=>Ae.value?P.value:x.value==="restoration"?nn:x.value==="engineering-analysis"?an:sn),Ye=v(()=>Be.value.left||[]),Xe=v(()=>Be.value.right||[]),qe=L(typeof window=="undefined"?1080:window.innerHeight),Ue=Gt.sideCardWidth,Se=v(()=>Jt(qe.value)),Ke=v(()=>Qt(Se.value,2)),We=v(()=>!!_.value),et=Wt,Ne=v(()=>Ut({point:_.value?Ge(_.value):null,rowCount:A.value?s(A.value):0,loading:V.value,empty:Y.value||!A.value})),tt=v(()=>Ne.value.height),nt=v(()=>Ne.value.style),at=v(()=>{var t;return{"ecological-redline":"生态保护红线详情","natural-protected-area":"自然保护地详情","national-park":"国家公园详情",restoration:"生态修复详情","engineering-analysis":"生态工程详情"}[x.value]||`${((t=B.value)==null?void 0:t.name)||"生态图斑"}详情`});Ft(()=>{se(),window.addEventListener("resize",se),document.addEventListener("pointerdown",yt,!0),ot(),ze(x.value)}),Nt(()=>{ce=!0,Q&&window.clearTimeout(Q),window.removeEventListener("resize",se),document.removeEventListener("pointerdown",yt,!0)}),Le(x,e=>{ze(e)}),Le(T,()=>{R.value="",z()}),Le(R,()=>{z()}),Le(()=>N.active,e=>{var t,a,i,u;g.value&&(e?(Me(),(a=(t=g.value).resume)==null||a.call(t)):(u=(i=g.value).pause)==null||u.call(i))});function ze(e){var i,u,w,S,F,I,U;const t=Te.find(G=>G.key===e)||Te[0],a=St(e);q.value=null,R.value="",T.value=t.defaultLayerKey||((i=a[0])==null?void 0:i.key)||"",ee.value=rn(e),(w=(u=g.value)==null?void 0:u.setBoundaryDrawing)==null||w.call(u,!1),(F=(S=g.value)==null?void 0:S.clearAnalysisBoundary)==null||F.call(S),e!=="engineering-analysis"&&((U=(I=g.value)==null?void 0:I.clearEngineeringSuitability)==null||U.call(I)),z(),dt.includes(e)&&(P.value=Ze({},e),rt(e)),C("module-stats",{moduleKey:"ecological-protection",viewKey:e,items:dt.includes(e)?vt({},e):on(e)}),$e()}function $e(e=0){const t=ie.value||B.value;!(t!=null&&t.mapView)&&!(t!=null&&t.cameraPosition)||Re(()=>{var i,u;!((u=(i=g.value)==null?void 0:i.focusLayerMapView)==null?void 0:u.call(i,t))&&e<12&&window.setTimeout(()=>$e(e+1),120)})}function st(e){const t=Te.some(a=>a.key===e)?e:"ecological-redline";t!==x.value&&C("view-change",t)}function rt(e){return W(this,null,function*(){const t=++ke;try{const i=Z.get(e)||(yield un(e));if(t!==ke||x.value!==e)return;Z.set(e,i),P.value=Ze(i,e),C("module-stats",{moduleKey:"ecological-protection",viewKey:e,items:vt(i,e)})}catch(a){if(t!==ke||x.value!==e)return;P.value=Ze({},e),C("module-stats",{moduleKey:"ecological-protection",viewKey:e,items:vt({},e)}),te.value={type:"error",text:"保护范围统计加载失败"},console.warn("Failed to load ecological scope statistics",a)}})}function ot(){var a;ne=new Ht;const e={progress:0};ne.instance.on("onProgress",(i,u,w)=>{const S=Math.floor(u/w*100);bt.to(e,{progress:S,onUpdate:()=>{k.value=Math.floor(e.progress)}})});const t=()=>{ce||$||($=!0,Me())};ne.instance.on("onLoad",t),(a=ne.ready)==null||a.then(t).catch(()=>{ce||(te.value={type:"error",text:"地图资源加载失败"})})}function Me(){ce||!N.active||!$||D||(D=!0,Q&&window.clearTimeout(Q),Q=window.setTimeout(()=>{Q=null,Pe()},600))}function Pe(e=0){return W(this,null,function*(){var a,i,u,w,S;if(ce)return;if(!N.active){D=!1;return}if(yield Re(),!N.active){D=!1;return}if(!!((i=(a=g.value)==null?void 0:a.loadMap)!=null&&i.call(a,ne)||(w=(u=g.value)==null?void 0:u.hasMap)!=null&&w.call(u))){yield Rt(),yield Re(),(S=g.value)==null||S.play(),$e();return}if(e<24){window.setTimeout(()=>Pe(e+1),120);return}D=!1})}function He(){Q&&(window.clearTimeout(Q),Q=null)}function K(){var e,t,a,i;(t=(e=g.value)==null?void 0:e.resume)==null||t.call(e),(i=(a=g.value)==null?void 0:a.refreshView)==null||i.call(a)}function it(){var e,t,a,i,u,w;if(z(),(t=(e=g.value)==null?void 0:e.setBoundaryDrawing)==null||t.call(e,!1),(i=(a=g.value)==null?void 0:a.clearAnalysisBoundary)==null||i.call(a),(w=(u=g.value)==null?void 0:u.hasMap)!=null&&w.call(u)){K();return}He(),D=!1,Re(()=>{Me()})}c({refreshMapView:K,resetMap:it});function Ge(e){const t=document.querySelector(".ecological-protection"),a=t==null?void 0:t.getBoundingClientRect();return!(a!=null&&a.width)||!(a!=null&&a.height)?e:{x:(e.x-a.left)/a.width*1920,y:(e.y-a.top)/a.height*1080}}function se(){qe.value=typeof window=="undefined"?1080:window.innerHeight}function X(e,t){return`${x.value}-${t}-${(e==null?void 0:e.key)||(e==null?void 0:e.title)||"panel"}`}function le(e){return(e==null?void 0:e.span)===2}function n(e){return le(e)?Ke.value:Se.value}function s(e){const t=(e==null?void 0:e.properties)||{};return Object.keys(t).filter(a=>o(a,t[a])).length}function o(e,t){return t==null||t===""||Array.isArray(t)||typeof t=="object"?!1:!Ee.has(String(e||"").toLowerCase())}function l(e={}){const t=h(e.lng),a=h(e.lat);return t===""||a===""?"":`POINT(${t} ${a})`}function h(e){const t=Number(e);return Number.isFinite(t)?t.toFixed(8).replace(/\.?0+$/,""):""}function E(){return W(this,arguments,function*(e={}){var w,S,F,I,U,G;if(!we.value||ae.value)return;if(j(e.overlayLayer||ie.value||B.value)){z();return}const t=Number((w=e==null?void 0:e.lngLat)==null?void 0:w.lng),a=Number((S=e==null?void 0:e.lngLat)==null?void 0:S.lat);if(!Number.isFinite(t)||!Number.isFinite(a)){z();return}const i=++oe,u=e.screen||{x:960,y:540};_.value=null,A.value=null,Y.value=!1,V.value=!0;try{const re=yield zt(l({lng:t,lat:a}));if(i!==oe||ce)return;const xe=M(re,e);if(!xe||s(xe)<=0){z();return}A.value=xe,_.value=((I=(F=g.value)==null?void 0:F.getVectorFeatureAnchorScreen)==null?void 0:I.call(F,xe))||u,Y.value=!1,(G=(U=g.value)==null?void 0:U.highlightFeature)==null||G.call(U,xe,{highlightTone:"v21"})}catch(re){if(i!==oe)return;z()}finally{i===oe&&(V.value=!1)}})}function j(e=ie.value){const t=String((e==null?void 0:e.sourceType)||"").toLowerCase();return["geojson","wkt-api","wfs"].includes(t)||String((e==null?void 0:e.dataPath)||"").includes("ecological_restoration_projects")}function M(e,t={}){var w,S,F;const a=H((e==null?void 0:e.project)||((w=e==null?void 0:e.data)==null?void 0:w.project)||(e==null?void 0:e.data)||e);if(!pe(a))return null;const i=Ce(a,e),u=a.geom||a.geometry||a.wkt||null;return{id:a.id||i.id||i.project_name||`project-${(S=t==null?void 0:t.lngLat)==null?void 0:S.lng}-${(F=t==null?void 0:t.lngLat)==null?void 0:F.lat}`,properties:i,feature:{type:"Feature",properties:i,geometry:u},geometry:u,layer:t.overlayLayer||ie.value||B.value,lngLat:t.lngLat}}function O(e,t={}){var I,U,G;const a=e!=null&&e.feature&&e.feature.type==="Feature"?ye(ue({},e.feature),{id:e.id||e.feature.id,layer:e.layer,lngLat:e.lngLat}):e,i=(a==null?void 0:a.type)==="Feature"?a:((I=a==null?void 0:a.feature)==null?void 0:I.type)==="Feature"?a.feature:null,u=(a==null?void 0:a.properties)||(i==null?void 0:i.properties)||{},w=(a==null?void 0:a.geometry)||(i==null?void 0:i.geometry)||u.geometry||u.geom||u.wkt||null,S=Ce(u,t),F=(a==null?void 0:a.id)||(i==null?void 0:i.id)||S.id||S.gid||S.project_id||S.project_name||`project-${((U=t==null?void 0:t.lngLat)==null?void 0:U.lng)||""}-${((G=t==null?void 0:t.lngLat)==null?void 0:G.lat)||""}`;return{id:F,properties:S,feature:{type:"Feature",id:F,properties:S,geometry:w},geometry:w,layer:(a==null?void 0:a.layer)||t.overlayLayer||ie.value||B.value,lngLat:(a==null?void 0:a.lngLat)||t.lngLat}}function H(e){return Array.isArray(e)?e.find(t=>t&&typeof t=="object")||null:e&&typeof e=="object"?e:null}function pe(e){return!e||typeof e!="object"?!1:Array.isArray(e.dyColumn)&&e.dyColumn.some(fe)?!0:Object.keys(e).some(t=>o(t,e[t]))}function fe(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 Ce(e={},t={}){const a=ue({},e);(Array.isArray(e.dyColumn)?e.dyColumn:[]).forEach(F=>{const I=F==null?void 0:F.value;if(I==null||I==="")return;const U=String((F==null?void 0:F.field)||"").trim();[U,Je(U)].filter(Boolean).forEach(re=>{(a[re]===void 0||a[re]===null||a[re]==="")&&(a[re]=I)})});const u=a.project_name||a.projectName||a.name,w=a.area_mu||a.areaMu||a.acreage,S=a.project_status||a.projectStatus;return ye(ue({},a),{project_name:u,name:u||a.name,area_mu:w,project_status:S,progress_count:Array.isArray(t==null?void 0:t.progress)?t.progress.length:void 0})}function Je(e){return String(e||"").replace(/[A-Z]/g,t=>`_${t.toLowerCase()}`)}function me(e){var a,i,u,w;const t=(i=(a=e==null?void 0:e.feature)!=null?a:e)!=null?i:null;if(!t||s(t)<=0){z();return}if(we.value){oe+=1;const S=O(t,e);if(!S||s(S)<=0){z();return}A.value=S,Y.value=!1,V.value=!1,_.value=((w=(u=g.value)==null?void 0:u.getVectorFeatureAnchorScreen)==null?void 0:w.call(u,S))||(e==null?void 0:e.screen)||null;return}A.value=t,Y.value=!1,e!=null&&e.screen&&(_.value=e.screen)}function $t(e){te.value=e}function ft(e,t){var u,w;if(x.value==="national-park"&&(t!=null&&t.name)){z(),(w=(u=g.value)==null?void 0:u.focusTown)==null||w.call(u,t.name,{distanceScale:.66,targetLocalZ:.84,cameraOffset:{x:0,y:1.05,z:0},select:!0});return}if(x.value!=="restoration"||(e==null?void 0:e.key)!=="restoration-projects"||!((t==null?void 0:t.projectName)||(t==null?void 0:t.name)))return;z();const i=()=>mt(t);if(R.value){R.value="",Re(()=>window.setTimeout(i,80));return}i()}function mt(e,t=0){var w,S,F,I,U,G,re;if(x.value!=="restoration")return;const a=(e==null?void 0:e.projectName)||(e==null?void 0:e.name);if(!a)return;const i=(S=(w=g.value)==null?void 0:w.focusProject)==null?void 0:S.call(w,{id:e==null?void 0:e.id,key:e==null?void 0:e.key,name:a,projectName:a,project_name:a,highlightTone:"white"});if(!(i!=null&&i.feature)){if(t<10){window.setTimeout(()=>mt(e,t+1),120);return}te.value={type:"warning",text:"当前项目图斑尚未加载"};return}const u=O({id:i.feature.id,properties:i.feature.properties||{},geometry:i.feature.geometry,feature:i.feature,layer:ie.value||B.value},{});A.value=u,Y.value=!1,V.value=!1,_.value=i.screen||((U=(F=g.value)==null?void 0:F.getVectorFeaturesAnchorScreen)==null?void 0:U.call(F,(I=i.highlightFeatures)!=null&&I.length?i.highlightFeatures:i.features))||((re=(G=g.value)==null?void 0:G.getVectorFeatureAnchorScreen)==null?void 0:re.call(G,u))}function Mt(){var e,t;z(),q.value=null,(t=(e=g.value)==null?void 0:e.clearEngineeringSuitability)==null||t.call(e)}function Pt(e={}){var t,a;(a=(t=g.value)==null?void 0:t.addEngineeringSuitabilityBatch)==null||a.call(t,e)}function xt(e={}){var t,a;q.value=e.statistics||null,(a=(t=g.value)==null?void 0:t.completeEngineeringSuitability)==null||a.call(t,e)}function Tt(e={}){var t,a;(a=(t=g.value)==null?void 0:t.setEngineeringSuitabilityVisibility)==null||a.call(t,e.key,e.visible)}function z(){var e,t;oe+=1,A.value=null,Y.value=!1,V.value=!1,_.value=null,(t=(e=g.value)==null?void 0:e.clearSelectedFeature)==null||t.call(e)}function yt(e){if(!We.value)return;const t=document.querySelector(".fgw-map-feature-info"),a=e.target;t&&a instanceof Node&&t.contains(a)||z()}function Rt(){return b.value?new Promise(e=>{bt.to(".ecological-protection .loading",{opacity:0,duration:.8,delay:.2,onComplete:()=>{b.value=!1,e()}})}):Promise.resolve()}return(e,t)=>(d(),p("div",ya,[je(Zt,{ref_key:"mapSceneRef",ref:g,"active-layer":ie.value,"map-ranking":ee.value,"admin-boundary-line-scale":1.65,"auto-apply-layer-map-view":!1,"max-zoom":21,onFeatureLoading:t[0]||(t[0]=a=>V.value=a),onFeatureInfo:me,onMapClick:E,onLayerStatus:$t},null,8,["active-layer","map-ranking"]),r("div",_a,[ae.value?J("",!0):(d(),p("div",ha,[r("div",ba,[(d(!0),p(_e,null,he(Ye.value,a=>(d(),Qe(wt,{key:X(a,"left"),class:be(["fgw-side-card left-card",[{"is-double":le(a)},`ecological-side-card--${a.key}`]]),title:a.title,width:Oe(Ue),height:n(a)},{default:jt(()=>[je(Ct,{panel:a,compact:"","column-label-standard":"","visual-version":"v21",onRowSelect:i=>ft(a,i)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","width","height"]))),128))])])),ae.value?J("",!0):(d(),p("div",wa,[r("div",Sa,[(d(!0),p(_e,null,he(Xe.value,a=>(d(),Qe(wt,{key:X(a,"right"),class:be(["fgw-side-card right-card",[{"is-double":le(a)},`ecological-side-card--${a.key}`]]),title:a.title,width:Oe(Ue),height:n(a)},{default:jt(()=>[je(Ct,{panel:a,compact:"","column-label-standard":"","visual-version":"v21",onRowSelect:i=>ft(a,i)},null,8,["panel","onRowSelect"])]),_:2},1032,["class","title","width","height"]))),128))])])),ae.value?(d(),Qe(oa,{key:2,onAnalysisReset:Mt,onAnalysisBatch:Pt,onAnalysisComplete:xt,onResultVisibility:Tt})):J("",!0),ae.value&&q.value?(d(),Qe(ma,{key:3,statistics:q.value},null,8,["statistics"])):J("",!0),r("div",{class:be(["fgw-map-layer-tools",{"is-analysis":ae.value,"is-compact":de.value}]),style:Ve({height:`${Ie.value}px`})},[je(Xt,{modelValue:T.value,"onUpdate:modelValue":t[1]||(t[1]=a=>T.value=a),"selected-legend-key":R.value,"onUpdate:selectedLegendKey":t[2]||(t[2]=a=>R.value=a),"topic-key":x.value,legends:ge.value,width:248,height:Ie.value,compact:de.value,"show-legend":!ae.value},null,8,["modelValue","selected-legend-key","topic-key","legends","height","compact","show-legend"])],6),We.value?(d(),p("div",{key:4,class:"fgw-map-feature-info",style:Ve(nt.value)},[je(Kt,{title:at.value,feature:A.value,empty:Y.value,loading:V.value,width:Oe(et),height:tt.value,closable:"",onClose:z},null,8,["title","feature","empty","loading","width","height"])],4)):J("",!0),r("div",Ca,[je(en,{"model-value":x.value,topics:Oe(Te),"onUpdate:modelValue":st},null,8,["model-value","topics"])])]),b.value?(d(),p("div",ja,[t[4]||(t[4]=tn('<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)),r("div",La,[r("span",ka,y(k.value),1),t[3]||(t[3]=r("span",{class:"unit"},"%",-1))])])):J("",!0)]))}};export{qa as default};