import{i as N,L as A}from"./echarts.0aac64e0.js";import{p as O}from"./enum.5c541b34.js";import{p as T,X as h,I as W}from"./index.c1ad757b.js";import R from"./index.5a3c7278.js";import{e as S}from"./emitter.2a47143e.js";import{d as q,r as m,k as B,j as U,p as P,w as j,a8 as C,ae as G,H as X,o as $,c as H,M as u,G as y,K as g,a as K}from"./vue.95e072e2.js";import{_ as Q}from"./_plugin-vue_export-helper.c27b6911.js";import"./elementPlus.2ca9dd27.js";import"./mCard.8aed5c54.js";import"./index.df979911.js";const F=q({name:"DataTendencyChart",__name:"index",props:{fetchCard:{},fetchLine:{},fetchLineMonth:{},fetchLineWeek:{},query:{},initMetric:{default:()=>[{metric:"Impression",color:"#0085ff",label:"曝光量"},{metric:"Click",color:"#3fd4cf",label:"点击量"},{metric:"Spend",color:"#ff9500",label:"花费"}]},metricEnum:{default:()=>O}},emits:["changeStatDim"],setup(D,{emit:k}){const s=D,o=m(s.initMetric),f=m([]);let i;const w=m(),d=m("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},{id:3,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:"Name",y:""},barWidth:"18px",yAxisIndex:0,itemStyle:{color:"",borderRadius:4}},{id:1,name:"",type:"line",encode:{x:"Name",y:""},symbolSize:6,symbol:"circle",smooth:!0,yAxisIndex:1,itemStyle:{},areaStyle:{},emphasis:{focus:"series"}},{id:2,name:"",type:"line",encode:{x:"Name",y:""},symbolSize:6,symbol:"circle",smooth:!0,yAxisIndex:2,itemStyle:{},areaStyle:{},emphasis:{focus:"series"}},{id:3,name:"NewMetric",type:"line",encode:{x:"Name",y:o.value[1].metric},symbolSize:6,symbol:"circle",smooth:!0,yAxisIndex:0,itemStyle:{color:"#1e1e2d",borderColor:"#1e1e2d"},areaStyle:{},emphasis:{focus:"series"}}]},n=m(!0),p=B(()=>T(s.query));U(()=>{_(),z(),setTimeout(()=>{E()},0)}),P(()=>{i&&(i.dispose(),i=null),I()});const E=async()=>{i=N(w.value);const a=await v();l.dataset.source=a,h.arrayEach(l.series,(e,t)=>{var c;if(e.id<3){const r=o.value[t].color;e.name=o.value[t].label,e.encode.y=(c=o.value[t])==null?void 0:c.metric,e.type==="bar"?e.itemStyle.color=r:(e.itemStyle={color:r,borderColor:r},e.areaStyle={color:new A(0,0,0,1,[{offset:0,color:r+"53"},{offset:1,color:r+"03"}])})}}),h.arrayEach(l.yAxis,(e,t)=>{t{l.legend.selected[e.label]=!1});for(const e of o.value)l.legend.selected[e.label]=!0;i.setOption(l),n.value=!1},v=async()=>{if(d.value==="week"){if(s.fetchLineWeek)return(await s.fetchLineWeek(p.value)).data}else if(d.value==="month"){if(s.fetchLineMonth)return(await s.fetchLineMonth(p.value)).data}else return(await s.fetchLine(p.value)).data},_=async()=>{const e=(await s.fetchCard(p.value)).data;f.value.length=0,h.arrayEach(s.metricEnum,t=>{const c={label:t.label,value:t.value,metricVal:e[t.value],gapVal:e[`gap${t.value}`],preVal:e[`prev${t.value}`]};f.value.push(c)})},M=()=>{const a=W(l,o.value);i.setOption(a)},x=k,V=async()=>{S.emit("chartDateTendency-changeStatDim"),n.value=!0;let a=await v();a.length>0&&i.setOption({dataset:{source:a}}),n.value=!1,x("changeStatDim",a)};j(s.query,async()=>{S.emit("chartDateTendency-changeStatDim"),n.value=!0,await _();const a=await v();x("changeStatDim",a);const e={dataset:{source:a}};i.setOption(e),n.value=!1});const L=()=>{i.resize()},z=()=>{window.addEventListener("resize",L)},I=()=>{window.removeEventListener("resize",L)};return(a,e)=>{const t=C("el-radio-button"),c=C("el-radio-group"),r=G("loading");return X(($(),H("div",null,[u(R,{modelValue:o.value,"onUpdate:modelValue":e[0]||(e[0]=b=>o.value=b),"metric-items":f.value,onChange:M},null,8,["modelValue","metric-items"]),u(c,{modelValue:d.value,"onUpdate:modelValue":e[1]||(e[1]=b=>d.value=b),class:"chart-button-group",onChange:V},{default:y(()=>[u(t,{label:"day"},{default:y(()=>[g("日")]),_:1}),u(t,{label:"week",disabled:!s.fetchLineWeek},{default:y(()=>[g("周")]),_:1},8,["disabled"]),u(t,{label:"month",disabled:!s.fetchLineWeek},{default:y(()=>[g("月")]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),K("div",{style:{height:"350px"},ref_key:"chartRef",ref:w},null,512)])),[[r,n.value]])}}});const re=Q(F,[["__scopeId","data-v-78909fe5"]]);export{re as default};