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