Files
Lucky_Wheel/apps/admin/dist/assets/MDashboardView-DJmwgrT6.js
T

2 lines
5.8 KiB
JavaScript

import{t as y,f as u}from"./farsi-number-stB7JMN0.js";import{i as Y,L as Z,A as W,P as ss}from"./index-SCfxn6iU.js";import{d as ts,l as es,m as is,c as p,a as s,f as d,b as o,e,R as I,w as G,h as k,n as os,p as as,r as X,o as m,U as ns,t as n,q as j,T as ls,P as rs,F as ds,z as us,x as H,i as _s,B as cs,_ as ps}from"./index-BOpodV_K.js";import{P as ms}from"./PlusCircleOutlined-BvzLPV57.js";const vs={class:"m-dash"},bs={class:"m-dash__toolbar"},fs=["disabled"],ys={class:"m-kpi-grid"},ks={class:"m-kpi indigo"},gs={class:"m-kpi__head"},hs={class:"m-kpi__val"},xs={class:"m-kpi__sub"},Cs={class:"m-kpi amber"},Ss={class:"m-kpi__head"},ws={class:"m-kpi__val"},Ds={class:"m-kpi__sub"},Es={class:"m-kpi emerald"},Os={class:"m-kpi__head"},Rs={class:"m-kpi__val"},Ls={class:"m-kpi violet"},Ns={class:"m-kpi__head"},Ts={class:"m-kpi__val"},As={class:"m-kpi__sub"},Vs={class:"m-quick"},zs={class:"m-card"},Ps={key:0,class:"m-card"},Us={class:"m-winner-row__main"},qs={class:"m-winner-row__name"},Bs={class:"m-winner-row__meta"},Fs={class:"m-winner-row__side"},$s=["onClick"],Ms=ts({__name:"MDashboardView",setup(Ws){const v=_s(),_=k(!0),a=k(null),b=k(null);let l=null;const g={NEW:{text:"جدید",color:"blue"},CONTACTED:{text:"تماس",color:"cyan"},DELIVERED:{text:"تحویل",color:"success"},ACTIVE_CODE:{text:"کد فعال",color:"purple"},USED:{text:"مصرف",color:"green"},EXPIRED:{text:"منقضی",color:"default"}};async function h(){_.value=!0;try{const r=await os.get("/admin/reports/dashboard");a.value=r.data,await as(),J()}catch(r){console.error(r)}finally{_.value=!1}}function J(){var t;if(!b.value||!((t=a.value)!=null&&t.spinsByDay))return;l&&l.dispose(),l=Y(b.value);const r=a.value.spinsByDay;l.setOption({grid:{top:16,right:8,bottom:28,left:36},tooltip:{trigger:"axis"},xAxis:{type:"category",data:r.map(c=>y(String(c.date).slice(5))),axisLabel:{fontSize:10,color:"#94a3b8",fontFamily:"IRANSans"},axisLine:{lineStyle:{color:"#e2e8f0"}}},yAxis:{type:"value",axisLabel:{fontSize:10,color:"#94a3b8",fontFamily:"IRANSans"},splitLine:{lineStyle:{color:"#f1f5f9"}}},series:[{name:"چرخش",type:"line",smooth:!0,symbol:"circle",symbolSize:6,data:r.map(c=>c.spins),lineStyle:{width:3,color:"#4f46e5"},itemStyle:{color:"#4f46e5"},areaStyle:{color:new Z(0,0,0,1,[{offset:0,color:"rgba(79,70,229,0.28)"},{offset:1,color:"rgba(79,70,229,0.02)"}])}}]})}function K(r){r&&(navigator.clipboard.writeText(r),cs.success("کد کپی شد"))}return es(()=>{h(),window.addEventListener("resize",()=>l==null?void 0:l.resize())}),is(()=>{l==null||l.dispose()}),(r,t)=>{const c=X("a-tag"),Q=X("a-spin");return m(),p("div",vs,[s("div",bs,[t[4]||(t[4]=s("div",null,[s("div",{class:"m-dash__live"},[s("span",{class:"pulse"}),d(" آنلاین ")]),s("p",{class:"m-dash__sub"},"خلاصه عملکرد سامانه")],-1)),s("button",{type:"button",class:"m-icon-btn",disabled:_.value,onClick:h},[o(e(I),{spin:_.value},null,8,["spin"])],8,fs)]),o(Q,{spinning:_.value},{default:G(()=>{var x,C,S,w,D,E,O,R,L,N,T,A,V,z,P,U;return[s("div",ys,[s("div",ks,[s("div",gs,[t[5]||(t[5]=s("span",null,"کاربران",-1)),o(e(ns))]),s("div",hs,n(e(u)(((C=(x=a.value)==null?void 0:x.stats)==null?void 0:C.totalUsers)||0)),1),s("div",xs,[o(e(W)),d(" +"+n(e(u)(((w=(S=a.value)==null?void 0:S.stats)==null?void 0:w.todayUsers)||0))+" امروز ",1)])]),s("div",Cs,[s("div",Ss,[t[6]||(t[6]=s("span",null,"چرخش‌ها",-1)),o(e(I))]),s("div",ws,n(e(u)(((E=(D=a.value)==null?void 0:D.stats)==null?void 0:E.totalSpins)||0)),1),s("div",Ds,[o(e(W)),d(" +"+n(e(u)(((R=(O=a.value)==null?void 0:O.stats)==null?void 0:R.todaySpins)||0))+" امروز ",1)])]),s("div",Es,[s("div",Os,[t[7]||(t[7]=s("span",null,"برندگان",-1)),o(e(j))]),s("div",Rs,n(e(u)(((N=(L=a.value)==null?void 0:L.stats)==null?void 0:N.totalWinners)||0)),1),t[8]||(t[8]=s("div",{class:"m-kpi__sub"},"کل برندگان ثبت‌شده",-1))]),s("div",Ls,[s("div",Ns,[t[9]||(t[9]=s("span",null,"نرخ برد",-1)),o(e(ss))]),s("div",Ts,n(e(y)(String(((A=(T=a.value)==null?void 0:T.stats)==null?void 0:A.winRate)??0)))+"٪",1),s("div",As,n(e(u)(((z=(V=a.value)==null?void 0:V.stats)==null?void 0:z.activeCampaignsCount)||0))+" کمپین فعال ",1)])]),s("div",Vs,[s("button",{type:"button",class:"m-quick__btn primary",onClick:t[0]||(t[0]=i=>e(v).push("/m/campaigns/create"))},[o(e(ms)),t[10]||(t[10]=d(" کمپین جدید ",-1))]),s("button",{type:"button",class:"m-quick__btn",onClick:t[1]||(t[1]=i=>e(v).push("/m/users"))},[o(e(ls)),t[11]||(t[11]=d(" کاربران ",-1))]),s("button",{type:"button",class:"m-quick__btn",onClick:t[2]||(t[2]=i=>e(v).push("/m/winners"))},[o(e(j)),t[12]||(t[12]=d(" برندگان ",-1))]),s("button",{type:"button",class:"m-quick__btn",onClick:t[3]||(t[3]=i=>e(v).push("/m/reports"))},[o(e(rs)),t[13]||(t[13]=d(" گزارش ",-1))])]),s("div",zs,[t[14]||(t[14]=s("div",{class:"m-card__title"},"روند چرخش روزانه",-1)),s("div",{ref_key:"chartRef",ref:b,class:"m-chart"},null,512)]),(U=(P=a.value)==null?void 0:P.recentWinners)!=null&&U.length?(m(),p("div",Ps,[t[15]||(t[15]=s("div",{class:"m-card__title"},"آخرین برندگان",-1)),(m(!0),p(ds,null,us(a.value.recentWinners.slice(0,8),i=>{var q,B,F,$,M;return m(),p("div",{key:i.id,class:"m-winner-row"},[s("div",Us,[s("div",qs,n(((q=i.user)==null?void 0:q.name)||e(y)(((B=i.user)==null?void 0:B.mobile)||"—")),1),s("div",Bs,n(((F=i.prize)==null?void 0:F.title)||"—")+" · "+n((($=i.campaign)==null?void 0:$.title)||"—"),1)]),s("div",Fs,[o(c,{color:((M=g[i.status])==null?void 0:M.color)||"default",class:"m-tag"},{default:G(()=>{var f;return[d(n(((f=g[i.status])==null?void 0:f.text)||i.status),1)]}),_:2},1032,["color"]),i.code?(m(),p("button",{key:0,type:"button",class:"m-code",onClick:f=>K(i.code)},n(i.code),9,$s)):H("",!0)])])}),128))])):H("",!0)]}),_:1},8,["spinning"])])}}}),Hs=ps(Ms,[["__scopeId","data-v-81630ec9"]]);export{Hs as default};