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/openApi-50c9b694-1784132792...

1 lines
51 KiB

var en=Object.defineProperty,nn=Object.defineProperties;var an=Object.getOwnPropertyDescriptors;var Ce=Object.getOwnPropertySymbols;var tn=Object.prototype.hasOwnProperty,rn=Object.prototype.propertyIsEnumerable;var Ee=(e,n,a)=>n in e?en(e,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[n]=a,b=(e,n)=>{for(var a in n||(n={}))tn.call(n,a)&&Ee(e,a,n[a]);if(Ce)for(var a of Ce(n))rn.call(n,a)&&Ee(e,a,n[a]);return e},h=(e,n)=>nn(e,an(n));var f=(e,n,a)=>new Promise((t,r)=>{var s=i=>{try{o(a.next(i))}catch(u){r(u)}},l=i=>{try{o(a.throw(i))}catch(u){r(u)}},o=i=>i.done?t(i.value):Promise.resolve(i.value).then(s,l);o((a=a.apply(e,n)).next())});import{n as g,r as Ge}from"./index-a1b5e9c0-1784132792831.js";import{g as Ye}from"./geoserver-c6c88e84-1784132792831.js";import{d as U,e as Ke,g as sn}from"./townshipBoundaries-822b7d9e-1784132792831.js";const ln="/openApi",Z=756.37,_e=297.29,B=291.82,on=16.47,un=177.92,cn=[{key:"none",name:"未退化",value:481.8,unit:"万亩"},{key:"light",name:"轻度退化",value:231.25,unit:"万亩"},{key:"middle",name:"中度退化",value:23.7,unit:"万亩"},{key:"heavy",name:"重度退化",value:20.21,unit:"万亩"}],mn=U.map(oe),de=["#32DCFF","#24F6C4","#8BF7FF","#46E7FF","#19FFC6","#5CDFFF"],ee=["#19FFC6","#32DCFF","#8BF7FF","#46E7FF","#24F6C4","#5CDFFF"];function Oe(e){return/^https?:\/\//.test(e)?e:`${ln}${e.startsWith("/")?e:`/${e}`}`}function Q(e,n){return Ge(Oe(e),{method:"POST",body:n?JSON.stringify(n):void 0,headers:{"Content-Type":"application/json"}})}function P(e,n){return Ge(Oe(e),{params:n})}function qe(e,n=[]){const a=[...n.map(t=>e==null?void 0:e[t]),...n.map(t=>{var r;return(r=e==null?void 0:e.data)==null?void 0:r[t]}),...n.map(t=>{var r;return(r=e==null?void 0:e.result)==null?void 0:r[t]}),e==null?void 0:e.data,e==null?void 0:e.result,e];for(const t of a)if(Array.isArray(t)){const r=t.find(s=>s&&typeof s=="object");if(r)return r}else if(t&&typeof t=="object")return t;return null}function jn(e){return f(this,null,function*(){if(!e)return null;const n=g(yield P("/woodland/detail",{wkt:e}));return qe(n,["woodland"])})}function Un(e){return f(this,null,function*(){if(!e)return null;const n=g(yield P("/basic_grassland/detail",{wkt:e}));return qe(n,["basicGrassland"])})}function d(e,n){for(const a of n)if((e==null?void 0:e[a])!==void 0&&(e==null?void 0:e[a])!==null&&(e==null?void 0:e[a])!=="")return e[a]}function A(e){if(e==null||e==="")return;const n=Number(e);return Number.isNaN(n)?void 0:n}function w(e){const n=A(e);if(n!==void 0)return Number.isInteger(n)?n:Number(n.toFixed(2))}function Me(e,n,a){const t=A(e),r=A(n),s=A(a);if(t===void 0||r===void 0||s===void 0)return[w(n),w(a)];const l=r+s;if(!l)return[0,0];const o=w(r/l*t);return[o,w(Math.max(t-o,0))]}function G(e,n){const a=A(e),t=A(n);if(!(a===void 0||t===void 0||t===0))return a/t*100}function ve(e,n,a="占比"){var r;const t=w((r=d(e,["areaPercent","area_percent","percent"]))!=null?r:G(d(e,["areaWanMu","value"]),n));return t===void 0?"":`${a} ${t}%`}function j(e,n=""){const a=w(d(e,["areaPercent","area_percent","percent"]));return a===void 0?"":`${n}${a}%`}function dn(e,n=0){const a=d(e,["name","title","label","zh","itemName","item_name"])||`指标${n+1}`,t=w(d(e,["value","num","count","area","acreage","total"])),r=d(e,["unit","unitName","unit_name"])||"";return{key:d(e,["id","key","code"])||`${a}-${n}`,name:a,value:t,unit:r,source:e}}function vn(e){return(Array.isArray(e)?e:(e==null?void 0:e.rows)||(e==null?void 0:e.list)||[]).map(dn).filter(a=>a.name)}function wn(e){const n=(e==null?void 0:e.core)||(e==null?void 0:e.summary)||e||{},a=((e==null?void 0:e.typeDistribution)||(e==null?void 0:e.typeStats)||[])[0]||{},t=((e==null?void 0:e.ecologicalPosition)||[])[0]||{};return[{key:"woodland-area",name:"林地总面积",value:w(d(n,["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"])),unit:"万亩"},{key:"woodland-main-type-rate",name:`${d(a,["name"])||"主导类型"}占比`,value:w(d(a,["areaPercent","area_percent","percent"])),unit:"%"},{key:"woodland-ecology-area",name:"生态重点区面积",value:w(d(t,["areaWanMu","value"])),unit:"万亩"}]}function fn(e){const n=(e==null?void 0:e.overview)||(e==null?void 0:e.summary)||e||{},a=d(n,["areaUnit","area_unit"])||"万亩",[t,r]=Me(Z,d(n,["basicAreaWanMu","basic_area_wan_mu","basicArea","basic_area"]),d(n,["generalAreaWanMu","general_area_wan_mu","generalArea","general_area"]));return[{key:"grassland-total-area",name:"草地面积",value:Z,unit:a},{key:"basic-grassland-area",name:"基本草原",value:t,unit:a},{key:"general-grassland-area",name:"一般草原",value:r,unit:a}]}function ne(e,n){const r=({woodland:[{key:"woodland-area",name:"林地总面积",unit:"万亩"},{key:"woodland-public-area",name:"公益林面积",unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",unit:"%"}],grassland:[{key:"grassland-area",name:"草地面积",unit:"万亩"},{key:"basic-grassland",name:"基本草原",unit:"万亩"},{key:"general-grassland",name:"一般草原",unit:"万亩"}],wetland:[{key:"wetland-area",name:"湿地面积",unit:"万亩"},{key:"wetland-yield",name:"湿地生产力",unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",unit:"万亩"}]}[n]||[]).map((s,l)=>{var o,i;return h(b(b({},s),e[l]||{}),{name:((o=e[l])==null?void 0:o.name)||s.name,unit:((i=e[l])==null?void 0:i.unit)||s.unit})});return n==="wetland"&&r[0]&&(r[0]=h(b({},r[0]),{key:r[0].key||"wetland-area",name:"湿地面积",value:B,unit:r[0].unit||"万亩"})),r.length?r:e}function yn(e){return f(this,null,function*(){let n;for(const a of e)try{return yield a()}catch(t){n=t}throw n||new Error("No request configured")})}function k(e=[],n={}){const{nameKeys:a=["name","townName","typeName"],valueKeys:t=["areaWanMu","value","totalAreaWanMu","basicAreaWanMu"],unit:r="万亩",max:s=Number.POSITIVE_INFINITY,extra:l}=n,o=e.map((i,u)=>{const c=w(d(i,t)),v={key:d(i,["key","code","townCode"])||`${d(i,a)||u}-${u}`,name:d(i,a)||`${u+1}`,value:c,unit:r,percent:w(d(i,["percent","areaPercent","basicRatio","generalRatio"])),source:i};return l?h(b({},v),{extra:l(i)}):v}).sort((i,u)=>(Number(u.value)||0)-(Number(i.value)||0));return Number.isFinite(s)?o.slice(0,s):o}function we(e=[],n={}){const{nameKeys:a=["name"],valueKeys:t=["value"],unit:r,max:s=Number.POSITIVE_INFINITY,extra:l}=n;return k(e,{nameKeys:a,valueKeys:t,unit:r,max:s,extra:l})}function gn(e=[],n={}){const{nameKeys:a=["grassMinType","name"],valueKeys:t=["acreage"],unit:r="万亩",max:s=Number.POSITIVE_INFINITY}=n,l=e.map((o,i)=>{const u=d(o,t),c=w(r==="万亩"?A(u)/1e4:u),v=d(o,a)||`${i+1}`;return{key:d(o,["key","code"])||`${v}-${i}`,name:v,value:c,unit:r,source:o}}).filter(o=>Number(o.value)>0).sort((o,i)=>(Number(i.value)||0)-(Number(o.value)||0));return Number.isFinite(s)?l.slice(0,s):l}function p(e,n,a,t="rank",r={}){return b({key:e,title:n,type:t,rows:a||[]},r)}function ge(e=[],n=[],a={}){const{unit:t="万吨",max:r=Number.POSITIVE_INFINITY,showMuYieldExtra:s=!0}=a,l=new Map(n.map(o=>[o.areaName,o]));return k(e,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:t,max:r,extra:o=>{const i=l.get(o.areaName),u=w(d(i,["yield","value"])),c=d(i,["unit"])||"斤";return s&&u!==void 0?`亩产 ${u} ${c}`:""}})}function oe(e){return String(e||"").replace(/\s+/g,"").trim()}function me(e=[]){const n=new Map(mn.map((a,t)=>[a,t]));return[...e].sort((a,t)=>{const r=n.get(oe(a==null?void 0:a.name)),s=n.get(oe(t==null?void 0:t.name));return r!==void 0&&s!==void 0?r-s:r!==void 0?-1:s!==void 0?1:0})}function Se(e){const n=String(e||"");return{用于畜牧业生产的人工草地:"人工草地","对调节气候、涵养水源、保持水土、防风固沙具有特殊作用的草原":"生态调节草原",国家重点保护野生动植物生存环境的草原:"野生动植物栖息草原","草原科研、教学实验基地":"科研教学草原"}[n]||n}function pe(e){return Se(e).replace(/\s+/g,"").replace(/类$/,"")}function be(e){const n=String(e||""),a=n.match(/level-([1-8])/);if(a)return a[1];const t=n.match(/([1-8])\s*级/);if(t)return t[1];if(/^[1-8]$/.test(n.trim()))return n.trim();const s=Object.entries({:"1",:"2",:"3",:"4",:"5",:"6",:"7",:"8"}).find(([l])=>n.includes(`${l}`));return(s==null?void 0:s[1])||""}function Ve(e){return be(e==null?void 0:e.key)||be(e==null?void 0:e.name)}function Ne(e=[],n={}){const{nameKeys:a=["name","townName","areaName"],valueKeys:t=["areaWanMu","value","totalAreaWanMu","yield"],unit:r="万亩"}=n;return e.map((s,l)=>{const o=oe(d(s,a)),i=w(d(s,t));return!o||i===void 0?null:{key:d(s,["key","code","townCode"])||`${o}-${l}`,name:o,value:i,unit:d(s,["unit"])||r,source:s}}).filter(Boolean).sort((s,l)=>(Number(l.value)||0)-(Number(s.value)||0))}function Te(e=[],n={}){const{nameKeys:a=["townName","name","areaName"],valueKeys:t=["areaWanMu","value","totalAreaWanMu","yield"],unit:r="万亩"}=n,s=new Map;return e.forEach(l=>{const o=oe(d(l,a)),i=A(d(l,t));if(!o||i===void 0)return;const u=s.get(o)||{key:d(l,["townCode","code"])||o,name:o,value:0,unit:d(l,["unit"])||r,source:[]};u.value+=i,u.source.push(l),s.set(o,u)}),Array.from(s.values()).map(l=>h(b({},l),{value:w(l.value)})).sort((l,o)=>(Number(o.value)||0)-(Number(l.value)||0))}function H({topicKey:e,layerKey:n,title:a,unit:t="万亩",rows:r=[],note:s="",metricLabel:l=""}){const o=r.filter(i=>(i==null?void 0:i.name)&&i.value!==void 0).sort((i,u)=>(Number(u.value)||0)-(Number(i.value)||0)).map((i,u)=>h(b({},i),{unit:i.unit||t,rank:u+1}));return{status:o.length?"success":"empty",topicKey:e,layerKey:n,title:a,unit:t,metricLabel:l,note:s,rows:o}}function fe(l){return f(this,arguments,function*({topicKey:e,layerKey:n,layerName:a,title:t,cqlFilter:r="",unit:s="万亩"}){const o=yield Ye(a,{propertyName:["xiang","acreage"],cqlFilter:r,maxFeatures:2e5}),i=new Map;return((o==null?void 0:o.features)||[]).forEach(u=>{const c=u.properties||{},v=String(c.xiang||""),m=Ke(v),y=A(c.acreage);if(!m||y===void 0)return;const N=i.get(m)||{key:v,name:m,value:0,unit:s};N.value+=y/1e4,i.set(m,N)}),H({topicKey:e,layerKey:n,title:t,unit:s,rows:Array.from(i.values()).map(u=>h(b({},u),{value:w(u.value)})),note:"按 GeoServer 图斑属性汇总到乡镇"})})}function pn(e,n,a="林地面积排行"){return f(this,null,function*(){const t=g(yield Q("/woodland/distribution"));return H({topicKey:e,layerKey:n,title:a,unit:"万亩",rows:Ne((t==null?void 0:t.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],unit:"万亩"})})})}function Be(e,n,a,t){return f(this,null,function*(){const r=g(yield P("/basic_grassland/overview"));return H({topicKey:e,layerKey:n,title:t,unit:"万亩",rows:Ne((r==null?void 0:r.townStats)||[],{nameKeys:["name"],valueKeys:[a],unit:"万亩"})})})}function bn(e={},n=[],a=[]){const t=d(e,a);if(t)return oe(t);const r=n.map(l=>d(e,[l])).find(l=>l!==void 0),s=String(r||"").slice(0,9);return Ke(s)}function Nn(e,n,a,t){return f(this,null,function*(){const r=(t==null?void 0:t.rankingTownCodeKeys)||(a==null?void 0:a.rankingTownCodeKeys)||["area_code","xiang","town_code"],s=(t==null?void 0:t.rankingTownNameKeys)||(a==null?void 0:a.rankingTownNameKeys)||["town_name","area_name","xiang_name"],l=(t==null?void 0:t.rankingAreaKeys)||(a==null?void 0:a.rankingAreaKeys)||["acreage","area_mu","area"],o=(t==null?void 0:t.rankingPropertyName)||[...r,...s,...l],i=yield Ye(a.layerName,{propertyName:o,cqlFilter:t.cqlFilter,maxFeatures:2e5,timeout:25e3}),u=new Map;return((i==null?void 0:i.features)||[]).forEach(c=>{const v=c.properties||{},m=bn(v,r,s),y=A(d(v,l));if(!m||y===void 0)return;const N=u.get(m)||{key:m,name:m,value:0,unit:"万亩"};N.value+=y/1e4,u.set(m,N)}),H({topicKey:e,layerKey:n,title:`${t.name}面积排行`,unit:"万亩",metricLabel:t.name,rows:Array.from(u.values()).map(c=>h(b({},c),{value:w(c.value),metricLabel:t.name})),note:"按选中图例过滤 GeoServer 图斑并汇总到乡镇"})})}function Pn(e,n,a){return f(this,null,function*(){const t=g(yield P("/basic_grassland/overview"));return H({topicKey:e,layerKey:n,title:`${a.name}面积排行`,unit:"万亩",metricLabel:a.name,rows:Ne((t==null?void 0:t.townStats)||[],{nameKeys:["name"],valueKeys:[a.rankingValueKey],unit:"万亩"}).map(r=>h(b({},r),{metricLabel:a.name}))})})}function Pe(e,n,a,t,r={}){const s=re(t||[],r).map(l=>h(b({},l),{metricLabel:a.name}));return H({topicKey:e,layerKey:n,title:`${a.name}面积排行`,unit:"万亩",metricLabel:a.name,rows:s})}function hn(e,n,a){return f(this,null,function*(){const t=Ve(a);if(!t)return null;const r=g(yield P("/grassland_grassland_level/distribution"));return Pe(e,n,a,r,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:s=>be(d(s,["level","name"]))===t})})}function Rn(e,n,a){return f(this,null,function*(){const t=pe(a.name);if(!t)return null;const[r,s]=yield Promise.all([R(()=>f(this,null,function*(){return g(yield P("/grassland_grass_type/distribution"))})),R(()=>f(this,null,function*(){return g(yield P("/grassland_grass_type/minTypeAreaDistribution"))}))]);return Pe(e,n,a,[...r||[],...s||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:l=>{const o=d(l,["grassMinType","grass_min_type","grassType","grass_type","name"]);return pe(o)===t}})})}function kn(e,n,a){return f(this,null,function*(){const t=Ve(a);if(!t)return null;const r=g(yield P("/wetland_grassland_level/distribution"));return Pe(e,n,a,r,{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:s=>be(d(s,["level","name"]))===t})})}function _n(e,n,a){return f(this,null,function*(){const t=pe(a.name);if(!t)return null;const[r,s]=yield Promise.all([R(()=>f(this,null,function*(){return g(yield P("/wetland_grass_type_copy/distribution"))})),R(()=>f(this,null,function*(){return g(yield P("/wetland_grass_type_copy/minTypeAreaDistribution"))}))]);return Pe(e,n,a,[...r||[],...s||[]],{nameKeys:["areaName","area_name","name"],valueKeys:["acreage","areaWanMu","value"],filter:l=>{const o=d(l,["grassMinType","grass_min_type","grassType","grass_type","name"]);return pe(o)===t}})})}function Tn(e,n,a){return f(this,null,function*(){if(!(a!=null&&a.key))return null;const t=sn(e,n);return t?e==="grassland"&&n==="basic-grassland"&&a.rankingValueKey?Pn(e,n,a):e==="grassland"&&n==="grassland-level"?hn(e,n,a):e==="grassland"&&n==="grassland-type"?Rn(e,n,a):e==="wetland"&&n==="wetland-level"?kn(e,n,a):e==="wetland"&&n==="wetland-type"?_n(e,n,a):a.cqlFilter&&t.layerName?Nn(e,n,t,a):null:null})}function ye(e,n,a,t,r="万吨"){return f(this,null,function*(){const s=g(yield P(a)),l=d(s==null?void 0:s[0],["unit"])||r;return H({topicKey:e,layerKey:n,title:t,unit:l,rows:Ne(s||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:l})})})}function F(e=[],n=5){return e.slice(0,n)}function se(e=[],n={}){var c,v;const{limit:a=5,minPercent:t=1,otherName:r="其他类型"}=n,s=e.filter(m=>(m==null?void 0:m.name)&&Number(m.value)>0).sort((m,y)=>(Number(y.value)||0)-(Number(m.value)||0)),l=s.reduce((m,y)=>m+(Number(y.value)||0),0);if(!l||s.length<=a)return s;const o=[],i=[];if(s.forEach((m,y)=>{const N=G(m.value,l);y<a-1&&(N===void 0||N>=t)?o.push(m):i.push(m)}),!i.length)return o;const u=i.reduce((m,y)=>m+(Number(y.value)||0),0);return[...o,{key:`${r}-${i.length}`,name:r,value:w(u),unit:((c=i[0])==null?void 0:c.unit)||((v=s[0])==null?void 0:v.unit)||"万亩",extra:`${w(G(u,l))}%`}]}function O(e=[]){return e.reduce((n,a)=>n+(Number(a.value)||0),0)}function D(e=[],n=O(e),a=""){return e.map(t=>{const r=w(G(t.value,n));return h(b({},t),{extra:r===void 0?t.extra:`${a}${r}%`})})}function le(e=[],n,a={}){const{key:t="unclassified",name:r="未分类",unit:s="万亩",sort:l=!0}=a,o=A(n);if(o===void 0)return e;const i=O(e),u=w(o-i);if(u===void 0||u<=.01)return e;const c=[...e,{key:t,name:r,value:u,unit:s}];return l?c.sort((v,m)=>(Number(m.value)||0)-(Number(v.value)||0)):c}function ce(e=[],n){const a=A(n),t=O(e);if(a===void 0||!t)return e;let r=0;return e.map((s,l)=>{const o=l===e.length-1,i=w(o?Math.max(a-r,0):(Number(s.value)||0)/t*a);return r+=Number(i)||0,h(b({},s),{value:i})})}function K(e=[],n=[]){return n.length?e.map((a,t)=>h(b({},a),{color:(a==null?void 0:a.color)||(a==null?void 0:a.fillColor)||n[t%n.length]})):e}function $e(e){return Array.isArray(e==null?void 0:e.rows)&&e.rows.length>0}function z(e=[],n=[],a=4){const t=[],r=new Set,s=o=>{!o||r.has(o.key)||(r.add(o.key),t.push(o))},l=[...e,...n];return l.filter($e).forEach(s),l.filter(o=>o&&!$e(o)).forEach(s),t.slice(0,a)}function Mn(e,n,a={}){return e&&b(h(b({},e),{type:n}),a)}function _(e=[]){const n=["bar","line","donut","column","structure","heat","peak","split"],a={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 e.map(r=>{if(!(r!=null&&r.type)||["projectTable","iconMetric","metric","spotlight","rank","table","stackColumn"].includes(r.type))return r;const s=r.type==="donut"&&r.variant==="ring"?"donut-ring":r.type;if(r.fixedType||!t.has(s))return t.add(s),r;const l=(a[r.type]||n).find(o=>!t.has(o))||r.type;return t.add(l),Mn(r,l,{variant:l===r.type?r.variant:void 0})})}function De(e=[],n={}){const{headCount:a=4,headName:t="重点区域",tailName:r="其他区域"}=n,s=e.filter(u=>(u==null?void 0:u.name)&&Number(u.value)>0);if(!s.length)return[];const l=s.slice(0,a),o=s.slice(a),i=(u,c)=>{var v,m;return{key:u,name:u,value:w(c.reduce((y,N)=>y+(Number(N.value)||0),0)),unit:((v=c[0])==null?void 0:v.unit)||((m=s[0])==null?void 0:m.unit)||"万亩",extra:`${c.length}`}};return[i(t,l),o.length?i(r,o):null].filter(u=>u&&Number(u.value)>0)}function ie(e,n,a){var o,i,u,c;if(n==="woodland"||!a)return e;const t={grassland:"grassland-distribution",wetland:"wetland-distribution",woodland:"woodland-distribution"}[n],r=((o=e==null?void 0:e.layerPanels)==null?void 0:o[a])||((i=e==null?void 0:e.layerPanels)==null?void 0:i[t]);if(!r)return e;const s=(u=r.leftPanels)!=null&&u.length?r.leftPanels:e.leftPanels,l=(c=r.rightPanels)!=null&&c.length?r.rightPanels:e.rightPanels;return h(b({},e),{activeLayerKey:a||t,leftPanels:s,rightPanels:l,left:(s==null?void 0:s[0])||e.left,right:(l==null?void 0:l[0])||e.right})}function Xe(e,n=["areaWanMu","value","acreage","areaMu"]){for(const a of n){const t=d(e,[a]),r=A(t);if(r===void 0)continue;const s=String(a).toLowerCase(),l=String(d(e,["unit","areaUnit","area_unit"])||"");return s.includes("wanmu")||l==="万亩"?r:s.includes("mu")||l==="亩"?r/1e4:r}}function re(e=[],n={}){const{nameKeys:a=["name","areaName","townName"],valueKeys:t=["areaWanMu","value","acreage","areaMu"],nameTransform:r=i=>i,filter:s,extra:l}=n,o=new Map;return e.forEach(i=>{if(s&&!s(i))return;const u=d(i,a),c=r(u,i),v=Xe(i,t);if(!c||v===void 0)return;const m=o.get(c)||{key:d(i,["key","code","townCode"])||c,name:c,value:0,unit:"万亩",source:[]};m.value+=v,m.source.push(i),o.set(c,m)}),Array.from(o.values()).map(i=>{const u=h(b({},i),{value:w(i.value)});return l?h(b({},u),{extra:l(u)}):u}).filter(i=>Number(i.value)>0).sort((i,u)=>(Number(u.value)||0)-(Number(i.value)||0))}function Ie(e){return String(e||"").replace(/草原/g,"湿地")}function Wn(e={},n=[]){var l;const a=(e==null?void 0:e.unit)||d(n==null?void 0:n[0],["unit"])||"万吨",t=(l=A(e==null?void 0:e.xc))!=null?l:O(n),r=A(e==null?void 0:e.edibleXc),s=t!==void 0&&r!==void 0?Math.max(t-r,0):void 0;return[{key:"wetland-yield-edible",name:"可食鲜草",value:w(r),unit:a,extra:`${w(G(r,t))}%`},{key:"wetland-yield-unavailable",name:"不可食鲜草",value:w(s),unit:a,extra:`${w(G(s,t))}%`}].filter(o=>o.value!==void 0)}function xn(e={},n=[],a=[]){var i;const t=(e==null?void 0:e.unit)||d(n==null?void 0:n[0],["unit"])||d(a==null?void 0:a[0],["unit"])||"万吨",r=(i=A(e==null?void 0:e.xc))!=null?i:O(a),s=A(e==null?void 0:e.edibleXc),l=O(n),o=s!==void 0||l>0?Math.max(s||0,l||0):void 0;return h(b({},e),{xc:w(r),edibleXc:w(o),unit:t})}function je({yieldSummary:e,townAreaRows:n,typeRows:a,levelRows:t,yieldRows:r,minTypeRows:s,muYieldRows:l,edibleYieldRows:o,edibleMuRows:i,typeTownRows:u,levelTownRows:c,minTownRows:v}){const m=p("wetland-town-area","湿地面积分布",K(me(n),de),"column",{span:1,variant:"plain"}),y=p("wetland-type","湿地类型结构",K(a,de),"donut",{span:1}),N=p("wetland-level-proportion","湿地级占比",K(D(t),de),"donut",{span:1,variant:"ring"}),T=p("wetland-min-type","湿地优势小类",K(F(s,6),de),"bar",{span:1,variant:"raceBarNoWrap"}),W=p("wetland-yield-capacity","湿地产能结构",Wn(e,r),"structure",{span:1}),x=p("wetland-yield","湿地生产力分布",me(r),"line",{span:1,fixedType:!0}),L=p("wetland-edible-yield","可食鲜草产量",F(o,U.length),"column",{span:1,variant:"slim"}),E=p("wetland-mu-yield","湿地亩产效率",F(l,U.length),"heat",{span:1,limit:U.length}),$=p("wetland-level","湿地级别面积",t,"column",{span:1}),C=p("wetland-level-town","1级湿地分布",F(c,U.length),"bar",{span:1,variant:"distribution"}),q=p("wetland-type-town","湿地类型乡镇分布",F(u,U.length),"bar",{span:1,variant:"distribution"}),Y=p("wetland-edible-mu","可食鲜草亩产",F(i,U.length),"bar",{span:1}),J=p("wetland-min-town","优势小类乡镇分布",F(v,U.length),"bar",{span:1,variant:"distribution"}),S=_([m,y,N,T]),I=_([L,x,E,W]);return{leftPanels:S,rightPanels:I,left:S[0],right:I[0],layerPanels:An({townAreaPanel:m,typePanel:y,yieldCapacityPanel:W,yieldPanel:x,levelPanel:$,levelTownPanel:C,muYieldPanel:E,levelStructurePanel:N,typeTownPanel:q,minTypePanel:T,edibleYieldPanel:L,edibleMuPanel:Y,minTownPanel:J})}}function An(e={}){const{townAreaPanel:n,typePanel:a,yieldCapacityPanel:t,yieldPanel:r,levelPanel:s,levelTownPanel:l,muYieldPanel:o,levelStructurePanel:i,typeTownPanel:u,minTypePanel:c,edibleYieldPanel:v,edibleMuPanel:m,minTownPanel:y}=e;return{"wetland-distribution":{leftPanels:_([n,a,i,c].filter(Boolean)),rightPanels:_([v,r,o,t].filter(Boolean))},"wetland-level":{leftPanels:_([i,s,l,a].filter(Boolean)),rightPanels:_([v,r,o,t].filter(Boolean))},"wetland-type":{leftPanels:_([a,u,c,y].filter(Boolean)),rightPanels:_([v,r,m,t].filter(Boolean))},"wetland-yield":{leftPanels:_([n,a,i,c].filter(Boolean)),rightPanels:_([v,r,o,t].filter(Boolean))}}}function Ln(e={}){const{leftPanels:n=[],rightPanels:a=[]}=e,t={leftPanels:_(n.filter(Boolean)),rightPanels:_(a.filter(Boolean))};return{"grassland-distribution":t,"basic-grassland":t,"grassland-level":t,"grassland-type":t,"grassland-yield":t,"grassland-health":t}}function Ue({townRows:e=[],typeRows:n=[],scaleRows:a=[],protectionRows:t=[],ownershipRows:r=[],qualityRows:s=[],originRows:l=[],ageRows:o=[],canopyRows:i=[],forestTypeRows:u=[],manageLevelRows:c=[],regionRows:v=[],ownerRows:m=[],typeTownRows:y=[],qualityLevelRows:N=[],townConcentrationRows:T=De(e,{headCount:4,headName:"前四乡镇",tailName:"其他乡镇"}),typeConcentrationRows:W=De(n,{headCount:2,headName:"主要类型",tailName:"其他类型"})}){const x=p("woodland-town","林地面积分布",K(me(e),ee),"column",{span:1,variant:"plain",lineOverlay:!0}),L=p("woodland-type","林地类型结构",K(n,ee),"donut",{span:1,variant:"ring"}),E=p("woodland-protection","公益林保护等级",K(D(t),ee),"bar",{span:1,variant:"raceBarRelaxed"}),$=p("woodland-ownership","林地权属结构",K(D(r),ee),"structure",{span:1}),C=p("woodland-quality","优势树种面积",F(s,6),"bar",{span:1,variant:"raceBarNoWrap"}),q=p("woodland-origin","林地起源结构",D(l),"structure",{span:1}),Y=p("woodland-age","林龄组结构",F(o,6),"column",{span:1}),J=p("woodland-canopy","郁闭度结构",K(F(i,6),ee),"donut",{span:1,fixedType:!0}),S=p("woodland-area-scale","林地图斑规模",a,"column",{span:1}),I=p("woodland-forest-type","森林类别结构",F(u,6),"bar",{span:1}),V=p("woodland-manage-level","管护等级分布",F(c,6),"bar",{span:1}),ae=p("woodland-public-rank","公益林面积排行",F(v,6),"bar",{span:1,variant:"distribution"}),M=p("woodland-owner-rank","权属单位排行",F(m,6),"bar",{span:1}),X=p("woodland-type-town","乡镇类型构成",F(y,6),"bar",{span:1,variant:"distribution"}),he=p("woodland-quality-level","林地质量等级",D(N),"donut",{span:1}),xe=p("woodland-town-concentration","林地集中度",K(D(T),ee),"structure",{span:1}),Ae=p("woodland-type-concentration","类型集中度",K(D(W),ee),"rose",{span:1}),Le=_(z([x,L,E,$],[S,M,I,C])),Fe=_(z([C,q,Y,J],[S,M,I,ae,xe,Ae]));return{leftPanels:Le,rightPanels:Fe,left:Le[0],right:Fe[0],layerPanels:Fn({townPanel:x,typePanel:L,scalePanel:S,protectionPanel:E,ownershipPanel:$,qualityPanel:C,originPanel:q,agePanel:Y,canopyPanel:J,forestTypePanel:I,manageLevelPanel:V,regionPanel:ae,ownerPanel:M,typeTownPanel:X,qualityLevelPanel:he,townConcentrationPanel:xe,typeConcentrationPanel:Ae})}}function Fn(e={}){const{townPanel:n,typePanel:a,scalePanel:t,protectionPanel:r,ownershipPanel:s,qualityPanel:l,originPanel:o,agePanel:i,canopyPanel:u,forestTypePanel:c,manageLevelPanel:v,regionPanel:m,ownerPanel:y,typeTownPanel:N,qualityLevelPanel:T,townConcentrationPanel:W,typeConcentrationPanel:x}=e;return{"woodland-distribution":{leftPanels:_(z([n,a,r,s],[t,c,y])),rightPanels:_(z([l,o,i,u],[t,y,m,W,x,T]))},"woodland-protection":{leftPanels:_(z([r,c,v,n],[a,s,t])),rightPanels:_(z([m,l,o,s],[y,a,t]))},"woodland-type":{leftPanels:_(z([a,n,N,t],[r,s,c])),rightPanels:_(z([l,o,r,s],[i,u,y,x]))},"woodland-quality":{leftPanels:_(z([l,o,i,u],[T,t,a])),rightPanels:_(z([n,a,r,s],[c,y,t]))},"woodland-ownership":{leftPanels:_(z([s,y,n,a],[t,r,l])),rightPanels:_(z([r,l,o,t],[c,i,u]))}}}function Cn(e=cn){const n=e.map(s=>h(b({},s),{value:w(s.value),unit:s.unit||"万亩"})),a=w(Z-O(n)),t=n.find(s=>s.name==="未退化");t&&a!==void 0&&Math.abs(a)>.01&&(t.value=w(Math.max((Number(t.value)||0)+a,0)));const r=["未退化","轻度退化","中度退化","重度退化"];return D(n.sort((s,l)=>{const o=r.indexOf(s.name),i=r.indexOf(l.name);return(o===-1?99:o)-(i===-1?99:i)}),Z)}function En(){return f(this,null,function*(){return We()})}function He(e=[],n={},a=[]){var r;const t=(r=A(n==null?void 0:n.xc))!=null?r:O(a);return[e[0],e[1],e[2],{key:"grassland-yield-total",name:"鲜草产量",value:w(t),unit:(n==null?void 0:n.unit)||"万吨"}].filter(s=>(s==null?void 0:s.value)!==void 0)}function Bn(e={},n=[]){return h(b({},e),{xc:_e,unit:(e==null?void 0:e.unit)||d(n==null?void 0:n[0],["unit"])||"万吨"})}function $n(e=[]){const n=O(e);return e.filter(a=>a.name&&Number(a.value)>0).map(a=>h(b({},a),{color:Dn(a.name),extra:w(G(a.value,n))?`${w(G(a.value,n))}%`:""})).sort((a,t)=>Number(t.value)-Number(a.value))}function Dn(e=""){const n=String(e);return n.includes("未退化")?"#32DCFF":n.includes("重度")?"#FFE06B":n.includes("中度")?"#6EA8FF":"#24F6C4"}function Je(e={},n=[]){var o;const a=(e==null?void 0:e.unit)||d(n==null?void 0:n[0],["unit"])||"万吨",t=(o=A(e==null?void 0:e.xc))!=null?o:O(n),r=A(e==null?void 0:e.edibleXc),s=t!==void 0&&r!==void 0?Math.max(t-r,0):void 0,l=n.find(i=>Number(i.value)>0);return[{key:"forage-total",name:"鲜草总产",value:w(t),unit:a,scaleValue:100},{key:"forage-edible",name:"可食鲜草",value:w(r),unit:a,scaleValue:w(G(r,t))},{key:"forage-unavailable",name:"不可食鲜草",value:w(s),unit:a,scaleValue:w(G(s,t))},{key:"forage-top-town",name:l!=null&&l.name?`最高乡镇:${l.name}`:"最高乡镇产量",value:l==null?void 0:l.value,unit:(l==null?void 0:l.unit)||a,scaleValue:w(G(l==null?void 0:l.value,t))}].filter(i=>i.value!==void 0)}function We(){return{levelRows:Cn(),townRows:[{key:"qiongxi",name:"邛溪镇",value:14.72,unit:"万亩"},{key:"sedi",name:"色地镇",value:13.86,unit:"万亩"},{key:"anqu",name:"安曲镇",value:12.38,unit:"万亩"},{key:"wache",name:"瓦切镇",value:10.64,unit:"万亩"},{key:"chaerma",name:"查尔玛乡",value:9.53,unit:"万亩"},{key:"amu",name:"阿木乡",value:8.71,unit:"万亩"}]}}function ze(e,n){if(e==="grassland"){const[a,t]=Me(Z,637.13,119.31),r=ne([{key:"grassland-area",name:"草地面积",value:Z,unit:"万亩"},{key:"basic-grassland",name:"基本草原",value:a,unit:"万亩"},{key:"general-grassland",name:"一般草原",value:t,unit:"万亩"}],e),s=k([{name:"色地镇",value:99.09,basicAreaWanMu:66.58},{name:"邛溪镇",value:93.01,basicAreaWanMu:70.6},{name:"安曲镇",value:90.08,basicAreaWanMu:73.49},{name:"阿木乡",value:86.3,basicAreaWanMu:77.31},{name:"查尔玛乡",value:80.8,basicAreaWanMu:79.04},{name:"瓦切镇",value:74.74,basicAreaWanMu:70.73},{name:"刷经寺镇",value:74.3,basicAreaWanMu:56.66},{name:"龙日镇",value:62.64,basicAreaWanMu:49.66},{name:"江茸乡",value:49.67,basicAreaWanMu:48.78},{name:"麦洼乡",value:45.82,basicAreaWanMu:44.28}],{nameKeys:["name"],valueKeys:["value"]}),l=k([{areaName:"邛溪镇",yield:38.88},{areaName:"色地镇",yield:37.78},{areaName:"安曲镇",yield:36.77},{areaName:"查尔玛乡",yield:33.21},{areaName:"瓦切镇",yield:32.62},{areaName:"阿木乡",yield:32.17},{areaName:"龙日镇",yield:24.43},{areaName:"刷经寺镇",yield:22.51},{areaName:"麦洼乡",yield:19.5},{areaName:"江茸乡",yield:19.43}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),o=se([{key:"grazing",name:"重要放牧场",value:516.41,unit:"万亩"},{key:"general",name:"一般草原",value:t,unit:"万亩"},{key:"ecology",name:"生态调节草原",value:97.23,unit:"万亩"},{key:"mowing",name:"割草地",value:15.95,unit:"万亩"},{key:"improved",name:"改良草地",value:4.33,unit:"万亩"}],{limit:4,minPercent:3,otherName:"其他草原类型"}),i=k([{areaName:"瓦切镇",yield:798.39},{areaName:"查尔玛乡",yield:794.32},{areaName:"麦洼乡",yield:784.16},{areaName:"邛溪镇",yield:772.43},{areaName:"安曲镇",yield:770.9}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"斤"}),c=We().levelRows,v=D([{key:"level-3",name:"3级草原",value:200.9,unit:"万亩"},{key:"level-4",name:"4级草原",value:205.47,unit:"万亩"},{key:"level-5",name:"5级草原",value:385.42,unit:"万亩"},{key:"level-6",name:"6级草原",value:139.06,unit:"万亩"},{key:"level-7",name:"7级草原",value:3.68,unit:"万亩"},{key:"level-8",name:"8级草原",value:3.61,unit:"万亩"}]),m=D([{key:"good",name:"较健康",value:231.32,unit:"万亩"},{key:"healthy",name:"健康",value:481.87,unit:"万亩"},{key:"subhealthy",name:"亚健康",value:23.69,unit:"万亩"},{key:"unhealthy",name:"不健康",value:20.27,unit:"万亩"}]),y=Je({xc:_e,edibleXc:192.26,unit:"万吨"},l),N=k([{areaName:"邛溪镇",yield:24.71},{areaName:"色地镇",yield:24.18},{areaName:"安曲镇",yield:23.48},{areaName:"查尔玛乡",yield:21.26},{areaName:"瓦切镇",yield:20.88},{areaName:"阿木乡",yield:20.59},{areaName:"龙日镇",yield:15.63},{areaName:"刷经寺镇",yield:14.41},{areaName:"麦洼乡",yield:12.48},{areaName:"江茸乡",yield:12.44}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),T=Ze({core:r,townRows:s,grassTypeRows:o,grassLevelRows:v,healthRows:m,productivityRows:i,edibleYieldRows:N,forageRows:y,degradationRows:c}),W=h(b({status:"fallback"},T),{top:He(r,{xc:_e,unit:"万吨"},l)});return ie(W,e,n)}if(e==="wetland"){const a=ne([{key:"wetland-area",name:"湿地面积",value:B,unit:"万亩"},{key:"wetland-yield",name:"湿地生产力(鲜草)",value:108.84,unit:"万吨"},{key:"wetland-level-1-area",name:"1级湿地面积",value:213.22,unit:"万亩"}],e),t=le(se([{name:"高寒草甸类",value:190.32,unit:"万亩"},{name:"山地草甸类",value:49.48,unit:"万亩"},{name:"低地草甸类",value:3.21,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他湿地类型"}),B,{key:"wetland-type-unclassified",name:"未分类湿地"}),r=le([{name:"1级湿地",value:213.22,unit:"万亩"},{name:"2级湿地",value:22.99,unit:"万亩"},{name:"3级湿地",value:6.42,unit:"万亩"},{name:"4级湿地",value:.36,unit:"万亩"},{name:"5级湿地",value:.02,unit:"万亩"}],B,{key:"wetland-level-unclassified",name:"未分级湿地"}),s=k([{areaName:"色地镇",yield:21.32},{areaName:"瓦切镇",yield:17.49},{areaName:"安曲镇",yield:15.19},{areaName:"邛溪镇",yield:13.41},{areaName:"阿木乡",yield:10.37},{areaName:"龙日镇",yield:10.11},{areaName:"麦洼乡",yield:9.67},{areaName:"江茸乡",yield:5.78},{areaName:"刷经寺镇",yield:3.43},{areaName:"查尔玛乡",yield:2.08}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),l=[{name:"瓦切镇",value:944.22,unit:"斤"},{name:"安曲镇",value:913.28,unit:"斤"},{name:"麦洼乡",value:911.14,unit:"斤"},{name:"查尔玛乡",value:873.31,unit:"斤"},{name:"阿木乡",value:872,unit:"斤"},{name:"邛溪镇",value:870.48,unit:"斤"},{name:"色地镇",value:865.92,unit:"斤"},{name:"刷经寺镇",value:863.48,unit:"斤"},{name:"江茸乡",value:827.92,unit:"斤"},{name:"龙日镇",value:825.59,unit:"斤"}],o=ce([{name:"瓦切镇",value:36.38,unit:"万亩"},{name:"邛溪镇",value:29.29,unit:"万亩"},{name:"阿木乡",value:25.26,unit:"万亩"},{name:"龙日镇",value:24.59,unit:"万亩"},{name:"色地镇",value:24.62,unit:"万亩"}].sort((y,N)=>N.value-y.value),B),i=le([{name:"矮生嵩草、杂类草型",value:108.35,unit:"万亩"},{name:"高山嵩草、矮生嵩草型",value:34.36,unit:"万亩"},{name:"西藏嵩草、杂类草型",value:32.37,unit:"万亩"},{name:"早熟禾、杂类草型",value:20.99,unit:"万亩"},{name:"苔草、杂类草型",value:14.63,unit:"万亩"}],B,{key:"wetland-min-type-unclassified",name:"未分类湿地"}),u=k([{areaName:"色地镇",yield:2.82},{areaName:"邛溪镇",yield:2.71},{areaName:"瓦切镇",yield:2.64},{areaName:"麦洼乡",yield:1.76},{areaName:"安曲镇",yield:1.66}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"万吨"}),c=k([{areaName:"阿木乡",yield:509.83},{areaName:"瓦切镇",yield:509.52},{areaName:"邛溪镇",yield:356.74},{areaName:"色地镇",yield:287.23},{areaName:"麦洼乡",yield:281.27}],{nameKeys:["areaName"],valueKeys:["yield"],unit:"斤"}),v=je({core:a,yieldSummary:{xc:108.84,edibleXc:on,unit:"万吨"},townAreaRows:o,typeRows:t,levelRows:r,yieldRows:s,minTypeRows:i,muYieldRows:l,edibleYieldRows:u,edibleMuRows:c,typeTownRows:o,levelTownRows:o,minTownRows:o}),m=b({status:"fallback",core:a,top:[a[0],a[1],a[2]]},v);return ie(m,e,n)}if(e==="woodland"){const a=ne([{key:"woodland-area",name:"林地总面积",value:177.92,unit:"万亩"},{key:"woodland-public-area",name:"公益林面积",value:159.33,unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:89.55,unit:"%"}],e),t=k([{name:"刷经寺镇",value:59.4,percent:33.39},{name:"色地镇",value:27.97,percent:15.72},{name:"查尔玛乡",value:22.6,percent:12.7},{name:"阿木乡",value:19.37,percent:10.89},{name:"江茸乡",value:11.61,percent:6.53},{name:"邛溪镇",value:8.29,percent:4.66},{name:"瓦切镇",value:7.98,percent:4.49},{name:"安曲镇",value:7.47,percent:4.2},{name:"龙日镇",value:7.08,percent:3.98},{name:"麦洼乡",value:6.14,percent:3.45}],{nameKeys:["name"],valueKeys:["value"],extra:v=>`占比 ${w(v.percent)}%`}),r=se([{name:"灌木林地",value:114.78,unit:"万亩"},{name:"乔木林地",value:49.56,unit:"万亩"},{name:"灌丛沼泽",value:8.79,unit:"万亩"},{name:"其他林地",value:4.79,unit:"万亩"}],{limit:4,minPercent:1,otherName:"其他林地"}),u=Ue({townRows:t,typeRows:r,scaleRows:[{name:"15-150亩",value:96.91,unit:"万亩"},{name:"<15亩",value:39.99,unit:"万亩"},{name:"150-1500亩",value:30.81,unit:"万亩"},{name:"≥1500亩",value:10.21,unit:"万亩"}],protectionRows:[{name:"国家二级公益林",value:158.33,unit:"万亩",extra:"88.99%"},{name:"未划定",value:18.72,unit:"万亩",extra:"10.52%"},{name:"国家一级公益林",value:.88,unit:"万亩",extra:"0.49%"}],ownershipRows:[{name:"集体林地",value:172.19,unit:"万亩",extra:"96.78%"},{name:"国有或其他",value:5.73,unit:"万亩",extra:"3.22%"}],ownerRows:[{name:"壤口村",value:42.74,unit:"万亩",extra:"占比 24.02%"},{name:"查龙村",value:16.34,unit:"万亩",extra:"占比 9.18%"},{name:"茸塔玛村",value:14.96,unit:"万亩",extra:"占比 8.41%"},{name:"峨扎村",value:9.96,unit:"万亩",extra:"占比 5.6%"},{name:"三家寨村",value:9.57,unit:"万亩",extra:"占比 5.38%"}]}),c=b({status:"fallback",core:a,top:[a[0],a[1],a[2]]},u);return ie(c,e,n)}return{status:"empty",core:ne([],e),leftPanels:[],rightPanels:[],left:{title:"业务统计",rows:[]},right:{title:"业务统计",rows:[]}}}function Qe(e=[],n=["name"]){const a=new Map;return e.forEach(t=>{const r=d(t,n);!r||a.has(r)||a.set(r,t)}),Array.from(a.values())}function R(e,n=[]){return e().catch(()=>n)}function Re(e=[],n={}){const{nameKeys:a=["name","health","level"],valueKeys:t=["value","acreage","areaWanMu"],unit:r="万亩",nameTransform:s=i=>i,max:l=Number.POSITIVE_INFINITY}=n,o=k(e||[],{nameKeys:a,valueKeys:t,unit:r}).map(i=>h(b({},i),{name:s(i.name)}));return D(o).filter(i=>Number(i.value)>0).slice(0,l)}function In(e){const n=String(e||"");return/^\d+$/.test(n)?`${n}级草原`:n.includes("级")?n.replace(/草地/g,"草原"):n}function zn(e){const n=String(e||"");return{healthy:"健康",subhealthy:"亚健康",unhealthy:"不健康"}[n]||n}function Ze({core:e,townRows:n,grassTypeRows:a,grassLevelRows:t,healthRows:r,productivityRows:s,edibleYieldRows:l,forageRows:o,degradationRows:i}){const u=p("grassland-town","草地面积分布",me(n),"column",{span:1,variant:"plain"}),c=p("grassland-productivity-town","草地生产力分布",me(s),"line",{span:1,fixedType:!0}),v=p("grassland-type-proportion","草原类占比",a,"donut",{span:1}),m=p("grassland-edible-yield","可食鲜草产量分布",F(l,10),"column",{span:1,variant:"slim"}),y=p("grassland-degradation","草地退化统计",$n(i),"bar",{span:1,variant:"degradation"}),N=p("grassland-health-proportion","草地健康占比",r,"rose",{span:1}),T=p("grassland-level-proportion","草原级占比",t,"donut",{span:1,variant:"ring"}),W=p("grassland-forage-capacity","饲草供给",o,"bar",{span:1,variant:"capacity"}),x=_([u,v,y,T]),L=_([m,c,N,W]);return{core:e,leftPanels:x,rightPanels:L,left:x[0],right:L[0],layerPanels:Ln({leftPanels:x,rightPanels:L})}}function Gn(e,n={}){const a=vn(e),t=Qe(n.typeRows||[],["name"]),r=n.yieldRows||[],s=n.levelRows||[],l=n.minTypeRows||[],o=n.edibleRows||[],i=n.edibleMuRows||[],u=n.typeDistributionRows||[],c=n.levelDistributionRows||[],v=n.minTypeDistributionRows||[],m=n.yieldSummary||{},y=le(se(we(t,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}),{limit:4,minPercent:1,otherName:"其他湿地类型"}),B,{key:"wetland-type-unclassified",name:"未分类湿地"}),N=ge(r,n.muYieldRows||[],{showMuYieldExtra:!1}),T=we(n.muYieldRows||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:"斤",max:U.length}),W=le(we(s,{nameKeys:["name"],valueKeys:["value"],unit:"万亩"}).map(M=>h(b({},M),{name:Ie(M.name)})),B,{key:"wetland-level-unclassified",name:"未分级湿地"}),x=se(le(gn(l),B,{key:"wetland-min-type-unclassified",name:"未分类湿地"}),{limit:6,minPercent:1,otherName:"其他小类"}),L=ge(o,i,{showMuYieldExtra:!1}),E=we(i,{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:d(i==null?void 0:i[0],["unit"])||"斤",max:U.length}),$=ce(re(u,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),B),C=ce(re(u,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:M=>{var X;return`${((X=M.source)==null?void 0:X.length)||0}`}}),B),q=ce(re(c,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"]}),B),Y=re(c,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],filter:M=>Ie(d(M,["level","name"])).startsWith("1级")}),J=ce(re(v,{nameKeys:["areaName","name"],valueKeys:["acreage","areaWanMu","value"],extra:M=>{var X;return`${((X=M.source)==null?void 0:X.filter(he=>Xe(he,["acreage","areaWanMu","value"])>0).length)||0}`}}),B),S=xn(m,L,N),I=ne(a,"wetland"),V=W.find(M=>/^1/.test(M.name))||W[0],ae=je({yieldSummary:S,townAreaRows:$,typeRows:y,levelRows:W,yieldRows:N,minTypeRows:x,muYieldRows:T,edibleYieldRows:L,edibleMuRows:E,typeTownRows:C,levelTownRows:Y.length?Y:q,minTownRows:J});return b({core:I,top:[I[0],I[1],{key:"wetland-level-1-area",name:"1级湿地面积",value:V==null?void 0:V.value,unit:(V==null?void 0:V.unit)||"万亩"}].filter(Boolean)},ae)}function Yn(e={}){const n=Object.values(e.layerPanels||{}).flatMap(a=>[...(a==null?void 0:a.leftPanels)||[],...(a==null?void 0:a.rightPanels)||[]]);return[...e.leftPanels||[],...e.rightPanels||[],...n]}function Kn(e,n=[]){const a=new Set(n);return Yn(e).find(t=>a.has(t==null?void 0:t.key))||null}function te(e,n,a,t,r,s={}){const l=Kn(e,n);return b(h(b({},l||{}),{key:a,title:t,type:r||(l==null?void 0:l.type)||"rank",rows:(l==null?void 0:l.rows)||[],span:1}),s)}function ue(e,n=[]){return[...(e==null?void 0:e.top)||[],...(e==null?void 0:e.core)||[]].find(t=>n.some(r=>(t==null?void 0:t.key)===r||String((t==null?void 0:t.name)||"").includes(r)))||null}function On(e,n,a){var W,x,L,E,$;const t=ue(e,["grassland-area","grassland-total-area","草地面积"]),r=ue(n,["wetland-area","湿地面积"]),s=ue(a,["woodland-area","林地总面积"]),[l,o]=Me(Z,637.13,119.31),i=ue(e,["basic-grassland","basic-grassland-area","基本草原"]),u=ue(e,["general-grassland","general-grassland-area","一般草原"]),c=D([{key:"overview-basic-grassland",name:"基本草原",value:w((W=i==null?void 0:i.value)!=null?W:l),unit:(i==null?void 0:i.unit)||"万亩",color:"#24F6C4"},{key:"overview-general-grassland",name:"一般草原",value:w((x=u==null?void 0:u.value)!=null?x:o),unit:(u==null?void 0:u.unit)||"万亩",color:"#FFE06B"}]),v=D([{key:"overview-grassland-area",name:"草地资源",value:w((L=t==null?void 0:t.value)!=null?L:Z),unit:(t==null?void 0:t.unit)||"万亩",color:"#8AE611"},{key:"overview-wetland-area",name:"湿地资源",value:w((E=r==null?void 0:r.value)!=null?E:B),unit:(r==null?void 0:r.unit)||"万亩",color:"#32DCFF"},{key:"overview-woodland-area",name:"林地资源",value:w(($=s==null?void 0:s.value)!=null?$:un),unit:(s==null?void 0:s.unit)||"万亩",color:"#2BD17E"}]),m=[te(e,["grassland-town"],"overview-grassland-distribution","草地分布","column",{variant:"plain"}),te(n,["wetland-town-area"],"overview-wetland-distribution","湿地分布","column",{variant:"water"}),te(a,["woodland-town"],"overview-woodland-distribution","林地分布","column",{variant:"plain",lineOverlay:!0}),te(e,["grassland-forage-capacity"],"overview-forage-supply","饲草供给","bar",{variant:"capacity"})],y=[p("overview-basic-general","基本/一般草原",c,"donut",{span:1,variant:"ring"}),te(a,["woodland-quality-level","woodland-quality"],"overview-woodland-quality","林地质量","heat",{limit:6}),te(n,["wetland-type"],"overview-wetland-type","湿地类型结构","rose"),p("overview-resource-area","林草湿面积构成",v,"structure",{span:1})],T=[{key:"overview-resource-area-total",name:"林草湿面积",value:w(O(v)),unit:"万亩"},h(b({},v[0]),{name:"草地面积"}),h(b({},v[1]),{name:"湿地面积"}),h(b({},v[2]),{name:"林地面积"})];return{status:[e,n,a].some(C=>(C==null?void 0:C.status)==="error")?"fallback":"success",core:T,top:T,leftPanels:m,rightPanels:y,left:m[0],right:y[0]}}function ke(e,n){return f(this,null,function*(){var a;try{if(e==="overview"){const[t,r,s]=yield Promise.all([ke("grassland",""),ke("wetland",""),ke("woodland","")]);return On(t,r,s)}if(e==="woodland"){const[t,r,s,l,o]=yield Promise.all([Q("/woodland/distribution").then(g),R(()=>f(this,null,function*(){return g(yield Q("/woodland/types"))}),{}),R(()=>f(this,null,function*(){return g(yield Q("/woodland/protection"))}),{}),R(()=>f(this,null,function*(){return g(yield Q("/woodland/quality"))}),{}),R(()=>f(this,null,function*(){return g(yield Q("/woodland/ownership"))}),{})]),i=ne(wn(t),e),u=d((t==null?void 0:t.core)||(t==null?void 0:t.summary)||{},["totalAreaWanMu","total_area_wan_mu","areaWanMu","area_wan_mu"]),c=d((s==null?void 0:s.summary)||{},["publicAreaWanMu","public_area_wan_mu"]),v=[i[0],{key:"woodland-public-area",name:"公益林面积",value:w(c),unit:"万亩"},{key:"woodland-public-rate",name:"公益林占比",value:w((a=d((s==null?void 0:s.summary)||{},["publicAreaPercent","public_area_percent"]))!=null?a:G(c,u)),unit:"%"}].filter(Boolean),m=k((t==null?void 0:t.areaDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:M=>ve(M,u)}),y=se(k((r==null?void 0:r.typeStats)||(t==null?void 0:t.typeDistribution)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:j}),{limit:4,minPercent:1,otherName:"其他林地"}),N=k((t==null?void 0:t.patchScale)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:M=>ve(M,u)}),T=k((s==null?void 0:s.protectionLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:j}),W=k((l==null?void 0:l.speciesRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:j}),x=k((o==null?void 0:o.ownerRanks)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:M=>ve(M,u)}),L=k((o==null?void 0:o.landOwnerships)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:j}),E=k((s==null?void 0:s.forestTypes)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:j}),$=k((s==null?void 0:s.manageLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],max:6,extra:j}),C=k((s==null?void 0:s.regionRanks)||[],{nameKeys:["regionName","name","townName"],valueKeys:["areaWanMu","value"],max:6,extra:M=>ve(M,c)}),q=k((l==null?void 0:l.origins)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:j}),Y=k((l==null?void 0:l.ageGroups)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:j}),J=k((l==null?void 0:l.canopyLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:M=>{const X=w(d(M,["avgCanopy","avg_canopy"]));return X!==void 0?`均值 ${X}`:j(M)}}),S=k((l==null?void 0:l.qualityLevels)||[],{nameKeys:["name"],valueKeys:["areaWanMu","value"],extra:j}),I=Te((r==null?void 0:r.townComposition)||[],{nameKeys:["townName","name"],valueKeys:["areaWanMu","value"]}).slice(0,6),V=Ue({townRows:m,typeRows:y,scaleRows:N,protectionRows:T,ownershipRows:L,qualityRows:W,originRows:q,ageRows:Y,canopyRows:J,forestTypeRows:E,manageLevelRows:$,regionRows:C,ownerRows:x,typeTownRows:I,qualityLevelRows:S}),ae=b({status:"success",core:i,top:v},V);return ie(ae,e,n)}if(e==="grassland"){const[t,r,s,l,o,i,u,c,v]=yield Promise.all([P("/basic_grassland/overview").then(g),R(()=>f(this,null,function*(){return g(yield P("/grassland_yield/yieldProportion"))}),{}),R(()=>f(this,null,function*(){return g(yield P("/grassland_yield/distribution"))})),R(()=>f(this,null,function*(){return g(yield P("/grassland_yield/muYieldDistribution"))})),R(()=>f(this,null,function*(){return En()}),We()),R(()=>f(this,null,function*(){return g(yield P("/grassland_grass_type/areaProportion"))})),R(()=>f(this,null,function*(){return g(yield P("/grassland_grassland_level/areaProportion"))})),R(()=>f(this,null,function*(){return g(yield P("/grassland_health/proportion"))})),R(()=>f(this,null,function*(){return g(yield P("/grassland_yield/edibleXcDistribution"))}))]),m=o.levelRows||[],y=ne(fn(t),e),N=ge(s||[],l||[],{showMuYieldExtra:!1}),T=Bn(r,N),W=k(l||[],{nameKeys:["areaName","name"],valueKeys:["yield","value"],unit:d(l==null?void 0:l[0],["unit"])||"斤"}),x=k((t==null?void 0:t.townStats)||[],{nameKeys:["name"],valueKeys:["totalAreaWanMu"]}),L=Re(Qe(i||[],["name"]),{nameKeys:["name"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:Se}),E=Re(u||[],{nameKeys:["name","level"],valueKeys:["value","areaWanMu","acreage"],unit:"万亩",nameTransform:In}),$=Re(c||[],{nameKeys:["health","name"],valueKeys:["acreage","value","areaWanMu"],unit:"万亩",nameTransform:zn}),C=ge(v||[],[],{showMuYieldExtra:!1}),q=Ze({core:y,townRows:x,grassTypeRows:L,grassLevelRows:E,healthRows:$,productivityRows:W,edibleYieldRows:C,forageRows:Je(T,N),degradationRows:m}),Y=h(b({status:"success"},q),{top:He(y,T,N)});return ie(Y,e,n)}if(e==="wetland"){const[t,r,s,l,o,i,u,c,v,m,y,N]=yield Promise.all([yn([()=>f(this,null,function*(){return g(yield P("/index/dataItem",{group:"wetland"}))}),()=>f(this,null,function*(){return g(yield P("/index/dataItem",{group:"wetland_grassland_level"}))})]),R(()=>f(this,null,function*(){return g(yield P("/wetland_grass_type_copy/areaProportion"))})),R(()=>f(this,null,function*(){return g(yield P("/wetland_yield/distribution"))})),R(()=>f(this,null,function*(){return g(yield P("/wetland_yield/muYieldDistribution"))})),R(()=>f(this,null,function*(){return g(yield P("/wetland_grassland_level/areaProportion"))})),R(()=>f(this,null,function*(){return g(yield P("/wetland_grass_type_copy/minTypeAreaProportion"))})),R(()=>f(this,null,function*(){return g(yield P("/wetland_yield/edibleXcDistribution"))})),R(()=>f(this,null,function*(){return g(yield P("/wetland_yield/edibleXcMuDistribution"))})),R(()=>f(this,null,function*(){return g(yield P("/wetland_grass_type_copy/distribution"))})),R(()=>f(this,null,function*(){return g(yield P("/wetland_grassland_level/distribution"))})),R(()=>f(this,null,function*(){return g(yield P("/wetland_grass_type_copy/minTypeAreaDistribution"))})),R(()=>f(this,null,function*(){return g(yield P("/wetland_yield/yieldProportion"))}),{})]),T=Gn(t,{typeRows:r,yieldRows:s,muYieldRows:l,levelRows:o,minTypeRows:i,edibleRows:u,edibleMuRows:c,typeDistributionRows:v,levelDistributionRows:m,minTypeDistributionRows:y,yieldSummary:N}),W=h(b({status:"success"},T),{left:T.leftPanels[0],right:T.rightPanels[0]});return ie(W,e,n)}return ze(e,n)}catch(t){return h(b({},ze(e,n)),{status:"error",error:t})}})}function Hn(e,n,a=null){return f(this,null,function*(){try{const t=yield Tn(e,n,a);return t||(e==="woodland"?n==="woodland-protection"?yield fe({topicKey:e,layerKey:n,layerName:"ne:t_woodland_2023",title:"公益林面积排行",cqlFilter:"gjgyl_bhdj IN ('1','2')"}).catch(()=>f(this,null,function*(){const r=g(yield Q("/woodland/protection")),s=Te((r==null?void 0:r.regionRanks)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return H({topicKey:e,layerKey:n,title:"公益林面积排行",unit:"万亩",rows:s,note:"按公益林村级榜单汇总到乡镇"})})):n==="woodland-type"?yield fe({topicKey:e,layerKey:n,layerName:"ne:t_woodland_2023",title:"林地类型面积排行"}).catch(()=>f(this,null,function*(){const r=g(yield Q("/woodland/types")),s=Te((r==null?void 0:r.townComposition)||[],{nameKeys:["townName"],valueKeys:["areaWanMu"],unit:"万亩"});return H({topicKey:e,layerKey:n,title:"林地类型面积排行",unit:"万亩",rows:s,note:"按林地类型组成汇总到乡镇"})})):n==="woodland-quality"?yield fe({topicKey:e,layerKey:n,layerName:"ne:t_woodland_2023",title:"林地质量面积排行",cqlFilter:"zl_dj IS NOT NULL"}):n==="woodland-ownership"?yield fe({topicKey:e,layerKey:n,layerName:"ne:t_woodland_2023",title:"林地权属面积排行",cqlFilter:"ld_qs IS NOT NULL"}):yield pn(e,n,"林地面积排行"):e==="grassland"?n==="basic-grassland"?yield Be(e,n,"basicAreaWanMu","基本草原面积排行"):n==="grassland-level"?yield ye(e,n,"/grassland_yield/muYieldDistribution","草地亩产排行","斤"):yield Be(e,n,"totalAreaWanMu","草地面积排行"):e==="wetland"?n==="wetland-level"?yield ye(e,n,"/wetland_yield/muYieldDistribution","湿地亩产排行","斤"):n==="wetland-type"?yield ye(e,n,"/wetland_yield/edibleXcDistribution","可食鲜草产量排行","万吨"):yield ye(e,n,"/wetland_yield/distribution","湿地生产力排行","万吨"):H({topicKey:e,layerKey:n,title:"乡镇统计排行",rows:[]}))}catch(t){return{status:"error",topicKey:e,layerKey:n,title:"乡镇统计排行",unit:"",rows:[],error:t}}})}export{jn as a,Hn as b,Un as c,ke as g};