Files
machartaa_admin_dist/dist/assets/index-6109c751.js
T
2026-08-09 13:07:17 +03:30

2 lines
6.2 KiB
JavaScript

import{i as R}from"./index-30e9b5a1.js";import{u as D,b as T,a as j,c as z,s as B,e as I,d as E,f as F,l as N,m as O,G as _}from"./story-4-562fc0d7.js";import{a as V}from"./useDataTime-5a269444.js";import{S as g}from"./index-0e72b27c.js";import{d as A,g as b,h,v as G,O as P,P as J,o as l,c as r,a as t,F as d,n as x,Q as M,i as u,w as m,b as w,j as p,t as o}from"./index-f8ee37b9.js";import{T as S}from"./isSymbol-cdcd460d.js";import"./_plugin-vue_export-helper-775bc553.js";import"./index-bc659f42.js";import"./vnode-b0e810ae.js";const Q={class:"m-2 md:m-5 bg-white p-2 md:p-3 rounded-xl"},U=t("h2",{class:"text-xl font-bold mb-4"},"نمای کلی اشتراک ها",-1),q={class:"grid grid-cols-1 md:grid-cols-4 gap-3"},H={class:"flex"},K=["src","alt"],W={class:"flex flex-col justify-between w-full mr-2"},X={class:"text-base font-bold"},Y={class:"flex items-center justify-end min-h-[24px]"},Z={class:"text-base font-bold"},$={class:"mr-1"},tt={class:"grid grid-cols-1 md:grid-cols-4 gap-3 mt-3"},et={class:"flex"},st=["src","alt"],at={class:"flex flex-col justify-between w-full mr-2"},lt={class:"text-base font-bold"},it={class:"flex items-center justify-end min-h-[24px]"},ot={class:"text-base font-bold"},rt={class:"mr-1"},nt={class:"border-solid border-1 border-gray-200 rounded-lg p-6 mt-3"},ct=t("div",{class:"flex flex-col gap-3 md:flex-row md:justify-between md:items-center mb-2"},[t("span",{class:"text-lg font-bold"},"نمودار آماری مشترکین جدید و پویا")],-1),dt=M('<div class="flex flex-wrap justify-center gap-6 mt-4"><div class="flex items-center gap-2"><div class="w-3 h-3 rounded-full" style="background-color:#F97316;"></div><span class="text-sm text-[#6B7280]">مشترکین جدید</span></div><div class="flex items-center gap-2"><div class="w-3 h-3 rounded-full" style="background-color:#22C55E;"></div><span class="text-sm text-[#6B7280]">مشترکین پویا</span></div></div>',1),xt=A({__name:"index",setup(ut){const n=b(!0),f=b(null);let s=null;const a=b({totalSubscribers:0,activeSubscribers:0,newSubscribersLast7Days:0,dynamicSubscribersLast7Days:0,newSubscribersToday:0,renewalsToday:0,newSubscribersLast30Days:0,dynamicSubscribersLast30Days:0}),L=h(()=>[{title:"تعداد مشترکین",alt:"total-subscribers",image:D,value:a.value.totalSubscribers.toLocaleString("fa-IR"),unit:"نفر",tooltip:"تعداد کاربرانی که حداقل یک‌بار اشتراک تهیه کرده‌اند"},{title:"مشترکین فعال",alt:"active-subscribers",image:T,value:a.value.activeSubscribers.toLocaleString("fa-IR"),unit:"نفر",tooltip:"کاربرانی که مدت زمان اشتراکشان هنوز باقی مانده است"},{title:"مشترکین جدید ۷ روز",alt:"new-7",image:j,value:a.value.newSubscribersLast7Days.toLocaleString("fa-IR"),unit:"نفر",tooltip:"کاربرانی که برای اولین بار در ۷ روز گذشته اشتراک تهیه کرده‌اند"},{title:"مشترکین پویای ۷ روز",alt:"dynamic-7",image:z,value:a.value.dynamicSubscribersLast7Days.toLocaleString("fa-IR"),unit:"نفر",tooltip:"مشترکینی که حداقل یک‌بار در ۷ روز گذشته چالش انجام داده‌اند"}]),k=h(()=>[{title:"مشترکین جدید امروز",alt:"new-today",image:B,value:a.value.newSubscribersToday.toLocaleString("fa-IR"),unit:"نفر",tooltip:"کاربرانی که امروز برای اولین بار اشتراک تهیه کرده‌اند"},{title:"تمدیدهای امروز",alt:"renewals-today",image:I,value:a.value.renewalsToday.toLocaleString("fa-IR"),unit:"مورد",tooltip:"کاربرانی که امروز اشتراک قبلی را تمدید کرده یا پس از انقضا دوباره فعال شده‌اند"},{title:"مشترکین جدید ۳۰ روز",alt:"new-30",image:E,value:a.value.newSubscribersLast30Days.toLocaleString("fa-IR"),unit:"نفر",tooltip:"کاربرانی که برای اولین بار در ۳۰ روز گذشته اشتراک تهیه کرده‌اند"},{title:"مشترکین پویای ۳۰ روز",alt:"dynamic-30",image:F,value:a.value.dynamicSubscribersLast30Days.toLocaleString("fa-IR"),unit:"نفر",tooltip:"مشترکینی که حداقل یک‌بار در ۳۰ روز گذشته چالش انجام داده‌اند"}]);function C(c,i,e){f.value&&(s||(s=R(f.value)),s.setOption({tooltip:{trigger:"axis"},grid:{left:40,right:20,top:30,bottom:40},xAxis:{type:"category",data:c,axisLabel:{rotate:30,fontSize:11}},yAxis:{type:"value",minInterval:1},series:[{name:"مشترکین جدید",type:"line",smooth:!0,data:i,itemStyle:{color:"#F97316"},areaStyle:{color:"rgba(249, 115, 22, 0.15)"}},{name:"مشترکین پویا",type:"line",smooth:!0,data:e,itemStyle:{color:"#22C55E"},areaStyle:{color:"rgba(34, 197, 94, 0.12)"}}]},!0))}const y=()=>s==null?void 0:s.resize();return G(async()=>{n.value=!0;try{const[c,i]=await Promise.all([N(),O(30)]);a.value=c,await P(),C(i.map(e=>V(e.day)),i.map(e=>e.newSubscribers),i.map(e=>e.dynamicSubscribers))}catch{}finally{n.value=!1}window.addEventListener("resize",y)}),J(()=>{window.removeEventListener("resize",y),s==null||s.dispose(),s=null}),(c,i)=>(l(),r("div",Q,[U,t("div",q,[(l(!0),r(d,null,x(L.value,(e,v)=>(l(),u(_,{class:"h-[120px] p-5",key:"s1-"+v},{default:m(()=>[w(p(S),{title:e.tooltip,placement:"top"},{default:m(()=>[t("div",H,[t("div",null,[t("img",{class:"w-20 h-20",src:e.image,alt:e.alt},null,8,K)]),t("div",W,[t("div",null,[t("span",X,o(e.title),1)]),t("div",Y,[n.value?(l(),u(p(g),{key:0,size:"small"})):(l(),r(d,{key:1},[t("span",Z,o(e.value),1),t("span",$,o(e.unit),1)],64))])])])]),_:2},1032,["title"])]),_:2},1024))),128))]),t("div",tt,[(l(!0),r(d,null,x(k.value,(e,v)=>(l(),u(_,{class:"h-[120px] p-5",key:"s2-"+v},{default:m(()=>[w(p(S),{title:e.tooltip,placement:"top"},{default:m(()=>[t("div",et,[t("div",null,[t("img",{class:"w-20 h-20",src:e.image,alt:e.alt},null,8,st)]),t("div",at,[t("div",null,[t("span",lt,o(e.title),1)]),t("div",it,[n.value?(l(),u(p(g),{key:0,size:"small"})):(l(),r(d,{key:1},[t("span",ot,o(e.value),1),t("span",rt,o(e.unit),1)],64))])])])]),_:2},1032,["title"])]),_:2},1024))),128))]),t("div",nt,[ct,t("div",{ref_key:"chartContainer",ref:f,style:{width:"100%",height:"320px"}},null,512),dt])]))}});export{xt as default};