var Cn=Object.defineProperty,An=Object.defineProperties;var Mn=Object.getOwnPropertyDescriptors;var pn=Object.getOwnPropertySymbols;var Sn=Object.prototype.hasOwnProperty,_n=Object.prototype.propertyIsEnumerable;var yn=(n,a,e)=>a in n?Cn(n,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[a]=e,f=(n,a)=>{for(var e in a||(a={}))Sn.call(a,e)&&yn(n,e,a[e]);if(pn)for(var e of pn(a))_n.call(a,e)&&yn(n,e,a[e]);return n},v=(n,a)=>An(n,Mn(a));var h=(n,a,e)=>new Promise((t,o)=>{var s=i=>{try{l(e.next(i))}catch(d){o(d)}},r=i=>{try{l(e.throw(i))}catch(d){o(d)}},l=i=>i.done?t(i.value):Promise.resolve(i.value).then(s,r);l((e=e.apply(n,a)).next())});import{n as B,r as Rn}from"./index-25a05535-1786541781548.js";import{g as Gn}from"./geoserver-a49d147b-1786541781548.js";import{d as G,g as Dn,e as En}from"./townshipBoundaries-cb449981-1786541781548.js";const On="/openApi",Bn=G.map(I),z=["#32DCFF","#24F6C4","#8BF7FF","#46E7FF","#19FFC6","#5CDFFF"],D=["#19FFC6","#32DCFF","#8BF7FF","#46E7FF","#24F6C4","#5CDFFF"];let U=null;function bn(n){return/^https?:\/\//.test(n)?n:`${On}${n.startsWith("/")?n:`/${n}`}`}function rn(n,a={}){const e=new URLSearchParams;return Object.entries(a).forEach(([t,o])=>{o!=null&&o!==""&&e.append(t,String(o))}),Rn(bn(n),{method:"POST",body:e,headers:{"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8"}})}function en(n,a){return Rn(bn(n),{params:a})}function ve(n){return h(this,null,function*(){if(!n)return null;const a=B(yield rn("/screen2/resource/woodland/detail",{wkt:n})),e=a==null?void 0:a.woodland;return e&&typeof e=="object"&&!Array.isArray(e)?e:null})}function ln(){return h(this,null,function*(){if(U)return U;const n=(()=>h(this,null,function*(){return B(yield en("/screen2/resource/woodland"))||{}}))();U=n;try{return yield n}finally{U===n&&(U=null)}})}function Re(n,a="grassland"){return h(this,null,function*(){if(!n)return null;const e=B(yield rn("/screen2/resource/grassland/detail",{wkt:n})),t=a==="basicGrassland"?"basicGrassland":"grassland",o=e==null?void 0:e[t];return o&&typeof o=="object"&&!Array.isArray(o)?o:null})}function H(){return h(this,null,function*(){return B(yield en("/screen2/resource/grassland"))||{}})}function be(n){return h(this,null,function*(){if(!n)return null;const a=B(yield rn("/screen2/resource/wetland/detail",{wkt:n})),e=a==null?void 0:a.wetland;return e&&typeof e=="object"&&!Array.isArray(e)?e:null})}function an(){return h(this,null,function*(){return B(yield en("/screen2/resource/wetland"))||{}})}function b(n,a){for(const e of a)if((n==null?void 0:n[e])!==void 0&&(n==null?void 0:n[e])!==null&&(n==null?void 0:n[e])!=="")return n[e]}function V(n){if(n==null||n==="")return;const a=Number(n);return Number.isNaN(a)?void 0:a}function A(n){const a=V(n);if(a!==void 0)return Number.isInteger(a)?a:Number(a.toFixed(2))}function sn(n,a){const e=V(n),t=V(a);if(!(e===void 0||t===void 0||t===0))return e/t*100}function qn(n,a){const o=({grassland:[{key:"grassland-area",name:"草地面积",unit:"万亩"},{key:"basic-grassland",name:"基本草原",unit:"万亩"},{key:"general-grassland",name:"一般草原",unit:"万亩"}]}[a]||[]).map((s,r)=>{var l,i;return v(f(f({},s),n[r]||{}),{name:((l=n[r])==null?void 0:l.name)||s.name,unit:((i=n[r])==null?void 0:i.unit)||s.unit})});return o.length?o:n}function c(n,a,e,t="rank",o={}){return f({key:n,title:a,type:t,rows:e||[]},o)}function I(n){return String(n||"").replace(/\s+/g,"").trim()}function M(n=[]){const a=new Map(Bn.map((e,t)=>[e,t]));return[...n].sort((e,t)=>{const o=a.get(I(e==null?void 0:e.name)),s=a.get(I(t==null?void 0:t.name));return o!==void 0&&s!==void 0?o-s:o!==void 0?-1:s!==void 0?1:0})}function xn(n){const a=String(n||"");return{用于畜牧业生产的人工草地:"人工草地",高寒草原:"高寒草原类","对调节气候、涵养水源、保持水土、防风固沙具有特殊作用的草原":"生态调节草原",国家重点保护野生动植物生存环境的草原:"野生动植物栖息草原","草原科研、教学实验基地":"科研教学草原"}[a]||a}function K(n){return xn(n).replace(/\s+/g,"").replace(/类$/,"")}function nn(n){const a=String(n||""),e=a.match(/level-([1-8])/);if(e)return e[1];const t=a.match(/([1-8])\s*级/);if(t)return t[1];if(/^[1-8]$/.test(a.trim()))return a.trim();const s=Object.entries({一:"1",二:"2",三:"3",四:"4",五:"5",六:"6",七:"7",八:"8"}).find(([r])=>a.includes(`${r}级`));return(s==null?void 0:s[1])||""}function Pn(n){return nn(n==null?void 0:n.key)||nn(n==null?void 0:n.name)}function j(n=[],a={}){const{nameKeys:e=["name","townName","areaName"],valueKeys:t=["areaWanMu","value","totalAreaWanMu","yield"],unit:o="万亩"}=a;return n.map((s,r)=>{const l=I(b(s,e)),i=A(b(s,t));return!l||i===void 0?null:{key:b(s,["key","code","townCode"])||`${l}-${r}`,name:l,value:i,unit:b(s,["unit"])||o,source:s}}).filter(Boolean).sort((s,r)=>(Number(r.value)||0)-(Number(s.value)||0))}function Yn(n=[],a={}){const{nameKeys:e=["townName","name","areaName"],valueKeys:t=["areaWanMu","value","totalAreaWanMu","yield"],unit:o="万亩"}=a,s=new Map;return n.forEach(r=>{const l=I(b(r,e)),i=V(b(r,t));if(!l||i===void 0)return;const d=s.get(l)||{key:b(r,["townCode","code"])||l,name:l,value:0,unit:b(r,["unit"])||o,source:[]};d.value+=i,d.source.push(r),s.set(l,d)}),Array.from(s.values()).map(r=>v(f({},r),{value:A(r.value)})).sort((r,l)=>(Number(l.value)||0)-(Number(r.value)||0))}function S({topicKey:n,layerKey:a,title:e,unit:t="万亩",rows:o=[],note:s="",metricLabel:r=""}){const l=o.filter(i=>(i==null?void 0:i.name)&&i.value!==void 0).sort((i,d)=>(Number(d.value)||0)-(Number(i.value)||0)).map((i,d)=>v(f({},i),{unit:i.unit||t,rank:d+1}));return{status:l.length?"success":"empty",topicKey:n,layerKey:a,title:e,unit:t,metricLabel:r,note:s,rows:l}}function Z(n,a,e,t,o,s=!1){return h(this,null,function*(){const r=yield H(),l=u(r==null?void 0:r[e]),i=s?Tn(l,{nameKeys:["townName","areaName","name"],valueKeys:t}):j(l,{nameKeys:["townName","areaName","name"],valueKeys:t,unit:"万亩"});return S({topicKey:n,layerKey:a,title:o,unit:"万亩",rows:i})})}function $n(n={},a=[],e=[]){const t=b(n,e);if(t)return I(t);const o=a.map(r=>b(n,[r])).find(r=>r!==void 0),s=String(o||"").slice(0,9);return En(s)}function zn(n,a,e,t){return h(this,null,function*(){const o=(t==null?void 0:t.rankingTownCodeKeys)||(e==null?void 0:e.rankingTownCodeKeys)||["area_code","xiang","town_code"],s=(t==null?void 0:t.rankingTownNameKeys)||(e==null?void 0:e.rankingTownNameKeys)||["town_name","area_name","xiang_name"],r=(t==null?void 0:t.rankingAreaKeys)||(e==null?void 0:e.rankingAreaKeys)||["acreage","area_mu","area"],l=(t==null?void 0:t.rankingPropertyName)||[...o,...s,...r],i=yield Gn(e.layerName,{propertyName:l,cqlFilter:t.cqlFilter,maxFeatures:2e5,timeout:25e3}),d=new Map;return((i==null?void 0:i.features)||[]).forEach(m=>{const g=m.properties||{},p=$n(g,o,s),y=V(b(g,r));if(!p||y===void 0)return;const T=d.get(p)||{key:p,name:p,value:0,unit:"万亩"};T.value+=y/1e4,d.set(p,T)}),S({topicKey:n,layerKey:a,title:`${t.name}面积排行`,unit:"万亩",metricLabel:t.name,rows:Array.from(d.values()).map(m=>v(f({},m),{value:A(m.value),metricLabel:t.name})),note:"按选中图例过滤 GeoServer 图斑并汇总到乡镇"})})}function Vn(n,a,e){return h(this,null,function*(){const t=yield H();return S({topicKey:n,layerKey:a,title:`${e.name}面积排行`,unit:"万亩",metricLabel:e.name,rows:j(u(t.basicGrasslandTownRows),{nameKeys:["townName","areaName","name"],valueKeys:[e.rankingValueKey],unit:"万亩"}).map(o=>v(f({},o),{metricLabel:e.name}))})})}function tn(n,a,e,t,o={}){const s=Tn(t||[],o).map(r=>v(f({},r),{metricLabel:e.name}));return S({topicKey:n,layerKey:a,title:`${e.name}面积排行`,unit:"万亩",metricLabel:e.name,rows:s})}function In(n,a,e){return h(this,null,function*(){const t=Pn(e);if(!t)return null;const o=yield H();return tn(n,a,e,u(o.grassLevelTownRows),{nameKeys:["townName","areaName","area_name","name"],valueKeys:["areaWanMu","value","acreage","areaMu"],filter:s=>nn(b(s,["level","grasslandLevel","grassland_level","typeName"]))===t})})}function jn(n,a,e){return h(this,null,function*(){const t=K(e.name);if(!t)return null;const o=yield H(),s=u(o.grassTypeTownRows),r=u(o.grassSubtypeTownRows);return tn(n,a,e,[...s,...r],{nameKeys:["townName","areaName","area_name","name"],valueKeys:["areaWanMu","value","acreage","areaMu"],filter:l=>{const i=b(l,["grassSubtype","grass_subtype","grassMinType","grass_min_type","grassType","grass_type","typeName"]);return K(i)===t}})})}function Hn(n,a,e){return h(this,null,function*(){const t={"woodland-protection":"woodlandProtectionTownRows","woodland-type":"woodlandTypeTownRows","woodland-quality":"woodlandQualityTownRows","woodland-ownership":"woodlandOwnershipTownRows"}[a];if(!t)return null;const o=yield ln(),s=u(o[t]).filter(r=>String(r.dimensionKey||"")===String(e.key));return S({topicKey:n,layerKey:a,title:`${e.name}面积排行`,unit:"万亩",metricLabel:e.name,rows:j(s,{nameKeys:["townName","name"],valueKeys:["value","areaWanMu"],unit:"万亩"}).map(r=>v(f({},r),{metricLabel:e.name}))})})}function Qn(n,a){return h(this,null,function*(){const e=yield H(),t=u(e.yieldTownRows),o=b(t[0],["unit"])||"斤";return S({topicKey:n,layerKey:a,title:"草地亩产排行",unit:o,rows:j(t,{nameKeys:["townName","areaName","name"],valueKeys:["muYield","xcMuYield","yield","value"],unit:o})})})}function Un(n,a,e){return h(this,null,function*(){const t=Pn(e);if(!t)return null;const o=yield an();return tn(n,a,e,u(o.wetlandLevelTownRows),{nameKeys:["townName","areaName","area_name","name"],valueKeys:["areaWanMu","value","acreage","areaMu"],filter:s=>nn(b(s,["level","grasslandLevel","grassland_level","typeName","name"]))===t})})}function Jn(n,a,e){return h(this,null,function*(){const t=K(e.name);if(!t)return null;const o=yield an(),s=u(o.wetlandTypeTownRows),r=u(o.wetlandSubtypeTownRows);return tn(n,a,e,[...s,...r],{nameKeys:["townName","areaName","area_name","name"],valueKeys:["areaWanMu","value","acreage","areaMu"],filter:l=>{const i=b(l,["grassMinType","grass_min_type","grassSubtype","grass_subtype","grassType","grass_type","typeName"]);return K(i)===t}})})}function Xn(n,a,e){return h(this,null,function*(){if(!(e!=null&&e.key))return null;const t=Dn(n,a);return t?n==="woodland"?Hn(n,a,e):n==="grassland"&&a==="basic-grassland"&&e.rankingValueKey?Vn(n,a,e):n==="grassland"&&a==="grassland-level"?In(n,a,e):n==="grassland"&&a==="grassland-type"?jn(n,a,e):n==="wetland"&&a==="wetland-level"?Un(n,a,e):n==="wetland"&&a==="wetland-type"?Jn(n,a,e):e.cqlFilter&&t.layerName?zn(n,a,t,e):null:null})}function k(n=[],a=5){return n.slice(0,a)}function un(n=[]){return n.reduce((a,e)=>a+(Number(e.value)||0),0)}function O(n=[],a=un(n),e=""){return n.map(t=>{const o=A(sn(t.value,a));return v(f({},t),{extra:o===void 0?t.extra:`${e}${o}%`})})}function L(n=[],a=[]){return a.length?n.map((e,t)=>v(f({},e),{color:(e==null?void 0:e.color)||(e==null?void 0:e.fillColor)||a[t%a.length]})):n}function gn(n){return Array.isArray(n==null?void 0:n.rows)&&n.rows.length>0}function C(n=[],a=[],e=4){const t=[],o=new Set,s=l=>{!l||o.has(l.key)||(o.add(l.key),t.push(l))},r=[...n,...a];return r.filter(gn).forEach(s),r.filter(l=>l&&!gn(l)).forEach(s),t.slice(0,e)}function Zn(n,a,e={}){return n&&f(v(f({},n),{type:a}),e)}function Kn(n=[]){const a=["bar","line","donut","column","structure","heat","peak","split"],e={bar:["heat","column","structure","line"],line:["bar","column","heat"],donut:["structure","split","bar"],column:["heat","bar","line","structure"],structure:["split","donut","bar"],heat:["bar","column","structure"],peak:["column","bar","line"],split:["structure","donut","bar"]},t=new Set;return n.map(o=>{if(!(o!=null&&o.type)||["projectTable","iconMetric","metric","spotlight","rank","table","stackColumn"].includes(o.type))return o;const s=o.type==="donut"&&o.variant==="ring"?"donut-ring":o.type;if(o.fixedType||!t.has(s))return t.add(s),o;const r=(e[o.type]||a).find(l=>!t.has(l))||o.type;return t.add(r),Zn(o,r,{variant:r===o.type?o.variant:void 0})})}function F(n=[],a=[]){const e=n.filter(Boolean),t=a.filter(Boolean),o=Kn([...e,...t]);return{leftPanels:o.slice(0,e.length),rightPanels:o.slice(e.length)}}function Q(n,a,e){var l,i,d,m;if(!e)return n;const t={grassland:"grassland-distribution",wetland:"wetland-distribution",woodland:"woodland-distribution"}[a],o=((l=n==null?void 0:n.layerPanels)==null?void 0:l[e])||((i=n==null?void 0:n.layerPanels)==null?void 0:i[t]);if(!o)return n;const s=(d=o.leftPanels)!=null&&d.length?o.leftPanels:n.leftPanels,r=(m=o.rightPanels)!=null&&m.length?o.rightPanels:n.rightPanels;return v(f({},n),{activeLayerKey:e||t,leftPanels:s,rightPanels:r,left:(s==null?void 0:s[0])||n.left,right:(r==null?void 0:r[0])||n.right})}function ne(n,a=["areaWanMu","value","acreage","areaMu"]){for(const e of a){const t=b(n,[e]),o=V(t);if(o===void 0)continue;const s=String(e).toLowerCase(),r=String(b(n,["unit","areaUnit","area_unit"])||"");return s.includes("wanmu")||r==="万亩"?o:s.includes("mu")||r==="亩"?o/1e4:o}}function Tn(n=[],a={}){const{nameKeys:e=["name","areaName","townName"],valueKeys:t=["areaWanMu","value","acreage","areaMu"],nameTransform:o=i=>i,filter:s,extra:r}=a,l=new Map;return n.forEach(i=>{if(s&&!s(i))return;const d=b(i,e),m=o(d,i),g=ne(i,t);if(!m||g===void 0)return;const p=l.get(m)||{key:b(i,["key","code","townCode"])||m,name:m,value:0,unit:"万亩",source:[]};p.value+=g,p.source.push(i),l.set(m,p)}),Array.from(l.values()).map(i=>{const d=v(f({},i),{value:A(i.value)});return r?v(f({},d),{extra:r(d)}):d}).filter(i=>Number(i.value)>0).sort((i,d)=>(Number(d.value)||0)-(Number(i.value)||0))}function hn({yieldCapacityRows:n,townAreaRows:a,typeRows:e,levelRows:t,yieldRows:o,minTypeRows:s,muYieldRows:r,edibleYieldRows:l,edibleMuRows:i,typeTownRows:d,levelTownRows:m,minTownRows:g}){const p=c("wetland-town-area","湿地面积分布",L(M(a),z),"column",{span:1,variant:"plain"}),y=c("wetland-type","湿地类型结构",L(e,z),"donut",{span:1}),T=c("wetland-level-proportion","湿地级占比",L(O(t),z),"donut",{span:1,variant:"ring"}),P=c("wetland-min-type","湿地优势小类",L(k(s,6),z),"bar",{span:1,variant:"raceBarNoWrap"}),R=c("wetland-yield-capacity","湿地产能结构",n,"structure",{span:1}),N=c("wetland-yield","湿地生产力分布",M(o),"line",{span:1,fixedType:!0}),W=c("wetland-edible-yield","可食鲜草产量",k(l,G.length),"column",{span:1,variant:"slim"}),_=c("wetland-mu-yield","湿地亩产效率",k(r,G.length),"heat",{span:1,limit:G.length}),q=c("wetland-level","湿地级别面积",t,"column",{span:1}),E=c("wetland-level-town","1级湿地分布",k(m,G.length),"bar",{span:1,variant:"distribution"}),x=c("wetland-type-town","湿地类型乡镇分布",k(d,G.length),"bar",{span:1,variant:"distribution"}),J=c("wetland-edible-mu","可食鲜草亩产",k(i,G.length),"bar",{span:1}),X=c("wetland-min-town","优势小类乡镇分布",k(g,G.length),"bar",{span:1,variant:"distribution"}),{leftPanels:Y,rightPanels:$}=F([p,y,T,P],[W,N,_,R]);return{leftPanels:Y,rightPanels:$,left:Y[0],right:$[0],layerPanels:ee({townAreaPanel:p,typePanel:y,yieldCapacityPanel:R,yieldPanel:N,levelPanel:q,levelTownPanel:E,muYieldPanel:_,levelStructurePanel:T,typeTownPanel:x,minTypePanel:P,edibleYieldPanel:W,edibleMuPanel:J,minTownPanel:X})}}function ee(n={}){const{townAreaPanel:a,typePanel:e,yieldCapacityPanel:t,yieldPanel:o,levelPanel:s,levelTownPanel:r,muYieldPanel:l,levelStructurePanel:i,typeTownPanel:d,minTypePanel:m,edibleYieldPanel:g,edibleMuPanel:p,minTownPanel:y}=n;return{"wetland-distribution":F([a,e,i,m],[g,o,l,t]),"wetland-level":F([i,s,r,e],[g,o,l,t]),"wetland-type":F([e,d,m,y],[g,o,p,t]),"wetland-yield":F([a,e,i,m],[g,o,l,t])}}function ae(n={}){const{leftPanels:a=[],rightPanels:e=[]}=n,t=F(a,e);return{"grassland-distribution":t,"basic-grassland":t,"grassland-level":t,"grassland-type":t,"grassland-yield":t,"grassland-health":t}}function Nn({townRows:n=[],typeRows:a=[],scaleRows:e=[],protectionRows:t=[],ownershipRows:o=[],qualityRows:s=[],originRows:r=[],ageRows:l=[],canopyRows:i=[],forestTypeRows:d=[],manageLevelRows:m=[],regionRows:g=[],ownerRows:p=[],typeTownRows:y=[],qualityLevelRows:T=[],townConcentrationRows:P=[],typeConcentrationRows:R=[]}){const N=c("woodland-town","林地面积分布",L(n,D),"column",{span:1,variant:"plain"}),W=c("woodland-type","林地类型结构",L(a,D),"donut",{span:1,variant:"ring"}),_=c("woodland-protection","公益林保护等级",L(O(t),D),"bar",{span:1,variant:"raceBarRelaxed"}),q=c("woodland-ownership","林地权属结构",L(O(o),D),"structure",{span:1}),E=c("woodland-quality","优势树种面积",k(s,6),"bar",{span:1,variant:"raceBarNoWrap"}),x=c("woodland-origin","林地起源结构",O(r),"structure",{span:1}),J=c("woodland-age","林龄组结构",k(l,6),"column",{span:1,labelMode:"horizontal"}),X=c("woodland-canopy","郁闭度结构",L(k(i,6),D),"donut",{span:1,fixedType:!0}),Y=c("woodland-area-scale","林地图斑规模",e,"column",{span:1}),$=c("woodland-forest-type","森林类别结构",k(d,6),"bar",{span:1}),Ln=c("woodland-manage-level","管护等级分布",k(m,6),"bar",{span:1}),cn=c("woodland-public-rank","公益林面积排行",k(g,6),"bar",{span:1,variant:"distribution"}),on=c("woodland-owner-rank","权属单位排行",k(p,6),"bar",{span:1}),Fn=c("woodland-type-town","乡镇类型构成",k(y,6),"bar",{span:1,variant:"distribution"}),Wn=c("woodland-quality-level","林地质量等级",O(T),"donut",{span:1}),dn=c("woodland-town-concentration","林地集中度",L(O(P),D),"structure",{span:1}),wn=c("woodland-type-concentration","类型集中度",L(O(R),D),"rose",{span:1}),{leftPanels:mn,rightPanels:fn}=F(C([N,W,_,q],[Y,on,$,E]),C([E,x,J,X],[Y,on,$,cn,dn,wn]));return{leftPanels:mn,rightPanels:fn,left:mn[0],right:fn[0],layerPanels:te({townPanel:N,typePanel:W,scalePanel:Y,protectionPanel:_,ownershipPanel:q,qualityPanel:E,originPanel:x,agePanel:J,canopyPanel:X,forestTypePanel:$,manageLevelPanel:Ln,regionPanel:cn,ownerPanel:on,typeTownPanel:Fn,qualityLevelPanel:Wn,townConcentrationPanel:dn,typeConcentrationPanel:wn})}}function te(n={}){const{townPanel:a,typePanel:e,scalePanel:t,protectionPanel:o,ownershipPanel:s,qualityPanel:r,originPanel:l,agePanel:i,canopyPanel:d,forestTypePanel:m,manageLevelPanel:g,regionPanel:p,ownerPanel:y,typeTownPanel:T,qualityLevelPanel:P,townConcentrationPanel:R,typeConcentrationPanel:N}=n;return{"woodland-distribution":F(C([a,e,o,s],[t,m,y]),C([r,l,i,d],[t,y,p,R,N,P])),"woodland-protection":F(C([o,m,g,a],[e,s,t]),C([p,r,l,s],[y,e,t])),"woodland-type":F(C([e,a,T,t],[o,s,m]),C([r,l,o,s],[i,d,y,N])),"woodland-quality":F(C([P,r,l,d],[i,t,e]),C([a,e,o,s],[m,y,t])),"woodland-ownership":F(C([s,y,a,e],[t,o,r]),C([o,r,l,t],[m,i,d]))}}function oe(n=[]){const a=un(n);return n.filter(e=>e.name&&Number(e.value)>0).map(e=>v(f({},e),{color:se(e.name),extra:A(sn(e.value,a))?`${A(sn(e.value,a))}%`:""})).sort((e,t)=>Number(t.value)-Number(e.value))}function se(n=""){const a=String(n);return a.includes("未退化")?"#32DCFF":a.includes("重度")?"#FFE06B":a.includes("中度")?"#6EA8FF":"#24F6C4"}function vn(n){return{status:"empty",core:qn([],n),leftPanels:[],rightPanels:[],left:{title:"业务统计",rows:[]},right:{title:"业务统计",rows:[]}}}function kn({core:n,townRows:a,grassTypeRows:e,grassLevelRows:t,healthRows:o,productivityRows:s,edibleYieldRows:r,forageRows:l,degradationRows:i}){const d=c("grassland-town","草地面积分布",M(a),"column",{span:1,variant:"plain"}),m=c("grassland-productivity-town","草地生产力分布",M(s),"line",{span:1,fixedType:!0}),g=c("grassland-type-proportion","草原类占比",e,"donut",{span:1}),p=c("grassland-edible-yield","可食鲜草产量分布",k(r,10),"column",{span:1,variant:"slim"}),y=c("grassland-degradation","草地退化统计",oe(i),"bar",{span:1,variant:"degradation"}),T=c("grassland-health-proportion","草地健康占比",o,"rose",{span:1}),P=c("grassland-level-proportion","草原级占比",t,"donut",{span:1,variant:"ring"}),R=c("grassland-forage-capacity","饲草供给",l,"bar",{span:1,variant:"capacity",fixedType:!0}),{leftPanels:N,rightPanels:W}=F([d,g,y,P],[p,m,T,R]);return{core:n,leftPanels:N,rightPanels:W,left:N[0],right:W[0],layerPanels:ae({leftPanels:N,rightPanels:W})}}function w(n=[]){return n.map((a,e)=>{const t=A(b(a,["percent","areaPercent","area_percent"])),o=A(b(a,["scaleValue","scale_value"]));return f(f(v(f({},a),{key:(a==null?void 0:a.key)||`${(a==null?void 0:a.name)||"overview"}-${e}`,value:A(a==null?void 0:a.value),unit:(a==null?void 0:a.unit)||""}),t===void 0?{}:{percent:t,extra:`${t}%`}),o===void 0?{}:{scaleValue:o})})}function u(n){return Array.isArray(n)?n:n&&Array.isArray(n.rows)?n.rows:[]}function re(n={}){const a=["#8AE611","#32DCFF","#2BD17E"],e=["#24F6C4","#FFE06B"],t=w(u(n.resourceAreaRows)).map((P,R)=>v(f({},P),{color:a[R]})),o=w(u(n.grasslandClassRows)).map((P,R)=>v(f({},P),{color:e[R]})),s=M(w(u(n.grasslandTownRows))),r=L(M(w(u(n.wetlandTownRows))),z),l=L(M(w(u(n.woodlandTownRows))),D),i=w(u(n.forageRows)),d=w(u(n.woodlandQualityRows)),m=L(w(u(n.wetlandTypeRows)),z),g=[c("overview-grassland-distribution","草地分布",s,"column",{span:1,variant:"plain"}),c("overview-wetland-distribution","湿地分布",r,"line",{span:1,showValues:!0,tooltipOnHoverOnly:!0}),c("overview-woodland-distribution","林地分布",l,"column",{span:1,variant:"slim",lineOverlay:!0}),c("overview-forage-supply","饲草供给",i,"bar",{span:1,variant:"capacity"})],p=[c("overview-basic-general","基本/一般草原",o,"donut",{span:1,variant:"ring"}),c("overview-woodland-quality","林地质量",d,"heat",{span:1,limit:6}),c("overview-wetland-type","湿地类型结构",m,"rose",{span:1}),c("overview-resource-area","林草湿面积构成",t,"structure",{span:1})],y=t.length?[{key:"overview-resource-area-total",name:"林草湿面积",value:A(un(t)),unit:"万亩"},t[0]?v(f({},t[0]),{name:"草地面积"}):null,t[1]?v(f({},t[1]),{name:"湿地面积"}):null,t[2]?v(f({},t[2]),{name:"林地面积"}):null].filter(Boolean):[];return{status:[t,o,s,r,l,i,d,m].some(P=>P.length>0)?"success":"empty",core:y,top:y,leftPanels:g,rightPanels:p,left:g[0],right:p[0],meta:n.meta||{}}}function ie(n){const a=[c("overview-grassland-distribution","草地分布",[],"column",{span:1,variant:"plain"}),c("overview-wetland-distribution","湿地分布",[],"line",{span:1,showValues:!0,tooltipOnHoverOnly:!0}),c("overview-woodland-distribution","林地分布",[],"column",{span:1,variant:"slim",lineOverlay:!0}),c("overview-forage-supply","饲草供给",[],"bar",{span:1,variant:"capacity"})],e=[c("overview-basic-general","基本/一般草原",[],"donut",{span:1,variant:"ring"}),c("overview-woodland-quality","林地质量",[],"heat",{span:1,limit:6}),c("overview-wetland-type","湿地类型结构",[],"rose",{span:1}),c("overview-resource-area","林草湿面积构成",[],"structure",{span:1})];return{status:"error",error:n,core:[],top:[],leftPanels:a,rightPanels:e,left:a[0],right:e[0]}}function le(n={},a){const e=w(u(n.coreRows)),t=w(u(n.townAreaRows)),o=w(u(n.grassTypeRows)),s=w(u(n.degradationRows)),r=w(u(n.grassLevelRows)),l=w(u(n.edibleYieldRows)),i=w(u(n.productivityRows)),d=w(u(n.healthRows)),m=w(u(n.forageRows)),p=[e,t,o,s,r,l,i,d,m].some(R=>R.length>0),y=e.slice(0,3),T=kn({core:y,townRows:M(t),grassTypeRows:o,grassLevelRows:r,healthRows:d,productivityRows:M(i),edibleYieldRows:l,forageRows:m,degradationRows:s}),P=v(f({status:p?"success":"empty"},T),{top:[...y,e[3]].filter(R=>(R==null?void 0:R.value)!==void 0),meta:n.meta||{}});return Q(P,"grassland",a)}function ue(n,a){const e=kn({core:[],townRows:[],grassTypeRows:[],grassLevelRows:[],healthRows:[],productivityRows:[],edibleYieldRows:[],forageRows:[],degradationRows:[]});return Q(v(f({status:"error",error:n},e),{top:[]}),"grassland",a)}function ce(n={},a){const e=w(u(n.coreRows)),t=w(u(n.yieldCapacityRows)),o=w(u(n.townAreaRows)),s=w(u(n.typeRows)),r=w(u(n.levelRows)),l=w(u(n.yieldRows)),i=w(u(n.minTypeRows)),d=w(u(n.muYieldRows)),m=w(u(n.edibleYieldRows)),g=w(u(n.edibleMuRows)),p=w(u(n.typeTownRows)),y=w(u(n.levelTownRows)),T=w(u(n.minTownRows)),P=hn({yieldCapacityRows:t,townAreaRows:o,typeRows:s,levelRows:r,yieldRows:l,minTypeRows:i,muYieldRows:d,edibleYieldRows:m,edibleMuRows:g,typeTownRows:p,levelTownRows:y,minTownRows:T}),R=[e,t,o,s,r,l,i,d,m,g,p,y,T].some(N=>N.length>0);return Q(v(f({status:R?"success":"empty",core:e,top:e},P),{meta:n.meta||{}}),"wetland",a)}function de(n,a){const e=hn({yieldCapacityRows:[],townAreaRows:[],typeRows:[],levelRows:[],yieldRows:[],minTypeRows:[],muYieldRows:[],edibleYieldRows:[],edibleMuRows:[],typeTownRows:[],levelTownRows:[],minTownRows:[]});return Q(f({status:"error",error:n,core:[],top:[]},e),"wetland",a)}function we(n={},a){const e=w(u(n.coreRows)),t=w(u(n.townRows)),o=w(u(n.typeRows)),s=w(u(n.scaleRows)),r=w(u(n.protectionRows)),l=w(u(n.ownershipRows)),i=w(u(n.qualityRows)),d=w(u(n.originRows)),m=w(u(n.ageRows)),g=w(u(n.canopyRows)),p=w(u(n.forestTypeRows)),y=w(u(n.manageLevelRows)),T=w(u(n.regionRows)),P=w(u(n.ownerRows)),R=w(u(n.typeTownRows)),N=w(u(n.qualityLevelRows)),W=w(u(n.townConcentrationRows)),_=w(u(n.typeConcentrationRows)),q=Nn({townRows:t,typeRows:o,scaleRows:s,protectionRows:r,ownershipRows:l,qualityRows:i,originRows:d,ageRows:m,canopyRows:g,forestTypeRows:p,manageLevelRows:y,regionRows:T,ownerRows:P,typeTownRows:R,qualityLevelRows:N,townConcentrationRows:W,typeConcentrationRows:_}),E=[e,t,o,s,r,l,i,d,m,g,p,y,T,P,R,N,W,_].some(x=>x.length>0);return Q(v(f({status:E?"success":"empty",core:e,top:e},q),{meta:n.meta||{}}),"woodland",a)}function me(n,a){const e=Nn({townRows:[],typeRows:[],scaleRows:[],protectionRows:[],ownershipRows:[],qualityRows:[],originRows:[],ageRows:[],canopyRows:[],forestTypeRows:[],manageLevelRows:[],regionRows:[],ownerRows:[],typeTownRows:[],qualityLevelRows:[],townConcentrationRows:[],typeConcentrationRows:[]});return Q(f({status:"error",error:n,core:[],top:[]},e),"woodland",a)}function Pe(n,a){return h(this,null,function*(){try{if(n==="overview"){const e=B(yield en("/screen2/resource/overview"));return re(e)}if(n==="woodland"){const e=yield ln();return we(e,a)}if(n==="grassland"){const e=yield H();return le(e,a)}if(n==="wetland"){const e=yield an();return ce(e,a)}return vn(n)}catch(e){return n==="overview"?ie(e):n==="woodland"?me(e,a):n==="grassland"?ue(e,a):n==="wetland"?de(e,a):v(f({},vn(n)),{status:"error",error:e})}})}function Te(n,a,e=null){return h(this,null,function*(){try{const t=yield Xn(n,a,e);if(t)return t;if(n==="woodland"){const o=yield ln(),s={"woodland-distribution":{key:"woodlandTownRows",title:"林地面积排行"},"woodland-protection":{key:"woodlandProtectionTownRows",title:"公益林面积排行",layerTotalOnly:!0},"woodland-type":{key:"woodlandTypeTownRows",title:"林地类型面积排行"},"woodland-quality":{key:"woodlandQualityTownRows",title:"林地质量面积排行",layerTotalOnly:!0},"woodland-ownership":{key:"woodlandOwnershipTownRows",title:"林地权属面积排行"}}[a]||{key:"woodlandTownRows",title:"林地面积排行"},r=u(o[s.key]).filter(i=>!s.layerTotalOnly||i.includedInLayerTotal===!0),l=s.key==="woodlandTownRows"?r:Yn(r,{nameKeys:["townName","name"],valueKeys:["value","areaWanMu"],unit:"万亩"});return S({topicKey:n,layerKey:a,title:s.title,unit:"万亩",rows:j(l,{nameKeys:["townName","name"],valueKeys:["value","areaWanMu"],unit:"万亩"})})}if(n==="grassland")return a==="basic-grassland"?yield Z(n,a,"basicGrasslandTownRows",["basicAreaWanMu","value"],"基本草原面积排行"):a==="grassland-level"?yield Z(n,a,"grassLevelTownRows",["areaWanMu","value","acreage","areaMu"],"草原级面积排行",!0):a==="grassland-type"?yield Z(n,a,"grassTypeTownRows",["areaWanMu","value","acreage","areaMu"],"草原类型面积排行",!0):a==="grassland-yield"?yield Qn(n,a):yield Z(n,a,"townAreaRows",["value","totalAreaWanMu","areaWanMu"],"草地面积排行");if(n==="wetland"){const o=yield an(),s={"wetland-distribution":{key:"townAreaRows",title:"湿地面积排行"},"wetland-level":{key:"levelTownRows",title:"湿地级面积排行"},"wetland-type":{key:"typeTownRows",title:"湿地类型面积排行"},"wetland-yield":{key:"yieldRows",title:"湿地生产力排行"}}[a]||{key:"townAreaRows",title:"湿地面积排行"},r=u(o[s.key]),l=b(r[0],["unit"])||"";return S({topicKey:n,layerKey:a,title:s.title,unit:l,rows:j(r,{nameKeys:["townName","areaName","name"],valueKeys:["value","areaWanMu","yield","muYield"],unit:l})})}return S({topicKey:n,layerKey:a,title:"乡镇统计排行",rows:[]})}catch(t){return{status:"error",topicKey:n,layerKey:a,title:"乡镇统计排行",unit:"",rows:[],error:t}}})}export{ve as a,Pe as b,Te as c,Re as d,be as g};