| 1 |
- var w=(s,a,r)=>new Promise((u,l)=>{var f=e=>{try{i(r.next(e))}catch(n){l(n)}},h=e=>{try{i(r.throw(e))}catch(n){l(n)}},i=e=>e.done?u(e.value):Promise.resolve(e.value).then(f,h);i((r=r.apply(s,a)).next())});import{u as F}from"./useECharts-e79dc066.js";import{d as S,f as p,o as C,w as A,Y as E,Z as k,_ as z,ad as B}from"./vue-8fccce23.js";import{_ as D}from"./index.js";import"./antd-ecb53b14.js";const O={class:"pie"},j=S({__name:"pie",props:{width:{type:String,default:"100%"},height:{type:String,default:"270px"},data:{type:Object,default:()=>{}}},setup(s){var n;const a=s,r=p([]),u=p([]),l={rich:{name:{fontSize:14,color:"#273240"},value:{fontSize:18,color:"#131313"},unit:{fontSize:12,color:"#8A99AC"}}};(n=a.data)==null||n.content.forEach((o,m)=>{m%2==0?r.value.push(o.name):u.value.push(o.name)});const f=p(null),{setOptions:h}=F(f),i=p(!0);C(()=>w(this,null,function*(){e()})),A(()=>a.data,o=>{e()});function e(){var g,y;const o=(g=a.data)==null?void 0:g.content,m=(o==null?void 0:o.reduce((t,c)=>t+c.value,0))||0;let _={};_=[{data:r.value,itemGap:20,orient:"vertical",left:110,top:80,itemWidth:12,itemHeight:12,formatter:t=>{var d;const c=(d=a.data)==null?void 0:d.content.filter(v=>v.name==t)[0].value;return["{name|"+t+"}","{value|"+c+"}","{unit|人}"].join("\r\r\r")},textStyle:l},{data:u.value,itemGap:20,orient:"vertical",left:260,top:80,itemWidth:12,itemHeight:12,formatter:t=>{var d;const c=(d=a.data)==null?void 0:d.content.filter(v=>v.name==t)[0].value;return["{name|"+t+"}","{value|"+c+"}","{unit|人}"].join("\r\r\r")},textStyle:l}];const b=i.value?"{b} (数量: {c}, 占比: {d}%)":"{b} ({c})";h({title:{show:!1},tooltip:{trigger:"item",valueFormatter:t=>"数量: "+t+" 占比: "+(Number((t/m*100).toFixed(2))||0)+"%"},toolbox:{show:!1,feature:{saveAsImage:{type:"png"}}},legend:_,series:[{type:"pie",center:["60%","50%"],radius:["70%","55%"],data:((y=a.data)==null?void 0:y.content)||[],color:["#FA6400","#FFC116","#21C999","#DFF4F3","#E2EDF6"],minAngle:5,avoidLabelOverlap:!0,label:{show:!1,formatter:b,overflow:"break"},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}}}]})}return(o,m)=>(E(),k("div",O,[z("div",{ref_key:"chartRef",ref:f,style:B({height:s.height,width:s.width})},null,4)]))}});const R=D(j,[["__scopeId","data-v-aff0cd0e"]]);export{R as default};
|