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-7a83bb22-178412875172...

112 lines
88 KiB

var Qn=Object.defineProperty,Jn=Object.defineProperties;var Zn=Object.getOwnPropertyDescriptors;var io=Object.getOwnPropertySymbols;var Xn=Object.prototype.hasOwnProperty,ei=Object.prototype.propertyIsEnumerable;var ro=(k,n,i)=>n in k?Qn(k,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):k[n]=i,D=(k,n)=>{for(var i in n||(n={}))Xn.call(n,i)&&ro(k,i,n[i]);if(io)for(var i of io(n))ei.call(n,i)&&ro(k,i,n[i]);return k},V=(k,n)=>Jn(k,Zn(n));var re=(k,n,i)=>new Promise((c,s)=>{var f=m=>{try{h(i.next(m))}catch(b){s(b)}},p=m=>{try{h(i.throw(m))}catch(b){s(b)}},h=m=>m.done?c(m.value):Promise.resolve(m.value).then(f,p);h((i=i.apply(k,n)).next())});import{h as Lo,w as ht,o as A,c as F,a as w,d as G,K as ti,g as _,L as je,q as ai,A as W,s as so,v as lo,b as Tt,C as xe,j as Y,J as lt,u as We,F as _e,y as Ie,x as la,B as oi,n as Ue,e as _t,f as Se,t as z,T as ni,M as ii}from"./index-1784128751722.js";import{l as co,g as ri,E as si}from"./live-scene-1-8722cecb-1784128751722.js";import{H as ca}from"./index.esm.min-0f127c34-1784128751722.js";import{_ as uo}from"./index-714f134b-1784128751722.js";import{g as ua,C as li,H as ci,a as ui,M as di}from"./index-b9fefda3-1784128751722.js";import{O as fi,P as Ee,a as X,D as qe,C as se,A as me,b as J,e as hi,F as mi,G as fe,c as pi,d as gi,f as vi,g as fo,L as ho,V as Q,h as mo,R as he,B as yi,S as da,i as bi,j as wi,k as xi,l as Si,N as Mi,Q as ki,T as Pi,m as Ci,n as po,o as go,p as Ai,q as vo,r as Li}from"./screen2Standard-f53151f5-1784128751722.js";import{M as Ti,g as _i,h as Ii,L as Fi,B as yo,a as fa,E as Ei,G as Oi,D as Bi,b as Gi,l as ha,P as bo,c as wo,d as Ni,s as ma,f as It,e as Ri,i as Hi,j as Di,k as xo}from"./data-c5b8cbc7-1784128751722.js";import{g as Ye}from"./index-e9f36657-1784128751722.js";import{h as zi,a as To,f as $i,g as Vi,b as ji}from"./townshipBoundaries-822b7d9e-1784128751722.js";import{R as Wi,r as Ui,a as Ki,c as qi,o as Yi,s as Qi,p as Ji,b as So,d as Zi,h as Xi,g as Mo,e as er,f as tr,i as ar,j as or,k as nr,l as ir,m as rr,n as sr,_ as lr}from"./TopicSwitcher-fc56decc-1784128751722.js";import{_ as cr,a as ko}from"./FeatureInfoPanel-cb75654f-1784128751722.js";import{g as Po,a as ur}from"./openApi-b099d7f0-1784128751722.js";import{c as dr,F as fr,g as hr,a as mr}from"./featurePanelLayout-087056bd-1784128751722.js";import{g as pr}from"./yakApi-af76f1a1-1784128751722.js";import{w as ct,f as pa}from"./chartTheme-fa83e732-1784128751722.js";import{b as gr}from"./data-5c83c66b-1784128751722.js";import{h as vr,y as yr}from"./data-ab0e4457-1784128751722.js";import"./index-aff3f8e5-1784128751722.js";import"./livestockData-36ec0ae2-1784128751722.js";import"./geoserver-4a830e65-1784128751722.js";class br extends fi{constructor(n,i){super(),this.config=Object.assign({color1:16566615,color2:16777215},i),this.assets={instance:null},this.assets.instance=n.assets.instance,this.sceneGroup=n.sceneGroup,this.gsapObjects=[],this.animateElements={},this.init()}init(){let n=this.config.color1,i=new Ee(1.5,1.5,1),c=new Ee(1,3,1);c.translate(0,1,0);let s=new X({color:n,transparent:!0,fog:!1,side:qe,depthWrite:!1}),f=s.clone();f.map=this.assets.instance.getResource("focusArrows");let p=s.clone();p.map=this.assets.instance.getResource("focusBar");let h=s.clone();h.map=this.assets.instance.getResource("focusBg");let m=s.clone();m.color=new se(this.config.color2),m.map=this.assets.instance.getResource("focusMidQuan");let b=s.clone();b.map=this.assets.instance.getResource("focusMoveBg"),b.blending=me;let C=new J(i,f),S=new J(c,p);S.rotation.x=Math.PI/2;let O=S.clone();O.rotation.y=Math.PI/2;let x=new J(i,h),v=new J(i,m),I=new J(i,b),B=[v,x,C,I,S,O];B.map(R=>{R.renderOrder=99}),this.add(...B);let E=0;I.scale.setScalar(E),this.animateElements={focusMidQuan:v,focusArrows:C,focusMoveBg:I},this.startAnimate()}startAnimate(){let n=Ye.to(this.animateElements.focusMidQuan.rotation,{z:2*Math.PI,duration:8,repeat:-1,ease:"none"}),i=Ye.to(this.animateElements.focusArrows.rotation,{z:2*Math.PI,duration:5,repeat:-1,ease:"none"}),c=Ye.to(this.animateElements.focusMoveBg.scale,{x:1.5,y:1.5,z:1.5,duration:2.5,repeat:-1,ease:"none"}),s=Ye.to(this.animateElements.focusMoveBg.material,{opacity:0,duration:2.5,repeat:-1,ease:"none"});this.gsapObjects=[n,i,c,s]}pausedAnimate(){this.gsapObjects.map(n=>{n.paused=!0})}destroy(){this.gsapObjects.map(n=>{n.kill()}),hi(this)}}const wr=zi.map(k=>D({},k)),Co=To.map(k=>D({},k)),xr=To.map(k=>{var n,i;return{name:k.name,value:k.value,lng:(n=k.center)==null?void 0:n[0],lat:(i=k.center)==null?void 0:i[1]}}),Sr=[{name:"邛溪镇",level:"县城驻地",value:895.94,lng:102.60242339873115,lat:32.83022561372293},{name:"瓦切镇",level:"北部牧区",value:991,lng:102.71535664604494,lat:33.12869670968013},{name:"刷经寺镇",level:"南部通道",value:986.44,lng:102.55651980382184,lat:32.204097908180216},{name:"色地镇",level:"东部片区",value:1199.06,lng:103.12540730227074,lat:33.010462261362875}];function ga(k){return k.sort((n,i)=>i.value-n.value),k}function Mr(k){return k?typeof k=="string"?JSON.parse(k):k:null}function va(k){const n=Mr(k);return n!=null&&n.features&&n.features.forEach(i=>{var c;((c=i.geometry)==null?void 0:c.type)==="Polygon"&&(i.geometry.coordinates=[i.geometry.coordinates])}),n}function kr(k,n){var i;try{return(i=k==null?void 0:k.getResource)==null?void 0:i.call(k,n)}catch(c){return null}}function Pr(k,n,i){const c=Number(k);return Number.isFinite(c)?Math.max(n,Math.min(i,c)):n}class Cr extends Ti{constructor(n,i,c={}){var s;super(n,{maxPixelRatio:(s=c.maxPixelRatio)!=null?s:c.showDataOverlays===!1?1.35:void 0,antialias:c.antialias}),this.options=c||{},this.geoProjectionCenter=[102.6305459723107,32.72169252326339],this.geoProjectionScale=650,this.backgroundProjectionCenter=c.backgroundProjectionCenter||this.geoProjectionCenter,this.backgroundProjectionScale=c.backgroundProjectionScale||120,this.geoProjectionFn=_i().center(this.geoProjectionCenter).scale(this.geoProjectionScale).translate([0,0]),this.flyLineCenter=[102.60242339873115,32.83022561372293],this.depth=.5,this.clicked=!1,this.sceneMode=c.sceneMode||"default",this.showDataOverlays=c.showDataOverlays!==!1,this.mapAnimationDone=!1,this.sceneTweens=[],this.sceneTimers=[],this.scene.fog=new mi(1058614,1,50),this.scene.background=new se(1058614),this.camera.instance.position.set(-13.767695123014105,12.990152163077308,39.28228164159694),this.camera.instance.near=1,this.camera.instance.far=1e4,this.camera.instance.updateProjectionMatrix(),this.interactionManager=new Ii(this.renderer.instance,this.camera.instance,this.canvas),this.assets=i,this.staticMapData={china:va(kr(this.assets.instance,"china")),mapJson:va(this.assets.instance.getResource("mapJson")),mapStroke:va(this.assets.instance.getResource("mapStroke"))},this.initEnvironment(),this.init()}addSceneTween(n){var i;return n&&(this.sceneTweens.push(n),this.scenePaused&&((i=n.pause)==null||i.call(n)),n)}addSceneTimer(n){return n&&this.sceneTimers.push(n),n}init(){this.labelGroup=new fe,this.label3d=new Fi(this),this.labelGroup.rotation.x=-Math.PI/2,this.scene.add(this.labelGroup),this.flyLineFocusGroup=new fe,this.flyLineFocusGroup.visible=!1,this.flyLineFocusGroup.rotation.x=-Math.PI/2,this.scene.add(this.flyLineFocusGroup),this.eventElement=[],this.defaultMaterial=null,this.defaultLightMaterial=null,this.createBottomBg(),this.createChinaBlurLine(),this.createGrid(),this.createRotateBorder(),this.createLabel(),this.createMap(),this.createEvent(),this.createParticles(),this.showDataOverlays&&(this.createFlyLine(),this.createFocus(),this.createScatter(),this.createInfoPoint()),this.createStorke();let n=Ye.timeline({onComplete:()=>{}});n.pause(),this.animateTl=n,n.addLabel("focusMap",1.5),n.addLabel("focusMapOpacity",2),n.addLabel("bar",3),n.to(this.camera.instance.position,{duration:2,x:-.17427287762525134,y:13.678992786206543,z:20.688611202093714,ease:"circ.out",onStart:()=>{this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!1)}}),n.to(this.focusMapGroup.position,{duration:1,x:0,y:0,z:0},"focusMap"),n.to(this.focusMapGroup.scale,{duration:1,x:1,y:1,z:1,ease:"circ.out",onComplete:()=>{this.showDataOverlays&&(this.flyLineGroup.visible=!0,this.scatterGroup.visible=!0,this.InfoPointGroup.visible=!0),this.applySceneMode()}},"focusMap"),n.to(this.focusMapTopMaterial,{duration:1,opacity:1,ease:"circ.out"},"focusMapOpacity"),n.to(this.focusMapSideMaterial,{duration:1,opacity:1,ease:"circ.out",onComplete:()=>{this.focusMapSideMaterial.transparent=!1}},"focusMapOpacity"),this.otherLabel.map((i,c)=>{let s=i.element.querySelector(".other-label");n.to(s,{duration:1,delay:.1*c,translateY:0,opacity:1,ease:"circ.out"},"focusMapOpacity")}),n.to(this.mapLineMaterial,{duration:.5,delay:.3,opacity:1},"focusMapOpacity"),n.to(this.rotateBorder1.scale,{delay:.3,duration:1,x:1,y:1,z:1,ease:"circ.out"},"focusMapOpacity"),n.to(this.rotateBorder2.scale,{duration:1,delay:.5,x:1,y:1,z:1,ease:"circ.out",onComplete:()=>{var i,c;this.showDataOverlays&&this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!0),this.mapAnimationDone=!0,this.applySceneMode(),(c=(i=this.options).onPlayComplete)==null||c.call(i)}},"focusMapOpacity"),(this.allBar||[]).map((i,c)=>{if(i.userData.name==="邛溪镇")return!1;n.to(i.scale,{duration:1,delay:.1*c,x:1,y:1,z:1,ease:"circ.out"},"bar")}),(this.allBarMaterial||[]).map((i,c)=>{n.to(i,{duration:1,delay:.1*c,opacity:1,ease:"circ.out"},"bar")}),(this.allProvinceLabel||[]).map((i,c)=>{let s=i.element.querySelector(".provinces-label-wrap"),f=i.element.querySelector(".number .value"),p=Number(f.innerText),h={score:0};n.to(s,{duration:1,delay:.2*c,translateY:0,opacity:1,ease:"circ.out"},"bar"),n.to(h,{duration:1,delay:.2*c,score:p,onUpdate:m},"bar");function m(){f.innerText=h.score.toFixed(0)}}),(this.allGuangquan||[]).map((i,c)=>{n.to(i.children[0].scale,{duration:1,delay:.1*c,x:1,y:1,z:1,ease:"circ.out"},"bar"),n.to(i.children[1].scale,{duration:1,delay:.1*c,x:1,y:1,z:1,ease:"circ.out"},"bar")})}initEnvironment(){let n=new pi(16777215,5);this.scene.add(n);let i=new gi(16777215,5);i.position.set(-30,6,-8),i.castShadow=!0,i.shadow.radius=20,i.shadow.mapSize.width=1024,i.shadow.mapSize.height=1024,this.scene.add(i),this.createPointLight({color:"#1d5e5e",intensity:800,distance:1e4,x:-9,y:3,z:-3}),this.createPointLight({color:"#1d5e5e",intensity:200,distance:1e4,x:0,y:2,z:5})}createPointLight(n){const i=new vi(1924702,n.intensity,n.distance);i.position.set(n.x,n.y,n.z),this.scene.add(i)}createMap(){let n=new fe,i=new fe;this.focusMapGroup=i;let{china:c,chinaTopLine:s}=this.createChina(),{map:f,mapTop:p,mapLine:h}=this.createProvince();c==null||c.setParent(n),s==null||s.setParent(n),this.createDiffuse(),f.setParent(i),p.setParent(i),h.setParent(i),i.position.set(0,0,-.01),i.scale.set(1,1,0),n.add(i),n.rotation.x=-Math.PI/2,n.position.set(0,.2,0),this.scene.add(n),this.showDataOverlays?this.createBar():(this.allBar=[],this.allBarMaterial=[],this.allGuangquan=[],this.allProvinceLabel=[])}createChina(){var h;let n={chinaBgMaterialColor:"#152c47",lineColor:"#3f82cd"},i=this.staticMapData.china;if(!((h=i==null?void 0:i.features)!=null&&h.length))return{china:null,chinaTopLine:null};let c=new fo({color:new se(n.chinaBgMaterialColor),transparent:!0,opacity:this.showDataOverlays?1:.54}),s=new yo(this,{data:i,geoProjectionCenter:this.backgroundProjectionCenter,geoProjectionScale:this.backgroundProjectionScale,merge:!0,material:c,renderOrder:2}),f=new ho({color:n.lineColor}),p=new fa(this,{data:i,geoProjectionCenter:this.backgroundProjectionCenter,geoProjectionScale:this.backgroundProjectionScale,material:f,renderOrder:3});return p.lineGroup.position.z+=.01,{china:s,chinaTopLine:p}}createProvince(){let n=this.staticMapData.mapJson,[i,c]=this.createProvinceMaterial();this.focusMapTopMaterial=i,this.focusMapSideMaterial=c;let s=new Ei(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new Q(0,0,.11),data:n,depth:this.depth,topFaceMaterial:i,sideMaterial:c,renderOrder:9}),f=new mo({color:16777215,transparent:!0,opacity:.5});this.createTerrainSurfaceShader(f),this.defaultMaterial=f,this.defaultLightMaterial=this.defaultMaterial.clone(),this.defaultLightMaterial.color=new se("rgba(115,208,255,1)"),this.defaultLightMaterial.opacity=.8;let p=new yo(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new Q(0,0,this.depth+.22),data:n,material:f,renderOrder:2});p.mapGroup.children.map(m=>{m.children.map(b=>{b.type==="Mesh"&&this.eventElement.push(b)})}),this.mapLineMaterial=new ho({color:16777215,opacity:0,transparent:!0,fog:!1});let h=new fa(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,data:n,material:this.mapLineMaterial,renderOrder:3});return h.lineGroup.position.z+=this.depth+.23,{map:s,mapTop:p,mapLine:h}}createProvinceMaterial(){let n=new fo({color:16777215,transparent:!0,opacity:0,fog:!1,side:qe});n.onBeforeCompile=s=>{s.uniforms=V(D({},s.uniforms),{uColor1:{value:new se(2780818)},uColor2:{value:new se(1058614)}}),s.vertexShader=s.vertexShader.replace("void main() {",`
attribute float alpha;
varying vec3 vPosition;
varying float vAlpha;
void main() {
vAlpha = alpha;
vPosition = position;
`),s.fragmentShader=s.fragmentShader.replace("void main() {",`
varying vec3 vPosition;
varying float vAlpha;
uniform vec3 uColor1;
uniform vec3 uColor2;
void main() {
`),s.fragmentShader=s.fragmentShader.replace("#include <opaque_fragment>",`
#ifdef OPAQUE
diffuseColor.a = 1.0;
#endif
#ifdef USE_TRANSMISSION
diffuseColor.a *= transmissionAlpha + 0.1;
#endif
vec3 gradient = mix(uColor1, uColor2, vPosition.x/15.78);
outgoingLight = outgoingLight*gradient;
float topAlpha = 0.5;
if(vPosition.z>0.3){
diffuseColor.a *= topAlpha;
}
gl_FragColor = vec4( outgoingLight, diffuseColor.a );
`)};let i=this.assets.instance.getResource("side");i.wrapS=he,i.wrapT=he,i.repeat.set(1,1.5),i.offset.y+=.065;let c=new mo({color:16777215,map:i,fog:!1,opacity:0,side:qe});return this.time.on("tick",()=>{i.offset.y+=.005}),c.onBeforeCompile=s=>{s.uniforms=V(D({},s.uniforms),{uColor1:{value:new se(2780818)},uColor2:{value:new se(2780818)}}),s.vertexShader=s.vertexShader.replace("void main() {",`
attribute float alpha;
varying vec3 vPosition;
varying float vAlpha;
void main() {
vAlpha = alpha;
vPosition = position;
`),s.fragmentShader=s.fragmentShader.replace("void main() {",`
varying vec3 vPosition;
varying float vAlpha;
uniform vec3 uColor1;
uniform vec3 uColor2;
void main() {
`),s.fragmentShader=s.fragmentShader.replace("#include <opaque_fragment>",`
#ifdef OPAQUE
diffuseColor.a = 1.0;
#endif
#ifdef USE_TRANSMISSION
diffuseColor.a *= transmissionAlpha + 0.1;
#endif
vec3 gradient = mix(uColor1, uColor2, vPosition.z/1.2);
outgoingLight = outgoingLight*gradient;
gl_FragColor = vec4( outgoingLight, diffuseColor.a );
`)},[n,c]}createTerrainSurfaceShader(n){n.onBeforeCompile=i=>{i.uniforms=V(D({},i.uniforms),{uTerrainColor1:{value:new se(807272)},uTerrainColor2:{value:new se(1619414)},uTerrainColor3:{value:new se(7074015)}}),i.vertexShader=i.vertexShader.replace("void main() {",`
varying vec3 vTerrainPosition;
void main() {
vTerrainPosition = position;
`),i.fragmentShader=i.fragmentShader.replace("void main() {",`
varying vec3 vTerrainPosition;
uniform vec3 uTerrainColor1;
uniform vec3 uTerrainColor2;
uniform vec3 uTerrainColor3;
float terrainHash(vec2 p) {
return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123);
}
float terrainNoise(vec2 p) {
vec2 i = floor(p);
vec2 f = fract(p);
vec2 u = f * f * (3.0 - 2.0 * f);
return mix(
mix(terrainHash(i + vec2(0.0, 0.0)), terrainHash(i + vec2(1.0, 0.0)), u.x),
mix(terrainHash(i + vec2(0.0, 1.0)), terrainHash(i + vec2(1.0, 1.0)), u.x),
u.y
);
}
void main() {
`),i.fragmentShader=i.fragmentShader.replace("#include <opaque_fragment>",`
#ifdef OPAQUE
diffuseColor.a = 1.0;
#endif
#ifdef USE_TRANSMISSION
diffuseColor.a *= transmissionAlpha + 0.1;
#endif
vec2 terrainUv = vTerrainPosition.xz;
float broad = terrainNoise(terrainUv * 0.32);
float detail = terrainNoise(terrainUv * 1.6);
float bands = sin(terrainUv.x * 0.75 + terrainUv.y * 0.46) * 0.5 + 0.5;
float ridges = smoothstep(0.48, 0.86, bands) * 0.16;
float mixValue = clamp((vTerrainPosition.x + 9.0) / 18.0 + (broad - 0.5) * 0.28, 0.0, 1.0);
vec3 terrainColor = mix(uTerrainColor1, uTerrainColor2, mixValue);
terrainColor = mix(terrainColor, uTerrainColor3, clamp(detail * 0.18 + ridges, 0.0, 0.28));
float shade = 0.8 + broad * 0.24 + detail * 0.1;
outgoingLight *= terrainColor * shade;
diffuseColor.a *= 0.68;
gl_FragColor = vec4(outgoingLight, diffuseColor.a);
`)}}createBar(){let n=this,i=ga(Co).filter((m,b)=>b<7);const c=new fe;this.barGroup=c;const s=.7,f=4*s,p=i[0].value;this.allBar=[],this.allBarMaterial=[],this.allGuangquan=[],this.allProvinceLabel=[],i.map((m,b)=>{let C=f*(m.value/p),S=new X({color:16777215,transparent:!0,opacity:0,depthTest:!1,fog:!1});new Oi(S,{uColor1:b>3?16506760:5291006,uColor2:b>3?16776948:7863285,size:C,dir:"y"});const O=new yi(.1*s,.1*s,C);O.translate(0,0,C/2);const x=new J(O,S);x.renderOrder=5;let v=x,[I,B]=this.geoProjection(m.centroid);v.position.set(I,-B,this.depth+.45),v.scale.set(1,1,0),v.userData=D({},m);let E=this.createQuan(new Q(I,this.depth+.44,B),b),R=this.createHUIGUANG(C,b>3?16776948:7863285);v.add(...R),c.add(v),c.rotation.x=-Math.PI/2;let ee=h(m,b,new Q(I,-B,this.depth+1.1+C));this.allBar.push(v),this.allBarMaterial.push(S),this.allGuangquan.push(E),this.allProvinceLabel.push(ee)}),this.scene.add(c);function h(m,b,C){let S=n.label3d.create("","provinces-label",!1);return S.init(`<div class="provinces-label ${b>4?"yellow":""}">
<div class="provinces-label-wrap">
<div class="number"><span class="value">${m.value}</span><span class="unit">km²</span></div>
<div class="no">${b+1}</div>
</div>
</div>`,C),n.label3d.setLabelStyle(S,.01,"x"),S.setParent(n.labelGroup),S}}createEvent(){let n=[];this.selectedRegion=null;const i=(s,f=!1)=>{var p,h,m;!f&&((h=(p=this.selectedRegion)==null?void 0:p.userData)==null?void 0:h.name)===((m=s==null?void 0:s.userData)==null?void 0:m.name)||s.traverse(b=>{b.isMesh&&(b.material=this.defaultMaterial)})},c=s=>{s.traverse(f=>{f.isMesh&&(f.material=this.defaultLightMaterial)})};this.eventElement.map(s=>{this.interactionManager.add(s),s.addEventListener("mousedown",f=>{var h;const p=((h=f.target)==null?void 0:h.parent)||f.target;this.selectedRegion&&this.selectedRegion!==p&&i(this.selectedRegion,!0),this.selectedRegion=p,c(p),this.emitTownClick((p==null?void 0:p.userData)||{})}),s.addEventListener("mouseover",f=>{n.includes(f.target.parent)||n.push(f.target.parent),document.body.style.cursor="pointer",c(f.target.parent)}),s.addEventListener("mouseout",f=>{n=n.filter(p=>p.userData.name!==f.target.parent.userData.name),n.length>0&&n[n.length-1],i(f.target.parent),document.body.style.cursor="default"})})}createHUIGUANG(n,i){let c=new Ee(.35,n);c.translate(0,n/2,0);const s=this.assets.instance.getResource("huiguang");s.colorSpace=da,s.wrapS=he,s.wrapT=he;let f=new X({color:i,map:s,transparent:!0,opacity:.4,depthWrite:!1,side:qe,blending:me}),p=new J(c,f);p.renderOrder=10,p.rotateX(Math.PI/2);let h=p.clone(),m=p.clone();return h.rotateY(Math.PI/180*60),m.rotateY(Math.PI/180*120),[p,h,m]}createQuan(n,i){const c=this.assets.instance.getResource("guangquan1"),s=this.assets.instance.getResource("guangquan2");let f=new Ee(.5,.5),p=new X({color:16777215,map:c,alphaMap:c,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:me}),h=new X({color:16777215,map:s,alphaMap:s,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:me}),m=new J(f,p),b=new J(f,h);return m.renderOrder=6,b.renderOrder=6,m.rotateX(-Math.PI/2),b.rotateX(-Math.PI/2),m.position.copy(n),b.position.copy(n),b.position.y-=.001,m.scale.set(0,0,0),b.scale.set(0,0,0),this.quanGroup=new fe,this.quanGroup.add(m,b),this.scene.add(this.quanGroup),this.time.on("tick",()=>{m.rotation.z+=.05}),this.quanGroup}createDiffuse(){let n=new Ee(200,200),i=new X({color:0,depthWrite:!1,transparent:!0,blending:bi});i.blendEquation=wi,i.blendSrc=xi,i.blendDst=Si,new Bi({material:i,time:this.time,size:60,diffuseSpeed:8,diffuseColor:7442830,diffuseWidth:2,callback:s=>{const f=setTimeout(()=>{this.addSceneTween(Ye.to(s.uniforms.uTime,{value:4,repeat:-1,duration:6,ease:"power1.easeIn"}))},3);this.addSceneTimer(f)}});let c=new J(n,i);c.renderOrder=3,c.rotation.x=-Math.PI/2,c.position.set(0,.21,0),this.scene.add(c)}createGrid(){new Gi(this,{gridSize:68,gridDivision:28,gridColor:2123149,shapeSize:.58,shapeColor:4035005,pointSize:.12,pointColor:1805508,pointLayout:{row:170,col:170},pointBlending:me})}createBottomBg(){let n=new Ee(42,42);const i=this.assets.instance.getResource("ocean");i.colorSpace=da,i.wrapS=he,i.wrapT=he,i.repeat.set(1,1);let c=new X({map:i,opacity:1,fog:!1}),s=new J(n,c);s.rotation.x=-Math.PI/2,s.position.set(0,-.7,0),this.scene.add(s)}createChinaBlurLine(){let n=new Ee(147,147);const i=this.assets.instance.getResource("chinaBlurLine");i.colorSpace=da,i.wrapS=he,i.wrapT=he,i.generateMipmaps=!1,i.minFilter=Mi,i.repeat.set(1,1);let c=new X({color:4162253,alphaMap:i,transparent:!0,opacity:.5}),s=new J(n,c);s.rotateX(-Math.PI/2),s.position.set(-19.3,-.5,-19.7),this.scene.add(s)}createLabel(){let n=this,i=this.labelGroup,c=this.label3d,s=[];if(wr.map(h=>{if(h.hide==!0)return!1;let m=f(h,c,i);s.push(m)}),this.showDataOverlays){let h=p({icon:ha,center:[103.13,33.01],width:"40px",height:"40px",reflect:!0},c,i),m=p({icon:ha,center:[102.03,32.44],width:"20px",height:"20px",reflect:!1},c,i);s.push(h),s.push(m)}this.otherLabel=s;function f(h,m,b){let C=m.create("",`china-label ${h.blur?" blur":""}`,!1);const[S,O]=n.geoProjection(h.center),x=n.showDataOverlays?`<img class="label-icon" src="${ha}">`:"";return C.init(`<div class="other-label">${x}${h.name}</div>`,new Q(S,-O,n.depth+.85)),m.setLabelStyle(C,.018,"x"),C.setParent(b),C.userData=V(D({},h),{labelType:"town-label",baseScale:.018}),C}function p(h,m,b){let C=m.create("",`decoration-label ${h.reflect?" reflect":""}`,!1);const[S,O]=n.geoProjection(h.center);return C.init(`<div class="other-label"><img class="label-icon" style="width:${h.width};height:${h.height}" src="${h.icon}">`,new Q(S,-O,.4)),m.setLabelStyle(C,.02,"x"),C.setParent(b),C}}createRotateBorder(){let n=12,i=this.assets.instance.getResource("rotationBorder1"),c=this.assets.instance.getResource("rotationBorder2"),s=new bo(this,{width:n*1.178,needRotate:!0,rotateSpeed:.001,material:new X({map:i,color:4763647,transparent:!0,opacity:.2,side:qe,depthWrite:!1,blending:me}),position:new Q(0,.28,0)});s.instance.rotation.x=-Math.PI/2,s.instance.renderOrder=6,s.instance.scale.set(0,0,0),s.setParent(this.scene);let f=new bo(this,{width:n*1.116,needRotate:!0,rotateSpeed:-.004,material:new X({map:c,color:4763647,transparent:!0,opacity:.4,side:qe,depthWrite:!1,blending:me}),position:new Q(0,.3,0)});f.instance.rotation.x=-Math.PI/2,f.instance.renderOrder=6,f.instance.scale.set(0,0,0),f.setParent(this.scene),this.rotateBorder1=s.instance,this.rotateBorder2=f.instance}createFlyLine(){this.flyLineGroup=new fe,this.flyLineGroup.visible=!1,this.scene.add(this.flyLineGroup);const n=this.assets.instance.getResource("mapFlyline");n.wrapS=n.wrapT=he,n.repeat.set(.5,2);const i=.1,c=32,s=2,f=!1;let[p,h]=this.geoProjection(this.flyLineCenter),m=new Q(p,-h,0);const b=new X({map:n,color:2781042,transparent:!0,fog:!1,opacity:1,depthTest:!1,blending:me});this.flyLineMaterial=b,this.flyLineTexture=n,this.time.on("tick",()=>{n.offset.x-=this.sceneMode==="trade"?.014:.006}),Co.filter((C,S)=>S<7).map(C=>{let[S,O]=this.geoProjection(C.centroid),x=new Q(S,-O,0);const v=new Q;v.addVectors(m,x).multiplyScalar(.5),v.setZ(3);const I=new ki(m,v,x),B=new Pi(I,c,i,s,f),E=new J(B,b);E.rotation.x=-Math.PI/2,E.position.set(0,this.depth+.44,0),E.renderOrder=21,this.flyLineGroup.add(E)})}createFocus(){let n=new br(this,{color1:12451325,color2:12451325}),[i,c]=this.geoProjection(this.flyLineCenter);n.position.set(i,-c,this.depth+.44),n.scale.set(1,1,1),this.flyLineFocusGroup.add(n)}createParticles(){this.particles=new wo(this,{num:10,range:30,dir:"up",speed:.05,material:new Ci({map:wo.createTexture(),size:1,color:61166,transparent:!0,opacity:1,depthTest:!1,depthWrite:!1,vertexColors:!0,blending:me,sizeAttenuation:!0})}),this.particleGroup=new fe,this.scene.add(this.particleGroup),this.particleGroup.rotation.x=-Math.PI/2,this.particles.setParent(this.particleGroup),this.particles.enable=!0,this.particleGroup.visible=!0}createScatter(){this.scatterGroup=new fe,this.scatterGroup.visible=!1,this.scatterGroup.rotation.x=-Math.PI/2,this.scene.add(this.scatterGroup);const n=this.assets.instance.getResource("arrow"),i=new po({map:n,color:16776948,fog:!1,transparent:!0,depthTest:!1});let c=ga(xr),s=c[0].value;c.map(f=>{const p=new go(i);p.renderOrder=23;let h=.1+f.value/s*.2;p.scale.set(h,h,h);let[m,b]=this.geoProjection([f.lng,f.lat]);p.position.set(m,-b,this.depth+.45),p.userData.position=[m,-b,this.depth+.45],this.scatterGroup.add(p)})}createInfoPoint(){let n=this;this.InfoPointGroup=new fe,this.scene.add(this.InfoPointGroup),this.InfoPointGroup.visible=!1,this.InfoPointGroup.rotation.x=-Math.PI/2,this.infoPointIndex=0,this.infoPointLabelTime=null,this.infoLabelElement=[];let i=this.label3d;const c=this.assets.instance.getResource("point");let s=[16776948,7863285],f=ga(Sr),p=f[0].value;f.map((m,b)=>{const C=new po({map:c,color:s[b%s.length],fog:!1,transparent:!0,depthTest:!1}),S=new go(C);S.renderOrder=23;let O=.7+m.value/p*.4;S.scale.set(O,O,O);let[x,v]=this.geoProjection([m.lng,m.lat]),I=[x,-v,this.depth+.7];S.position.set(...I),S.userData.position=[...I],S.userData={position:[x,-v,this.depth+.7],name:m.name,value:m.value,level:m.level,index:b},this.InfoPointGroup.add(S);let B=h(m,i,this.InfoPointGroup);this.infoLabelElement.push(B),this.interactionManager.add(S),S.addEventListener("mousedown",E=>{if(this.clicked||!this.InfoPointGroup.visible)return!1;this.clicked=!0,this.emitTownClick(E.target.userData,"info-point"),this.infoPointIndex=E.target.userData.index,this.infoLabelElement.map(R=>{R.visible=!1}),B.visible=!0,this.createInfoPointLabelLoop()}),S.addEventListener("mouseup",E=>{this.clicked=!1}),S.addEventListener("mouseover",E=>{document.body.style.cursor="pointer"}),S.addEventListener("mouseout",E=>{document.body.style.cursor="default"})});function h(m,b,C){let S=b.create("","info-point",!0);const[O,x]=n.geoProjection([m.lng,m.lat]);return S.init(` <div class="info-point-wrap">
<div class="info-point-wrap-inner">
<div class="info-point-line">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</div>
<div class="info-point-content">
<div class="content-item"><span class="label">名称</span><span class="value">${m.name}</span></div>
<div class="content-item"><span class="label">面积</span><span class="value">${m.value}km²</span></div>
<div class="content-item"><span class="label">类型</span><span class="value">${m.level}</span></div>
</div>
</div>
</div>
`,new Q(O,-x,n.depth+1.9)),b.setLabelStyle(S,.015,"x"),S.setParent(C),S.visible=!1,S}}emitTownClick(n={},i="region"){var s,f;const c=n.name||n.fullName;c&&((f=(s=this.options)==null?void 0:s.onTownClick)==null||f.call(s,V(D({},n),{name:c,source:i})))}setSceneMode(n="default"){this.sceneMode=n,this.applySceneMode()}setDataOverlaysVisible(n=!0){this.showDataOverlays=!!n,this.applySceneMode()}applySceneMode(){var i,c,s,f;if(!this.showDataOverlays){this.flyLineGroup&&(this.flyLineGroup.visible=!1),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!1),this.scatterGroup&&(this.scatterGroup.visible=!1),this.InfoPointGroup&&(this.InfoPointGroup.visible=!1),this.barGroup&&(this.barGroup.visible=!1),(i=this.allProvinceLabel)==null||i.forEach(p=>{p.visible=!1}),(c=this.allGuangquan)==null||c.forEach(p=>{p.visible=!1});return}const n=this.sceneMode==="trade";this.flyLineGroup&&(this.flyLineGroup.visible=n||this.mapAnimationDone),this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=n||this.mapAnimationDone),this.flyLineMaterial&&(this.flyLineMaterial.color.set(n?7534280:2781042),this.flyLineMaterial.opacity=n?1:.82),this.flyLineTexture&&this.flyLineTexture.repeat.set(n?.32:.5,n?3:2),this.scatterGroup&&(this.scatterGroup.visible=!n&&this.mapAnimationDone),this.InfoPointGroup&&(this.InfoPointGroup.visible=!n&&this.mapAnimationDone),this.barGroup&&(this.barGroup.visible=!n),(s=this.allProvinceLabel)==null||s.forEach(p=>{p.visible=!n}),(f=this.allGuangquan)==null||f.forEach(p=>{p.visible=!n})}createInfoPointLabelLoop(){var n;this.scenePaused||!((n=this.infoLabelElement)!=null&&n.length)||(clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=setInterval(()=>{this.infoPointIndex++,this.infoPointIndex>=this.infoLabelElement.length&&(this.infoPointIndex=0),this.infoLabelElement.map((i,c)=>{this.infoPointIndex===c?i.visible=!0:i.visible=!1})},3e3))}createStorke(){const n=this.staticMapData.mapStroke,i=this.assets.instance.getResource("pathLine3");i.wrapS=i.wrapT=he,i.repeat.set(2,1);let c=new fa(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new Q(0,0,this.depth+.24),data:n,material:new X({color:2868444,map:i,alphaMap:i,fog:!1,transparent:!0,opacity:1,blending:me}),type:"Line3",renderOrder:22,tubeRadius:.03});this.focusMapGroup.add(c.lineGroup),this.time.on("tick",()=>{i.offset.x+=.005})}geoProjection(n){return this.geoProjectionFn(n)}updateTownLabelScale(){var h,m,b;const n=this.otherLabel||[],i=(h=this.camera)==null?void 0:h.instance,c=(b=(m=this.camera)==null?void 0:m.controls)==null?void 0:b.target;if(!n.length||!i||!c)return;const s=i.position.distanceTo(c),f=Pr(s*72e-5,.011,.026),p=s>45?"0.76":s<22?"0.94":"1";n.forEach(C=>{var O,x,v;if(((O=C==null?void 0:C.userData)==null?void 0:O.labelType)!=="town-label")return;C.scale.set(f,f,f);const S=(v=(x=C.element)==null?void 0:x.querySelector)==null?void 0:v.call(x,".other-label");S&&(S.style.opacity=p)})}update(){super.update(),this.updateTownLabelScale(),this.interactionManager&&this.interactionManager.update()}pauseScene(){var n,i;this.scenePaused=!0,(i=(n=this.time)==null?void 0:n.pause)==null||i.call(n),this.sceneTweens.forEach(c=>{var s;return(s=c==null?void 0:c.pause)==null?void 0:s.call(c)}),clearInterval(this.infoPointLabelTime),this.infoPointLabelTime=null}resumeScene(){var n,i,c;this.scenePaused=!1,(i=(n=this.time)==null?void 0:n.resume)==null||i.call(n),this.sceneTweens.forEach(s=>{var f;return(f=s==null?void 0:s.resume)==null?void 0:f.call(s)}),(c=this.InfoPointGroup)!=null&&c.visible&&!this.infoPointLabelTime&&this.createInfoPointLabelLoop()}destroy(){this.pauseScene(),this.sceneTimers.forEach(n=>clearTimeout(n)),this.sceneTimers=[],this.sceneTweens.forEach(n=>{var i;return(i=n==null?void 0:n.kill)==null?void 0:i.call(n)}),this.sceneTweens=[],super.destroy(),this.label3d&&this.label3d.destroy()}}const Ar={class:"map"},Lr={__name:"map",props:{sceneMode:{type:String,default:"default"},showDataOverlays:{type:Boolean,default:!0},maxPixelRatio:{type:Number,default:0}},emits:["town-click","play-complete"],setup(k,{expose:n,emit:i}){const c=G(null),s=ti(null),f=k,p=i;let h=!1;Lo(()=>{O()});function m(x){var v,I,B,E;s.value||!c.value||(s.value=new Cr(c.value,x,{showDataOverlays:f.showDataOverlays,maxPixelRatio:f.maxPixelRatio||void 0,onTownClick:R=>p("town-click",R),onPlayComplete:()=>p("play-complete")}),(I=(v=s.value).setSceneMode)==null||I.call(v,f.sceneMode),(E=(B=s.value).setDataOverlaysVisible)==null||E.call(B,f.showDataOverlays),s.value.time.pause())}function b(){return re(this,null,function*(){var x,v,I,B;s.value&&(C(),!(h||s.value.mapAnimationDone)&&(h=!0,(v=(x=s.value.animateTl)==null?void 0:x.timeScale)==null||v.call(x,1),(B=(I=s.value.animateTl)==null?void 0:I.play)==null||B.call(I)))})}function C(){var x,v;s.value&&((v=(x=s.value).resumeScene)==null||v.call(x),s.value.resumeScene||s.value.time.resume())}function S(){var x,v,I,B,E,R;s.value&&((v=(x=s.value.animateTl)==null?void 0:x.pause)==null||v.call(x),(B=(I=s.value).pauseScene)==null||B.call(I),s.value.pauseScene||(R=(E=s.value.time)==null?void 0:E.pause)==null||R.call(E))}function O(){var x,v;(v=(x=s.value)==null?void 0:x.destroy)==null||v.call(x),s.value=null}return n({loadMap:m,play:b,resume:C,pause:S,destroyMap:O,canvasMap:s}),ht(()=>f.sceneMode,x=>{var v,I;(I=(v=s.value)==null?void 0:v.setSceneMode)==null||I.call(v,x)},{immediate:!0}),ht(()=>f.showDataOverlays,x=>{var v,I;(I=(v=s.value)==null?void 0:v.setDataOverlaysVisible)==null||I.call(v,x)}),(x,v)=>(A(),F("div",Ar,[w("canvas",{ref_key:"canvasRef",ref:c},null,512)]))}},Tr=""+new URL("flyline6-525edf67-balabala-1784128751722.png",import.meta.url).href;class _r{constructor(n={}){this.options=n||{},this.init()}init(){this.instance=new Wi,this.instance.addLoader(Ai,"FileLoader");const n={type:"File",name:"china",path:ua(li)},i=[{type:"File",name:"mapJson",path:ua(ci)},{type:"File",name:"mapStroke",path:ua(ui)},{type:"Texture",name:"rotationBorder1",path:Ui},{type:"Texture",name:"rotationBorder2",path:Ki},{type:"Texture",name:"chinaBlurLine",path:qi},{type:"Texture",name:"ocean",path:Yi},{type:"Texture",name:"side",path:Qi},{type:"Texture",name:"pathLine3",path:Ji}],c=[{type:"Texture",name:"flyline",path:So},{type:"Texture",name:"pathLine",path:So},{type:"Texture",name:"pathLine2",path:Zi},{type:"Texture",name:"huiguang",path:Xi},{type:"Texture",name:"guangquan1",path:Mo},{type:"Texture",name:"guangquan2",path:er},{type:"Texture",name:"flyLineFocus",path:Mo},{type:"Texture",name:"mapFlyline",path:Tr},{type:"Texture",name:"arrow",path:tr},{type:"Texture",name:"point",path:ar},{type:"Texture",name:"focusArrows",path:or},{type:"Texture",name:"focusBar",path:nr},{type:"Texture",name:"focusBg",path:ir},{type:"Texture",name:"focusMidQuan",path:rr},{type:"Texture",name:"focusMoveBg",path:sr}],s=this.options.showDataOverlays===!1?i:[n,...i,...c];this.instance.loadAll(s)}}const Ir={class:"home-dashboard"},Fr={class:"home-bottom-switcher"},Er={class:"home-left"},Or={class:"home-side-stack is-left"},Br={class:"home-right"},Gr={class:"home-side-stack is-right"},Nr=["aria-label","onClick"],Rr={key:0,class:"home-video-monitor"},Hr=["disabled"],Dr=["data-video-index","onClick","onKeydown"],zr={key:0,class:"home-video-loading"},$r={key:1,class:"home-video-error"},Vr=["onClick"],jr={class:"home-video-point-name"},Wr=["disabled"],Ur={key:1,class:"home-forecast-trend-card"},Kr={class:"home-forecast-density-switcher","aria-label":"预测粒度切换"},qr=["onClick"],Yr={key:3,class:"home-balance-gauge-grid"},Qr={class:"home-balance-gauge-head"},Jr={class:"home-balance-gauge-ring"},Zr={class:"home-balance-gauge-value"},Xr={class:"home-balance-gauge-name"},es={class:"home-balance-gauge-extra"},ts={class:"home-more-dialog home-video-dialog"},as={class:"home-more-dialog-head"},os={key:0,class:"home-video-modal-grid"},ns=["data-video-index","onClick","onKeydown"],is={key:0,class:"home-video-loading"},rs={key:1,class:"home-video-error"},ss=["onClick"],ls={class:"home-video-point-name"},cs={key:1,class:"home-more-empty"},us={key:2,class:"home-more-pager"},ds=["disabled"],fs=["disabled"],hs={key:0,class:"home-video-web-overlay",role:"dialog","aria-modal":"true","aria-label":"基地监控网页全屏"},ms={class:"home-more-dialog home-balance-dialog"},ps={class:"home-more-dialog-head"},gs={class:"home-balance-modal-grid"},vs={class:"home-balance-modal-title"},ys={class:"home-balance-modal-value"},bs="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAL1JREFUOE9j/P///38GMgAjSKOMdxRJWp9sXcYA18giJMLw99MHhv9//mA1hJGZhYGZX4Dhz7s3DCgaGVlYGDjVtBi+37rO8P/PbxTNjCysDJyqWgzfb18Dy6FoBKmEKfh17wZcM0iMTUkDrgmkDkMjSJCFnZ3hwbr5KDYqBCUy/Pn5Ey6GVSMzMxPDw01LUDTK+8Uw/P37j0YayXIqWYGDHuTInsQbHeAE8PEDw/+/JCYAUtIcPDpI0QRTCwDhurXXJ/EmUwAAAABJRU5ErkJggg==",ws="image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAQ5JREFUOE+1la1OQ0EQRs8kCFIQdVCCxIBpCK1AInkDHC+B4QkwvASub4GsaE0NGCRpKhGFVDQZ+Mjem9vNbkphmWTMfjNnd3b2x0iYuxuwH7wNbIewBfAGzORm5nG6ElfM3QU6AXZSkzXG3oEnMxO8thWgux8DR2tAsfxiZs/VYA38Jazi1NBvYCizv+HK4vCRyrfQgIsf7Nm6+bSnjwIeAGeZaGnXQDfoE+ABmGbixwKeAoeJAMHuv3w30ubATQb6KqDKjZPEuAXOMysZAncJbS7gJbCVEAdAKwP8AK4S2vJfgMVLLt6UDtAreWx0W8od7OJXryq16OPwR2j6+WpAyz2wDagape7vARt9AZ+G3HmhiKS3xwAAAABJRU5ErkJggg==",xs=4,Ao="#ffffff",ut="#ffffff",dt="rgba(246, 253, 255, 0.92)",Ke="rgba(242, 253, 255, 0.9)",Ft="rgba(218, 250, 255, 0.28)",Ss=12e3,Ms=9.35,Fe="home-3d",ft=9,Ws={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(k,{expose:n,emit:i}){const c={图斑编号:"patch_no",图斑号:"patch_no",湿地编号:"land_number",草地编号:"land_number",林地类型:"dlmc",地类:"landUseName",地类名称:"landUseName",所在乡镇:"townName",所在区域:"full_name",面积:"acreage",图斑面积:"acreage",湿地面积:"acreage",草场面积:"acreage",草原类:"grassTypeName",草原型:"grassMinType",草原等级:"grasslandLevel",草原类型:"basic_type_name",小斑干草产量:"xbGcYield",小斑鲜草产量:"xbXcYield",鲜草产量:"xcYield",干草产量:"gcYield",海拔:"elevation",地貌:"landformName",权属单位:"qsdwmc",坐落单位:"zldwmc",林班:"lin_ban",小班:"xiao_ban",森林类别:"sen_lin_lb",林种:"lin_zhong",公益林等级:"gjgyl_bhdj",保护等级:"bh_dj",质量等级:"zl_dj",优势树种:"you_shi_sz",起源:"qi_yuan",龄组:"ling_zu",郁闭度:"yu_bi_du",林地权属:"ld_qs",土地使用权属:"tdsyqs",林木权属:"lmqs",生态区位:"stqwmc",坡度等级:"slope"},s=new Set(["code","msg","message","success","data","result","grassland","wetland","woodland","basicGrassland","dyColumn","geom","wkt","geometry","the_geom","theGeom","shape","shape_leng","shape_length","length","perimeter","gid","id","objectid","object_id","fid","key_uid","bsm","ysdm"].map(e=>e.toLowerCase())),f=k,p=i,h=G(null),m=G(null),b=G(null),C=G(null),S=new Map,O=G({}),x=new Map;let v=!1,I=!1,B=null,E=null;const R=new Map,ee=new Map,Et=new Set,Ot=new Map;let Me=null,Qe="",ya=!1,Je=0,te=null,Ze=!1,Bt=!1;const ke=new Map,pe=G(0),ae=G([]),Gt=G(0),ye=G(0),le=G(!1),ce=G(1),Xe=G(!1),oe=G(null),Nt=G(!1),Rt=G("month"),Ht=G(!1),ba=G(!1),U=G(""),_o=`home-video-player-${Math.random().toString(36).slice(2)}`,ge=ii({}),Io=["#30dcff","#27f0c0","#8bf7ff","#48cfff","#48cfff","#24f6c4"],wa=vo.sideCardWidth,xa=G(typeof window=="undefined"?1080:window.innerHeight);vo.sideCardGap;const et=_(()=>Li(xa.value)),mt=_(()=>et.value),Fo=mt,Eo=Ni("2028"),Dt=[{key:"day",label:"日",unit:"日"},{key:"week",label:"周",unit:"周"},{key:"month",label:"月",unit:"月"}],pt=[{key:"grassland",name:"草地",color:"#A7FF4F",width:92},{key:"wetland",name:"湿地",color:"#36C8FF",width:92},{key:"woodland",name:"林地",color:"#31F084",width:92},{key:"yak",name:"牦牛",color:"#30DCFF",width:92}],Oo={grassland:{fill:"#A7FF4F",fillOpacity:.98,opacity:1,maxOpacity:1,stroke:"#F4FFCF",strokeOpacity:.95,strokeWidth:1.35,glowColor:"#DFFF86",glowBlur:18,glowOpacity:.44},wetland:{fill:"#36C8FF",fillOpacity:.97,opacity:1,maxOpacity:1,stroke:"#EBFCFF",strokeOpacity:.95,strokeWidth:1.35,glowColor:"#9AF2FF",glowBlur:18,glowOpacity:.48},woodland:{fill:"#31F084",fillOpacity:.97,opacity:1,maxOpacity:1,stroke:"#D9FFF0",strokeOpacity:.94,strokeWidth:1.3,glowColor:"#7CFFBF",glowBlur:18,glowOpacity:.44}},Sa={grassland:{topicKey:"grassland",layerKey:"grassland-distribution",type:"raster"},wetland:{topicKey:"wetland",layerKey:"wetland-distribution",type:"raster"},woodland:{topicKey:"woodland",layerKey:"woodland-distribution",type:"raster"},yak:{topicKey:"yak-industry-chain",layerKey:"yak-recognition-layer",type:"vector",opacity:.94},pasture:{topicKey:"yak-industry-chain",layerKey:"yak-industry-points",legendKey:"yak-industry-family-pasture",type:"vector",opacity:.96},base:{topicKey:"yak-industry-chain",layerKey:"yak-industry-points",legendKeys:["yak-industry-artificial-grassland","yak-industry-scale-breeding","yak-industry-breeding-selection"],type:"vector",opacity:.96}},K=G(Fe),ue=G(null),Oe=G(!1),Be=G(!1),de=G(null),Z=_(()=>K.value!==Fe),Bo=_(()=>f.active&&!Z.value),Ma=_(()=>{var d,g,M;const e=K.value,t=Sa[e];if(!t)return null;const a=$i.find(P=>P.key===t.topicKey),o=Fn(t);if(!(o!=null&&o.layerName)&&!(o!=null&&o.dataPath))return null;const r=Oo[e],l=t.legendKey?(o.legends||[]).find(P=>P.key===t.legendKey):null,u=Array.isArray(t.legendKeys)?t.legendKeys.map(P=>(o.legends||[]).find(y=>y.key===P)).filter(Boolean):[];return t.type==="vector"?V(D({},o),{activeLegend:l||o.activeLegend,activeLegends:u.length?u:o.activeLegends,name:`${((d=pt.find(P=>P.key===e))==null?void 0:d.name)||o.name}图层`,opacity:(g=t.opacity)!=null?g:o.opacity,homePresentationMaxOpacity:(M=t.opacity)!=null?M:.96,showPointLabels:!1,hidePointFeatures:!1}):r?V(D({},o),{name:`${(a==null?void 0:a.name)||o.name}分布`,styles:"",opacity:r.opacity,homePresentationMaxOpacity:r.maxOpacity,softMask:!1,homeGlowColor:r.glowColor,homeGlowBlur:r.glowBlur,homeGlowOpacity:r.glowOpacity,sldBody:En(o.layerName,r)}):null}),zt=_(()=>!!de.value),Go=fr,ka=_(()=>dr({point:de.value?Bn(de.value):null,rowCount:ue.value?ra(ue.value):0,loading:Be.value,empty:Oe.value||!ue.value})),No=_(()=>ka.value.height),Ro=_(()=>ka.value.style),Ho=_(()=>{var t;return{grassland:"草地详情",wetland:"湿地详情",woodland:"林地详情",yak:"牦牛识别详情"}[K.value]||`${((t=pt.find(a=>a.key===K.value))==null?void 0:t.name)||"地图"}详情`}),Pa=_(()=>ta(ma.length)),Ge=_(()=>ta(It.length)),Ca=_(()=>Cn(Rt.value)),Aa=_(()=>An(Eo,Ca.value.key)),tt=_(()=>ta(Aa.value.labels.length)),gt=_(()=>gr.filter(t=>t==null?void 0:t.name).map((t,a)=>({key:`home-balance-${t.areaCode||t.key||t.name}`,sourceIndex:a,name:t.name,value:t.overloadRate,unit:"%",status:t.level||"总体可控",extra:`载畜 ${ie(t.livestockCapacity)}`}))),$t=_(()=>{const e=gt.value,t=3,a=e.length?Math.floor(pe.value/2)*t%e.length:0;return Array.from({length:Math.min(t,e.length)},(o,r)=>e[(a+r)%e.length])}),Do=_(()=>{const e=$t.value.length;return e?pe.value%e:0}),vt={key:"home-empty-video",title:"暂无在线可播放摄像头",town:"红原县",scene:"基地监控",device:"",channel:"",cameraCount:0,status:"待接入",onlineRate:0,updateTime:"",operator:"等待在线摄像头",progress:0,image:co,playUrl:"",hdPlayUrl:"",token:""};function at(e){return(e==null?void 0:e.status)==="直播中"&&!!(e!=null&&e.hdPlayUrl&&(e!=null&&e.token))}const Ne=_(()=>ae.value.map((e,t)=>({key:`home-video-carousel-${e.key||e.title||t}`,index:t,live:e})).filter(e=>at(e.live))),Vt=_(()=>{const e=Ne.value;if(!e.length)return 0;const t=q(ye.value),a=e.findIndex(r=>r.index===t),o=a>=0?a:0;return Xe.value||Ht.value||le.value?o:(Math.floor(pe.value/xs)+o)%e.length}),H=_(()=>{var e,t;return ae.value.length?le.value?q(ye.value):(t=(e=Ne.value[Vt.value])==null?void 0:e.index)!=null?t:0:0}),zo=_(()=>ae.value[H.value]||vt),La=_(()=>an(Ne.value,Vt.value,vt)),$o=_(()=>ae.value.filter(e=>at(e)).length),yt=_(()=>ae.value.map((e,t)=>({index:t,live:e})).sort((e,t)=>Number(at(t.live))-Number(at(e.live))||e.index-t.index)),bt=_(()=>Math.max(1,Math.ceil(yt.value.length/ft))),Ta=_(()=>{const e=(ce.value-1)*ft;return yt.value.slice(e,e+ft).map(t=>({key:`home-video-modal-${t.live.key||t.live.title}-${t.index}`,index:t.index,live:t.live}))}),Vo=_(()=>vr.map(e=>e.key==="today-outflow"?V(D({},e),{value:Gt.value}):e)),jo=_(()=>{const e=Mn();return e.length?{key:"home-pasture-productivity",title:"草地生产力",rows:e,option:Pn(e,"生产力"),height:et.value}:null}),Wo=_(()=>({key:"yak-stock-distribution",title:"牦牛存栏分布",height:mt.value,option:oa({key:"yak-stock-distribution",rows:yr},"牦牛存栏",{showTrendLine:!0})})),Uo=_(()=>[aa(Le("grassland","grassland-town"),"草地面积"),aa(Le("wetland","wetland-town-area"),"湿地面积"),aa(Le("grassland","grassland-type-proportion"),"草原类别"),jo.value].filter(Boolean).map((e,t)=>kn(e,`forest-grass-wet-${t}`))),Ko=_(()=>[{key:"home-video-monitor",title:"基地监控",type:"video",height:Fo.value,live:zo.value},Wo.value,{key:"yak-structure",title:"畜群结构",height:mt.value,option:qo.value},{key:"home-town-balance-gauge",title:"草畜平衡",type:"gauge",height:mt.value,max:100,rows:$t.value}]),qo=_(()=>ct({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",color:Io,tooltip:pa(e=>`${e.name}<br/>占比:${e.percent}%<br/>估算数量:${ie(e.value)}`),legend:{orient:"vertical",right:0,top:"middle",itemWidth:8,itemHeight:8,itemGap:5,formatter(e){const t=ma.find(a=>a.name===e);return t?`${e} ${we(t.count)}`:e},textStyle:{color:dt,fontSize:10}},series:[{name:"畜群结构",type:"pie",selectedMode:"single",selectedOffset:8,radius:["36%","62%"],center:["30%","54%"],avoidLabelOverlap:!0,label:{color:ut,fontSize:10,formatter:"{d}%"},labelLine:{length:7,length2:4,lineStyle:{color:"rgba(223, 250, 255, 0.35)"}},itemStyle:{borderColor:"rgba(3, 18, 31, 0.92)",borderWidth:3},emphasis:{scale:!0,scaleSize:8,itemStyle:{shadowBlur:5,shadowColor:"rgba(48, 220, 255, 0.2)"}},data:ma.map((e,t)=>({name:e.name,value:e.count,selected:t===Pa.value}))}]}));_(()=>ct({animation:!0,animationDuration:1100,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff"],tooltip:V(D({},pa()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(e){const t=It[e[0].dataIndex];return`${t.label}<br/>预测存栏:${ie(t.stock)}`}}),grid:{left:50,right:18,top:16,bottom:24},xAxis:{type:"category",data:It.map(e=>e.shortLabel),axisLabel:{color:Ke,fontSize:11},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.26)"}},axisTick:{show:!1}},yAxis:{type:"value",min(e){return Math.max(0,Math.floor(e.min/1e4)*1e4)},axisLabel:{color:Ke,fontSize:10,margin:4,formatter:e=>Za(e,1)},splitLine:{lineStyle:{color:Ft,type:"dashed"}}},series:[{name:"预测存栏",type:"bar",barWidth:24,data:It.map((e,t)=>({value:e.stock,itemStyle:{borderRadius:[9,9,1,1],color:new je(0,0,0,1,[{offset:0,color:t===Ge.value?"#8bf7ff":"#30dcff"},{offset:.72,color:t===Ge.value?"rgba(139, 247, 255, 0.7)":"rgba(48, 220, 255, 0.62)"},{offset:1,color:t===Ge.value?"rgba(139, 247, 255, 0.1)":"rgba(48, 220, 255, 0.08)"}]),shadowBlur:t===Ge.value?16:8,shadowColor:t===Ge.value?"rgba(139, 247, 255, 0.56)":"rgba(48, 220, 255, 0.28)"}})),itemStyle:{borderRadius:[9,9,1,1],color:new je(0,0,0,1,[{offset:0,color:"#30dcff"},{offset:.72,color:"rgba(48, 220, 255, 0.62)"},{offset:1,color:"rgba(48, 220, 255, 0.08)"}])},label:{show:!0,position:"top",color:ut,fontSize:10,formatter:({value:e})=>Za(e)}}]})),_(()=>{const e=Ca.value,t=Aa.value,a=_n(t),o=Ln(a.length,e.key);return ct({animation:!0,animationDuration:1200,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff","#8bf7ff","#48cfff"],tooltip:V(D({},pa()),{trigger:"axis",triggerOn:"mousemove|click",axisPointer:{type:"cross",crossStyle:{color:"rgba(126, 251, 246, 0.42)"},label:{color:"#eaffff",backgroundColor:"rgba(5, 31, 51, 0.96)"}},formatter(r){var M,P,y;const l=Array.isArray(r)?r:[r],u=l.find(T=>T.seriesType==="candlestick"),d=(u==null?void 0:u.data)||a[(y=(P=u==null?void 0:u.dataIndex)!=null?P:(M=l[0])==null?void 0:M.dataIndex)!=null?y:0];if(!d)return"";const g=d.close-d.open;return[`${d.label}${e.unit}度预测`,`预测存栏:${ie(d.close)}`,`较上期:${In(g)}`,`繁殖补充:${ie(d.birth)}`,`出栏扣减:${ie(d.outflow)}`].join("<br/>")}}),legend:{top:2,right:2,data:["预测存栏","繁殖补充","出栏扣减"],itemWidth:10,itemHeight:7,itemGap:7,textStyle:{color:dt,fontSize:10}},grid:{left:42,right:32,top:30,bottom:24},xAxis:{type:"category",boundaryGap:!0,data:t.labels,axisLabel:{color:Ke,fontSize:10,interval:o},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",scale:!0,axisLabel:{color:Ke,fontSize:10,formatter:we},splitLine:{lineStyle:{color:Ft,type:"dashed"}}},{type:"value",axisLabel:{color:dt,fontSize:10,formatter:we},splitLine:{show:!1}}],series:[{name:"预测存栏",type:"candlestick",yAxisIndex:0,barWidth:Tn(a.length,e.key),data:a,itemStyle:{color:"rgba(48, 220, 255, 0.82)",color0:"rgba(72, 207, 255, 0.82)",borderColor:"#30dcff",borderColor0:"#48cfff",borderWidth:1.2}},{name:"预测存栏线",type:"line",yAxisIndex:0,smooth:!0,symbol:"circle",symbolSize:3,data:a.map((r,l)=>({value:r.close,symbolSize:l===tt.value?7:3,itemStyle:{color:l===tt.value?"#ffffff":"#30dcff"}})),lineStyle:{width:1.6,color:"rgba(48, 220, 255, 0.86)"},itemStyle:{color:"#30dcff"},tooltip:{show:!1}},Ja("繁殖补充",t.births,"#8bf7ff",1,!1,tt.value),Ja("出栏扣减",t.outflow,"#48cfff",1,!1,tt.value)]})}),ai(()=>{na(),window.addEventListener("resize",na),window.addEventListener("keydown",eo),document.addEventListener("pointerdown",no,!0),document.addEventListener("click",Wa,!0),Ra(),jt()}),Lo(()=>{var e,t,a,o;v=!0,window.removeEventListener("resize",na),window.removeEventListener("keydown",eo),document.removeEventListener("pointerdown",no,!0),document.removeEventListener("click",Wa,!0),qa(),be(),Ut(),qt(),x.clear(),(t=(e=h.value)==null?void 0:e.destroyMap)==null||t.call(e),(o=(a=m.value)==null?void 0:a.destroyMap)==null||o.call(a),Zo()}),ht(H,()=>{if(!le.value){if(!Ht.value&&!ba.value&&!R.size){U.value="";return}be({resetError:!0})}}),ht(K,e=>{var t,a;if(ve(),e===Fe){(a=(t=h.value)==null?void 0:t.pause)==null||a.call(t),W(()=>{wt(),Pe()});return}Fa(),W(()=>{var o,r;(r=(o=h.value)==null?void 0:o.resume)==null||r.call(o)})}),ht(()=>f.active,e=>{var t,a;e?(jt(),Xo(),Ga(),ya||Oa()):(I=!1,(a=(t=h.value)==null?void 0:t.pause)==null||a.call(t),Fa(),Ut(),qt(),be({resetError:!0}),St(),Mt())});function jt(){I=!1,p("loading-progress",{progress:0}),W(()=>{var e,t,a,o;if(Z.value){(t=(e=h.value)==null?void 0:e.hasMap)!=null&&t.call(e)?Re():(o=(a=h.value)==null?void 0:a.loadMap)==null||o.call(a);return}wt()})}function wt(){if(!(v||!f.active||Z.value)){if(Ea()){Pe(),Re();return}if(Bt){Ia();return}Ze||(Ze=!0,te=new _r({showDataOverlays:!1}),te.instance.on("onProgress",Yo),te.instance.on("onLoad",_a),te.instance.on("onError",Qo),te.instance.loaded&&_a())}}function Yo(e,t,a){if(v||Z.value)return;const o=Math.max(1,Number(a)||1),r=Math.max(0,Number(t)||0);p("loading-progress",{progress:Math.min(98,Math.floor(r/o*92))})}function _a(){v||(Ze=!1,Bt=!0,p("loading-progress",{progress:96}),W(Ia))}function Qo(e){Ze=!1,console.warn("[home] 3D map assets load failed",e),Re()}function Ia(){var e,t,a,o;v||!f.active||Z.value||!te||((t=(e=m.value)==null?void 0:e.loadMap)==null||t.call(e,te),Pe(),(o=(a=m.value)==null?void 0:a.play)==null||o.call(a),Re())}function Pe(){var a,o,r,l,u,d,g,M;const e=m.value;(a=e==null?void 0:e.resume)==null||a.call(e);const t=Ea();(r=(o=t==null?void 0:t.sizes)==null?void 0:o.init)==null||r.call(o),(l=t==null?void 0:t.resize)==null||l.call(t),(d=(u=t==null?void 0:t.label3d)==null?void 0:u.resize)==null||d.call(u),(M=(g=t==null?void 0:t.label3d)==null?void 0:g.update)==null||M.call(g)}function Fa(){var e,t;(t=(e=m.value)==null?void 0:e.pause)==null||t.call(e)}function Ea(){var t;const e=(t=m.value)==null?void 0:t.canvasMap;return(e==null?void 0:e.value)||e||null}function Jo(){Z.value||Re()}function Zo(){var e,t;(t=(e=te==null?void 0:te.instance)==null?void 0:e.destroy)==null||t.call(e),te=null,Ze=!1,Bt=!1}function Re(){v||I||(I=!0,p("loading-progress",{progress:100}),p("map-ready"),Oa())}function Wt(e={}){var t,a,o,r,l,u,d,g,M;if(!Z.value){Pe();return}if((a=(t=h.value)==null?void 0:t.resume)==null||a.call(t),e.reset){(r=(o=h.value)==null?void 0:o.resetView)==null||r.call(o),(l=h.value)!=null&&l.resetView||(d=(u=h.value)==null?void 0:u.refreshView)==null||d.call(u);return}(M=(g=h.value)==null?void 0:g.refreshView)==null||M.call(g)}function Xo(){K.value!==Fe&&!Sa[K.value]&&(K.value=Fe);const e=()=>{if(!(v||!f.active)){if(Z.value){Wt({reset:!0});return}wt(),Pe()}};W(()=>{e(),window.setTimeout(e,180)})}function en(){var e,t;if(ve(),!Z.value){Pe();return}if((t=(e=h.value)==null?void 0:e.hasMap)!=null&&t.call(e)){Wt({reset:!0});return}jt(),W(()=>{var a,o;(o=(a=h.value)==null?void 0:a.resume)==null||o.call(a)})}function tn(){if(ve(),K.value===Fe){W(()=>{wt(),Pe()});return}K.value=Fe}n({refreshMapView:Wt,resetMap:en,showDefaultThreeMap:tn});function Oa(){Ut();const e=()=>{Me=null,Qe="",!(v||!f.active)&&(ya=!0,Sn(),rn(),on(),f.active&&Ga())};if(typeof window.requestIdleCallback=="function"){Qe="idle",Me=window.requestIdleCallback(e,{timeout:1800});return}Qe="timeout",Me=window.setTimeout(e,650)}function Ut(){Me&&(Qe==="idle"&&typeof window.cancelIdleCallback=="function"?window.cancelIdleCallback(Me):window.clearTimeout(Me),Me=null,Qe="")}function Kt(e,t){e&&(t?x.set(e,t):x.delete(e))}function Ba(e,t){const a=Number(t==null?void 0:t.index);Number.isFinite(a)&&(e?S.set(a,e):S.delete(a)),t!=null&&t.isActive&&(b.value=e||null)}function an(e=[],t=0,a=vt){const o=Array.isArray(e)?e:[];if(!o.length)return[{key:`empty-${a.key||"video"}`,index:0,live:a,isActive:!0}];const r=(t+o.length)%o.length,l=o[r],u=(l==null?void 0:l.live)||l||a,d=Number.isFinite(Number(l==null?void 0:l.index))?Number(l.index):r;return[{key:`${u.key||u.title||"video"}-${d}`,index:d,live:u,isActive:!0}]}function Ga(){!f.active||v||(qt(),B=window.setInterval(Na,2600),E=window.setTimeout(Na,800))}function qt(){B&&(window.clearInterval(B),B=null),E&&(window.clearTimeout(E),E=null)}function Na(){v||!f.active||(E=null,pe.value+=1,bn(),wn(),xn())}function Ra(){p("module-stats",{moduleKey:"home",items:Vo.value})}function on(){return re(this,null,function*(){var t,a;const e=nn(new Date);try{const o=yield pr({year:Number(e.slice(0,4)),startDate:e,endDate:e}),r=(o==null?void 0:o.metrics)||{},l=Number((a=(t=r.headCount)!=null?t:r.head_count)!=null?a:0);Gt.value=Number.isFinite(l)?l:0}catch(o){Gt.value=0}v||Ra()})}function nn(e){const t=e.getFullYear(),a=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0");return`${t}-${a}-${o}`}function rn(){return re(this,null,function*(){try{const e=yield ri({includeOffline:!0,includeHidden:!0});if(v)return;ae.value=e,ye.value=0,ce.value=1,Xe.value=!1,U.value=e.some(t=>at(t))?"":"暂无在线可播放摄像头"}catch(e){if(v)return;ae.value=[],U.value="监控接口暂不可用",window.setTimeout(()=>{v||U.value==="监控接口暂不可用"&&(U.value="")},2400)}})}function q(e){const t=ae.value.length;return t?((Number(e)||0)+t)%t:0}function ne(e){return String(q(e))}function Ha(e){const t=ne(e);return ge[t]||(ge[t]={playing:!1,loading:!1,ready:!1,error:""}),ge[t]}function ot(e){return ge[ne(e)]||{}}function nt(e){return`${_o}-${ne(e)}`}function Yt(e){return!!ot(e).playing}function xt(e){return!!ot(e).loading}function He(e){const t=ot(e).error;return t||(q(e)===H.value?U.value:"")}function Da(e){const t=ot(e);return!!(t.playing||t.loading)}function Ce(){const e=Object.values(ge);Ht.value=e.some(t=>t.playing),ba.value=e.some(t=>t.loading)}function za(e,t=!0,a=H.value){const o=(e==null?void 0:e.image)||co;return Yt(a)&&t?void 0:{backgroundImage:`linear-gradient(180deg, rgba(0, 16, 26, 0.08), rgba(0, 16, 26, 0.32)), url(${o})`}}function sn(){Va(-1)}function ln(){Va(1)}function cn(){const e=H.value;be({resetError:!0}),ye.value=e,Xe.value=!0,pe.value=0;const t=yt.value.findIndex(a=>a.index===e);ce.value=Math.floor(Math.max(0,t)/ft)+1,le.value=!0,W(()=>Jt())}function St(){le.value&&(be({resetError:!0}),le.value=!1)}function $a(e){var o,r;const t=Math.max(1,Math.min(bt.value,Number(e)||1));if(t===ce.value)return;be({resetError:!0}),ce.value=t;const a=(t-1)*ft;ye.value=(r=(o=yt.value[a])==null?void 0:o.index)!=null?r:0,W(()=>Jt())}function un(){Nt.value=!0}function Mt(){Nt.value=!1}function Va(e){var r,l;const t=Ne.value,a=t.length;if(!a)return;be({resetError:!0});const o=Vt.value;ye.value=(l=(r=t[(o+e+a)%a])==null?void 0:r.index)!=null?l:0,Xe.value=!0,pe.value=0}function Ae(e){if(!ae.value.length){pn();return}const a=q(e),o=ne(a),r=ot(a);if(ye.value=a,Xe.value=!0,pe.value=0,Et.has(o)||R.has(o)||(r.playing||r.loading)&&!r.error){ze(a);return}Et.add(o),W(()=>re(this,null,function*(){try{yield Ka(a,{stopOthers:!le.value})}finally{Et.delete(o)}}))}function ja(e,t){fn(t==null?void 0:t.target)||Ae(e)}function Wa(e){var r,l,u,d,g,M,P,y,T,L;const t=((l=(r=e==null?void 0:e.target)==null?void 0:r.closest)==null?void 0:l.call(r,'[id$="-webExpend-content"]'))||((u=e==null?void 0:e.composedPath)==null?void 0:u.call(e).find(N=>String((N==null?void 0:N.id)||"").endsWith("-webExpend-content")));if(!t)return;const a=Number((M=(g=(d=t.closest)==null?void 0:d.call(t,"[data-video-index]"))==null?void 0:g.dataset)==null?void 0:M.videoIndex),o=(P=oe.value)!=null?P:Number.isFinite(a)?a:H.value;(y=e.preventDefault)==null||y.call(e),(T=e.stopPropagation)==null||T.call(e),(L=e.stopImmediatePropagation)==null||L.call(e),dn(o)}function dn(e){return re(this,null,function*(){var r,l;const t=q(e);if(oe.value===t){kt();return}oe.value!==null&&kt();const a=document.getElementById(`${nt(t)}-wrap`);if(!a)return;oe.value=t,yield W();const o=(l=(r=C.value)==null?void 0:r.querySelector)==null?void 0:l.call(r,".home-video-web-player-slot");if(!o){oe.value=null;return}o.appendChild(a),ze(t),De(t)})}function kt(e={}){var r;const{restore:t=!0}=e,a=oe.value;if(a===null)return;const o=document.getElementById(`${nt(a)}-wrap`);if(t&&o){const l=Pt(a)||b.value,u=(r=l==null?void 0:l.querySelector)==null?void 0:r.call(l,".home-video-player-host");u&&u.appendChild(o)}oe.value=null,t&&W(()=>{ze(a),De(a)})}function fn(e){var t;return!!((t=e==null?void 0:e.closest)!=null&&t.call(e,'[id$="-audioControls"], [id$="-ez-iframe-footer-container"], .footer-controls, .theme-icon-item'))}function hn(e){const t=Math.max(0,Number((e==null?void 0:e.value)||0)),a=Math.max(5,...gt.value.map(o=>Math.max(0,Number(o.value||0))));return Math.max(6,Math.min(100,t/a*100))}function mn(e){const t=Number(e==null?void 0:e.value),a=String((e==null?void 0:e.status)||(e==null?void 0:e.level)||"");return Number.isFinite(t)?t>20||/严重|重度|高超载/.test(a)?"#8bf7ff":t>10||/中度|预警/.test(a)?"#48cfff":t>5||/轻度/.test(a)?"#8bf7ff":t<=0||/总体可控|合理|正常|达标|无超载/.test(a)?"#24f6c4":"#30dcff":"#30dcff"}function Ua(e){return{"--balance-color":mn(e),"--balance-progress":`${hn(e)}%`}}function pn(){return re(this,null,function*(){return Ka(H.value,{stopOthers:!le.value})})}function Ka(a){return re(this,arguments,function*(e,t={}){const{stopOthers:o=!0}=t,r=q(e),l=ae.value[r]||vt,u=ne(r);let d=Ha(r);if((l==null?void 0:l.status)!=="直播中"||!(l!=null&&l.hdPlayUrl)||!(l!=null&&l.token)){d.error=(l==null?void 0:l.status)==="离线"?"当前监控离线":"暂无在线可播放摄像头",d.loading=!1,d.playing=!1,d.ready=!1,r===H.value&&(U.value=d.error),Ce();return}if(R.has(u)||(d.playing||d.loading)&&!d.error)return;ye.value=r,pe.value=0,o?be({resetError:!0}):(R.has(u)||d.loading)&&it(r,{resetError:!0}),d=Ha(r),d.error="",d.loading=!0,d.playing=!1,d.ready=!1,r===H.value&&(U.value=""),Ce(),yield W();const g=(ee.get(u)||0)+1;ee.set(u,g);let M=null;vn(r,g);try{const P=Pt(r)||b.value,y=nt(r);if(!gn(P,y))throw new Error("视频容器未就绪");const{width:T,height:L}=Ya(P,340,92);if(M=new si.EZUIKitPlayer({id:y,accessToken:l.token,url:l.hdPlayUrl,audio:0,width:T,height:L,themeData:yn(),handleError(N){g===ee.get(u)&&(rt(r),console.warn("EZUIKit player error",N),Zt(M),d.error="视频加载失败",d.loading=!1,d.playing=!1,d.ready=!1,ee.set(u,g+1),R.delete(u),Xt(r),r===H.value&&(U.value=d.error),Ce())},handleSuccess(){g===ee.get(u)&&(rt(r),d.error="",d.ready=!0,d.loading=!1,r===H.value&&(U.value=""),ze(r),De(r),Qt(y),Ce())},fullScreenChangeCallBack(){}}),g!==ee.get(u)){Zt(M),Xt(r);return}R.set(u,M),d.playing=!0,Ce(),W(()=>{ze(r),De(r),Qt(y)})}catch(P){rt(r),console.warn("EZUIKit init error",P),d.error="视频加载失败",r===H.value&&(U.value=d.error),it(r,{resetError:!1})}})}function Qt(e){if(typeof document=="undefined"||!e)return;const t=document.getElementById(`${e}-ez-iframe-footer-container`),a=document.getElementById(`${e}-audioControls`);t&&Object.assign(t.style,{position:"absolute",left:"0",right:"0",bottom:"0",zIndex:"20",width:"100%",marginTop:"0",pointerEvents:"auto",visibility:"visible",opacity:"1"}),a&&Object.assign(a.style,{opacity:"1",pointerEvents:"all",visibility:"visible"})}function De(e=H.value,t=0){if(typeof window=="undefined")return;const a=q(e),o=ne(a),r=ke.get(o);t===0&&r&&window.cancelAnimationFrame(r);const l=window.requestAnimationFrame(()=>{ze(a),t<8?De(a,t+1):ke.delete(o)});ke.set(o,l)}function qa(e){if(typeof window!="undefined"){if(e!==void 0){const t=ne(e),a=ke.get(t);a&&window.cancelAnimationFrame(a),ke.delete(t);return}ke.forEach(t=>window.cancelAnimationFrame(t)),ke.clear()}}function Jt(){Array.from(R.keys()).forEach(e=>{const t=Number(e);Number.isFinite(t)&&De(t)})}function Ya(e,t=1,a=1){var u;if(!e)return{width:Math.max(1,Math.floor(t||1)),height:Math.max(1,Math.floor(a||1))};const o=(u=e.getBoundingClientRect)==null?void 0:u.call(e),r=e.clientWidth||e.offsetWidth||(o==null?void 0:o.width)||t,l=e.clientHeight||e.offsetHeight||(o==null?void 0:o.height)||a;return{width:Math.max(1,Math.floor(r||1)),height:Math.max(1,Math.floor(l||1))}}function Pt(e=H.value){if(typeof document=="undefined")return null;const t=q(e),a=le.value?".home-video-modal-item":".home-video-card .home-video-screen",o=document.querySelector(`${a}[data-video-index="${t}"]`);if(o)return o;const r=S.get(t);return r!=null&&r.isConnected?r:null}function gn(e,t){var r;const a=(r=e==null?void 0:e.querySelector)==null?void 0:r.call(e,".home-video-player-host");if(!a)return null;a.replaceChildren();const o=document.createElement("div");return o.id=t,o.className="home-video-player",a.appendChild(o),o}function ze(e=H.value){var $e,Ve;if(typeof document=="undefined")return;const t=q(e),a=ne(t),o=nt(t),r=oe.value===t&&C.value?C.value:Pt(t)||b.value,l=document.getElementById(`${o}-wrap`),u=document.getElementById(o),d=l||u;if(!r||!d)return;const{width:g,height:M}=Ya(r),P=R.get(a);try{l&&u&&P&&typeof P.reSize=="function"?P.reSize(g,M):l&&u&&P&&typeof P.autoResize=="function"&&P.autoResize()}catch(j){console.warn("EZUIKit resize failed",j)}const y={position:"absolute",left:"0",top:"0",right:"0",bottom:"0",width:`${g}px`,height:`${M}px`};Object.assign(d.style,y,{display:"block",verticalAlign:"top"}),l&&u&&Object.assign(u.style,{position:"absolute",left:"0",top:"0",right:"0",bottom:"0",display:"block",width:"100%",height:"100%",maxWidth:"none",maxHeight:"none",overflow:"hidden",verticalAlign:"top"});const T=document.getElementById(`EZUIKitPlayer-${o}`);T&&(T.setAttribute("width",String(g)),T.setAttribute("height",String(M)));const L=document.getElementById(`${o}-player`),N=document.getElementById(`${o}canvas0`),$=document.getElementById(`${o}canvas_draw0`),Te=[d,u,L,N==null?void 0:N.parentElement,N,$==null?void 0:$.parentElement,$,...Array.from((u==null?void 0:u.children)||[]),...Array.from((($e=d==null?void 0:d.querySelectorAll)==null?void 0:$e.call(d,"[id$='-wrap'], .play-window, video, canvas, iframe, object, embed"))||[]),...Array.from(((Ve=u==null?void 0:u.querySelectorAll)==null?void 0:Ve.call(u,".play-window, video, canvas, iframe, object, embed"))||[]),T].filter(Boolean);Array.from(new Set(Te)).forEach(j=>{var st,Lt;(st=j.setAttribute)==null||st.call(j,"width",String(g)),(Lt=j.setAttribute)==null||Lt.call(j,"height",String(M)),Object.assign(j.style,{position:"absolute",left:"0",top:"0",right:"0",bottom:"0",width:"100%",height:"100%",maxWidth:"none",maxHeight:"none",margin:"0",objectFit:"fill"})}),Qt(o)}function be(e={}){Array.from(R.keys()).forEach(t=>{it(Number(t),e)}),Object.keys(ge).forEach(t=>{R.has(t)||it(Number(t),e)}),Ce()}function it(e,t={}){const{clearElement:a=!0,resetError:o=!1}=t,r=q(e),l=ne(r);qa(r),rt(r);const u=R.get(l);R.delete(l),ee.set(l,(ee.get(l)||0)+1),u&&Zt(u),a&&Xt(r);const d=ge[l];d&&(d.playing=!1,d.loading=!1,d.ready=!1,o&&(d.error=""),d.error||delete ge[l]),r===H.value&&o&&(U.value=""),Ce()}function vn(e,t){const a=q(e),o=ne(a);rt(a);const r=window.setTimeout(()=>{const l=ge[o];t!==ee.get(o)||!(l!=null&&l.loading)||(l.error="视频加载超时",a===H.value&&(U.value=l.error),it(a,{resetError:!1}))},Ss);Ot.set(o,r)}function rt(e){const t=ne(e),a=Ot.get(t);a&&(window.clearTimeout(a),Ot.delete(t))}function Zt(e){if(!(!e||typeof e.stop!="function"))try{const t=e.stop();t&&typeof t.catch=="function"&&t.catch(()=>{})}catch(t){console.warn("EZUIKit stop error",t)}}function Xt(e=H.value){var d;if(typeof document=="undefined")return;const t=q(e),a=nt(t),o=document.getElementById(`${a}-wrap`),r=document.getElementById(a),l=Pt(t)||b.value,u=(d=l==null?void 0:l.querySelector)==null?void 0:d.call(l,".home-video-player-host");oe.value===t&&kt({restore:!1}),u&&u.replaceChildren(),o!=null&&o.isConnected&&o.remove(),r!=null&&r.isConnected&&r.remove()}function yn(){return{autoFocus:0,header:{color:"#30dcff",activeColor:"#ffffff",backgroundColor:"#000000",btnList:[{iconId:"deviceID",part:"left",defaultActive:0,memo:"顶部设备序列号",isrender:0},{iconId:"deviceName",part:"left",defaultActive:0,memo:"顶部设备名称",isrender:0},{iconId:"cloudRec",part:"right",defaultActive:0,memo:"云存储",isrender:0},{iconId:"rec",part:"right",defaultActive:0,memo:"SD卡回放",isrender:0}]},footer:{color:"#ffffff",activeColor:"#30dcff",backgroundColor:"#00000021",btnList:[{iconId:"play",part:"left",defaultActive:1,memo:"播放",isrender:1},{iconId:"capturePicture",part:"left",defaultActive:0,memo:"截屏按钮",isrender:0},{iconId:"sound",part:"left",defaultActive:0,memo:"声音按钮",isrender:1},{iconId:"pantile",part:"left",defaultActive:0,memo:"云台控制按钮",isrender:1},{iconId:"recordvideo",part:"left",defaultActive:0,memo:"录制按钮",isrender:0},{iconId:"zoom",part:"left",defaultActive:0,memo:"电子放大",isrender:0},{iconId:"hd",part:"right",defaultActive:0,memo:"清晰度切换按钮",isrender:1},{iconId:"webExpend",part:"right",defaultActive:0,memo:"网页全屏按钮",isrender:1}]}}}function bn(){const e=x.get("yak-structure");ea(e,"畜群结构",Pa.value)}function wn(){const e=x.get("yak-three-year-forecast");ea(e,"预测存栏",Ge.value)}function xn(){const e=x.get("yak-forecast-trend");ea(e,"预测存栏",tt.value)}function ea(e,t,a){const o=typeof(e==null?void 0:e.dispatchAction)=="function"?e:e==null?void 0:e.chart;!o||a<0||(o.dispatchAction({type:"downplay",seriesName:t}),o.dispatchAction({type:"hideTip"}),o.dispatchAction({type:"highlight",seriesName:t,dataIndex:a}),o.dispatchAction({type:"showTip",seriesName:t,dataIndex:a}))}function ta(e){return e?pe.value%e:0}function Sn(){return re(this,null,function*(){const[e,t]=yield Promise.all([Po("grassland","grassland-distribution"),Po("wetland","wetland-distribution")]);v||(O.value={grassland:e,wetland:t})})}function Le(e,t){const a=O.value[e];return[...(a==null?void 0:a.leftPanels)||[],...(a==null?void 0:a.rightPanels)||[]].find(r=>(r==null?void 0:r.key)===t)}function aa(e,t){return e?V(D({},e),{title:t}):null}function Mn(){var M,P,y,T;const e=((M=Le("grassland","grassland-town"))==null?void 0:M.rows)||[],t=((P=Le("wetland","wetland-town-area"))==null?void 0:P.rows)||[],a=((y=Le("grassland","grassland-productivity-town"))==null?void 0:y.rows)||[],o=((T=Le("wetland","wetland-mu-yield"))==null?void 0:T.rows)||[],r=Ct(e),l=Ct(t),u=Ct(a),d=Ct(o);return[...new Set([...e,...t,...a,...o].map(L=>L==null?void 0:L.name).filter(Boolean))].map((L,N)=>{const $=r.get(L)||0,Te=l.get(L)||0,At=u.get(L)||0,$e=d.get(L)||0;let Ve=0,j=0;$>0&&At>0&&(Ve+=$*At,j+=$),Te>0&&$e>0&&(Ve+=Te*$e,j+=Te);const st=[At,$e].filter(sa=>sa>0),Lt=j>0?Ve/j:st.reduce((sa,Yn)=>sa+Yn,0)/Math.max(st.length,1);return{key:`home-pasture-productivity-${L}`,name:L,value:Number(Lt.toFixed(2)),unit:"斤/亩",extra:"草地与湿地加权亩产",sourceIndex:N}}).filter(L=>L.value>0)}function Ct(e=[]){return new Map(e.map(t=>[t.name,Number(t.value)||0]))}function kn(e,t){const a=String((e==null?void 0:e.key)||"");return a.includes("grassland-town")?V(D({},e),{key:`home-${t}-${e.key}`,height:et.value,option:oa(e,e.title)}):a.includes("wetland-town-area")?V(D({},e),{key:`home-${t}-${e.key}`,height:et.value,option:oa(e,e.title,{variant:"water"})}):V(D({},e),{key:`home-${t}-${e.key}`,height:et.value})}function oa(e,t,a={}){var P;const o=(e.rows||[]).filter(y=>Number.isFinite(Number(y.value))).slice(0,10),r=((P=o.find(y=>y.unit))==null?void 0:P.unit)||"万亩",l=o.map(y=>Number(y.value)||0),u=Math.max(...l,1),d=Math.ceil(u*1.14),g=a.showTrendLine===!0,M=a.variant==="water";return ct({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",title:{text:`单位:${r}`,left:"5%",top:"8%",textStyle:{color:dt,fontSize:10,fontWeight:400}},tooltip:{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{opacity:0}},backgroundColor:"rgba(0, 0, 0, 0.92)",borderWidth:1,borderColor:"rgba(255, 255, 255, 0.82)",padding:[8,10],textStyle:{color:"#ffffff",fontSize:10},formatter(y){var $;const T=Array.isArray(y)?y:[y],L=T.find(Te=>Te.seriesName===t)||T[0],N=o[($=L==null?void 0:L.dataIndex)!=null?$:0];return N?`${N.name}<br/>${t}${ie(N.value)}${N.unit||r}`:""}},grid:{left:"12%",top:"25%",width:"82%",height:"55%"},xAxis:[{type:"category",data:o.map(y=>y.name),axisLabel:{interval:0,hideOverlap:!1,color:Ao,fontSize:10,fontWeight:700,lineHeight:12,margin:8,padding:[0,0,0,0],formatter:Xa},axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1}},{type:"category",data:o.map(y=>y.name),axisLine:{show:!1,lineStyle:{color:"rgba(0, 0, 0, 0)"}},axisTick:{show:!1},axisLabel:{show:!1}}],yAxis:{type:"value",min:0,max:d,axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!0,lineStyle:{type:[2,2],dashOffset:5,color:Ft,opacity:1,width:.3}},axisLabel:{color:Ke,fontSize:10,formatter:we}},series:[{name:t,type:"bar",barWidth:M?10:6,stack:"b",z:3,data:o.map(y=>Number(y.value)||0),label:{show:!0,position:"top",distance:9,color:ut,fontSize:10,fontWeight:700,formatter:({value:y})=>we(y)},itemStyle:{borderRadius:M?[7,7,3,3]:2,color:new je(0,0,0,1,[...M?[{offset:0,color:"#a8fbff"},{offset:.42,color:"#31dcff"},{offset:1,color:"#2b8fff"}]:[{offset:0,color:"#19FFC6"},{offset:1,color:"#33AAFF"}]])},emphasis:{itemStyle:{shadowBlur:4,shadowColor:M?"rgba(49, 220, 255, 0.18)":"rgba(25, 255, 198, 0.16)"}}},...g?[{name:`${t}趋势`,type:"line",smooth:!0,symbol:"circle",symbolSize:5,showSymbol:!0,data:l,label:{show:!1},lineStyle:{width:1.3,color:"rgba(139, 247, 255, 0.82)",shadowBlur:0,shadowColor:"transparent"},itemStyle:{color:ut,borderColor:"#8bf7ff",borderWidth:1,shadowBlur:0,shadowColor:"transparent"},emphasis:{scale:!0,lineStyle:{width:2}},tooltip:{show:!1},z:5}]:[],...M?[{name:"水柱顶",type:"pictorialBar",symbol:"circle",symbolSize:[18,7],symbolOffset:[0,-2],symbolPosition:"end",data:l,itemStyle:{color:"#a8fbff",opacity:.92,shadowBlur:3,shadowColor:"rgba(168, 251, 255, 0.18)"},tooltip:{show:!1},z:4}]:[{type:"custom",renderItem(y,T){const L=T.value(0),N=T.value(1),$=T.coord([L,N]);return{type:"image",style:{x:$[0]-4.5,y:$[1]-9,width:10,height:10,image:bs},silent:!0}},data:o.map((y,T)=>[T,Number(y.value)||0]),tooltip:{show:!1},z:4}],{type:"bar",barWidth:M?20:30,xAxisIndex:1,barGap:"-220%",data:o.map(()=>d),emphasis:{focus:"none",itemStyle:{color:"rgba(255, 255, 255, 0.8)"}},itemStyle:{color:M?"rgba(58, 164, 215, 0.75)":"rgba(122, 140, 153, 0.6)",opacity:M?.12:.075},tooltip:{show:!1},z:0}]})}function Pn(e=[],t="数值"){var d;const a=e.filter(g=>Number.isFinite(Number(g.value))).slice(0,10),o=((d=a.find(g=>g.unit))==null?void 0:d.unit)||"",r=a.map(g=>Number(g.value)||0),l=Math.max(...r,1),u=Math.ceil(l*1.12);return ct({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",title:{text:o?`单位:${o}`:"",left:"5%",top:"8%",textStyle:{color:dt,fontSize:10,fontWeight:400}},grid:{left:"12%",top:"25%",width:"82%",height:"55%"},tooltip:{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{opacity:.2}},backgroundColor:"rgba(0, 0, 0, 0.92)",borderWidth:1,borderColor:"rgba(153, 153, 153, 0.95)",padding:[8,10],textStyle:{color:"#ffffff",fontSize:10},formatter(g){var T;const P=(Array.isArray(g)?g:[g])[0],y=a[(T=P==null?void 0:P.dataIndex)!=null?T:0];return y?`${y.name}<br/>${t}${ie(y.value)}${y.unit||o}`:""}},color:["#6BC7F6"],xAxis:[{type:"category",data:a.map(g=>g.name),axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1},axisLabel:{color:Ao,fontSize:10,fontWeight:700,interval:0,padding:[0,0,0,0],formatter:Xa}},{data:[],axisLine:{show:!1,lineStyle:{color:"rgba(0, 0, 0, 0)"}},axisTick:{show:!1},axisLabel:{show:!1}}],yAxis:{type:"value",min:0,max:u,axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!0,lineStyle:{type:[2,2],dashOffset:5,color:Ft,opacity:1,width:.3}},axisLabel:{color:Ke,fontSize:10,formatter:we}},series:[{name:t,data:r,type:"line",smooth:!0,symbol:ws,symbolSize:10,showSymbol:!1,z:3,emphasis:{focus:"none",itemStyle:{color:"white"}},label:{show:!0,position:"top",distance:10,color:ut,fontSize:10,fontWeight:700,formatter:({value:g})=>we(g)},lineStyle:{shadowColor:"rgba(0, 0, 0, 0.4)",shadowBlur:3,shadowOffsetY:10,width:3,color:new je(0,0,0,1,[{offset:0,color:"rgba(115, 208, 255, 1)"},{offset:1,color:"rgba(18, 60, 98, 1)"}])},areaStyle:{color:new je(0,0,0,1,[{offset:0,color:"rgba(25, 255, 236, 0.34)"},{offset:1,color:"rgba(51, 153, 255, 0)"}])}}]})}function Qa(e){const t=String((e==null?void 0:e.key)||"");return t.includes("grassland-town")||t.includes("wetland-town-area")}function Ja(e,t,a,o=0,r=!1,l=-1){return{name:e,type:"line",yAxisIndex:o,smooth:!0,symbolSize:5,data:t.map((u,d)=>({value:u,symbolSize:d===l?10:5,itemStyle:{color:d===l?"#ffffff":a},label:{show:d===l,position:"top",color:a,fontSize:10,formatter:({value:g})=>we(g)}})),lineStyle:{width:2.4,color:a},itemStyle:{color:a},areaStyle:r?{color:new je(0,0,0,1,[{offset:0,color:`${a}44`},{offset:1,color:`${a}05`}])}:void 0}}function Cn(e){return Dt.find(t=>t.key===e)||Dt[2]}function An(e,t="month"){if(t==="month")return Ri(e);const a=Hi(e),o=Math.max(1,Math.round(Math.max(1,a-1)*30)),r=t==="week"?7:1,l=Math.ceil(o/r)+1,u=Array.from({length:l},(P,y)=>{const T=Math.min(o,y*r);return Di(T)}),d=u.map((P,y)=>{const L=Math.min(o,y*r)/o,N=Math.sin(y/(t==="week"?1.8:8.5))*Math.sin(Math.PI*L)*Math.min(360,e.months*18);return Math.round(xo+(e.stock-xo)*L+N)}),g=u.map((P,y)=>Math.round(e.births*(Math.min(o,y*r)/o))),M=u.map((P,y)=>Math.round(e.outflow*(Math.min(o,y*r)/o)));return{labels:u,stock:d,births:g,outflow:M}}function Ln(e,t){return t==="day"?Math.max(10,Math.ceil(e/6)):t==="week"?Math.max(2,Math.ceil(e/7)):e>24?4:e>14?2:1}function Tn(e,t){return t==="day"?e>700?2:e>360?3:4:t==="week"?e>110?4:6:e>24?7:10}function _n(e){return(e.labels||[]).map((t,a)=>{var P,y,T,L,N,$;const o=Number(((P=e.stock)==null?void 0:P[Math.max(a-1,0)])||0),r=Number(((y=e.stock)==null?void 0:y[a])||o),l=Math.max(0,Number(((T=e.births)==null?void 0:T[a])||0)-Number(((L=e.births)==null?void 0:L[Math.max(a-1,0)])||0)),u=Math.max(0,Number(((N=e.outflow)==null?void 0:N[a])||0)-Number((($=e.outflow)==null?void 0:$[Math.max(a-1,0)])||0)),d=Math.max(120,Math.round((l+u)*.18)),g=Math.max(o,r)+Math.max(d,Math.round(l*.32)),M=Math.max(0,Math.min(o,r)-Math.max(d,Math.round(u*.32)));return{label:t,open:o,close:r,low:M,high:g,birth:l,outflow:u,value:[o,r,M,g]}})}function ie(e){const t=Number(e);return Number.isFinite(t)?t.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(t)?0:2}):"--"}function In(e){const t=Number(e);return Number.isFinite(t)?`${t>0?"+":""}${ie(t)}`:"--"}function we(e){const t=Number(e);return Number.isFinite(t)?Math.abs(t)>=1e4?`${(t/1e4).toFixed(Math.abs(t)>=1e5?0:1)}`:Math.round(t).toLocaleString("zh-CN"):"--"}function Za(e,t=2){const a=Number(e);return Number.isFinite(a)?Math.abs(a)>=1e4?`${(a/1e4).toFixed(t)}`:Math.round(a).toLocaleString("zh-CN"):"--"}function Xa(e){return String(e||"").replace(/\s+/g,"").replace(/[镇乡]$/u,"").slice(0,4)}function Fn(e){if(!e)return null;const t=Vi(e.topicKey,e.layerKey);if(t)return t;const a=ji(e.topicKey);return a.find(o=>o.key===e.layerKey)||a[0]||null}function En(e,t){const a=Number.isFinite(Number(t.fillOpacity))?Number(t.fillOpacity):.46,o=t.stroke||t.strokeColor||"#E5FCFF",r=Number.isFinite(Number(t.strokeOpacity))?Number(t.strokeOpacity):.86,l=Number.isFinite(Number(t.strokeWidth))?Number(t.strokeWidth):1.1;return`<?xml version="1.0" encoding="UTF-8"?><StyledLayerDescriptor version="1.0.0" xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc"><NamedLayer><Name>${e}</Name><UserStyle><FeatureTypeStyle><Rule><PolygonSymbolizer><Fill><CssParameter name="fill">${t.fill}</CssParameter><CssParameter name="fill-opacity">${a}</CssParameter></Fill><Stroke><CssParameter name="stroke">${o}</CssParameter><CssParameter name="stroke-opacity">${r}</CssParameter><CssParameter name="stroke-width">${l}</CssParameter><CssParameter name="stroke-linejoin">round</CssParameter></Stroke></PolygonSymbolizer></Rule></FeatureTypeStyle></UserStyle></NamedLayer></StyledLayerDescriptor>`}function On(e){pt.some(t=>t.key===e)&&(K.value=e)}function eo(e){if(e.key==="Escape"){if(oe.value!==null){kt();return}St(),Mt()}}function na(){xa.value=typeof window=="undefined"?1080:window.innerHeight,Jt()}function Bn(e){const t=document.querySelector(".home-dashboard"),a=t==null?void 0:t.getBoundingClientRect();if(!(a!=null&&a.width)||!(a!=null&&a.height))return e;const o=Number(e==null?void 0:e.x),r=Number(e==null?void 0:e.y);return!Number.isFinite(o)||!Number.isFinite(r)?{x:960,y:540}:o>=0&&o<=1920&&r>=0&&r<=1080&&(o>a.width||r>a.height)?{x:o,y:r}:{x:(o-a.left)/a.width*1920,y:(r-a.top)/a.height*1080}}function ia(e,t){var a,o,r,l;return((o=(a=h.value)==null?void 0:a.getVectorFeatureAnchorScreen)==null?void 0:o.call(a,e))||((l=(r=h.value)==null?void 0:r.getVectorFeatureScreen)==null?void 0:l.call(r,e))||t}function Gn(){if(!zt.value||!ue.value)return;const e=ia(ue.value,de.value);if(!e)return;const t=de.value;t&&Math.abs(Number(t.x)-Number(e.x))<.5&&Math.abs(Number(t.y)-Number(e.y))<.5||(de.value=e)}function ra(e){const t=(e==null?void 0:e.properties)||{};return Object.keys(t).filter(o=>to(o,t[o])).length}function to(e,t){return t==null||t===""||Array.isArray(t)||typeof t=="object"?!1:!s.has(String(e||"").toLowerCase())}function ao(e={}){const t=String(K.value||"").toLowerCase(),a=`${e.key||""} ${e.layerName||""} ${t}`.toLowerCase();return t==="woodland"||a.includes("woodland")||a.includes("t_woodland")?"woodland":t==="wetland"||a.includes("wetland")||a.includes("shidi")?"wetland":t==="grassland"||a.includes("grassland")||a.includes("caodi")?"grassland":""}function Nn(e={}){const t=oo(e.lng),a=oo(e.lat);return t===""||a===""?"":`POINT(${t} ${a})`}function oo(e){const t=Number(e);return Number.isFinite(t)?t.toFixed(8).replace(/\.?0+$/,""):""}function Rn(){return re(this,arguments,function*(e={}){var d,g,M,P,y,T;const t=Number((d=e==null?void 0:e.lngLat)==null?void 0:d.lng),a=Number((g=e==null?void 0:e.lngLat)==null?void 0:g.lat),o=Ma.value,r=ao(o);if(!Number.isFinite(t)||!Number.isFinite(a)||!r){ve();return}const l=++Je,u=e.screen||{x:960,y:540};de.value=null,ue.value=null,Oe.value=!1,Be.value=!0,(P=(M=h.value)==null?void 0:M.clearSelectedFeature)==null||P.call(M);try{const L=yield Hn(o,{lng:t,lat:a},r);if(l!==Je||v)return;if(!L){ve();return}ue.value=L,Oe.value=!1,(T=(y=h.value)==null?void 0:y.highlightFeature)==null||T.call(y,L,{highlightTone:"v21"}),de.value=ia(L,u)}catch(L){l===Je&&ve()}finally{l===Je&&(Be.value=!1)}})}function Hn(o,r){return re(this,arguments,function*(e,t,a=ao(e)){const l=Nn(t);if(!l)return null;let u=null;a==="grassland"?u=yield hr({wkt:l}):a==="wetland"?u=yield mr({wkt:l}):a==="woodland"&&(u=yield ur(l));const d=Dn(u,a);if(!$n(d))return null;const g=jn(d,e,t,a);return ra(g)>0?g:null})}function Dn(e,t){var o,r,l,u;const a=[e==null?void 0:e[t],e==null?void 0:e.grassland,e==null?void 0:e.wetland,e==null?void 0:e.woodland,(o=e==null?void 0:e.data)==null?void 0:o[t],(r=e==null?void 0:e.data)==null?void 0:r.grassland,(l=e==null?void 0:e.data)==null?void 0:l.wetland,(u=e==null?void 0:e.data)==null?void 0:u.woodland,e==null?void 0:e.data,e==null?void 0:e.result,e];for(const d of a){const g=zn(d);if(g)return g}return null}function zn(e){return Array.isArray(e)?e.find(t=>t&&typeof t=="object")||null:e&&typeof e=="object"?e:null}function $n(e){return!e||typeof e!="object"?!1:Array.isArray(e.dyColumn)&&e.dyColumn.some(Vn)?!0:Object.keys(e).some(t=>to(t,e[t]))}function Vn(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 jn(e,t,a,o){const r=Un(e),l=Wn(e);return{id:e.id||e.patchNo||e.patch_no||e.landNumber||e.land_number||`${o}-${a.lng}-${a.lat}`,properties:r,feature:{type:"Feature",properties:r,geometry:l},geometry:l,layer:t,lngLat:a}}function Wn(e={}){return e.geometry||e.geom||e.wkt||e.the_geom||e.theGeom||e.geo||e.geometryWkt||e.geometry_wkt||e.shape||null}function Un(e={}){const t=D({},e);return(Array.isArray(e.dyColumn)?e.dyColumn:[]).forEach(o=>{const r=o==null?void 0:o.value;if(r==null||r==="")return;const l=c[String((o==null?void 0:o.title)||"").trim()],u=String((o==null?void 0:o.field)||"").trim();[u,Kn(u),l].filter(Boolean).forEach(g=>{(t[g]===void 0||t[g]===null||t[g]==="")&&(t[g]=r)})}),t}function Kn(e){const t=String(e||"").trim();return t?t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase():""}function qn(e){var a,o;const t=(o=(a=e==null?void 0:e.feature)!=null?a:e)!=null?o:null;if(!t||ra(t)<=0){ve();return}ue.value=t,Oe.value=!1,e!=null&&e.screen&&(de.value=ia(t,e.screen))}function ve(){var e,t;Je+=1,ue.value=null,Oe.value=!1,Be.value=!1,de.value=null,(t=(e=h.value)==null?void 0:e.clearSelectedFeature)==null||t.call(e)}function no(e){if(!zt.value)return;const t=document.querySelector(".home-map-feature-info"),a=document.querySelector(".home-dashboard .cesium-map"),o=e.target;t&&o instanceof Node&&t.contains(o)||a&&o instanceof Node&&a.contains(o)||ve()}return(e,t)=>(A(),F("div",Ir,[so(Tt(Lr,{ref_key:"threeMapSceneRef",ref:m,class:"home-map-scene home-three-map-scene","show-data-overlays":!1,"max-pixel-ratio":1.35,onPlayComplete:Jo},null,512),[[lo,Bo.value]]),Z.value?so((A(),xe(di,{key:0,ref_key:"mapSceneRef",ref:h,class:"home-map-scene home-remote-map-scene",active:f.active&&Z.value,"active-layer":Ma.value,"admin-boundary-line-scale":2.4,"initial-zoom":Ms,"minimum-zoom-distance":1,"auto-apply-layer-map-view":!1,"max-zoom":21,"enable-imagery-feature-pick":!1,"hide-town-label-stats":"",onReady:Re,onFeatureLoading:t[0]||(t[0]=a=>Be.value=a),onFeatureInfo:qn,onMapClick:Rn,onViewChange:Gn},null,8,["active","active-layer"])),[[lo,Z.value]]):Y("",!0),t[12]||(t[12]=w("div",{class:"home-map-scrim"},null,-1)),w("div",Fr,[Tt(lr,{"model-value":K.value,topics:pt,"onUpdate:modelValue":On},null,8,["model-value"])]),zt.value?(A(),F("div",{key:1,class:"home-map-feature-info",style:lt(Ro.value)},[Tt(cr,{title:Ho.value,feature:ue.value,empty:Oe.value,loading:Be.value,width:We(Go),height:No.value,closable:"",onClose:ve},null,8,["title","feature","empty","loading","width","height"])],4)):Y("",!0),w("div",Er,[w("div",Or,[(A(!0),F(_e,null,Ie(Uo.value,a=>(A(),xe(uo,{key:a.key,class:"home-card left-card",title:a.title,width:We(wa),height:a.height},{default:la(()=>[a.option?(A(),xe(We(ca),{key:0,ref_for:!0,ref:o=>Kt(a.key,o),class:"home-chart home-town-column-chart",option:a.option,autoresize:!0},null,8,["option"])):(A(),xe(ko,{key:1,panel:a,compact:"","column-label-standard":Qa(a),"visual-version":"v21"},null,8,["panel","column-label-standard"]))]),_:2},1032,["title","width","height"]))),128))])]),w("div",Br,[w("div",Gr,[(A(!0),F(_e,null,Ie(Ko.value,a=>(A(),xe(uo,{key:a.key,class:Ue(["home-card","right-card",{"home-video-card":a.type==="video"}]),title:a.title,width:We(wa),height:a.height},{extra:la(()=>[a.type==="video"||a.key==="home-town-balance-gauge"?(A(),F("button",{key:0,class:"home-card-more",type:"button","aria-label":a.type==="video"?"查看全部基地监控":"查看全部乡镇草畜平衡",onClick:o=>a.type==="video"?cn():un()},[...t[3]||(t[3]=[oi(" 更多 ",-1),w("span",{"aria-hidden":"true"},"›",-1)])],8,Nr)):Y("",!0)]),default:la(()=>[a.type==="video"?(A(),F("div",Rr,[w("button",{class:"home-video-nav home-video-prev",type:"button","aria-label":"上一路监控",disabled:Ne.value.length<=1,onClick:sn},"‹",8,Hr),w("div",{class:Ue(["home-video-grid",{"is-single":La.value.length<=1}])},[(A(!0),F(_e,null,Ie(La.value,o=>(A(),F("div",{key:o.key,ref_for:!0,ref:r=>Ba(r,o),"data-video-index":o.index,class:Ue(["home-video-screen",{"is-active":o.isActive,"is-playing":Yt(o.index),"is-loading":xt(o.index)}]),style:lt(za(o.live,o.isActive,o.index)),role:"button",tabindex:"0",onClick:r=>ja(o.index,r),onKeydown:[_t(Se(r=>Ae(o.index),["prevent"]),["enter"]),_t(Se(r=>Ae(o.index),["prevent"]),["space"])]},[t[4]||(t[4]=w("div",{class:"home-video-player-host"},null,-1)),xt(o.index)?(A(),F("div",zr,"加载中")):Y("",!0),He(o.index)?(A(),F("div",$r,z(He(o.index)),1)):Y("",!0),o.live.hdPlayUrl&&(!Da(o.index)||He(o.index))?(A(),F("button",{key:2,class:"home-video-hit",type:"button","aria-label":"播放监控",onClick:Se(r=>Ae(o.index),["stop"])},null,8,Vr)):Y("",!0),w("div",jr,z(o.live.title),1)],46,Dr))),128))],2),w("button",{class:"home-video-nav home-video-next",type:"button","aria-label":"下一路监控",disabled:Ne.value.length<=1,onClick:ln},"›",8,Wr)])):a.key==="yak-forecast-trend"?(A(),F("div",Ur,[w("div",Kr,[(A(),F(_e,null,Ie(Dt,o=>w("button",{key:o.key,type:"button",class:Ue({active:o.key===Rt.value}),onClick:r=>Rt.value=o.key},z(o.label),11,qr)),64))]),Tt(We(ca),{ref_for:!0,ref:o=>Kt(a.key,o),class:"home-chart home-forecast-kline-chart",option:a.option,autoresize:!0},null,8,["option"])])):a.option?(A(),xe(We(ca),{key:2,ref_for:!0,ref:o=>Kt(a.key,o),class:"home-chart",option:a.option,autoresize:!0},null,8,["option"])):a.key==="home-town-balance-gauge"?(A(),F("div",Yr,[(A(!0),F(_e,null,Ie($t.value,(o,r)=>(A(),F("div",{key:o.key,class:Ue(["home-balance-gauge-card",{"is-active":r===Do.value}]),style:lt(Ua(o))},[w("div",Qr,[w("strong",null,z(o.status),1)]),w("div",Jr,[w("div",Zr,[w("strong",null,z(ie(o.value)),1),t[5]||(t[5]=w("em",null,"%",-1))])]),w("div",Xr,z(o.name),1),w("div",es,z(o.extra),1)],6))),128))])):(A(),xe(ko,{key:4,panel:a,compact:"","column-label-standard":Qa(a),"visual-version":"v21"},null,8,["panel","column-label-standard"]))]),_:2},1032,["class","title","width","height"]))),128))])]),le.value?(A(),F("div",{key:2,class:"home-more-modal",role:"dialog","aria-modal":"true","aria-label":"全部基地监控",onClick:Se(St,["self"])},[w("section",ts,[w("header",as,[w("div",null,[t[6]||(t[6]=w("h2",null,"基地监控",-1)),w("p",null,"共 "+z(ae.value.length)+" 路,在线 "+z($o.value)+" 路",1)]),w("button",{type:"button",title:"关闭","aria-label":"关闭",onClick:St},"×")]),Ta.value.length?(A(),F("div",os,[(A(!0),F(_e,null,Ie(Ta.value,a=>(A(),F("div",{key:a.key,ref_for:!0,ref:o=>Ba(o,a),"data-video-index":a.index,class:Ue(["home-video-modal-item home-video-screen",{"is-active":a.index===H.value,"is-playing":Yt(a.index),"is-loading":xt(a.index),"is-offline":a.live.status!=="直播中"}]),style:lt(za(a.live,a.index===H.value,a.index)),role:"button",tabindex:"0",onClick:o=>ja(a.index,o),onKeydown:[_t(Se(o=>Ae(a.index),["prevent"]),["enter"]),_t(Se(o=>Ae(a.index),["prevent"]),["space"])]},[t[7]||(t[7]=w("div",{class:"home-video-player-host"},null,-1)),xt(a.index)?(A(),F("div",is,"加载中")):Y("",!0),He(a.index)?(A(),F("div",rs,z(He(a.index)),1)):Y("",!0),a.live.hdPlayUrl&&(!Da(a.index)||He(a.index))?(A(),F("button",{key:2,class:"home-video-hit",type:"button","aria-label":"播放监控",onClick:Se(o=>Ae(a.index),["stop"])},null,8,ss)):Y("",!0),w("span",ls,z(a.live.title),1)],46,ns))),128))])):(A(),F("div",cs,"暂无监控数据")),bt.value>1?(A(),F("footer",us,[w("button",{type:"button",disabled:ce.value<=1,onClick:t[1]||(t[1]=a=>$a(ce.value-1))},"上一页",8,ds),w("span",null,z(ce.value)+" / "+z(bt.value),1),w("button",{type:"button",disabled:ce.value>=bt.value,onClick:t[2]||(t[2]=a=>$a(ce.value+1))},"下一页",8,fs)])):Y("",!0)])])):Y("",!0),(A(),xe(ni,{to:"body"},[oe.value!==null?(A(),F("div",hs,[w("div",{ref_key:"homeVideoWebStageRef",ref:C,class:"home-video-screen home-video-web-stage is-active is-playing"},[...t[8]||(t[8]=[w("div",{class:"home-video-web-player-slot"},null,-1)])],512)])):Y("",!0)])),Nt.value?(A(),F("div",{key:3,class:"home-more-modal",role:"dialog","aria-modal":"true","aria-label":"全部乡镇草畜平衡",onClick:Se(Mt,["self"])},[w("section",ms,[w("header",ps,[w("div",null,[t[9]||(t[9]=w("h2",null,"全县乡镇草畜平衡",-1)),w("p",null,"全部 "+z(gt.value.length)+" 个乡镇,超载率沿用草畜平衡结果库口径",1)]),w("button",{type:"button",title:"关闭","aria-label":"关闭",onClick:Mt},"×")]),w("div",gs,[(A(!0),F(_e,null,Ie(gt.value,a=>(A(),F("article",{key:a.key,class:"home-balance-modal-item",style:lt(Ua(a))},[w("div",vs,[w("strong",null,z(a.name),1),w("span",null,z(a.status),1)]),w("div",ys,[w("strong",null,z(ie(a.value)),1),t[10]||(t[10]=w("em",null,"%",-1))]),t[11]||(t[11]=w("div",{class:"home-balance-modal-track"},[w("i")],-1)),w("p",null,z(a.extra),1)],4))),128))])])])):Y("",!0)]))}};export{Ws as default};