var Zn=Object.defineProperty,Xn=Object.defineProperties;var ei=Object.getOwnPropertyDescriptors;var io=Object.getOwnPropertySymbols;var ti=Object.prototype.hasOwnProperty,ai=Object.prototype.propertyIsEnumerable;var ro=(L,n,r)=>n in L?Zn(L,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):L[n]=r,z=(L,n)=>{for(var r in n||(n={}))ti.call(n,r)&&ro(L,r,n[r]);if(io)for(var r of io(n))ai.call(n,r)&&ro(L,r,n[r]);return L},V=(L,n)=>Xn(L,ei(n));var re=(L,n,r)=>new Promise((c,s)=>{var f=p=>{try{m(r.next(p))}catch(w){s(w)}},g=p=>{try{m(r.throw(p))}catch(w){s(w)}},m=p=>p.done?c(p.value):Promise.resolve(p.value).then(f,g);m((r=r.apply(L,n)).next())});import{h as Lo,w as pt,o as A,c as F,a as S,d as G,L as oi,g as _,M as Me,q as ni,A as U,s as so,v as lo,b as It,C as ke,j as Y,K as ft,u as Qe,F as Fe,y as Oe,x as sa,B as ii,n as Ye,e as Ft,f as Pe,t as D,T as ri,N as si}from"./index-1784378651390.js";import{l as co,g as li,E as ci}from"./live-scene-1-50d94f3b-1784378651390.js";import{H as la}from"./index.esm.min-6b4ee6a0-1784378651390.js";import{_ as uo}from"./index-8193533d-1784378651390.js";import{g as ca,C as ui,H as di,a as fi,M as hi}from"./index-ae8926ff-1784378651390.js";import{O as mi,P as Ge,a as ee,D as Ze,C as se,A as pe,b as Z,e as pi,F as gi,G as he,c as vi,d as yi,f as bi,g as fo,L as ho,V as J,h as mo,R as me,B as wi,S as ua,i as xi,j as Si,k as Mi,l as ki,N as Pi,Q as Ci,T as Li,m as Ti,n as po,o as go,p as Ai,q as vo,r as _i}from"./screen2Standard-f85af2d3-1784378651390.js";import{M as Ii,g as Fi,h as Oi,L as Ei,B as yo,a as da,E as Bi,G as Ni,D as Gi,b as Hi,l as fa,P as bo,c as wo,d as Ri,s as ha,f as Ot,e as $i,i as zi,j as Di,k as xo}from"./data-b6eb78ac-1784378651390.js";import{g as Xe}from"./index-e9f36657-1784378651390.js";import{h as Vi,a as To,f as ji,g as Wi,b as Ui}from"./townshipBoundaries-a3a8b9c1-1784378651390.js";import{R as Ki,r as qi,a as Qi,c as Yi,o as Ji,s as Zi,p as Xi,b as So,d as er,h as tr,g as Mo,e as ar,f as or,i as nr,j as ir,k as rr,l as sr,m as lr,n as cr,_ as ur}from"./TopicSwitcher-c2a18053-1784378651390.js";import{_ as dr,a as ko}from"./FeatureInfoPanel-aedbb434-1784378651390.js";import{g as Po,a as fr}from"./openApi-d82392d3-1784378651390.js";import{c as hr,F as mr,g as pr,a as gr}from"./featurePanelLayout-311dd995-1784378651390.js";import{g as vr}from"./yakApi-788472d8-1784378651390.js";import{w as Ee,f as ma}from"./chartTheme-dcb51ba1-1784378651390.js";import{b as yr}from"./data-ee410ed3-1784378651390.js";import{h as br,y as wr}from"./data-1cbde9f2-1784378651390.js";import"./index-bb11a8b6-1784378651390.js";import"./livestockData-36ec0ae2-1784378651390.js";import"./geoserver-b3bc784b-1784378651390.js";class xr extends mi{constructor(n,r){super(),this.config=Object.assign({color1:16566615,color2:16777215},r),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,r=new Ge(1.5,1.5,1),c=new Ge(1,3,1);c.translate(0,1,0);let s=new ee({color:n,transparent:!0,fog:!1,side:Ze,depthWrite:!1}),f=s.clone();f.map=this.assets.instance.getResource("focusArrows");let g=s.clone();g.map=this.assets.instance.getResource("focusBar");let m=s.clone();m.map=this.assets.instance.getResource("focusBg");let p=s.clone();p.color=new se(this.config.color2),p.map=this.assets.instance.getResource("focusMidQuan");let w=s.clone();w.map=this.assets.instance.getResource("focusMoveBg"),w.blending=pe;let T=new Z(r,f),C=new Z(c,g);C.rotation.x=Math.PI/2;let B=C.clone();B.rotation.y=Math.PI/2;let M=new Z(r,m),b=new Z(r,p),I=new Z(r,w),N=[b,M,T,I,C,B];N.map(H=>{H.renderOrder=99}),this.add(...N);let O=0;I.scale.setScalar(O),this.animateElements={focusMidQuan:b,focusArrows:T,focusMoveBg:I},this.startAnimate()}startAnimate(){let n=Xe.to(this.animateElements.focusMidQuan.rotation,{z:2*Math.PI,duration:8,repeat:-1,ease:"none"}),r=Xe.to(this.animateElements.focusArrows.rotation,{z:2*Math.PI,duration:5,repeat:-1,ease:"none"}),c=Xe.to(this.animateElements.focusMoveBg.scale,{x:1.5,y:1.5,z:1.5,duration:2.5,repeat:-1,ease:"none"}),s=Xe.to(this.animateElements.focusMoveBg.material,{opacity:0,duration:2.5,repeat:-1,ease:"none"});this.gsapObjects=[n,r,c,s]}pausedAnimate(){this.gsapObjects.map(n=>{n.paused=!0})}destroy(){this.gsapObjects.map(n=>{n.kill()}),pi(this)}}const Sr=Vi.map(L=>z({},L)),Co=To.map(L=>z({},L)),Mr=To.map(L=>{var n,r;return{name:L.name,value:L.value,lng:(n=L.center)==null?void 0:n[0],lat:(r=L.center)==null?void 0:r[1]}}),kr=[{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 pa(L){return L.sort((n,r)=>r.value-n.value),L}function Pr(L){return L?typeof L=="string"?JSON.parse(L):L:null}function ga(L){const n=Pr(L);return n!=null&&n.features&&n.features.forEach(r=>{var c;((c=r.geometry)==null?void 0:c.type)==="Polygon"&&(r.geometry.coordinates=[r.geometry.coordinates])}),n}function Cr(L,n){var r;try{return(r=L==null?void 0:L.getResource)==null?void 0:r.call(L,n)}catch(c){return null}}function Lr(L,n,r){const c=Number(L);return Number.isFinite(c)?Math.max(n,Math.min(r,c)):n}class Tr extends Ii{constructor(n,r,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=Fi().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 gi(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 Oi(this.renderer.instance,this.camera.instance,this.canvas),this.assets=r,this.staticMapData={china:ga(Cr(this.assets.instance,"china")),mapJson:ga(this.assets.instance.getResource("mapJson")),mapStroke:ga(this.assets.instance.getResource("mapStroke"))},this.initEnvironment(),this.init()}addSceneTween(n){var r;return n&&(this.sceneTweens.push(n),this.scenePaused&&((r=n.pause)==null||r.call(n)),n)}addSceneTimer(n){return n&&this.sceneTimers.push(n),n}init(){this.labelGroup=new he,this.label3d=new Ei(this),this.labelGroup.rotation.x=-Math.PI/2,this.scene.add(this.labelGroup),this.flyLineFocusGroup=new he,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=Xe.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((r,c)=>{let s=r.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 r,c;this.showDataOverlays&&this.flyLineFocusGroup&&(this.flyLineFocusGroup.visible=!0),this.mapAnimationDone=!0,this.applySceneMode(),(c=(r=this.options).onPlayComplete)==null||c.call(r)}},"focusMapOpacity"),(this.allBar||[]).map((r,c)=>{if(r.userData.name==="邛溪镇")return!1;n.to(r.scale,{duration:1,delay:.1*c,x:1,y:1,z:1,ease:"circ.out"},"bar")}),(this.allBarMaterial||[]).map((r,c)=>{n.to(r,{duration:1,delay:.1*c,opacity:1,ease:"circ.out"},"bar")}),(this.allProvinceLabel||[]).map((r,c)=>{let s=r.element.querySelector(".provinces-label-wrap"),f=r.element.querySelector(".number .value"),g=Number(f.innerText),m={score:0};n.to(s,{duration:1,delay:.2*c,translateY:0,opacity:1,ease:"circ.out"},"bar"),n.to(m,{duration:1,delay:.2*c,score:g,onUpdate:p},"bar");function p(){f.innerText=m.score.toFixed(0)}}),(this.allGuangquan||[]).map((r,c)=>{n.to(r.children[0].scale,{duration:1,delay:.1*c,x:1,y:1,z:1,ease:"circ.out"},"bar"),n.to(r.children[1].scale,{duration:1,delay:.1*c,x:1,y:1,z:1,ease:"circ.out"},"bar")})}initEnvironment(){let n=new vi(16777215,5);this.scene.add(n);let r=new yi(16777215,5);r.position.set(-30,6,-8),r.castShadow=!0,r.shadow.radius=20,r.shadow.mapSize.width=1024,r.shadow.mapSize.height=1024,this.scene.add(r),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 r=new bi(1924702,n.intensity,n.distance);r.position.set(n.x,n.y,n.z),this.scene.add(r)}createMap(){let n=new he,r=new he;this.focusMapGroup=r;let{china:c,chinaTopLine:s}=this.createChina(),{map:f,mapTop:g,mapLine:m}=this.createProvince();c==null||c.setParent(n),s==null||s.setParent(n),this.createDiffuse(),f.setParent(r),g.setParent(r),m.setParent(r),r.position.set(0,0,-.01),r.scale.set(1,1,0),n.add(r),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 m;let n={chinaBgMaterialColor:"#152c47",lineColor:"#3f82cd"},r=this.staticMapData.china;if(!((m=r==null?void 0:r.features)!=null&&m.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:r,geoProjectionCenter:this.backgroundProjectionCenter,geoProjectionScale:this.backgroundProjectionScale,merge:!0,material:c,renderOrder:2}),f=new ho({color:n.lineColor}),g=new da(this,{data:r,geoProjectionCenter:this.backgroundProjectionCenter,geoProjectionScale:this.backgroundProjectionScale,material:f,renderOrder:3});return g.lineGroup.position.z+=.01,{china:s,chinaTopLine:g}}createProvince(){let n=this.staticMapData.mapJson,[r,c]=this.createProvinceMaterial();this.focusMapTopMaterial=r,this.focusMapSideMaterial=c;let s=new Bi(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new J(0,0,.11),data:n,depth:this.depth,topFaceMaterial:r,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 g=new yo(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new J(0,0,this.depth+.22),data:n,material:f,renderOrder:2});g.mapGroup.children.map(p=>{p.children.map(w=>{w.type==="Mesh"&&this.eventElement.push(w)})}),this.mapLineMaterial=new ho({color:16777215,opacity:0,transparent:!0,fog:!1});let m=new da(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,data:n,material:this.mapLineMaterial,renderOrder:3});return m.lineGroup.position.z+=this.depth+.23,{map:s,mapTop:g,mapLine:m}}createProvinceMaterial(){let n=new fo({color:16777215,transparent:!0,opacity:0,fog:!1,side:Ze});n.onBeforeCompile=s=>{s.uniforms=V(z({},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 r=this.assets.instance.getResource("side");r.wrapS=me,r.wrapT=me,r.repeat.set(1,1.5),r.offset.y+=.065;let c=new mo({color:16777215,map:r,fog:!1,opacity:0,side:Ze});return this.time.on("tick",()=>{r.offset.y+=.005}),c.onBeforeCompile=s=>{s.uniforms=V(z({},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=r=>{r.uniforms=V(z({},r.uniforms),{uTerrainColor1:{value:new se(807272)},uTerrainColor2:{value:new se(1619414)},uTerrainColor3:{value:new se(7074015)}}),r.vertexShader=r.vertexShader.replace("void main() {",` varying vec3 vTerrainPosition; void main() { vTerrainPosition = position; `),r.fragmentShader=r.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() { `),r.fragmentShader=r.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,r=pa(Co).filter((p,w)=>w<7);const c=new he;this.barGroup=c;const s=.7,f=4*s,g=r[0].value;this.allBar=[],this.allBarMaterial=[],this.allGuangquan=[],this.allProvinceLabel=[],r.map((p,w)=>{let T=f*(p.value/g),C=new ee({color:16777215,transparent:!0,opacity:0,depthTest:!1,fog:!1});new Ni(C,{uColor1:w>3?16506760:5291006,uColor2:w>3?16776948:7863285,size:T,dir:"y"});const B=new wi(.1*s,.1*s,T);B.translate(0,0,T/2);const M=new Z(B,C);M.renderOrder=5;let b=M,[I,N]=this.geoProjection(p.centroid);b.position.set(I,-N,this.depth+.45),b.scale.set(1,1,0),b.userData=z({},p);let O=this.createQuan(new J(I,this.depth+.44,N),w),H=this.createHUIGUANG(T,w>3?16776948:7863285);b.add(...H),c.add(b),c.rotation.x=-Math.PI/2;let te=m(p,w,new J(I,-N,this.depth+1.1+T));this.allBar.push(b),this.allBarMaterial.push(C),this.allGuangquan.push(O),this.allProvinceLabel.push(te)}),this.scene.add(c);function m(p,w,T){let C=n.label3d.create("","provinces-label",!1);return C.init(`
${p.value}km²
${w+1}
`,T),n.label3d.setLabelStyle(C,.01,"x"),C.setParent(n.labelGroup),C}}createEvent(){let n=[];this.selectedRegion=null;const r=(s,f=!1)=>{var g,m,p;!f&&((m=(g=this.selectedRegion)==null?void 0:g.userData)==null?void 0:m.name)===((p=s==null?void 0:s.userData)==null?void 0:p.name)||s.traverse(w=>{w.isMesh&&(w.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 m;const g=((m=f.target)==null?void 0:m.parent)||f.target;this.selectedRegion&&this.selectedRegion!==g&&r(this.selectedRegion,!0),this.selectedRegion=g,c(g),this.emitTownClick((g==null?void 0:g.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(g=>g.userData.name!==f.target.parent.userData.name),n.length>0&&n[n.length-1],r(f.target.parent),document.body.style.cursor="default"})})}createHUIGUANG(n,r){let c=new Ge(.35,n);c.translate(0,n/2,0);const s=this.assets.instance.getResource("huiguang");s.colorSpace=ua,s.wrapS=me,s.wrapT=me;let f=new ee({color:r,map:s,transparent:!0,opacity:.4,depthWrite:!1,side:Ze,blending:pe}),g=new Z(c,f);g.renderOrder=10,g.rotateX(Math.PI/2);let m=g.clone(),p=g.clone();return m.rotateY(Math.PI/180*60),p.rotateY(Math.PI/180*120),[g,m,p]}createQuan(n,r){const c=this.assets.instance.getResource("guangquan1"),s=this.assets.instance.getResource("guangquan2");let f=new Ge(.5,.5),g=new ee({color:16777215,map:c,alphaMap:c,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:pe}),m=new ee({color:16777215,map:s,alphaMap:s,opacity:1,transparent:!0,depthTest:!1,fog:!1,blending:pe}),p=new Z(f,g),w=new Z(f,m);return p.renderOrder=6,w.renderOrder=6,p.rotateX(-Math.PI/2),w.rotateX(-Math.PI/2),p.position.copy(n),w.position.copy(n),w.position.y-=.001,p.scale.set(0,0,0),w.scale.set(0,0,0),this.quanGroup=new he,this.quanGroup.add(p,w),this.scene.add(this.quanGroup),this.time.on("tick",()=>{p.rotation.z+=.05}),this.quanGroup}createDiffuse(){let n=new Ge(200,200),r=new ee({color:0,depthWrite:!1,transparent:!0,blending:xi});r.blendEquation=Si,r.blendSrc=Mi,r.blendDst=ki,new Gi({material:r,time:this.time,size:60,diffuseSpeed:8,diffuseColor:7442830,diffuseWidth:2,callback:s=>{const f=setTimeout(()=>{this.addSceneTween(Xe.to(s.uniforms.uTime,{value:4,repeat:-1,duration:6,ease:"power1.easeIn"}))},3);this.addSceneTimer(f)}});let c=new Z(n,r);c.renderOrder=3,c.rotation.x=-Math.PI/2,c.position.set(0,.21,0),this.scene.add(c)}createGrid(){new Hi(this,{gridSize:68,gridDivision:28,gridColor:2123149,shapeSize:.58,shapeColor:4035005,pointSize:.12,pointColor:1805508,pointLayout:{row:170,col:170},pointBlending:pe})}createBottomBg(){let n=new Ge(42,42);const r=this.assets.instance.getResource("ocean");r.colorSpace=ua,r.wrapS=me,r.wrapT=me,r.repeat.set(1,1);let c=new ee({map:r,opacity:1,fog:!1}),s=new Z(n,c);s.rotation.x=-Math.PI/2,s.position.set(0,-.7,0),this.scene.add(s)}createChinaBlurLine(){let n=new Ge(147,147);const r=this.assets.instance.getResource("chinaBlurLine");r.colorSpace=ua,r.wrapS=me,r.wrapT=me,r.generateMipmaps=!1,r.minFilter=Pi,r.repeat.set(1,1);let c=new ee({color:4162253,alphaMap:r,transparent:!0,opacity:.5}),s=new Z(n,c);s.rotateX(-Math.PI/2),s.position.set(-19.3,-.5,-19.7),this.scene.add(s)}createLabel(){let n=this,r=this.labelGroup,c=this.label3d,s=[];if(Sr.map(m=>{if(m.hide==!0)return!1;let p=f(m,c,r);s.push(p)}),this.showDataOverlays){let m=g({icon:fa,center:[103.13,33.01],width:"40px",height:"40px",reflect:!0},c,r),p=g({icon:fa,center:[102.03,32.44],width:"20px",height:"20px",reflect:!1},c,r);s.push(m),s.push(p)}this.otherLabel=s;function f(m,p,w){let T=p.create("",`china-label ${m.blur?" blur":""}`,!1);const[C,B]=n.geoProjection(m.center),M=n.showDataOverlays?``:"";return T.init(`
${M}${m.name}
`,new J(C,-B,n.depth+.85)),p.setLabelStyle(T,.018,"x"),T.setParent(w),T.userData=V(z({},m),{labelType:"town-label",baseScale:.018}),T}function g(m,p,w){let T=p.create("",`decoration-label ${m.reflect?" reflect":""}`,!1);const[C,B]=n.geoProjection(m.center);return T.init(`
`,new J(C,-B,.4)),p.setLabelStyle(T,.02,"x"),T.setParent(w),T}}createRotateBorder(){let n=12,r=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 ee({map:r,color:4763647,transparent:!0,opacity:.2,side:Ze,depthWrite:!1,blending:pe}),position:new J(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 ee({map:c,color:4763647,transparent:!0,opacity:.4,side:Ze,depthWrite:!1,blending:pe}),position:new J(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 he,this.flyLineGroup.visible=!1,this.scene.add(this.flyLineGroup);const n=this.assets.instance.getResource("mapFlyline");n.wrapS=n.wrapT=me,n.repeat.set(.5,2);const r=.1,c=32,s=2,f=!1;let[g,m]=this.geoProjection(this.flyLineCenter),p=new J(g,-m,0);const w=new ee({map:n,color:2781042,transparent:!0,fog:!1,opacity:1,depthTest:!1,blending:pe});this.flyLineMaterial=w,this.flyLineTexture=n,this.time.on("tick",()=>{n.offset.x-=this.sceneMode==="trade"?.014:.006}),Co.filter((T,C)=>C<7).map(T=>{let[C,B]=this.geoProjection(T.centroid),M=new J(C,-B,0);const b=new J;b.addVectors(p,M).multiplyScalar(.5),b.setZ(3);const I=new Ci(p,b,M),N=new Li(I,c,r,s,f),O=new Z(N,w);O.rotation.x=-Math.PI/2,O.position.set(0,this.depth+.44,0),O.renderOrder=21,this.flyLineGroup.add(O)})}createFocus(){let n=new xr(this,{color1:12451325,color2:12451325}),[r,c]=this.geoProjection(this.flyLineCenter);n.position.set(r,-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 Ti({map:wo.createTexture(),size:1,color:61166,transparent:!0,opacity:1,depthTest:!1,depthWrite:!1,vertexColors:!0,blending:pe,sizeAttenuation:!0})}),this.particleGroup=new he,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 he,this.scatterGroup.visible=!1,this.scatterGroup.rotation.x=-Math.PI/2,this.scene.add(this.scatterGroup);const n=this.assets.instance.getResource("arrow"),r=new po({map:n,color:16776948,fog:!1,transparent:!0,depthTest:!1});let c=pa(Mr),s=c[0].value;c.map(f=>{const g=new go(r);g.renderOrder=23;let m=.1+f.value/s*.2;g.scale.set(m,m,m);let[p,w]=this.geoProjection([f.lng,f.lat]);g.position.set(p,-w,this.depth+.45),g.userData.position=[p,-w,this.depth+.45],this.scatterGroup.add(g)})}createInfoPoint(){let n=this;this.InfoPointGroup=new he,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 r=this.label3d;const c=this.assets.instance.getResource("point");let s=[16776948,7863285],f=pa(kr),g=f[0].value;f.map((p,w)=>{const T=new po({map:c,color:s[w%s.length],fog:!1,transparent:!0,depthTest:!1}),C=new go(T);C.renderOrder=23;let B=.7+p.value/g*.4;C.scale.set(B,B,B);let[M,b]=this.geoProjection([p.lng,p.lat]),I=[M,-b,this.depth+.7];C.position.set(...I),C.userData.position=[...I],C.userData={position:[M,-b,this.depth+.7],name:p.name,value:p.value,level:p.level,index:w},this.InfoPointGroup.add(C);let N=m(p,r,this.InfoPointGroup);this.infoLabelElement.push(N),this.interactionManager.add(C),C.addEventListener("mousedown",O=>{if(this.clicked||!this.InfoPointGroup.visible)return!1;this.clicked=!0,this.emitTownClick(O.target.userData,"info-point"),this.infoPointIndex=O.target.userData.index,this.infoLabelElement.map(H=>{H.visible=!1}),N.visible=!0,this.createInfoPointLabelLoop()}),C.addEventListener("mouseup",O=>{this.clicked=!1}),C.addEventListener("mouseover",O=>{document.body.style.cursor="pointer"}),C.addEventListener("mouseout",O=>{document.body.style.cursor="default"})});function m(p,w,T){let C=w.create("","info-point",!0);const[B,M]=n.geoProjection([p.lng,p.lat]);return C.init(`
名称${p.name}
面积${p.value}km²
类型${p.level}
`,new J(B,-M,n.depth+1.9)),w.setLabelStyle(C,.015,"x"),C.setParent(T),C.visible=!1,C}}emitTownClick(n={},r="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(z({},n),{name:c,source:r})))}setSceneMode(n="default"){this.sceneMode=n,this.applySceneMode()}setDataOverlaysVisible(n=!0){this.showDataOverlays=!!n,this.applySceneMode()}applySceneMode(){var r,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),(r=this.allProvinceLabel)==null||r.forEach(g=>{g.visible=!1}),(c=this.allGuangquan)==null||c.forEach(g=>{g.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(g=>{g.visible=!n}),(f=this.allGuangquan)==null||f.forEach(g=>{g.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((r,c)=>{this.infoPointIndex===c?r.visible=!0:r.visible=!1})},3e3))}createStorke(){const n=this.staticMapData.mapStroke,r=this.assets.instance.getResource("pathLine3");r.wrapS=r.wrapT=me,r.repeat.set(2,1);let c=new da(this,{geoProjectionCenter:this.geoProjectionCenter,geoProjectionScale:this.geoProjectionScale,position:new J(0,0,this.depth+.24),data:n,material:new ee({color:2868444,map:r,alphaMap:r,fog:!1,transparent:!0,opacity:1,blending:pe}),type:"Line3",renderOrder:22,tubeRadius:.03});this.focusMapGroup.add(c.lineGroup),this.time.on("tick",()=>{r.offset.x+=.005})}geoProjection(n){return this.geoProjectionFn(n)}updateTownLabelScale(){var m,p,w;const n=this.otherLabel||[],r=(m=this.camera)==null?void 0:m.instance,c=(w=(p=this.camera)==null?void 0:p.controls)==null?void 0:w.target;if(!n.length||!r||!c)return;const s=r.position.distanceTo(c),f=Lr(s*72e-5,.011,.026),g=s>45?"0.76":s<22?"0.94":"1";n.forEach(T=>{var B,M,b;if(((B=T==null?void 0:T.userData)==null?void 0:B.labelType)!=="town-label")return;T.scale.set(f,f,f);const C=(b=(M=T.element)==null?void 0:M.querySelector)==null?void 0:b.call(M,".other-label");C&&(C.style.opacity=g)})}update(){super.update(),this.updateTownLabelScale(),this.interactionManager&&this.interactionManager.update()}pauseScene(){var n,r;this.scenePaused=!0,(r=(n=this.time)==null?void 0:n.pause)==null||r.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,r,c;this.scenePaused=!1,(r=(n=this.time)==null?void 0:n.resume)==null||r.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 r;return(r=n==null?void 0:n.kill)==null?void 0:r.call(n)}),this.sceneTweens=[],super.destroy(),this.label3d&&this.label3d.destroy()}}const Ar={class:"map"},_r={__name:"map",props:{sceneMode:{type:String,default:"default"},showDataOverlays:{type:Boolean,default:!0},maxPixelRatio:{type:Number,default:0}},emits:["town-click","play-complete"],setup(L,{expose:n,emit:r}){const c=G(null),s=oi(null),f=L,g=r;let m=!1;Lo(()=>{B()});function p(M){var b,I,N,O;s.value||!c.value||(s.value=new Tr(c.value,M,{showDataOverlays:f.showDataOverlays,maxPixelRatio:f.maxPixelRatio||void 0,onTownClick:H=>g("town-click",H),onPlayComplete:()=>g("play-complete")}),(I=(b=s.value).setSceneMode)==null||I.call(b,f.sceneMode),(O=(N=s.value).setDataOverlaysVisible)==null||O.call(N,f.showDataOverlays),s.value.time.pause())}function w(){return re(this,null,function*(){var M,b,I,N;s.value&&(T(),!(m||s.value.mapAnimationDone)&&(m=!0,(b=(M=s.value.animateTl)==null?void 0:M.timeScale)==null||b.call(M,1),(N=(I=s.value.animateTl)==null?void 0:I.play)==null||N.call(I)))})}function T(){var M,b;s.value&&((b=(M=s.value).resumeScene)==null||b.call(M),s.value.resumeScene||s.value.time.resume())}function C(){var M,b,I,N,O,H;s.value&&((b=(M=s.value.animateTl)==null?void 0:M.pause)==null||b.call(M),(N=(I=s.value).pauseScene)==null||N.call(I),s.value.pauseScene||(H=(O=s.value.time)==null?void 0:O.pause)==null||H.call(O))}function B(){var M,b;(b=(M=s.value)==null?void 0:M.destroy)==null||b.call(M),s.value=null}return n({loadMap:p,play:w,resume:T,pause:C,destroyMap:B,canvasMap:s}),pt(()=>f.sceneMode,M=>{var b,I;(I=(b=s.value)==null?void 0:b.setSceneMode)==null||I.call(b,M)},{immediate:!0}),pt(()=>f.showDataOverlays,M=>{var b,I;(I=(b=s.value)==null?void 0:b.setDataOverlaysVisible)==null||I.call(b,M)}),(M,b)=>(A(),F("div",Ar,[S("canvas",{ref_key:"canvasRef",ref:c},null,512)]))}},Ir=""+new URL("flyline6-525edf67-balabala-1784378651390.png",import.meta.url).href;class Fr{constructor(n={}){this.options=n||{},this.init()}init(){this.instance=new Ki,this.instance.addLoader(Ai,"FileLoader");const n={type:"File",name:"china",path:ca(ui)},r=[{type:"File",name:"mapJson",path:ca(di)},{type:"File",name:"mapStroke",path:ca(fi)},{type:"Texture",name:"rotationBorder1",path:qi},{type:"Texture",name:"rotationBorder2",path:Qi},{type:"Texture",name:"chinaBlurLine",path:Yi},{type:"Texture",name:"ocean",path:Ji},{type:"Texture",name:"side",path:Zi},{type:"Texture",name:"pathLine3",path:Xi}],c=[{type:"Texture",name:"flyline",path:So},{type:"Texture",name:"pathLine",path:So},{type:"Texture",name:"pathLine2",path:er},{type:"Texture",name:"huiguang",path:tr},{type:"Texture",name:"guangquan1",path:Mo},{type:"Texture",name:"guangquan2",path:ar},{type:"Texture",name:"flyLineFocus",path:Mo},{type:"Texture",name:"mapFlyline",path:Ir},{type:"Texture",name:"arrow",path:or},{type:"Texture",name:"point",path:nr},{type:"Texture",name:"focusArrows",path:ir},{type:"Texture",name:"focusBar",path:rr},{type:"Texture",name:"focusBg",path:sr},{type:"Texture",name:"focusMidQuan",path:lr},{type:"Texture",name:"focusMoveBg",path:cr}],s=this.options.showDataOverlays===!1?r:[n,...r,...c];this.instance.loadAll(s)}}const Or={class:"home-dashboard"},Er={class:"home-bottom-switcher"},Br={class:"home-left"},Nr={class:"home-side-stack is-left"},Gr={class:"home-right"},Hr={class:"home-side-stack is-right"},Rr=["aria-label","onClick"],$r={key:0,class:"home-video-monitor"},zr=["disabled"],Dr=["data-video-index","onClick","onKeydown"],Vr={key:0,class:"home-video-loading"},jr={key:1,class:"home-video-error"},Wr=["onClick"],Ur={class:"home-video-point-name"},Kr=["disabled"],qr={key:1,class:"home-forecast-trend-card"},Qr={class:"home-forecast-density-switcher","aria-label":"预测粒度切换"},Yr=["onClick"],Jr={key:3,class:"home-balance-gauge-grid"},Zr={class:"home-balance-gauge-head"},Xr={class:"home-balance-gauge-ring"},es={class:"home-balance-gauge-value"},ts={class:"home-balance-gauge-name"},as={class:"home-balance-gauge-extra"},os={class:"home-more-dialog home-video-dialog"},ns={class:"home-more-dialog-head"},is={key:0,class:"home-video-modal-grid"},rs=["data-video-index","onClick","onKeydown"],ss={key:0,class:"home-video-loading"},ls={key:1,class:"home-video-error"},cs=["onClick"],us={class:"home-video-point-name"},ds={key:1,class:"home-more-empty"},fs={key:2,class:"home-more-pager"},hs=["disabled"],ms=["disabled"],ps={key:0,class:"home-video-web-overlay",role:"dialog","aria-modal":"true","aria-label":"基地监控网页全屏"},gs={class:"home-more-dialog home-balance-dialog"},vs={class:"home-more-dialog-head"},ys={class:"home-balance-modal-grid"},bs={class:"home-balance-modal-title"},ws={class:"home-balance-modal-value"},xs="image://data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAQ5JREFUOE+1la1OQ0EQRs8kCFIQdVCCxIBpCK1AInkDHC+B4QkwvASub4GsaE0NGCRpKhGFVDQZ+Mjem9vNbkphmWTMfjNnd3b2x0iYuxuwH7wNbIewBfAGzORm5nG6ElfM3QU6AXZSkzXG3oEnMxO8thWgux8DR2tAsfxiZs/VYA38Jazi1NBvYCizv+HK4vCRyrfQgIsf7Nm6+bSnjwIeAGeZaGnXQDfoE+ABmGbixwKeAoeJAMHuv3w30ubATQb6KqDKjZPEuAXOMysZAncJbS7gJbCVEAdAKwP8AK4S2vJfgMVLLt6UDtAreWx0W8od7OJXryq16OPwR2j6+WpAyz2wDagape7vARt9AZ+G3HmhiKS3xwAAAABJRU5ErkJggg==",Ss=4,va="#ffffff",Be="#ffffff",be="rgba(246, 253, 255, 0.92)",Je="rgba(242, 253, 255, 0.9)",ht="rgba(218, 250, 255, 0.28)",Ms=12e3,ks=9,Ne="home-3d",mt=9,Us={__name:"index",props:{active:{type:Boolean,default:!0}},emits:["module-stats","loading-progress","map-ready"],setup(L,{expose:n,emit:r}){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=L,g=r,m=G(null),p=G(null),w=G(null),T=G(null),C=new Map,B=G({}),M=new Map;let b=!1,I=!1,N=null,O=null;const H=new Map,te=new Map,Et=new Set,Bt=new Map;let Ce=null,et="",ya=!1,tt=0,ae=null,at=!1,Nt=!1;const Le=new Map,ge=G(0),oe=G([]),Gt=G(0),we=G(0),le=G(!1),ce=G(1),ot=G(!1),ne=G(null),Ht=G(!1),Rt=G("month"),$t=G(!1),ba=G(!1),K=G(""),Ao=`home-video-player-${Math.random().toString(36).slice(2)}`,ve=si({}),_o=["#30dcff","#27f0c0","#8bf7ff","#48cfff","#48cfff","#24f6c4"],wa=vo.sideCardWidth,xa=G(typeof window=="undefined"?1080:window.innerHeight);vo.sideCardGap;const nt=_(()=>_i(xa.value)),gt=_(()=>nt.value),Io=gt,Fo=Ri("2028"),zt=[{key:"day",label:"日",unit:"日"},{key:"week",label:"周",unit:"周"},{key:"month",label:"月",unit:"月"}],vt=[{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}},q=G(Ne),ue=G(null),He=G(!1),Re=G(!1),de=G(null),X=_(()=>q.value!==Ne),Eo=_(()=>f.active&&!X.value),Ma=_(()=>{var d,h,P;const e=q.value,t=Sa[e];if(!t)return null;const a=ji.find(v=>v.key===t.topicKey),o=En(t);if(!(o!=null&&o.layerName)&&!(o!=null&&o.dataPath))return null;const i=Oo[e],l=t.legendKey?(o.legends||[]).find(v=>v.key===t.legendKey):null,u=Array.isArray(t.legendKeys)?t.legendKeys.map(v=>(o.legends||[]).find(k=>k.key===v)).filter(Boolean):[];return t.type==="vector"?V(z({},o),{activeLegend:l||o.activeLegend,activeLegends:u.length?u:o.activeLegends,name:`${((d=vt.find(v=>v.key===e))==null?void 0:d.name)||o.name}图层`,opacity:(h=t.opacity)!=null?h:o.opacity,homePresentationMaxOpacity:(P=t.opacity)!=null?P:.96,showPointLabels:!1,hidePointFeatures:!1}):i?V(z({},o),{name:`${(a==null?void 0:a.name)||o.name}分布`,styles:"",opacity:i.opacity,homePresentationMaxOpacity:i.maxOpacity,softMask:!1,homeGlowColor:i.glowColor,homeGlowBlur:i.glowBlur,homeGlowOpacity:i.glowOpacity,sldBody:Bn(o.layerName,i)}):null}),Dt=_(()=>!!de.value),Bo=mr,ka=_(()=>hr({point:de.value?Gn(de.value):null,rowCount:ue.value?ia(ue.value):0,loading:Re.value,empty:He.value||!ue.value})),No=_(()=>ka.value.height),Go=_(()=>ka.value.style),Ho=_(()=>{var t;return{grassland:"草地详情",wetland:"湿地详情",woodland:"林地详情",yak:"牦牛识别详情"}[q.value]||`${((t=vt.find(a=>a.key===q.value))==null?void 0:t.name)||"地图"}详情`}),Pa=_(()=>Tt(ha.length)),$e=_(()=>Tt(Ot.length)),Ca=_(()=>Tn(Rt.value)),La=_(()=>An(Fo,Ca.value.key)),it=_(()=>Tt(La.value.labels.length)),yt=_(()=>yr.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:`载畜 ${j(t.livestockCapacity)}头`}))),Vt=_(()=>{const e=yt.value,t=3,a=e.length?Math.floor(ge.value/2)*t%e.length:0;return Array.from({length:Math.min(t,e.length)},(o,i)=>e[(a+i)%e.length])}),Ro=_(()=>{const e=Vt.value.length;return e?ge.value%e:0}),bt={key:"home-empty-video",title:"暂无在线可播放摄像头",town:"红原县",scene:"基地监控",device:"",channel:"",cameraCount:0,status:"待接入",onlineRate:0,updateTime:"",operator:"等待在线摄像头",progress:0,image:co,playUrl:"",hdPlayUrl:"",token:""};function rt(e){return(e==null?void 0:e.status)==="直播中"&&!!(e!=null&&e.hdPlayUrl&&(e!=null&&e.token))}const ze=_(()=>oe.value.map((e,t)=>({key:`home-video-carousel-${e.key||e.title||t}`,index:t,live:e})).filter(e=>rt(e.live))),jt=_(()=>{const e=ze.value;if(!e.length)return 0;const t=Q(we.value),a=e.findIndex(i=>i.index===t),o=a>=0?a:0;return ot.value||$t.value||le.value?o:(Math.floor(ge.value/Ss)+o)%e.length}),$=_(()=>{var e,t;return oe.value.length?le.value?Q(we.value):(t=(e=ze.value[jt.value])==null?void 0:e.index)!=null?t:0:0}),$o=_(()=>oe.value[$.value]||bt),Ta=_(()=>tn(ze.value,jt.value,bt)),zo=_(()=>oe.value.filter(e=>rt(e)).length),wt=_(()=>oe.value.map((e,t)=>({index:t,live:e})).sort((e,t)=>Number(rt(t.live))-Number(rt(e.live))||e.index-t.index)),xt=_(()=>Math.max(1,Math.ceil(wt.value.length/mt))),Aa=_(()=>{const e=(ce.value-1)*mt;return wt.value.slice(e,e+mt).map(t=>({key:`home-video-modal-${t.live.key||t.live.title}-${t.index}`,index:t.index,live:t.live}))}),Do=_(()=>br.map(e=>e.key==="today-outflow"?V(z({},e),{value:Gt.value}):e)),Vo=_(()=>{const e=Sn();return e.length?{key:"home-pasture-productivity",title:"草地生产力",rows:e,option:Ln(e,"生产力"),height:nt.value}:null}),jo=_(()=>({key:"yak-stock-distribution",title:"牦牛存栏分布",height:gt.value,option:Cn(wr,"牦牛存栏")})),Wo=_(()=>[aa(Ie("grassland","grassland-town"),"草地面积"),aa(Ie("wetland","wetland-town-area"),"湿地面积"),aa(Ie("grassland","grassland-type-proportion"),"草原类别"),Vo.value].filter(Boolean).map((e,t)=>Mn(e,`forest-grass-wet-${t}`))),Uo=_(()=>[{key:"home-video-monitor",title:"基地监控",type:"video",height:Io.value,live:$o.value},jo.value,{key:"yak-structure",title:"畜群结构",height:gt.value,option:Ko.value},{key:"home-town-balance-gauge",title:"草畜平衡",type:"gauge",height:gt.value,max:100,rows:Vt.value}]),Ko=_(()=>Ee({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",color:_o,tooltip:ma(e=>`${e.name}
占比:${e.percent}%
估算数量:${j(e.value)}头`),legend:{orient:"vertical",right:0,top:"middle",itemWidth:8,itemHeight:8,itemGap:5,formatter(e){const t=ha.find(a=>a.name===e);return t?`${e} ${fe(t.count)}头`:e},textStyle:{color:be,fontSize:10}},series:[{name:"畜群结构",type:"pie",selectedMode:"single",selectedOffset:8,radius:["36%","62%"],center:["30%","54%"],avoidLabelOverlap:!0,label:{color:Be,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:ha.map((e,t)=>({name:e.name,value:e.count,selected:t===Pa.value}))}]}));_(()=>Ee({animation:!0,animationDuration:1100,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff"],tooltip:V(z({},ma()),{trigger:"axis",axisPointer:{type:"shadow"},formatter(e){const t=Ot[e[0].dataIndex];return`${t.label}
预测存栏:${j(t.stock)}头`}}),grid:{left:50,right:18,top:16,bottom:24},xAxis:{type:"category",data:Ot.map(e=>e.shortLabel),axisLabel:{color:Je,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:Je,fontSize:10,margin:4,formatter:e=>Za(e,1)},splitLine:{lineStyle:{color:ht,type:"dashed"}}},series:[{name:"预测存栏",type:"bar",barWidth:24,data:Ot.map((e,t)=>({value:e.stock,itemStyle:{borderRadius:[9,9,1,1],color:new Me(0,0,0,1,[{offset:0,color:t===$e.value?"#8bf7ff":"#30dcff"},{offset:.72,color:t===$e.value?"rgba(139, 247, 255, 0.7)":"rgba(48, 220, 255, 0.62)"},{offset:1,color:t===$e.value?"rgba(139, 247, 255, 0.1)":"rgba(48, 220, 255, 0.08)"}]),shadowBlur:t===$e.value?16:8,shadowColor:t===$e.value?"rgba(139, 247, 255, 0.56)":"rgba(48, 220, 255, 0.28)"}})),itemStyle:{borderRadius:[9,9,1,1],color:new Me(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:Be,fontSize:10,formatter:({value:e})=>Za(e)}}]})),_(()=>{const e=Ca.value,t=La.value,a=Fn(t),o=_n(a.length,e.key);return Ee({animation:!0,animationDuration:1200,animationDurationUpdate:900,animationEasing:"cubicOut",color:["#30dcff","#8bf7ff","#48cfff"],tooltip:V(z({},ma()),{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(i){var P,v,k;const l=Array.isArray(i)?i:[i],u=l.find(y=>y.seriesType==="candlestick"),d=(u==null?void 0:u.data)||a[(k=(v=u==null?void 0:u.dataIndex)!=null?v:(P=l[0])==null?void 0:P.dataIndex)!=null?k:0];if(!d)return"";const h=d.close-d.open;return[`${d.label}|${e.unit}度预测`,`预测存栏:${j(d.close)}头`,`较上期:${On(h)}头`,`繁殖补充:${j(d.birth)}头`,`出栏扣减:${j(d.outflow)}头`].join("
")}}),legend:{top:2,right:2,data:["预测存栏","繁殖补充","出栏扣减"],itemWidth:10,itemHeight:7,itemGap:7,textStyle:{color:be,fontSize:10}},grid:{left:42,right:32,top:30,bottom:24},xAxis:{type:"category",boundaryGap:!0,data:t.labels,axisLabel:{color:Je,fontSize:10,interval:o},axisLine:{lineStyle:{color:"rgba(48, 220, 255, 0.28)"}},axisTick:{show:!1}},yAxis:[{type:"value",scale:!0,axisLabel:{color:Je,fontSize:10,formatter:fe},splitLine:{lineStyle:{color:ht,type:"dashed"}}},{type:"value",axisLabel:{color:be,fontSize:10,formatter:fe},splitLine:{show:!1}}],series:[{name:"预测存栏",type:"candlestick",yAxisIndex:0,barWidth:In(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((i,l)=>({value:i.close,symbolSize:l===it.value?7:3,itemStyle:{color:l===it.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,it.value),Ja("出栏扣减",t.outflow,"#48cfff",1,!1,it.value)]})}),ni(()=>{oa(),window.addEventListener("resize",oa),window.addEventListener("keydown",eo),document.addEventListener("pointerdown",no,!0),document.addEventListener("click",Wa,!0),Ha(),Wt()}),Lo(()=>{var e,t,a,o;b=!0,window.removeEventListener("resize",oa),window.removeEventListener("keydown",eo),document.removeEventListener("pointerdown",no,!0),document.removeEventListener("click",Wa,!0),qa(),xe(),Kt(),Qt(),M.clear(),(t=(e=m.value)==null?void 0:e.destroyMap)==null||t.call(e),(o=(a=p.value)==null?void 0:a.destroyMap)==null||o.call(a),Jo()}),pt($,()=>{if(!le.value){if(!$t.value&&!ba.value&&!H.size){K.value="";return}xe({resetError:!0})}}),pt(q,e=>{var t,a;if(ye(),e===Ne){(a=(t=m.value)==null?void 0:t.pause)==null||a.call(t),U(()=>{St(),Te()});return}Fa(),U(()=>{var o,i;(i=(o=m.value)==null?void 0:o.resume)==null||i.call(o)})}),pt(()=>f.active,e=>{var t,a;e?(Wt(),Zo(),Na(),ya||Ea()):(I=!1,(a=(t=m.value)==null?void 0:t.pause)==null||a.call(t),Fa(),Kt(),Qt(),xe({resetError:!0}),kt(),Pt())});function Wt(){I=!1,g("loading-progress",{progress:0}),U(()=>{var e,t,a,o;if(X.value){(t=(e=m.value)==null?void 0:e.hasMap)!=null&&t.call(e)?De():(o=(a=m.value)==null?void 0:a.loadMap)==null||o.call(a);return}St()})}function St(){if(!(b||!f.active||X.value)){if(Oa()){Te(),De();return}if(Nt){Ia();return}at||(at=!0,ae=new Fr({showDataOverlays:!1}),ae.instance.on("onProgress",qo),ae.instance.on("onLoad",_a),ae.instance.on("onError",Qo),ae.instance.loaded&&_a())}}function qo(e,t,a){if(b||X.value)return;const o=Math.max(1,Number(a)||1),i=Math.max(0,Number(t)||0);g("loading-progress",{progress:Math.min(98,Math.floor(i/o*92))})}function _a(){b||(at=!1,Nt=!0,g("loading-progress",{progress:96}),U(Ia))}function Qo(e){at=!1,console.warn("[home] 3D map assets load failed",e),De()}function Ia(){var e,t,a,o;b||!f.active||X.value||!ae||((t=(e=p.value)==null?void 0:e.loadMap)==null||t.call(e,ae),Te(),(o=(a=p.value)==null?void 0:a.play)==null||o.call(a),De())}function Te(){var a,o,i,l,u,d,h,P;const e=p.value;(a=e==null?void 0:e.resume)==null||a.call(e);const t=Oa();(i=(o=t==null?void 0:t.sizes)==null?void 0:o.init)==null||i.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),(P=(h=t==null?void 0:t.label3d)==null?void 0:h.update)==null||P.call(h)}function Fa(){var e,t;(t=(e=p.value)==null?void 0:e.pause)==null||t.call(e)}function Oa(){var t;const e=(t=p.value)==null?void 0:t.canvasMap;return(e==null?void 0:e.value)||e||null}function Yo(){X.value||De()}function Jo(){var e,t;(t=(e=ae==null?void 0:ae.instance)==null?void 0:e.destroy)==null||t.call(e),ae=null,at=!1,Nt=!1}function De(){b||I||(I=!0,g("loading-progress",{progress:100}),g("map-ready"),Ea())}function Ut(e={}){var t,a,o,i,l,u,d,h,P;if(!X.value){Te();return}if((a=(t=m.value)==null?void 0:t.resume)==null||a.call(t),e.reset){(i=(o=m.value)==null?void 0:o.resetView)==null||i.call(o),(l=m.value)!=null&&l.resetView||(d=(u=m.value)==null?void 0:u.refreshView)==null||d.call(u);return}(P=(h=m.value)==null?void 0:h.refreshView)==null||P.call(h)}function Zo(){q.value!==Ne&&!Sa[q.value]&&(q.value=Ne);const e=()=>{if(!(b||!f.active)){if(X.value){Ut({reset:!0});return}St(),Te()}};U(()=>{e(),window.setTimeout(e,180)})}function Xo(){var e,t;if(ye(),!X.value){Te();return}if((t=(e=m.value)==null?void 0:e.hasMap)!=null&&t.call(e)){Ut({reset:!0});return}Wt(),U(()=>{var a,o;(o=(a=m.value)==null?void 0:a.resume)==null||o.call(a)})}function en(){if(ye(),q.value===Ne){U(()=>{St(),Te()});return}q.value=Ne}n({refreshMapView:Ut,resetMap:Xo,showDefaultThreeMap:en});function Ea(){Kt();const e=()=>{Ce=null,et="",!(b||!f.active)&&(ya=!0,xn(),nn(),an(),f.active&&Na())};if(typeof window.requestIdleCallback=="function"){et="idle",Ce=window.requestIdleCallback(e,{timeout:1800});return}et="timeout",Ce=window.setTimeout(e,650)}function Kt(){Ce&&(et==="idle"&&typeof window.cancelIdleCallback=="function"?window.cancelIdleCallback(Ce):window.clearTimeout(Ce),Ce=null,et="")}function qt(e,t){e&&(t?M.set(e,t):M.delete(e))}function Ba(e,t){const a=Number(t==null?void 0:t.index);Number.isFinite(a)&&(e?C.set(a,e):C.delete(a)),t!=null&&t.isActive&&(w.value=e||null)}function tn(e=[],t=0,a=bt){const o=Array.isArray(e)?e:[];if(!o.length)return[{key:`empty-${a.key||"video"}`,index:0,live:a,isActive:!0}];const i=(t+o.length)%o.length,l=o[i],u=(l==null?void 0:l.live)||l||a,d=Number.isFinite(Number(l==null?void 0:l.index))?Number(l.index):i;return[{key:`${u.key||u.title||"video"}-${d}`,index:d,live:u,isActive:!0}]}function Na(){!f.active||b||(Qt(),N=window.setInterval(Ga,2600),O=window.setTimeout(Ga,800))}function Qt(){N&&(window.clearInterval(N),N=null),O&&(window.clearTimeout(O),O=null)}function Ga(){b||!f.active||(O=null,ge.value+=1,yn(),bn(),wn())}function Ha(){g("module-stats",{moduleKey:"home",items:Do.value})}function an(){return re(this,null,function*(){var t,a;const e=on(new Date);try{const o=yield vr({year:Number(e.slice(0,4)),startDate:e,endDate:e}),i=(o==null?void 0:o.metrics)||{},l=Number((a=(t=i.headCount)!=null?t:i.head_count)!=null?a:0);Gt.value=Number.isFinite(l)?l:0}catch(o){Gt.value=0}b||Ha()})}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 li({includeOffline:!0,includeHidden:!0});if(b)return;oe.value=e,we.value=0,ce.value=1,ot.value=!1,K.value=e.some(t=>rt(t))?"":"暂无在线可播放摄像头"}catch(e){if(b)return;oe.value=[],K.value="监控接口暂不可用",window.setTimeout(()=>{b||K.value==="监控接口暂不可用"&&(K.value="")},2400)}})}function Q(e){const t=oe.value.length;return t?((Number(e)||0)+t)%t:0}function ie(e){return String(Q(e))}function Ra(e){const t=ie(e);return ve[t]||(ve[t]={playing:!1,loading:!1,ready:!1,error:""}),ve[t]}function st(e){return ve[ie(e)]||{}}function lt(e){return`${Ao}-${ie(e)}`}function Yt(e){return!!st(e).playing}function Mt(e){return!!st(e).loading}function Ve(e){const t=st(e).error;return t||(Q(e)===$.value?K.value:"")}function $a(e){const t=st(e);return!!(t.playing||t.loading)}function Ae(){const e=Object.values(ve);$t.value=e.some(t=>t.playing),ba.value=e.some(t=>t.loading)}function za(e,t=!0,a=$.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=$.value;xe({resetError:!0}),we.value=e,ot.value=!0,ge.value=0;const t=wt.value.findIndex(a=>a.index===e);ce.value=Math.floor(Math.max(0,t)/mt)+1,le.value=!0,U(()=>Zt())}function kt(){le.value&&(xe({resetError:!0}),le.value=!1)}function Da(e){var o,i;const t=Math.max(1,Math.min(xt.value,Number(e)||1));if(t===ce.value)return;xe({resetError:!0}),ce.value=t;const a=(t-1)*mt;we.value=(i=(o=wt.value[a])==null?void 0:o.index)!=null?i:0,U(()=>Zt())}function cn(){Ht.value=!0}function Pt(){Ht.value=!1}function Va(e){var i,l;const t=ze.value,a=t.length;if(!a)return;xe({resetError:!0});const o=jt.value;we.value=(l=(i=t[(o+e+a)%a])==null?void 0:i.index)!=null?l:0,ot.value=!0,ge.value=0}function _e(e){if(!oe.value.length){mn();return}const a=Q(e),o=ie(a),i=st(a);if(we.value=a,ot.value=!0,ge.value=0,Et.has(o)||H.has(o)||(i.playing||i.loading)&&!i.error){We(a);return}Et.add(o),U(()=>re(this,null,function*(){try{yield Ka(a,{stopOthers:!le.value})}finally{Et.delete(o)}}))}function ja(e,t){dn(t==null?void 0:t.target)||_e(e)}function Wa(e){var i,l,u,d,h,P,v,k,y,x;const t=((l=(i=e==null?void 0:e.target)==null?void 0:i.closest)==null?void 0:l.call(i,'[id$="-webExpend-content"]'))||((u=e==null?void 0:e.composedPath)==null?void 0:u.call(e).find(E=>String((E==null?void 0:E.id)||"").endsWith("-webExpend-content")));if(!t)return;const a=Number((P=(h=(d=t.closest)==null?void 0:d.call(t,"[data-video-index]"))==null?void 0:h.dataset)==null?void 0:P.videoIndex),o=(v=ne.value)!=null?v:Number.isFinite(a)?a:$.value;(k=e.preventDefault)==null||k.call(e),(y=e.stopPropagation)==null||y.call(e),(x=e.stopImmediatePropagation)==null||x.call(e),un(o)}function un(e){return re(this,null,function*(){var i,l;const t=Q(e);if(ne.value===t){Ct();return}ne.value!==null&&Ct();const a=document.getElementById(`${lt(t)}-wrap`);if(!a)return;ne.value=t,yield U();const o=(l=(i=T.value)==null?void 0:i.querySelector)==null?void 0:l.call(i,".home-video-web-player-slot");if(!o){ne.value=null;return}o.appendChild(a),We(t),je(t)})}function Ct(e={}){var i;const{restore:t=!0}=e,a=ne.value;if(a===null)return;const o=document.getElementById(`${lt(a)}-wrap`);if(t&&o){const l=Lt(a)||w.value,u=(i=l==null?void 0:l.querySelector)==null?void 0:i.call(l,".home-video-player-host");u&&u.appendChild(o)}ne.value=null,t&&U(()=>{We(a),je(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,...yt.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($.value,{stopOthers:!le.value})})}function Ka(a){return re(this,arguments,function*(e,t={}){const{stopOthers:o=!0}=t,i=Q(e),l=oe.value[i]||bt,u=ie(i);let d=Ra(i);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,i===$.value&&(K.value=d.error),Ae();return}if(H.has(u)||(d.playing||d.loading)&&!d.error)return;we.value=i,ge.value=0,o?xe({resetError:!0}):(H.has(u)||d.loading)&&ct(i,{resetError:!0}),d=Ra(i),d.error="",d.loading=!0,d.playing=!1,d.ready=!1,i===$.value&&(K.value=""),Ae(),yield U();const h=(te.get(u)||0)+1;te.set(u,h);let P=null;gn(i,h);try{const v=Lt(i)||w.value,k=lt(i);if(!pn(v,k))throw new Error("视频容器未就绪");const{width:y,height:x}=Qa(v,340,92);if(P=new ci.EZUIKitPlayer({id:k,accessToken:l.token,url:l.hdPlayUrl,audio:0,width:y,height:x,themeData:vn(),handleError(E){h===te.get(u)&&(ut(i),console.warn("EZUIKit player error",E),Xt(P),d.error="视频加载失败",d.loading=!1,d.playing=!1,d.ready=!1,te.set(u,h+1),H.delete(u),ea(i),i===$.value&&(K.value=d.error),Ae())},handleSuccess(){h===te.get(u)&&(ut(i),d.error="",d.ready=!0,d.loading=!1,i===$.value&&(K.value=""),We(i),je(i),Jt(k),Ae())},fullScreenChangeCallBack(){}}),h!==te.get(u)){Xt(P),ea(i);return}H.set(u,P),d.playing=!0,Ae(),U(()=>{We(i),je(i),Jt(k)})}catch(v){ut(i),console.warn("EZUIKit init error",v),d.error="视频加载失败",i===$.value&&(K.value=d.error),ct(i,{resetError:!1})}})}function Jt(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 je(e=$.value,t=0){if(typeof window=="undefined")return;const a=Q(e),o=ie(a),i=Le.get(o);t===0&&i&&window.cancelAnimationFrame(i);const l=window.requestAnimationFrame(()=>{We(a),t<8?je(a,t+1):Le.delete(o)});Le.set(o,l)}function qa(e){if(typeof window!="undefined"){if(e!==void 0){const t=ie(e),a=Le.get(t);a&&window.cancelAnimationFrame(a),Le.delete(t);return}Le.forEach(t=>window.cancelAnimationFrame(t)),Le.clear()}}function Zt(){Array.from(H.keys()).forEach(e=>{const t=Number(e);Number.isFinite(t)&&je(t)})}function Qa(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),i=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(i||1)),height:Math.max(1,Math.floor(l||1))}}function Lt(e=$.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 i=C.get(t);return i!=null&&i.isConnected?i:null}function pn(e,t){var i;const a=(i=e==null?void 0:e.querySelector)==null?void 0:i.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 We(e=$.value){var Ke,qe;if(typeof document=="undefined")return;const t=Q(e),a=ie(t),o=lt(t),i=ne.value===t&&T.value?T.value:Lt(t)||w.value,l=document.getElementById(`${o}-wrap`),u=document.getElementById(o),d=l||u;if(!i||!d)return;const{width:h,height:P}=Qa(i),v=H.get(a);try{l&&u&&v&&typeof v.reSize=="function"?v.reSize(h,P):l&&u&&v&&typeof v.autoResize=="function"&&v.autoResize()}catch(W){console.warn("EZUIKit resize failed",W)}const k={position:"absolute",left:"0",top:"0",right:"0",bottom:"0",width:`${h}px`,height:`${P}px`};Object.assign(d.style,k,{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 y=document.getElementById(`EZUIKitPlayer-${o}`);y&&(y.setAttribute("width",String(h)),y.setAttribute("height",String(P)));const x=document.getElementById(`${o}-player`),E=document.getElementById(`${o}canvas0`),R=document.getElementById(`${o}canvas_draw0`),Se=[d,u,x,E==null?void 0:E.parentElement,E,R==null?void 0:R.parentElement,R,...Array.from((u==null?void 0:u.children)||[]),...Array.from(((Ke=d==null?void 0:d.querySelectorAll)==null?void 0:Ke.call(d,"[id$='-wrap'], .play-window, video, canvas, iframe, object, embed"))||[]),...Array.from(((qe=u==null?void 0:u.querySelectorAll)==null?void 0:qe.call(u,".play-window, video, canvas, iframe, object, embed"))||[]),y].filter(Boolean);Array.from(new Set(Se)).forEach(W=>{var dt,_t;(dt=W.setAttribute)==null||dt.call(W,"width",String(h)),(_t=W.setAttribute)==null||_t.call(W,"height",String(P)),Object.assign(W.style,{position:"absolute",left:"0",top:"0",right:"0",bottom:"0",width:"100%",height:"100%",maxWidth:"none",maxHeight:"none",margin:"0",objectFit:"fill"})}),Jt(o)}function xe(e={}){Array.from(H.keys()).forEach(t=>{ct(Number(t),e)}),Object.keys(ve).forEach(t=>{H.has(t)||ct(Number(t),e)}),Ae()}function ct(e,t={}){const{clearElement:a=!0,resetError:o=!1}=t,i=Q(e),l=ie(i);qa(i),ut(i);const u=H.get(l);H.delete(l),te.set(l,(te.get(l)||0)+1),u&&Xt(u),a&&ea(i);const d=ve[l];d&&(d.playing=!1,d.loading=!1,d.ready=!1,o&&(d.error=""),d.error||delete ve[l]),i===$.value&&o&&(K.value=""),Ae()}function gn(e,t){const a=Q(e),o=ie(a);ut(a);const i=window.setTimeout(()=>{const l=ve[o];t!==te.get(o)||!(l!=null&&l.loading)||(l.error="视频加载超时",a===$.value&&(K.value=l.error),ct(a,{resetError:!1}))},Ms);Bt.set(o,i)}function ut(e){const t=ie(e),a=Bt.get(t);a&&(window.clearTimeout(a),Bt.delete(t))}function Xt(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 ea(e=$.value){var d;if(typeof document=="undefined")return;const t=Q(e),a=lt(t),o=document.getElementById(`${a}-wrap`),i=document.getElementById(a),l=Lt(t)||w.value,u=(d=l==null?void 0:l.querySelector)==null?void 0:d.call(l,".home-video-player-host");ne.value===t&&Ct({restore:!1}),u&&u.replaceChildren(),o!=null&&o.isConnected&&o.remove(),i!=null&&i.isConnected&&i.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=M.get("yak-structure");ta(e,"畜群结构",Pa.value)}function bn(){const e=M.get("yak-three-year-forecast");ta(e,"预测存栏",$e.value)}function wn(){const e=M.get("yak-forecast-trend");ta(e,"预测存栏",it.value)}function ta(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 Tt(e){return e?ge.value%e:0}function xn(){return re(this,null,function*(){const[e,t]=yield Promise.all([Po("grassland","grassland-distribution"),Po("wetland","wetland-distribution")]);b||(B.value={grassland:e,wetland:t})})}function Ie(e,t){const a=B.value[e];return[...(a==null?void 0:a.leftPanels)||[],...(a==null?void 0:a.rightPanels)||[]].find(i=>(i==null?void 0:i.key)===t)}function aa(e,t){return e?V(z({},e),{title:t}):null}function Sn(){var P,v,k,y;const e=((P=Ie("grassland","grassland-town"))==null?void 0:P.rows)||[],t=((v=Ie("wetland","wetland-town-area"))==null?void 0:v.rows)||[],a=((k=Ie("grassland","grassland-productivity-town"))==null?void 0:k.rows)||[],o=((y=Ie("wetland","wetland-mu-yield"))==null?void 0:y.rows)||[],i=At(e),l=At(t),u=At(a),d=At(o);return[...new Set([...e,...t,...a,...o].map(x=>x==null?void 0:x.name).filter(Boolean))].map((x,E)=>{const R=i.get(x)||0,Se=l.get(x)||0,Ue=u.get(x)||0,Ke=d.get(x)||0;let qe=0,W=0;R>0&&Ue>0&&(qe+=R*Ue,W+=R),Se>0&&Ke>0&&(qe+=Se*Ke,W+=Se);const dt=[Ue,Ke].filter(ra=>ra>0),_t=W>0?qe/W:dt.reduce((ra,Jn)=>ra+Jn,0)/Math.max(dt.length,1);return{key:`home-pasture-productivity-${x}`,name:x,value:Number(_t.toFixed(2)),unit:"斤/亩",extra:"草地与湿地加权亩产",sourceIndex:E}}).filter(x=>x.value>0)}function At(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(z({},e),{key:`home-${t}-${e.key}`,height:nt.value,option:kn(e,e.title)}):a.includes("wetland-town-area")?V(z({},e),{key:`home-${t}-${e.key}`,height:nt.value,option:Pn(e,e.title)}):V(z({},e),{key:`home-${t}-${e.key}`,height:nt.value})}function kn(e,t,a={}){var P;const o=(e.rows||[]).filter(v=>Number.isFinite(Number(v.value))).slice(0,10),i=((P=o.find(v=>v.unit))==null?void 0:P.unit)||"万亩",l=o.map(v=>Number(v.value)||0),u=Math.max(...l,1),d=Math.ceil(u*1.14),h=a.showTrendLine===!0;return Ee({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",title:{text:`单位:${i}`,left:"5%",top:"8%",textStyle:{color:be,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(v){var E;const k=Array.isArray(v)?v:[v],y=k.find(R=>R.seriesName===t)||k[0],x=o[(E=y==null?void 0:y.dataIndex)!=null?E:0];return x?`${x.name}
${t}:${j(x.value)}${x.unit||i}`:""}},grid:{left:"12%",top:"25%",width:"82%",height:"55%"},xAxis:[{type:"category",data:o.map(v=>v.name),axisLabel:{interval:0,hideOverlap:!1,color:va,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(v=>v.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:ht,opacity:1,width:.3}},axisLabel:{color:Je,fontSize:10,formatter:fe}},series:[{name:t,type:"bar",barWidth:7,stack:"b",z:3,data:o.map(v=>Number(v.value)||0),label:{show:!0,position:"top",distance:9,color:Be,fontSize:10,fontWeight:700,formatter:({value:v})=>fe(v)},itemStyle:{borderRadius:2,color:new Me(0,0,0,1,[{offset:0,color:"#43d9e8"},{offset:.58,color:"rgba(67, 217, 232, 0.72)"},{offset:1,color:"rgba(67, 217, 232, 0.16)"}])},emphasis:{itemStyle:{shadowBlur:4,shadowColor:"rgba(67, 217, 232, 0.18)"}}},...h?[{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:Be,borderColor:"#8bf7ff",borderWidth:1,shadowBlur:0,shadowColor:"transparent"},emphasis:{scale:!0,lineStyle:{width:2}},tooltip:{show:!1},z:5}]:[],{type:"bar",barWidth:18,xAxisIndex:1,barGap:"-220%",data:o.map(()=>d),emphasis:{focus:"none",itemStyle:{color:"rgba(255, 255, 255, 0.8)"}},itemStyle:{color:"rgba(67, 217, 232, 0.3)",opacity:.08},tooltip:{show:!1},z:0}]})}function Pn(e,t){var d;const a=(e.rows||[]).filter(h=>Number.isFinite(Number(h.value))).sort((h,P)=>(Number(P.value)||0)-(Number(h.value)||0)).slice(0,10),o=((d=a.find(h=>h.unit))==null?void 0:d.unit)||"万亩",i=a.map(h=>Number(h.value)||0),l=Math.max(...i,1),u=Math.ceil(l*1.2);return Ee({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",title:{text:`单位:${o}`,left:"5%",top:"8%",textStyle:{color:be,fontSize:10,fontWeight:400}},tooltip:{trigger:"axis",axisPointer:{type:"shadow",shadowStyle:{opacity:.08}},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(h){var y;const P=Array.isArray(h)?h:[h],v=P.find(x=>x.seriesName===t)||P[0],k=a[(y=v==null?void 0:v.dataIndex)!=null?y:0];return k?`${k.name}
${t}:${j(k.value)}${k.unit||o}`:""}},grid:{left:58,right:74,top:42,bottom:14,containLabel:!1},xAxis:{type:"value",min:0,max:u,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{show:!1},splitLine:{show:!0,lineStyle:{color:ht,type:[2,4],width:.3}}},yAxis:{type:"category",inverse:!0,data:a.map(h=>h.name),axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:va,fontSize:10,fontWeight:700,margin:8}},series:[{name:"背景",type:"bar",barWidth:8,barGap:"-100%",data:a.map(()=>u),itemStyle:{color:"rgba(74, 145, 165, 0.13)",borderColor:"rgba(95, 208, 235, 0.12)",borderWidth:1},emphasis:{disabled:!0},tooltip:{show:!1},z:0},{name:t,type:"bar",barWidth:8,data:i,label:{show:!0,position:"right",distance:8,color:Be,fontSize:10,fontWeight:700,formatter:({value:h})=>`${j(h)}${o}`},itemStyle:{borderRadius:[0,5,5,0],color:new Me(0,0,1,0,[{offset:0,color:"rgba(50, 170, 255, 0.22)"},{offset:.45,color:"#35d6ff"},{offset:1,color:"#8dfbff"}])},emphasis:{itemStyle:{shadowBlur:3,shadowColor:"rgba(53, 214, 255, 0.16)"}},z:2}]})}function Cn(e=[],t="数值"){var k;const a=["邛溪镇","刷经寺镇","安曲镇","龙日镇","江茸乡","查尔玛乡","瓦切镇","阿木乡","麦洼乡","色地镇"],o=new Map(a.map((y,x)=>[y,x])),i=e.filter(y=>Number.isFinite(Number(y.value))).sort((y,x)=>{var E,R;return((E=o.get(y.name))!=null?E:99)-((R=o.get(x.name))!=null?R:99)}).slice(0,10),l=((k=i.find(y=>y.unit))==null?void 0:k.unit)||"头",u=i.map(y=>Number(y.value)||0),d=Math.max(...u,1),h=Math.ceil(d*1.16/1e4)*1e4,P=Tt(i.length),v=new Set(u.map((y,x)=>({value:y,index:x})).sort((y,x)=>x.value-y.value).slice(0,3).map(y=>y.index));return Ee({animation:!0,animationDuration:760,animationDurationUpdate:520,animationEasing:"cubicOut",title:{text:`单位:${l}`,left:12,top:8,textStyle:{color:be,fontSize:10,fontWeight:400}},tooltip:{trigger:"axis",axisPointer:{type:"line",lineStyle:{color:"rgba(48, 220, 255, 0.18)"}},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 Se;const x=Array.isArray(y)?y:[y],E=x.find(Ue=>Ue.seriesName===t)||x[0],R=i[(Se=E==null?void 0:E.dataIndex)!=null?Se:0];return R?`${R.name}
${t}:${j(R.value)}${R.unit||l}`:""}},grid:{left:46,right:20,top:38,bottom:28,containLabel:!1},xAxis:{type:"category",boundaryGap:!1,data:i.map(y=>y.name),axisLine:{show:!0,lineStyle:{color:"rgba(141, 251, 255, 0.32)"}},axisTick:{show:!1},axisLabel:{show:!0,interval:0,margin:8,color:be,fontSize:9,formatter:y=>String(y).replace(/[乡镇]$/,"")}},yAxis:{type:"value",min:0,max:h,splitNumber:4,axisLine:{show:!1},axisTick:{show:!1},axisLabel:{color:be,fontSize:9,margin:7,formatter:y=>fe(y)},splitLine:{show:!0,lineStyle:{color:"rgba(112, 209, 230, 0.25)",type:[4,4],width:.7}}},series:[{name:t,type:"line",smooth:.16,showSymbol:!0,symbol:"circle",symbolSize:(y,x)=>x.dataIndex===P?7:4,data:u,label:{show:!0,position:"top",distance:5,color:Be,fontSize:10,fontWeight:700,formatter:({value:y,dataIndex:x})=>v.has(x)?fe(y):""},lineStyle:{width:2.5,color:"#8dfbff",shadowBlur:7,shadowColor:"rgba(48, 220, 255, 0.68)"},areaStyle:{color:new Me(0,0,0,1,[{offset:0,color:"rgba(73, 241, 255, 0.72)"},{offset:.38,color:"rgba(38, 197, 235, 0.26)"},{offset:1,color:"rgba(13, 78, 111, 0.03)"}])},itemStyle:{color(y){return y.dataIndex===P?"#ffffff":"#38e6f7"},borderColor:"#8dfbff",borderWidth:1,shadowBlur:5,shadowColor:"rgba(48, 220, 255, 0.58)"},emphasis:{scale:!0,itemStyle:{color:"#ffffff",shadowBlur:5,shadowColor:"rgba(141, 251, 255, 0.2)"}},z:2}]})}function Ln(e=[],t="数值"){var d;const a=e.filter(h=>Number.isFinite(Number(h.value))).slice(0,10),o=((d=a.find(h=>h.unit))==null?void 0:d.unit)||"",i=a.map(h=>Number(h.value)||0),l=Math.max(...i,1),u=Math.ceil(l*1.12);return Ee({animation:!0,animationDuration:900,animationDurationUpdate:700,animationEasing:"cubicOut",title:{text:o?`单位:${o}`:"",left:"5%",top:"8%",textStyle:{color:be,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(h){var y;const v=(Array.isArray(h)?h:[h])[0],k=a[(y=v==null?void 0:v.dataIndex)!=null?y:0];return k?`${k.name}
${t}:${j(k.value)}${k.unit||o}`:""}},color:["#6BC7F6"],xAxis:[{type:"category",data:a.map(h=>h.name),axisLine:{show:!1},axisTick:{show:!1},splitLine:{show:!1},axisLabel:{color:va,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:ht,opacity:1,width:.3}},axisLabel:{color:Je,fontSize:10,formatter:fe}},series:[{name:t,data:i,type:"line",smooth:!0,symbol:xs,symbolSize:10,showSymbol:!1,z:3,emphasis:{focus:"none",itemStyle:{color:"white"}},label:{show:!0,position:"top",distance:10,color:Be,fontSize:10,fontWeight:700,formatter:({value:h})=>fe(h)},lineStyle:{shadowColor:"rgba(0, 0, 0, 0.4)",shadowBlur:3,shadowOffsetY:10,width:3,color:new Me(0,0,0,1,[{offset:0,color:"rgba(115, 208, 255, 1)"},{offset:1,color:"rgba(18, 60, 98, 1)"}])},areaStyle:{color:new Me(0,0,0,1,[{offset:0,color:"rgba(25, 255, 236, 0.34)"},{offset:1,color:"rgba(51, 153, 255, 0)"}])}}]})}function Ya(e){return String((e==null?void 0:e.key)||"").includes("grassland-town")}function Ja(e,t,a,o=0,i=!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:h})=>fe(h)}})),lineStyle:{width:2.4,color:a},itemStyle:{color:a},areaStyle:i?{color:new Me(0,0,0,1,[{offset:0,color:`${a}44`},{offset:1,color:`${a}05`}])}:void 0}}function Tn(e){return zt.find(t=>t.key===e)||zt[2]}function An(e,t="month"){if(t==="month")return $i(e);const a=zi(e),o=Math.max(1,Math.round(Math.max(1,a-1)*30)),i=t==="week"?7:1,l=Math.ceil(o/i)+1,u=Array.from({length:l},(v,k)=>{const y=Math.min(o,k*i);return Di(y)}),d=u.map((v,k)=>{const x=Math.min(o,k*i)/o,E=Math.sin(k/(t==="week"?1.8:8.5))*Math.sin(Math.PI*x)*Math.min(360,e.months*18);return Math.round(xo+(e.stock-xo)*x+E)}),h=u.map((v,k)=>Math.round(e.births*(Math.min(o,k*i)/o))),P=u.map((v,k)=>Math.round(e.outflow*(Math.min(o,k*i)/o)));return{labels:u,stock:d,births:h,outflow:P}}function _n(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 In(e,t){return t==="day"?e>700?2:e>360?3:4:t==="week"?e>110?4:6:e>24?7:10}function Fn(e){return(e.labels||[]).map((t,a)=>{var v,k,y,x,E,R;const o=Number(((v=e.stock)==null?void 0:v[Math.max(a-1,0)])||0),i=Number(((k=e.stock)==null?void 0:k[a])||o),l=Math.max(0,Number(((y=e.births)==null?void 0:y[a])||0)-Number(((x=e.births)==null?void 0:x[Math.max(a-1,0)])||0)),u=Math.max(0,Number(((E=e.outflow)==null?void 0:E[a])||0)-Number(((R=e.outflow)==null?void 0:R[Math.max(a-1,0)])||0)),d=Math.max(120,Math.round((l+u)*.18)),h=Math.max(o,i)+Math.max(d,Math.round(l*.32)),P=Math.max(0,Math.min(o,i)-Math.max(d,Math.round(u*.32)));return{label:t,open:o,close:i,low:P,high:h,birth:l,outflow:u,value:[o,i,P,h]}})}function j(e){const t=Number(e);return Number.isFinite(t)?t.toLocaleString("zh-CN",{maximumFractionDigits:Number.isInteger(t)?0:2}):"--"}function On(e){const t=Number(e);return Number.isFinite(t)?`${t>0?"+":""}${j(t)}`:"--"}function fe(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 En(e){if(!e)return null;const t=Wi(e.topicKey,e.layerKey);if(t)return t;const a=Ui(e.topicKey);return a.find(o=>o.key===e.layerKey)||a[0]||null}function Bn(e,t){const a=Number.isFinite(Number(t.fillOpacity))?Number(t.fillOpacity):.46,o=t.stroke||t.strokeColor||"#E5FCFF",i=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}${i}${l}round`}function Nn(e){vt.some(t=>t.key===e)&&(q.value=e)}function eo(e){if(e.key==="Escape"){if(ne.value!==null){Ct();return}kt(),Pt()}}function oa(){xa.value=typeof window=="undefined"?1080:window.innerHeight,Zt()}function Gn(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),i=Number(e==null?void 0:e.y);return!Number.isFinite(o)||!Number.isFinite(i)?{x:960,y:540}:o>=0&&o<=1920&&i>=0&&i<=1080&&(o>a.width||i>a.height)?{x:o,y:i}:{x:(o-a.left)/a.width*1920,y:(i-a.top)/a.height*1080}}function na(e,t){var a,o,i,l;return((o=(a=m.value)==null?void 0:a.getVectorFeatureAnchorScreen)==null?void 0:o.call(a,e))||((l=(i=m.value)==null?void 0:i.getVectorFeatureScreen)==null?void 0:l.call(i,e))||t}function Hn(){if(!Dt.value||!ue.value)return;const e=na(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 ia(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(q.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 Rn(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 $n(){return re(this,arguments,function*(e={}){var d,h,P,v,k,y;const t=Number((d=e==null?void 0:e.lngLat)==null?void 0:d.lng),a=Number((h=e==null?void 0:e.lngLat)==null?void 0:h.lat),o=Ma.value,i=ao(o);if(!Number.isFinite(t)||!Number.isFinite(a)||!i){ye();return}const l=++tt,u=e.screen||{x:960,y:540};de.value=null,ue.value=null,He.value=!1,Re.value=!0,(v=(P=m.value)==null?void 0:P.clearSelectedFeature)==null||v.call(P);try{const x=yield zn(o,{lng:t,lat:a},i);if(l!==tt||b)return;if(!x){ye();return}ue.value=x,He.value=!1,(y=(k=m.value)==null?void 0:k.highlightFeature)==null||y.call(k,x,{highlightTone:"v21"}),de.value=na(x,u)}catch(x){l===tt&&ye()}finally{l===tt&&(Re.value=!1)}})}function zn(o,i){return re(this,arguments,function*(e,t,a=ao(e)){const l=Rn(t);if(!l)return null;let u=null;a==="grassland"?u=yield pr({wkt:l}):a==="wetland"?u=yield gr({wkt:l}):a==="woodland"&&(u=yield fr(l));const d=Dn(u,a);if(!jn(d))return null;const h=Un(d,e,t,a);return ia(h)>0?h:null})}function Dn(e,t){var o,i,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],(i=e==null?void 0:e.data)==null?void 0:i.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 h=Vn(d);if(h)return h}return null}function Vn(e){return Array.isArray(e)?e.find(t=>t&&typeof t=="object")||null:e&&typeof e=="object"?e:null}function jn(e){return!e||typeof e!="object"?!1:Array.isArray(e.dyColumn)&&e.dyColumn.some(Wn)?!0:Object.keys(e).some(t=>to(t,e[t]))}function Wn(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 Un(e,t,a,o){const i=qn(e),l=Kn(e);return{id:e.id||e.patchNo||e.patch_no||e.landNumber||e.land_number||`${o}-${a.lng}-${a.lat}`,properties:i,feature:{type:"Feature",properties:i,geometry:l},geometry:l,layer:t,lngLat:a}}function Kn(e={}){return e.geometry||e.geom||e.wkt||e.the_geom||e.theGeom||e.geo||e.geometryWkt||e.geometry_wkt||e.shape||null}function qn(e={}){const t=z({},e);return(Array.isArray(e.dyColumn)?e.dyColumn:[]).forEach(o=>{const i=o==null?void 0:o.value;if(i==null||i==="")return;const l=c[String((o==null?void 0:o.title)||"").trim()],u=String((o==null?void 0:o.field)||"").trim();[u,Qn(u),l].filter(Boolean).forEach(h=>{(t[h]===void 0||t[h]===null||t[h]==="")&&(t[h]=i)})}),t}function Qn(e){const t=String(e||"").trim();return t?t.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase():""}function Yn(e){var a,o;const t=(o=(a=e==null?void 0:e.feature)!=null?a:e)!=null?o:null;if(!t||ia(t)<=0){ye();return}ue.value=t,He.value=!1,e!=null&&e.screen&&(de.value=na(t,e.screen))}function ye(){var e,t;tt+=1,ue.value=null,He.value=!1,Re.value=!1,de.value=null,(t=(e=m.value)==null?void 0:e.clearSelectedFeature)==null||t.call(e)}function no(e){if(!Dt.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)||ye()}return(e,t)=>(A(),F("div",Or,[so(It(_r,{ref_key:"threeMapSceneRef",ref:p,class:"home-map-scene home-three-map-scene","show-data-overlays":!1,"max-pixel-ratio":1.35,onPlayComplete:Yo},null,512),[[lo,Eo.value]]),X.value?so((A(),ke(hi,{key:0,ref_key:"mapSceneRef",ref:m,class:"home-map-scene home-remote-map-scene",active:f.active&&X.value,"active-layer":Ma.value,"admin-boundary-line-scale":1.65,"initial-zoom":ks,"minimum-zoom-distance":1,"auto-apply-layer-map-view":!1,"max-zoom":21,"enable-imagery-feature-pick":!1,"hide-town-label-stats":"",onReady:De,onFeatureLoading:t[0]||(t[0]=a=>Re.value=a),onFeatureInfo:Yn,onMapClick:$n,onViewChange:Hn},null,8,["active","active-layer"])),[[lo,X.value]]):Y("",!0),t[12]||(t[12]=S("div",{class:"home-map-scrim"},null,-1)),S("div",Er,[It(ur,{"model-value":q.value,topics:vt,"onUpdate:modelValue":Nn},null,8,["model-value"])]),Dt.value?(A(),F("div",{key:1,class:"home-map-feature-info",style:ft(Go.value)},[It(dr,{title:Ho.value,feature:ue.value,empty:He.value,loading:Re.value,width:Qe(Bo),height:No.value,closable:"",onClose:ye},null,8,["title","feature","empty","loading","width","height"])],4)):Y("",!0),S("div",Br,[S("div",Nr,[(A(!0),F(Fe,null,Oe(Wo.value,a=>(A(),ke(uo,{key:a.key,class:"home-card left-card",title:a.title,width:Qe(wa),height:a.height},{default:sa(()=>[a.option?(A(),ke(Qe(la),{key:0,ref_for:!0,ref:o=>qt(a.key,o),class:"home-chart home-town-column-chart",option:a.option,autoresize:!0},null,8,["option"])):(A(),ke(ko,{key:1,panel:a,compact:"","column-label-standard":Ya(a),"visual-version":"v21"},null,8,["panel","column-label-standard"]))]),_:2},1032,["title","width","height"]))),128))])]),S("div",Gr,[S("div",Hr,[(A(!0),F(Fe,null,Oe(Uo.value,a=>(A(),ke(uo,{key:a.key,class:Ye(["home-card","right-card",{"home-video-card":a.type==="video"}]),title:a.title,width:Qe(wa),height:a.height},{extra:sa(()=>[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]=[ii(" 更多 ",-1),S("span",{"aria-hidden":"true"},"›",-1)])],8,Rr)):Y("",!0)]),default:sa(()=>[a.type==="video"?(A(),F("div",$r,[S("button",{class:"home-video-nav home-video-prev",type:"button","aria-label":"上一路监控",disabled:ze.value.length<=1,onClick:rn},"‹",8,zr),S("div",{class:Ye(["home-video-grid",{"is-single":Ta.value.length<=1}])},[(A(!0),F(Fe,null,Oe(Ta.value,o=>(A(),F("div",{key:o.key,ref_for:!0,ref:i=>Ba(i,o),"data-video-index":o.index,class:Ye(["home-video-screen",{"is-active":o.isActive,"is-playing":Yt(o.index),"is-loading":Mt(o.index)}]),style:ft(za(o.live,o.isActive,o.index)),role:"button",tabindex:"0",onClick:i=>ja(o.index,i),onKeydown:[Ft(Pe(i=>_e(o.index),["prevent"]),["enter"]),Ft(Pe(i=>_e(o.index),["prevent"]),["space"])]},[t[4]||(t[4]=S("div",{class:"home-video-player-host"},null,-1)),Mt(o.index)?(A(),F("div",Vr,"加载中")):Y("",!0),Ve(o.index)?(A(),F("div",jr,D(Ve(o.index)),1)):Y("",!0),o.live.hdPlayUrl&&(!$a(o.index)||Ve(o.index))?(A(),F("button",{key:2,class:"home-video-hit",type:"button","aria-label":"播放监控",onClick:Pe(i=>_e(o.index),["stop"])},null,8,Wr)):Y("",!0),S("div",Ur,D(o.live.title),1)],46,Dr))),128))],2),S("button",{class:"home-video-nav home-video-next",type:"button","aria-label":"下一路监控",disabled:ze.value.length<=1,onClick:sn},"›",8,Kr)])):a.key==="yak-forecast-trend"?(A(),F("div",qr,[S("div",Qr,[(A(),F(Fe,null,Oe(zt,o=>S("button",{key:o.key,type:"button",class:Ye({active:o.key===Rt.value}),onClick:i=>Rt.value=o.key},D(o.label),11,Yr)),64))]),It(Qe(la),{ref_for:!0,ref:o=>qt(a.key,o),class:"home-chart home-forecast-kline-chart",option:a.option,autoresize:!0},null,8,["option"])])):a.option?(A(),ke(Qe(la),{key:2,ref_for:!0,ref:o=>qt(a.key,o),class:"home-chart",option:a.option,autoresize:!0},null,8,["option"])):a.key==="home-town-balance-gauge"?(A(),F("div",Jr,[(A(!0),F(Fe,null,Oe(Vt.value,(o,i)=>(A(),F("div",{key:o.key,class:Ye(["home-balance-gauge-card",{"is-active":i===Ro.value}]),style:ft(Ua(o))},[S("div",Zr,[S("strong",null,D(o.status),1)]),S("div",Xr,[S("div",es,[S("strong",null,D(j(o.value)),1),t[5]||(t[5]=S("em",null,"%",-1))])]),S("div",ts,D(o.name),1),S("div",as,D(o.extra),1)],6))),128))])):(A(),ke(ko,{key:4,panel:a,compact:"","column-label-standard":Ya(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:Pe(kt,["self"])},[S("section",os,[S("header",ns,[S("div",null,[t[6]||(t[6]=S("h2",null,"基地监控",-1)),S("p",null,"共 "+D(oe.value.length)+" 路,在线 "+D(zo.value)+" 路",1)]),S("button",{type:"button",title:"关闭","aria-label":"关闭",onClick:kt},"×")]),Aa.value.length?(A(),F("div",is,[(A(!0),F(Fe,null,Oe(Aa.value,a=>(A(),F("div",{key:a.key,ref_for:!0,ref:o=>Ba(o,a),"data-video-index":a.index,class:Ye(["home-video-modal-item home-video-screen",{"is-active":a.index===$.value,"is-playing":Yt(a.index),"is-loading":Mt(a.index),"is-offline":a.live.status!=="直播中"}]),style:ft(za(a.live,a.index===$.value,a.index)),role:"button",tabindex:"0",onClick:o=>ja(a.index,o),onKeydown:[Ft(Pe(o=>_e(a.index),["prevent"]),["enter"]),Ft(Pe(o=>_e(a.index),["prevent"]),["space"])]},[t[7]||(t[7]=S("div",{class:"home-video-player-host"},null,-1)),Mt(a.index)?(A(),F("div",ss,"加载中")):Y("",!0),Ve(a.index)?(A(),F("div",ls,D(Ve(a.index)),1)):Y("",!0),a.live.hdPlayUrl&&(!$a(a.index)||Ve(a.index))?(A(),F("button",{key:2,class:"home-video-hit",type:"button","aria-label":"播放监控",onClick:Pe(o=>_e(a.index),["stop"])},null,8,cs)):Y("",!0),S("span",us,D(a.live.title),1)],46,rs))),128))])):(A(),F("div",ds,"暂无监控数据")),xt.value>1?(A(),F("footer",fs,[S("button",{type:"button",disabled:ce.value<=1,onClick:t[1]||(t[1]=a=>Da(ce.value-1))},"上一页",8,hs),S("span",null,D(ce.value)+" / "+D(xt.value),1),S("button",{type:"button",disabled:ce.value>=xt.value,onClick:t[2]||(t[2]=a=>Da(ce.value+1))},"下一页",8,ms)])):Y("",!0)])])):Y("",!0),(A(),ke(ri,{to:"body"},[ne.value!==null?(A(),F("div",ps,[S("div",{ref_key:"homeVideoWebStageRef",ref:T,class:"home-video-screen home-video-web-stage is-active is-playing"},[...t[8]||(t[8]=[S("div",{class:"home-video-web-player-slot"},null,-1)])],512)])):Y("",!0)])),Ht.value?(A(),F("div",{key:3,class:"home-more-modal",role:"dialog","aria-modal":"true","aria-label":"全部乡镇草畜平衡",onClick:Pe(Pt,["self"])},[S("section",gs,[S("header",vs,[S("div",null,[t[9]||(t[9]=S("h2",null,"全县乡镇草畜平衡",-1)),S("p",null,"全部 "+D(yt.value.length)+" 个乡镇,超载率沿用草畜平衡结果库口径",1)]),S("button",{type:"button",title:"关闭","aria-label":"关闭",onClick:Pt},"×")]),S("div",ys,[(A(!0),F(Fe,null,Oe(yt.value,a=>(A(),F("article",{key:a.key,class:"home-balance-modal-item",style:ft(Ua(a))},[S("div",bs,[S("strong",null,D(a.name),1),S("span",null,D(a.status),1)]),S("div",ws,[S("strong",null,D(j(a.value)),1),t[10]||(t[10]=S("em",null,"%",-1))]),t[11]||(t[11]=S("div",{class:"home-balance-modal-track"},[S("i")],-1)),S("p",null,D(a.extra),1)],4))),128))])])])):Y("",!0)]))}};export{Us as default};