import{G as e,V as t,rt as n}from"./common.js";import{t as r}from"./geoCoordinate.js";import{createElementBlock as i,defineComponent as a,mergeProps as o,onMounted as s,openBlock as c,toHandlers as l,unref as u,useTemplateRef as d}from"vue";import{cloneDeep as f}from"lodash-es";import{use as p}from"echarts";import{Lines3DChart as m,Scatter3DChart as h}from"echarts-gl/charts";import{Geo3DComponent as g}from"echarts-gl/components";var _=a({name:`MfMapLine3D`,__name:`index`,props:{chart:{type:Object,required:!0},chartContain:{type:Object,required:!0}},setup(a){let _=a;e(_.chart.options.geo3D,_.chart.options),p([m,h,g]);let v=d(`mfMapLineRef`),{commonEvents:y}=n(_.chart),b=r;s(()=>{t(v.value,_.chart,_.chartContain,void 0,S,{renderer:`canvas`})});let x=e=>{let t=[],n=[],r=new Set,i=0,a=e&&e.length>1&&e[1].length>2?e[1][2]:0,o=(e,n)=>{if(r.has(e)){let r=t.findIndex(t=>t.name===e);t[r].value[3]+=n,it[r].value[3]&&(a=t[r].value[3])}else t.push({name:e,value:[...b[e],0,n]}),in&&(a=n),r.add(e)};for(let[t,r]of e.entries())if(t>0){let e=b[r[0]],t=b[r[1]],i=Number.parseFloat(r[2])||0;n.push({fromName:r[0],toName:r[1],coords:[[...e,0],[...t,0]],value:i}),o(r[1],i),o(r[0],0)}return{lineDataArray:n,rippleDataArray:t,max:i,min:a}};function S(e,t){let n={...f(_.chart.options),backgroundColor:`transparent`},r=x(t?.source);n.series[0].data=r.lineDataArray,n.series.length>1&&(n.series[1].data=r.rippleDataArray,n.series[1].tooltip={trigger:`item`,formatter:e=>`${e.name}
合计: ${e.value[3]}`}),n.visualMap.min=r.min,n.visualMap.max=r.max,e?.setOption(n,!0)}return(e,t)=>(c(),i(`div`,o({ref_key:`mfMapLineRef`,ref:v,style:{width:`100%`,height:`100%`}},l(u(y),!0)),null,16))}});export{_ as default};