index.78e264fe.js 2.4 KB

1
  1. import{i as b}from"./echarts.2703a7ac.js";import{m as g}from"./enum.fecd7982.js";import{X as l}from"./index.9f944308.js";import{m as w}from"./tools.82723672.js";import{d as E,r as c,k as L,j as S,p as z,w as D,ae as R,H as k,o as A,c as C,a as q}from"./vue.8d1e6c5e.js";import{_ as B}from"./_plugin-vue_export-helper.c27b6911.js";import"./elementPlus.df0a7e63.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(y,{emit:I}){const r=y,s=c(r.initMetric);let a;const d=c(),o={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),f=L(()=>w(r.query));S(()=>{v(),setTimeout(()=>{h()},0)}),z(()=>{a&&(a.dispose(),a=null),_()});const h=async()=>{a=b(d.value);const n=await m();o.dataset.source=n,l.arrayEach(o.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(o.yAxis,(e,t)=>{e.name=s.value[t].label,e.axisLine.lineStyle.color=s.value[t].color}),l.arrayEach(r.metricEnum,e=>{o.legend.selected[e.label]=!1});for(const e of s.value)o.legend.selected[e.label]=!0;a.setOption(o),i.value=!1},m=async()=>(await r.fetchLine(f.value)).data;let u=!1;D(r.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 k((A(),C("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};