import{i as E,L as x}from"./echarts.594b4072.js";import{b as I,d as z}from"./enum.aabc75ad.js";import{X as R}from"./index.4e34480b.js";import T from"./index.c21c881a.js";import{e as q}from"./emitter.1b17da23.js";import{p as B}from"./tools.662d4d7b.js";import{f as U,r as u,e as N,x as O,d as P,m as j,w as L,a7 as C,af as G,H as X,h as $,i as H,M as d,G as m,K as y,j as K}from"./vue.9083513e.js";import{_ as Q}from"./_plugin-vue_export-helper.c27b6911.js";import"./elementPlus.5243d764.js";import"./mCard.0bce9c93.js";import"./index.1699d3f0.js";const F=U({name:"DataTendencyChart",__name:"index",props:{fetchCard:{},fetchCardWeek:{},fetchCardMonth:{},fetchLine:{},fetchLineMonth:{},fetchLineWeek:{},query:{},initMetric:{default:()=>I.value},metricEnum:{default:()=>z}},setup(S){const a=S,i=u(a.initMetric),p=u([]);let s;const v=u(),r=u("day"),l={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},{id:2,type:"value",position:"right",offset:90,name:"",splitLine:{show:!1},axisLine:{show:!0,lineStyle:{color:""}},show:!0}],series:[{id:0,name:"",type:"bar",encode:{x:"data_datetime",y:""},barWidth:"16px",yAxisIndex:0,itemStyle:{color:"",borderRadius:4}},{id:1,name:"",type:"line",encode:{x:"data_datetime",y:""},barWidth:"16px",yAxisIndex:0,itemStyle:{color:"",borderRadius:4}},{id:2,name:"",type:"line",encode:{x:"data_datetime",y:""},symbolSize:6,symbol:"circle",smooth:!0,yAxisIndex:2,itemStyle:{},areaStyle:{},emphasis:{focus:"series"}}]},c=u(!0),n=N(()=>B(a.query));O("statDim",r),P(()=>{b(),W(),setTimeout(()=>{w()},0)}),j(()=>{s&&(s.dispose(),s=null),A()});async function w(){s=E(v.value),l.dataset.source=await k(),l.series=i.value.map((e,t)=>({id:t,name:e.label,type:t===0?"bar":"line",encode:{x:"data_datetime",y:e.metric},yAxisIndex:t,itemStyle:{color:l.series.type=="bar"?"#0085ff":e.color,borderRadius:[6,6,6,6]},lineStyle:{color:e.color},barWidth:"16px",areaStyle:t!==0?{color:new x(0,0,0,1,[{offset:0,color:e.color+"53"},{offset:1,color:e.color+"03"}])}:void 0})),l.yAxis=i.value.map((e,t)=>({id:t,name:e.label,type:"value",position:t===0?"left":"right",offset:t>1?(t-1)*80:0,axisLine:{show:!0,lineStyle:{color:e.color}},splitLine:{show:t===0},show:!0})),l.legend.selected=a.metricEnum.reduce((e,t)=>(e[t.label]=i.value.some(o=>o.metric===t.value),e),{}),s.setOption(l),c.value=!1}async function k(){if(r.value==="week"){if(a.fetchLineWeek)return(await a.fetchLineWeek(n.value)).data}else if(r.value==="month"){if(a.fetchLineMonth)return(await a.fetchLineMonth(n.value)).data}else return(await a.fetchLine(n.value)).data}const b=async()=>{let e;r.value==="week"&&a.fetchCardWeek?e=await a.fetchCardWeek(n.value):r.value==="month"&&a.fetchCardMonth?e=await a.fetchCardMonth(n.value):a.fetchCard&&(e=await a.fetchCard(n.value));const t=e.data;p.value.length=0,R.arrayEach(a.metricEnum,o=>{const f={label:o.label,value:o.value,metricVal:t[o.value],gapVal:t[`gap${o.value}`],preVal:t[`prev${o.value}`]};p.value.push(f)})};function M(){for(l.legend.selected=a.metricEnum.reduce((e,t)=>(e[t.label]=i.value.some(o=>o.metric===t.value),e),{}),l.series=i.value.map((e,t)=>{const o={id:t,name:e.label,type:e.color==="#0085ff"?"bar":"line",encode:{x:"data_datetime",y:e.metric},yAxisIndex:t,itemStyle:{color:e.color,borderRadius:[6,6,6,6]},lineStyle:{color:e.color},barWidth:"16px"};return o.type!="bar"&&(o.areaStyle={color:new x(0,0,0,1,[{offset:0,color:e.color+"53"},{offset:1,color:e.color+"03"}])}),o}),l.yAxis=i.value.map((e,t)=>({id:t,name:e.label,type:"value",position:t===0?"left":"right",offset:t>1?(t-1)*80:0,axisLine:{show:!0,lineStyle:{color:e.color}},splitLine:{show:t===0},show:!0}));l.yAxis.length>i.value.length;)l.yAxis.pop();s.setOption(l,!0)}async function V(){q.emit("DateTendency-dateChange",r.value)}let _=!1;L(a.query,async()=>{if(!_){_=!0;return}c.value=!0,await b(),await w(),c.value=!1}),L(()=>a.initMetric,e=>{i.value=e},{immediate:!0});function g(){s.resize()}function W(){window.addEventListener("resize",g)}function A(){window.removeEventListener("resize",g)}return(e,t)=>{const o=C("el-radio-button"),f=C("el-radio-group"),D=G("loading");return X(($(),H("div",null,[d(T,{modelValue:i.value,"onUpdate:modelValue":t[0]||(t[0]=h=>i.value=h),"metric-items":p.value,onChange:M},null,8,["modelValue","metric-items"]),d(f,{modelValue:r.value,"onUpdate:modelValue":t[1]||(t[1]=h=>r.value=h),class:"chart-button-group",onChange:V},{default:m(()=>[d(o,{label:"day"},{default:m(()=>[y("日")]),_:1}),d(o,{disabled:!a.fetchLineWeek,label:"week"},{default:m(()=>[y("周")]),_:1},8,["disabled"]),d(o,{disabled:!a.fetchLineWeek,label:"month"},{default:m(()=>[y("月")]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),K("div",{ref_key:"chartRef",ref:v,style:{height:"350px"}},null,512)])),[[D,c.value]])}}});const ne=Q(F,[["__scopeId","data-v-eda22670"]]);export{ne as default};