index.2de407c9.js 2.4 KB

1
  1. import{i as b}from"./echarts.594b4072.js";import{m as g}from"./enum.aabc75ad.js";import{X as l}from"./index.b97320e9.js";import{m as w}from"./tools.c798248a.js";import{f as E,r as c,e as L,d as S,m as z,w as D,af as R,H as A,h as C,i as k,j as q}from"./vue.9083513e.js";import{_ as B}from"./_plugin-vue_export-helper.c27b6911.js";import"./elementPlus.be4dc479.js";const M=E({name:"DataTendencyChart",__name:"index",props:{fetchLine:{},query:{},initMetric:{default:()=>[{metric:"sales",color:"#0085ff",label:"销售额"},{metric:"planSales",color:"#3fd4cf",label:"计划销售额"},{metric:"planSales",color:"#3fd4cf",label:"计划销售额"}]},metricEnum:{default:()=>g}},emits:["changeStatDim"],setup(f,{emit:I}){const o=f,s=c(o.initMetric);let a;const d=c(),r={dataset:{source:[]},tooltip:{trigger:"axis",axisPointer:{label:{backgroundColor:"#6a7985"}}},legend:{selected:{},show:!1},grid:{top:50,right:150,bottom:30,left:65},xAxis:{type:"category"},yAxis:[{id:0,type:"value",name:"",splitLine:{show:!0},axisLine:{show:!0,lineStyle:{color:""}},show:!0},{id:1,type:"value",name:"",position:"right",splitLine:{show:!1},axisLine:{show:!0,lineStyle:{color:""}},show:!0}],series:[{id:0,name:"",type:"bar",encode:{x:"data_datetime",y:""},barWidth:"18px",yAxisIndex:0,itemStyle:{color:"",borderRadius:4}},{id:1,name:"",type:"bar",encode:{x:"data_datetime",y:""},barWidth:"18px",yAxisIndex:0,itemStyle:{color:"",borderRadius:4}}]},i=c(!0),y=L(()=>w(o.query));S(()=>{v(),setTimeout(()=>{h()},0)}),z(()=>{a&&(a.dispose(),a=null),_()});const h=async()=>{a=b(d.value);const n=await m();r.dataset.source=n,l.arrayEach(r.series,(e,t)=>{const x=s.value[t].color;e.name=s.value[t].label,e.encode.y=s.value[t].metric,e.type==="bar"&&(e.itemStyle.color=x)}),l.arrayEach(r.yAxis,(e,t)=>{e.name=s.value[t].label,e.axisLine.lineStyle.color=s.value[t].color}),l.arrayEach(o.metricEnum,e=>{r.legend.selected[e.label]=!1});for(const e of s.value)r.legend.selected[e.label]=!0;a.setOption(r),i.value=!1},m=async()=>(await o.fetchLine(y.value)).data;let u=!1;D(o.query,async()=>{if(!u){u=!0;return}i.value=!0;const e={dataset:{source:await m()}};a.setOption(e),i.value=!1});const p=()=>{a.resize()},v=()=>{window.addEventListener("resize",p)},_=()=>{window.removeEventListener("resize",p)};return(n,e)=>{const t=R("loading");return A((C(),k("div",null,[q("div",{ref_key:"chartRef",ref:d,style:{height:"350px"}},null,512)])),[[t,i.value]])}}});const H=B(M,[["__scopeId","data-v-48f25109"]]);export{H as default};