var Yn=Object.defineProperty,Qn=Object.defineProperties;var Jn=Object.getOwnPropertyDescriptors;var io=Object.getOwnPropertySymbols;var Zn=Object.prototype.hasOwnProperty,Xn=Object.prototype.propertyIsEnumerable;var ro=(k,n,i)=>n in k?Yn(k,n,{enumerable:!0,configurable:!0,writable:!0,value:i}):k[n]=i,D=(k,n)=>{for(var i in n||(n={}))Zn.call(n,i)&&ro(k,i,n[i]);if(io)for(var i of io(n))Xn.call(n,i)&&ro(k,i,n[i]);return k},V=(k,n)=>Qn(k,Jn(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 ei,g as I,L as je,q as ti,A as W,s as so,v as lo,b as Lt,C as xe,j as q,J as lt,u as We,F as _e,y as Ie,x as la,B as ai,n as Ue,e as Tt,f as Se,t as z,T as oi,M as ni}from"./index-1784045078568.js";import{l as co,g as ii,E as ri}from"./live-scene-1-7846500b-1784045078568.js";import{H as ca}from"./index.esm.min-43166a2f-1784045078568.js";import{_ as uo}from"./index-27149dbd-1784045078568.js";import{g as ua,C as si,H as li,a as ci,M as ui}from"./index-c252ce06-1784045078568.js";import{O as di,P as Ee,a as Z,D as qe,C as se,A as me,b as Q,e as fi,F as hi,G as fe,c as mi,d as pi,f as gi,g as fo,L as ho,V as Y,h as mo,R as he,B as vi,S as da,i as yi,j as bi,k as wi,l as xi,N as Si,Q as Mi,T as ki,m as Pi,n as po,o as go,p as Ci,q as vo,r as Ai}from"./screen2Standard-98cd5b6c-1784045078568.js";import{M as Li,g as Ti,h as _i,L as Ii,B as yo,a as fa,E as Fi,G as Ei,D as Oi,b as Bi,l as ha,P as bo,c as wo,d as Gi,s as ma,f as _t,e as Ni,i as Ri,j as Hi,k as xo}from"./data-bfed1662-1784045078568.js";import{g as Ye}from"./index-e9f36657-1784045078568.js";import{h as Di,a as To,f as zi,g as $i,b as Vi}from"./townshipBoundaries-1b068bef-1784045078568.js";import{R as ji,r as Wi,a as Ui,c as Ki,o as qi,s as Yi,p as Qi,b as So,d as Ji,h as Zi,g as Mo,e as Xi,f as er,i as tr,j as ar,k as or,l as nr,m as ir,n as rr,_ as sr}from"./TopicSwitcher-2ffd167b-1784045078568.js";import{_ as lr,a as ko}from"./FeatureInfoPanel-b2a9b292-1784045078568.js";import{g as Po,a as cr}from"./openApi-528034ce-1784045078568.js";import{c as ur,F as dr,g as fr,a as hr}from"./featurePanelLayout-5da16b00-1784045078568.js";import{g as mr}from"./yakApi-9c3a9777-1784045078568.js";import{w as ct,f as pa}from"./chartTheme-8c348a2d-1784045078568.js";import{b as pr}from"./data-5c83c66b-1784045078568.js";import{h as gr,y as vr}from"./data-881b212b-1784045078568.js";import"./index-6a8ef8cf-1784045078568.js";import"./livestockData-36ec0ae2-1784045078568.js";import"./geoserver-6ded2e06-1784045078568.js";class yr extends di{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 Z({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 Q(i,f),S=new Q(c,p);S.rotation.x=Math.PI/2;let O=S.clone();O.rotation.y=Math.PI/2;let x=new Q(i,h),v=new Q(i,m),_=new Q(i,b),B=[v,x,C,_,S,O];B.map(R=>{R.renderOrder=99}),this.add(...B);let E=0;_.scale.setScalar(E),this.animateElements={focusMidQuan:v,focusArrows:C,focusMoveBg:_},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()}),fi(this)}}const br=Di.map(k=>D({},k)),Co=To.map(k=>D({},k)),wr=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]}}),xr=[{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 Sr(k){return k?typeof k=="string"?JSON.parse(k):k:null}function va(k){const n=Sr(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 Mr(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 kr(k,n,i){const c=Number(k);return Number.isFinite(c)?Math.max(n,Math.min(i,c)):n}class Pr extends Li{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=Ti().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 hi(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 _i(this.renderer.instance,this.camera.instance,this.canvas),this.assets=i,this.staticMapData={china:va(Mr(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 Ii(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 mi(16777215,5);this.scene.add(n);let i=new pi(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 gi(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 Fi(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new Y(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 Y(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 ",` #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 ",` #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 ",` #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 Z({color:16777215,transparent:!0,opacity:0,depthTest:!1,fog:!1});new Ei(S,{uColor1:b>3?16506760:5291006,uColor2:b>3?16776948:7863285,size:C,dir:"y"});const O=new vi(.1*s,.1*s,C);O.translate(0,0,C/2);const x=new Q(O,S);x.renderOrder=5;let v=x,[_,B]=this.geoProjection(m.centroid);v.position.set(_,-B,this.depth+.45),v.scale.set(1,1,0),v.userData=D({},m);let E=this.createQuan(new Y(_,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 X=h(m,b,new Y(_,-B,this.depth+1.1+C));this.allBar.push(v),this.allBarMaterial.push(S),this.allGuangquan.push(E),this.allProvinceLabel.push(X)}),this.scene.add(c);function h(m,b,C){let S=n.label3d.create("","provinces-label",!1);return S.init(`
${m.value}km²
${b+1}
`,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 Z({color:i,map:s,transparent:!0,opacity:.4,depthWrite:!1,side:qe,blending:me}),p=new Q(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 Z({color:16777215,map:c,alphaMap:c,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:me}),h=new Z({color:16777215,map:s,alphaMap:s,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:me}),m=new Q(f,p),b=new Q(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 Z({color:0,depthWrite:!1,transparent:!0,blending:yi});i.blendEquation=bi,i.blendSrc=wi,i.blendDst=xi,new Oi({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 Q(n,i);c.renderOrder=3,c.rotation.x=-Math.PI/2,c.position.set(0,.21,0),this.scene.add(c)}createGrid(){new Bi(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 Z({map:i,opacity:1,fog:!1}),s=new Q(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=Si,i.repeat.set(1,1);let c=new Z({color:4162253,alphaMap:i,transparent:!0,opacity:.5}),s=new Q(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(br.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?``:"";return C.init(`
${x}${h.name}
`,new Y(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(`
`,new Y(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 Z({map:i,color:4763647,transparent:!0,opacity:.2,side:qe,depthWrite:!1,blending:me}),position:new Y(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 Z({map:c,color:4763647,transparent:!0,opacity:.4,side:qe,depthWrite:!1,blending:me}),position:new Y(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 Y(p,-h,0);const b=new Z({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 Y(S,-O,0);const v=new Y;v.addVectors(m,x).multiplyScalar(.5),v.setZ(3);const _=new Mi(m,v,x),B=new ki(_,c,i,s,f),E=new Q(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 yr(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 Pi({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(wr),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(xr),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]),_=[x,-v,this.depth+.7];S.position.set(..._),S.userData.position=[..._],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(`
名称${m.name}
面积${m.value}km²
类型${m.level}
`,new Y(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 Y(0,0,this.depth+.24),data:n,material:new Z({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=kr(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 Cr={class:"map"},Ar={__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=ei(null),f=k,p=i;let h=!1;Lo(()=>{O()});function m(x){var v,_,B,E;s.value||!c.value||(s.value=new Pr(c.value,x,{showDataOverlays:f.showDataOverlays,maxPixelRatio:f.maxPixelRatio||void 0,onTownClick:R=>p("town-click",R),onPlayComplete:()=>p("play-complete")}),(_=(v=s.value).setSceneMode)==null||_.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,_,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=(_=s.value.animateTl)==null?void 0:_.play)==null||B.call(_)))})}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,_,B,E,R;s.value&&((v=(x=s.value.animateTl)==null?void 0:x.pause)==null||v.call(x),(B=(_=s.value).pauseScene)==null||B.call(_),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,_;(_=(v=s.value)==null?void 0:v.setSceneMode)==null||_.call(v,x)},{immediate:!0}),ht(()=>f.showDataOverlays,x=>{var v,_;(_=(v=s.value)==null?void 0:v.setDataOverlaysVisible)==null||_.call(v,x)}),(x,v)=>(A(),F("div",Cr,[w("canvas",{ref_key:"canvasRef",ref:c},null,512)]))}},Lr=""+new URL("flyline6-525edf67-balabala-1784045078568.png",import.meta.url).href;class Tr{constructor(n={}){this.options=n||{},this.init()}init(){this.instance=new ji,this.instance.addLoader(Ci,"FileLoader");const n={type:"File",name:"china",path:ua(si)},i=[{type:"File",name:"mapJson",path:ua(li)},{type:"File",name:"mapStroke",path:ua(ci)},{type:"Texture",name:"rotationBorder1",path:Wi},{type:"Texture",name:"rotationBorder2",path:Ui},{type:"Texture",name:"chinaBlurLine",path:Ki},{type:"Texture",name:"ocean",path:qi},{type:"Texture",name:"side",path:Yi},{type:"Texture",name:"pathLine3",path:Qi}],c=[{type:"Texture",name:"flyline",path:So},{type:"Texture",name:"pathLine",path:So},{type:"Texture",name:"pathLine2",path:Ji},{type:"Texture",name:"huiguang",path:Zi},{type:"Texture",name:"guangquan1",path:Mo},{type:"Texture",name:"guangquan2",path:Xi},{type:"Texture",name:"flyLineFocus",path:Mo},{type:"Texture",name:"mapFlyline",path:Lr},{type:"Texture",name:"arrow",path:er},{type:"Texture",name:"point",path:tr},{type:"Texture",name:"focusArrows",path:ar},{type:"Texture",name:"focusBar",path:or},{type:"Texture",name:"focusBg",path:nr},{type:"Texture",name:"focusMidQuan",path:ir},{type:"Texture",name:"focusMoveBg",path:rr}],s=this.options.showDataOverlays===!1?i:[n,...i,...c];this.instance.loadAll(s)}}const _r={class:"home-dashboard"},Ir={class:"home-bottom-switcher"},Fr={class:"home-left"},Er={class:"home-side-stack is-left"},Or={class:"home-right"},Br={class:"home-side-stack is-right"},Gr=["aria-label","onClick"],Nr={key:0,class:"home-video-monitor"},Rr=["disabled"],Hr=["data-video-index","onClick","onKeydown"],Dr={key:0,class:"home-video-loading"},zr={key:1,class:"home-video-error"},$r=["onClick"],Vr={class:"home-video-point-name"},jr=["disabled"],Wr={key:1,class:"home-forecast-trend-card"},Ur={class:"home-forecast-density-switcher","aria-label":"预测粒度切换"},Kr=["onClick"],qr={key:3,class:"home-balance-gauge-grid"},Yr={class:"home-balance-gauge-head"},Qr={class:"home-balance-gauge-ring"},Jr={class:"home-balance-gauge-value"},Zr={class:"home-balance-gauge-name"},Xr={class:"home-balance-gauge-extra"},es={class:"home-more-dialog home-video-dialog"},ts={class:"home-more-dialog-head"},as={key:0,class:"home-video-modal-grid"},os=["data-video-index","onClick","onKeydown"],ns={key:0,class:"home-video-loading"},is={key:1,class:"home-video-error"},rs=["onClick"],ss={class:"home-video-point-name"},ls={key:1,class:"home-more-empty"},cs={key:2,class:"home-more-pager"},us=["disabled"],ds=["disabled"],fs={key:0,class:"home-video-web-overlay",role:"dialog","aria-modal":"true","aria-label":"基地监控网页全屏"},hs={class:"home-more-dialog home-balance-dialog"},ms={class:"home-more-dialog-head"},ps={class:"home-balance-modal-grid"},gs={class:"home-balance-modal-title"},vs={class:"home-balance-modal-value"},ys="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAAXNSR0IArs4c6QAAAL1JREFUOE9j/P///38GMgAjSKOMdxRJWp9sXcYA18giJMLw99MHhv9//mA1hJGZhYGZX4Dhz7s3DCgaGVlYGDjVtBi+37rO8P/PbxTNjCysDJyqWgzfb18Dy6FoBKmEKfh17wZcM0iMTUkDrgmkDkMjSJCFnZ3hwbr5KDYqBCUy/Pn5Ey6GVSMzMxPDw01LUDTK+8Uw/P37j0YayXIqWYGDHuTInsQbHeAE8PEDw/+/JCYAUtIcPDpI0QRTCwDhurXXJ/EmUwAAAABJRU5ErkJggg==",bs="image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAQ5JREFUOE+1la1OQ0EQRs8kCFIQdVCCxIBpCK1AInkDHC+B4QkwvASub4GsaE0NGCRpKhGFVDQZ+Mjem9vNbkphmWTMfjNnd3b2x0iYuxuwH7wNbIewBfAGzORm5nG6ElfM3QU6AXZSkzXG3oEnMxO8thWgux8DR2tAsfxiZs/VYA38Jazi1NBvYCizv+HK4vCRyrfQgIsf7Nm6+bSnjwIeAGeZaGnXQDfoE+ABmGbixwKeAoeJAMHuv3w30ubATQb6KqDKjZPEuAXOMysZAncJbS7gJbCVEAdAKwP8AK4S2vJfgMVLLt6UDtAreWx0W8od7OJXryq16OPwR2j6+WpAyz2wDagape7vARt9AZ+G3HmhiKS3xwAAAABJRU5ErkJggg==",ws=4,Ao="#ffffff",ut="#ffffff",dt="rgba(246, 253, 255, 0.92)",Ke="rgba(242, 253, 255, 0.9)",It="rgba(218, 250, 255, 0.28)",xs=12e3,Ss=9.35,Fe="home-3d",ft=9,js={__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,_=!1,B=null,E=null;const R=new Map,X=new Map,Ft=new Set,Et=new Map;let Me=null,Qe="",ya=!1,Je=0,ee=null,Ze=!1,Ot=!1;const ke=new Map,pe=G(0),te=G([]),Bt=G(0),ye=G(0),le=G(!1),ce=G(1),Xe=G(!1),ae=G(null),Gt=G(!1),Nt=G("month"),Rt=G(!1),ba=G(!1),U=G(""),_o=`home-video-player-${Math.random().toString(36).slice(2)}`,ge=ni({}),Io=["#30dcff","#27f0c0","#8bf7ff","#48cfff","#48cfff","#24f6c4"],wa=vo.sideCardWidth,xa=G(typeof window=="undefined"?1080:window.innerHeight);vo.sideCardGap;const et=I(()=>Ai(xa.value)),mt=I(()=>et.value),Fo=mt,Eo=Gi("2028"),Ht=[{key:"day",label:"日",unit:"日"},{key:"week",label:"周",unit:"周"},{key:"month",label:"月",unit:"月"}],Dt=[{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}},oe=G(Fe),ue=G(null),Oe=G(!1),Be=G(!1),de=G(null),J=I(()=>oe.value!==Fe),Bo=I(()=>f.active&&!J.value),Ma=I(()=>{var d,g,M;const e=oe.value,t=Sa[e];if(!t)return null;const a=zi.find(P=>P.key===t.topicKey),o=In(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=Dt.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:Fn(o.layerName,r)}):null}),zt=I(()=>!!de.value),Go=dr,ka=I(()=>ur({point:de.value?On(de.value):null,rowCount:ue.value?ra(ue.value):0,loading:Be.value,empty:Oe.value||!ue.value})),No=I(()=>ka.value.height),Ro=I(()=>ka.value.style),Pa=I(()=>ta(ma.length)),Ge=I(()=>ta(_t.length)),Ca=I(()=>Pn(Nt.value)),Aa=I(()=>Cn(Eo,Ca.value.key)),tt=I(()=>ta(Aa.value.labels.length)),pt=I(()=>pr.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=I(()=>{const e=pt.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])}),Ho=I(()=>{const e=$t.value.length;return e?pe.value%e:0}),gt={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=I(()=>te.value.map((e,t)=>({key:`home-video-carousel-${e.key||e.title||t}`,index:t,live:e})).filter(e=>at(e.live))),Vt=I(()=>{const e=Ne.value;if(!e.length)return 0;const t=K(ye.value),a=e.findIndex(r=>r.index===t),o=a>=0?a:0;return Xe.value||Rt.value||le.value?o:(Math.floor(pe.value/ws)+o)%e.length}),H=I(()=>{var e,t;return te.value.length?le.value?K(ye.value):(t=(e=Ne.value[Vt.value])==null?void 0:e.index)!=null?t:0:0}),Do=I(()=>te.value[H.value]||gt),La=I(()=>tn(Ne.value,Vt.value,gt)),zo=I(()=>te.value.filter(e=>at(e)).length),vt=I(()=>te.value.map((e,t)=>({index:t,live:e})).sort((e,t)=>Number(at(t.live))-Number(at(e.live))||e.index-t.index)),yt=I(()=>Math.max(1,Math.ceil(vt.value.length/ft))),Ta=I(()=>{const e=(ce.value-1)*ft;return vt.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}))}),$o=I(()=>gr.map(e=>e.key==="today-outflow"?V(D({},e),{value:Bt.value}):e)),Vo=I(()=>{const e=Sn();return e.length?{key:"home-pasture-productivity",title:"草地生产力",rows:e,option:kn(e,"生产力"),height:et.value}:null}),jo=I(()=>({key:"yak-stock-distribution",title:"牦牛存栏分布",height:mt.value,option:oa({key:"yak-stock-distribution",rows:vr},"牦牛存栏",{showTrendLine:!0})})),Wo=I(()=>[aa(Le("grassland","grassland-town"),"草地面积"),aa(Le("wetland","wetland-town-area"),"湿地面积"),aa(Le("grassland","grassland-type-proportion"),"草原类别"),Vo.value].filter(Boolean).map((e,t)=>Mn(e,`forest-grass-wet-${t}`))),Uo=I(()=>[{key:"home-video-monitor",title:"基地监控",type:"video",height:Fo.value,live:Do.value},jo.value,{key:"yak-structure",title:"畜群结构",height:mt.value,option:Ko.value},{key:"home-town-balance-gauge",title:"草畜平衡",type:"gauge",height:mt.value,max:100,rows:$t.value}]),Ko=I(()=>ct({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",color:Io,tooltip:pa(e=>`${e.name}
占比:${e.percent}%
估算数量:${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}))}]}));I(()=>ct({animation:!0,animationDuration:1100,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff"],tooltip:V(D({},pa()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(e){const t=_t[e[0].dataIndex];return`${t.label}
预测存栏:${ie(t.stock)}头`}}),grid:{left:50,right:18,top:16,bottom:24},xAxis:{type:"category",data:_t.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:It,type:"dashed"}}},series:[{name:"预测存栏",type:"bar",barWidth:24,data:_t.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)}}]})),I(()=>{const e=Ca.value,t=Aa.value,a=Tn(t),o=An(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)}头`,`较上期:${_n(g)}头`,`繁殖补充:${ie(d.birth)}头`,`出栏扣减:${ie(d.outflow)}头`].join("
")}}),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:It,type:"dashed"}}},{type:"value",axisLabel:{color:dt,fontSize:10,formatter:we},splitLine:{show:!1}}],series:[{name:"预测存栏",type:"candlestick",yAxisIndex:0,barWidth:Ln(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)]})}),ti(()=>{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),Jo()}),ht(H,()=>{if(!le.value){if(!Rt.value&&!ba.value&&!R.size){U.value="";return}be({resetError:!0})}}),ht(oe,e=>{var t,a;if(ve(),e===Fe){(a=(t=h.value)==null?void 0:t.pause)==null||a.call(t),W(()=>{bt(),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(),Zo(),Ga(),ya||Oa()):(_=!1,(a=(t=h.value)==null?void 0:t.pause)==null||a.call(t),Fa(),Ut(),qt(),be({resetError:!0}),xt(),St())});function jt(){_=!1,p("loading-progress",{progress:0}),W(()=>{var e,t,a,o;if(J.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}bt()})}function bt(){if(!(v||!f.active||J.value)){if(Ea()){Pe(),Re();return}if(Ot){Ia();return}Ze||(Ze=!0,ee=new Tr({showDataOverlays:!1}),ee.instance.on("onProgress",qo),ee.instance.on("onLoad",_a),ee.instance.on("onError",Yo),ee.instance.loaded&&_a())}}function qo(e,t,a){if(v||J.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,Ot=!0,p("loading-progress",{progress:96}),W(Ia))}function Yo(e){Ze=!1,console.warn("[home] 3D map assets load failed",e),Re()}function Ia(){var e,t,a,o;v||!f.active||J.value||!ee||((t=(e=m.value)==null?void 0:e.loadMap)==null||t.call(e,ee),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 Qo(){J.value||Re()}function Jo(){var e,t;(t=(e=ee==null?void 0:ee.instance)==null?void 0:e.destroy)==null||t.call(e),ee=null,Ze=!1,Ot=!1}function Re(){v||_||(_=!0,p("loading-progress",{progress:100}),p("map-ready"),Oa())}function Wt(e={}){var t,a,o,r,l,u,d,g,M;if(!J.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 Zo(){oe.value!==Fe&&!Sa[oe.value]&&(oe.value=Fe);const e=()=>{if(!(v||!f.active)){if(J.value){Wt({reset:!0});return}bt(),Pe()}};W(()=>{e(),window.setTimeout(e,180)})}function Xo(){var e,t;if(ve(),!J.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 en(){if(ve(),oe.value===Fe){W(()=>{bt(),Pe()});return}oe.value=Fe}n({refreshMapView:Wt,resetMap:Xo,showDefaultThreeMap:en});function Oa(){Ut();const e=()=>{Me=null,Qe="",!(v||!f.active)&&(ya=!0,xn(),nn(),an(),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 tn(e=[],t=0,a=gt){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,yn(),bn(),wn())}function Ra(){p("module-stats",{moduleKey:"home",items:$o.value})}function an(){return re(this,null,function*(){var t,a;const e=on(new Date);try{const o=yield mr({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);Bt.value=Number.isFinite(l)?l:0}catch(o){Bt.value=0}v||Ra()})}function on(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 nn(){return re(this,null,function*(){try{const e=yield ii({includeOffline:!0,includeHidden:!0});if(v)return;te.value=e,ye.value=0,ce.value=1,Xe.value=!1,U.value=e.some(t=>at(t))?"":"暂无在线可播放摄像头"}catch(e){if(v)return;te.value=[],U.value="监控接口暂不可用",window.setTimeout(()=>{v||U.value==="监控接口暂不可用"&&(U.value="")},2400)}})}function K(e){const t=te.value.length;return t?((Number(e)||0)+t)%t:0}function ne(e){return String(K(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 wt(e){return!!ot(e).loading}function He(e){const t=ot(e).error;return t||(K(e)===H.value?U.value:"")}function Da(e){const t=ot(e);return!!(t.playing||t.loading)}function Ce(){const e=Object.values(ge);Rt.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 rn(){Va(-1)}function sn(){Va(1)}function ln(){const e=H.value;be({resetError:!0}),ye.value=e,Xe.value=!0,pe.value=0;const t=vt.value.findIndex(a=>a.index===e);ce.value=Math.floor(Math.max(0,t)/ft)+1,le.value=!0,W(()=>Jt())}function xt(){le.value&&(be({resetError:!0}),le.value=!1)}function $a(e){var o,r;const t=Math.max(1,Math.min(yt.value,Number(e)||1));if(t===ce.value)return;be({resetError:!0}),ce.value=t;const a=(t-1)*ft;ye.value=(r=(o=vt.value[a])==null?void 0:o.index)!=null?r:0,W(()=>Jt())}function cn(){Gt.value=!0}function St(){Gt.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(!te.value.length){mn();return}const a=K(e),o=ne(a),r=ot(a);if(ye.value=a,Xe.value=!0,pe.value=0,Ft.has(o)||R.has(o)||(r.playing||r.loading)&&!r.error){ze(a);return}Ft.add(o),W(()=>re(this,null,function*(){try{yield Ka(a,{stopOthers:!le.value})}finally{Ft.delete(o)}}))}function ja(e,t){dn(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=ae.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),un(o)}function un(e){return re(this,null,function*(){var r,l;const t=K(e);if(ae.value===t){Mt();return}ae.value!==null&&Mt();const a=document.getElementById(`${nt(t)}-wrap`);if(!a)return;ae.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){ae.value=null;return}o.appendChild(a),ze(t),De(t)})}function Mt(e={}){var r;const{restore:t=!0}=e,a=ae.value;if(a===null)return;const o=document.getElementById(`${nt(a)}-wrap`);if(t&&o){const l=kt(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)}ae.value=null,t&&W(()=>{ze(a),De(a)})}function dn(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 fn(e){const t=Math.max(0,Number((e==null?void 0:e.value)||0)),a=Math.max(5,...pt.value.map(o=>Math.max(0,Number(o.value||0))));return Math.max(6,Math.min(100,t/a*100))}function hn(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":hn(e),"--balance-progress":`${fn(e)}%`}}function mn(){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=K(e),l=te.value[r]||gt,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=(X.get(u)||0)+1;X.set(u,g);let M=null;gn(r,g);try{const P=kt(r)||b.value,y=nt(r);if(!pn(P,y))throw new Error("视频容器未就绪");const{width:T,height:L}=Ya(P,340,92);if(M=new ri.EZUIKitPlayer({id:y,accessToken:l.token,url:l.hdPlayUrl,audio:0,width:T,height:L,themeData:vn(),handleError(N){g===X.get(u)&&(rt(r),console.warn("EZUIKit player error",N),Zt(M),d.error="视频加载失败",d.loading=!1,d.playing=!1,d.ready=!1,X.set(u,g+1),R.delete(u),Xt(r),r===H.value&&(U.value=d.error),Ce())},handleSuccess(){g===X.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!==X.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=K(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 kt(e=H.value){if(typeof document=="undefined")return null;const t=K(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 pn(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=K(e),a=ne(t),o=nt(t),r=ae.value===t&&C.value?C.value:kt(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,At;(st=j.setAttribute)==null||st.call(j,"width",String(g)),(At=j.setAttribute)==null||At.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=K(e),l=ne(r);qa(r),rt(r);const u=R.get(l);R.delete(l),X.set(l,(X.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 gn(e,t){const a=K(e),o=ne(a);rt(a);const r=window.setTimeout(()=>{const l=ge[o];t!==X.get(o)||!(l!=null&&l.loading)||(l.error="视频加载超时",a===H.value&&(U.value=l.error),it(a,{resetError:!1}))},xs);Et.set(o,r)}function rt(e){const t=ne(e),a=Et.get(t);a&&(window.clearTimeout(a),Et.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=K(e),a=nt(t),o=document.getElementById(`${a}-wrap`),r=document.getElementById(a),l=kt(t)||b.value,u=(d=l==null?void 0:l.querySelector)==null?void 0:d.call(l,".home-video-player-host");ae.value===t&&Mt({restore:!1}),u&&u.replaceChildren(),o!=null&&o.isConnected&&o.remove(),r!=null&&r.isConnected&&r.remove()}function vn(){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 yn(){const e=x.get("yak-structure");ea(e,"畜群结构",Pa.value)}function bn(){const e=x.get("yak-three-year-forecast");ea(e,"预测存栏",Ge.value)}function wn(){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 xn(){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 Sn(){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=Pt(e),l=Pt(t),u=Pt(a),d=Pt(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,Ct=u.get(L)||0,$e=d.get(L)||0;let Ve=0,j=0;$>0&&Ct>0&&(Ve+=$*Ct,j+=$),Te>0&&$e>0&&(Ve+=Te*$e,j+=Te);const st=[Ct,$e].filter(sa=>sa>0),At=j>0?Ve/j:st.reduce((sa,qn)=>sa+qn,0)/Math.max(st.length,1);return{key:`home-pasture-productivity-${L}`,name:L,value:Number(At.toFixed(2)),unit:"斤/亩",extra:"草地与湿地加权亩产",sourceIndex:N}}).filter(L=>L.value>0)}function Pt(e=[]){return new Map(e.map(t=>[t.name,Number(t.value)||0]))}function Mn(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}
${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:It,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:ys},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 kn(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}
${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:It,opacity:1,width:.3}},axisLabel:{color:Ke,fontSize:10,formatter:we}},series:[{name:t,data:r,type:"line",smooth:!0,symbol:bs,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 Pn(e){return Ht.find(t=>t.key===e)||Ht[2]}function Cn(e,t="month"){if(t==="month")return Ni(e);const a=Ri(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 Hi(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 An(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 Ln(e,t){return t==="day"?e>700?2:e>360?3:4:t==="week"?e>110?4:6:e>24?7:10}function Tn(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 _n(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 In(e){if(!e)return null;const t=$i(e.topicKey,e.layerKey);if(t)return t;const a=Vi(e.topicKey);return a.find(o=>o.key===e.layerKey)||a[0]||null}function Fn(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`${e}${t.fill}${a}${o}${r}${l}round`}function En(e){Dt.some(t=>t.key===e)&&(oe.value=e)}function eo(e){if(e.key==="Escape"){if(ae.value!==null){Mt();return}xt(),St()}}function na(){xa.value=typeof window=="undefined"?1080:window.innerHeight,Jt()}function On(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 Bn(){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(oe.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 Gn(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 Nn(){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 Rn(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 Rn(o,r){return re(this,arguments,function*(e,t,a=ao(e)){const l=Gn(t);if(!l)return null;let u=null;a==="grassland"?u=yield fr({wkt:l}):a==="wetland"?u=yield hr({wkt:l}):a==="woodland"&&(u=yield cr(l));const d=Hn(u,a);if(!zn(d))return null;const g=Vn(d,e,t,a);return ra(g)>0?g:null})}function Hn(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=Dn(d);if(g)return g}return null}function Dn(e){return Array.isArray(e)?e.find(t=>t&&typeof t=="object")||null:e&&typeof e=="object"?e:null}function zn(e){return!e||typeof e!="object"?!1:Array.isArray(e.dyColumn)&&e.dyColumn.some($n)?!0:Object.keys(e).some(t=>to(t,e[t]))}function $n(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 Vn(e,t,a,o){const r=Wn(e),l=jn(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 jn(e={}){return e.geometry||e.geom||e.wkt||e.the_geom||e.theGeom||e.geo||e.geometryWkt||e.geometry_wkt||e.shape||null}function Wn(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,Un(u),l].filter(Boolean).forEach(g=>{(t[g]===void 0||t[g]===null||t[g]==="")&&(t[g]=r)})}),t}function Un(e){const t=String(e||"").trim();return t?t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase():""}function Kn(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",_r,[so(Lt(Ar,{ref_key:"threeMapSceneRef",ref:m,class:"home-map-scene home-three-map-scene","show-data-overlays":!1,"max-pixel-ratio":1.35,onPlayComplete:Qo},null,512),[[lo,Bo.value]]),J.value?so((A(),xe(ui,{key:0,ref_key:"mapSceneRef",ref:h,class:"home-map-scene home-remote-map-scene",active:f.active&&J.value,"active-layer":Ma.value,"admin-boundary-line-scale":2.4,"initial-zoom":Ss,"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:Kn,onMapClick:Nn,onViewChange:Bn},null,8,["active","active-layer"])),[[lo,J.value]]):q("",!0),t[12]||(t[12]=w("div",{class:"home-map-scrim"},null,-1)),w("div",Ir,[Lt(sr,{"model-value":oe.value,topics:Dt,"onUpdate:modelValue":En},null,8,["model-value"])]),zt.value?(A(),F("div",{key:1,class:"home-map-feature-info",style:lt(Ro.value)},[Lt(lr,{feature:ue.value,empty:Oe.value,loading:Be.value,width:We(Go),height:No.value,closable:"",onClose:ve},null,8,["feature","empty","loading","width","height"])],4)):q("",!0),w("div",Fr,[w("div",Er,[(A(!0),F(_e,null,Ie(Wo.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",Or,[w("div",Br,[(A(!0),F(_e,null,Ie(Uo.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"?ln():cn()},[...t[3]||(t[3]=[ai(" 更多 ",-1),w("span",{"aria-hidden":"true"},"›",-1)])],8,Gr)):q("",!0)]),default:la(()=>[a.type==="video"?(A(),F("div",Nr,[w("button",{class:"home-video-nav home-video-prev",type:"button","aria-label":"上一路监控",disabled:Ne.value.length<=1,onClick:rn},"‹",8,Rr),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":wt(o.index)}]),style:lt(za(o.live,o.isActive,o.index)),role:"button",tabindex:"0",onClick:r=>ja(o.index,r),onKeydown:[Tt(Se(r=>Ae(o.index),["prevent"]),["enter"]),Tt(Se(r=>Ae(o.index),["prevent"]),["space"])]},[t[4]||(t[4]=w("div",{class:"home-video-player-host"},null,-1)),wt(o.index)?(A(),F("div",Dr,"加载中")):q("",!0),He(o.index)?(A(),F("div",zr,z(He(o.index)),1)):q("",!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,$r)):q("",!0),w("div",Vr,z(o.live.title),1)],46,Hr))),128))],2),w("button",{class:"home-video-nav home-video-next",type:"button","aria-label":"下一路监控",disabled:Ne.value.length<=1,onClick:sn},"›",8,jr)])):a.key==="yak-forecast-trend"?(A(),F("div",Wr,[w("div",Ur,[(A(),F(_e,null,Ie(Ht,o=>w("button",{key:o.key,type:"button",class:Ue({active:o.key===Nt.value}),onClick:r=>Nt.value=o.key},z(o.label),11,Kr)),64))]),Lt(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",qr,[(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===Ho.value}]),style:lt(Ua(o))},[w("div",Yr,[w("strong",null,z(o.status),1)]),w("div",Qr,[w("div",Jr,[w("strong",null,z(ie(o.value)),1),t[5]||(t[5]=w("em",null,"%",-1))])]),w("div",Zr,z(o.name),1),w("div",Xr,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(xt,["self"])},[w("section",es,[w("header",ts,[w("div",null,[t[6]||(t[6]=w("h2",null,"基地监控",-1)),w("p",null,"共 "+z(te.value.length)+" 路,在线 "+z(zo.value)+" 路",1)]),w("button",{type:"button",title:"关闭","aria-label":"关闭",onClick:xt},"×")]),Ta.value.length?(A(),F("div",as,[(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":wt(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:[Tt(Se(o=>Ae(a.index),["prevent"]),["enter"]),Tt(Se(o=>Ae(a.index),["prevent"]),["space"])]},[t[7]||(t[7]=w("div",{class:"home-video-player-host"},null,-1)),wt(a.index)?(A(),F("div",ns,"加载中")):q("",!0),He(a.index)?(A(),F("div",is,z(He(a.index)),1)):q("",!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,rs)):q("",!0),w("span",ss,z(a.live.title),1)],46,os))),128))])):(A(),F("div",ls,"暂无监控数据")),yt.value>1?(A(),F("footer",cs,[w("button",{type:"button",disabled:ce.value<=1,onClick:t[1]||(t[1]=a=>$a(ce.value-1))},"上一页",8,us),w("span",null,z(ce.value)+" / "+z(yt.value),1),w("button",{type:"button",disabled:ce.value>=yt.value,onClick:t[2]||(t[2]=a=>$a(ce.value+1))},"下一页",8,ds)])):q("",!0)])])):q("",!0),(A(),xe(oi,{to:"body"},[ae.value!==null?(A(),F("div",fs,[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)])):q("",!0)])),Gt.value?(A(),F("div",{key:3,class:"home-more-modal",role:"dialog","aria-modal":"true","aria-label":"全部乡镇草畜平衡",onClick:Se(St,["self"])},[w("section",hs,[w("header",ms,[w("div",null,[t[9]||(t[9]=w("h2",null,"全县乡镇草畜平衡",-1)),w("p",null,"全部 "+z(pt.value.length)+" 个乡镇,超载率沿用草畜平衡结果库口径",1)]),w("button",{type:"button",title:"关闭","aria-label":"关闭",onClick:St},"×")]),w("div",ps,[(A(!0),F(_e,null,Ie(pt.value,a=>(A(),F("article",{key:a.key,class:"home-balance-modal-item",style:lt(Ua(a))},[w("div",gs,[w("strong",null,z(a.name),1),w("span",null,z(a.status),1)]),w("div",vs,[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))])])])):q("",!0)]))}};export{js as default};