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