2 lines
1.5 KiB
Java
2 lines
1.5 KiB
Java
import{useECharts as w}from"./useECharts-BKJWOWs-.js";import{aQ as C,au as k}from"./index-X7Y8jykP.js";import{e as D,w as b,r as S,b as _,C as v,z as B,T as E}from"./vue-vendor-DNhG1Cve.js";const $=D({name:"BarMulti",props:{chartData:{type:Array,default:()=>[],required:!0},option:{type:Object,default:()=>({})},type:{type:String,default:"bar"},width:{type:String,default:"100%"},height:{type:String,default:"calc(100vh - 78px)"},seriesColor:{type:Array,default:()=>[]}},emits:["click"],setup(t,{emit:f}){const i=S(null),{setOptions:h,getInstance:n}=w(i),r=_({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:[]});b(()=>{t.chartData&&A()});function A(){var y,m;t.option&&Object.assign(r,C(t.option));let l=Array.from(new Set(t.chartData.map(e=>e.type))),p=Array.from(new Set(t.chartData.map(e=>e.name))),d=[];l.forEach(e=>{var g;let s={name:e,type:t.type},c=[];if(p.forEach(a=>{let o=t.chartData.filter(x=>e===x.type&&x.name==a);o&&o.length>0?c.push(o[0].value):c.push(null)}),s.data=c,(g=t.seriesColor)!=null&&g.length){const a=t.seriesColor.find(o=>o.type===e);a!=null&&a.color&&(s.color=a.color)}d.push(s)}),r.series=d,r.xAxis.data=p,h(r),(y=n())==null||y.off("click",u),(m=n())==null||m.on("click",u)}function u(l){f("click",l)}return{chartRef:i}}});function j(t,f,i,h,n,r){return B(),v("div",{ref:"chartRef",style:E({height:t.height,width:t.width})},null,4)}const R=k($,[["render",j]]);export{R as B};
|