2 lines
1.4 KiB
Java
2 lines
1.4 KiB
Java
import{useECharts as A}from"./useECharts-BKJWOWs-.js";import{aQ as D,au as k}from"./index-X7Y8jykP.js";import{e as b,w as C,r as S,b as _,C as v,z as E,T as $}from"./vue-vendor-DNhG1Cve.js";const j=b({name:"LineMulti",props:{chartData:{type:Array,default:()=>[],required:!0},option:{type:Object,default:()=>({})},type:{type:String,default:"line"},width:{type:String,default:"100%"},height:{type:String,default:"calc(100vh - 78px)"}},emits:["click"],setup(t,{emit:h}){const r=S(null),{setOptions:p,getInstance:i}=A(r),a=_({tooltip:{trigger:"axis",axisPointer:{type:"shadow",label:{show:!0,backgroundColor:"#333"}}},legend:{top:30},grid:{top:60},xAxis:{type:"category",data:[]},yAxis:{type:"value"},series:[]});C(()=>{t.chartData&&w()});function w(){var m,g;t.option&&Object.assign(a,D(t.option));let n=Array.from(new Set(t.chartData.map(e=>e.type))),d=Array.from(new Set(t.chartData.map(e=>e.name))),y=[];n.forEach(e=>{let o={name:e,type:t.type};const c=t.chartData.find(s=>s.type==e);c&&c.color&&(o.color=c.color);let l=[];d.forEach(s=>{let f=t.chartData.filter(x=>e===x.type&&x.name==s);f&&f.length>0?l.push(f[0].value):l.push(null)}),o.data=l,y.push(o)}),a.series=y,a.xAxis.data=d,p(a),(m=i())==null||m.off("click",u),(g=i())==null||g.on("click",u)}function u(n){h("click",n)}return{chartRef:r}}});function L(t,h,r,p,i,a){return E(),v("div",{ref:"chartRef",style:$({height:t.height,width:t.width})},null,4)}const I=k(j,[["render",L]]);export{I as L};
|