Files
machartaa_admin_dist/dist/assets/index-5a95abb9.js
T
2026-08-17 13:34:14 +03:30

2 lines
7.0 KiB
JavaScript

import{i as z}from"./index-dfdb843b.js";import{u as B,b as E,a as I,c as F,s as N,e as O,d as U,f as V,l as A,m as G,G as w}from"./story-4-280281c5.js";import{_ as S}from"./InputDatePicker.vue_vue_type_script_setup_true_lang-3b0c2eae.js";import{a as J}from"./useDataTime-64353302.js";import{S as L}from"./index-55df0a19.js";import{d as M,g as n,h as k,v as Q,J as $,o,c,a as t,F as p,n as D,b as v,R as q,Q as H,i as f,w as b,j as _,t as r}from"./index-e0c2af95.js";import{T as C}from"./isSymbol-16519357.js";import"./_plugin-vue_export-helper-ede5981c.js";import"./index-4a6bfbb1.js";import"./index-bc659f42.js";import"./updateLocale-ddc4d420.js";import"./index-ccf41683.js";import"./shallowequal-94cf06f1.js";import"./vnode-1d9a5f19.js";import"./useState-9f37179f.js";import"./useMemo-8582dbbb.js";import"./FormItemContext-31ef74d8.js";import"./omit-ef5483a7.js";const K={class:"m-2 md:m-5 bg-white p-2 md:p-3 rounded-xl"},P=t("h2",{class:"text-xl font-bold mb-4"},"نمای کلی اشتراک ها",-1),W={class:"grid grid-cols-1 md:grid-cols-4 gap-3"},X={class:"flex"},Y=["src","alt"],Z={class:"flex flex-col justify-between w-full mr-2"},tt={class:"text-base font-bold"},et={class:"flex items-center justify-end min-h-[24px]"},st={class:"text-base font-bold"},at={class:"mr-1"},lt={class:"grid grid-cols-1 md:grid-cols-4 gap-3 mt-3"},it={class:"flex"},ot=["src","alt"],rt={class:"flex flex-col justify-between w-full mr-2"},nt={class:"text-base font-bold"},ct={class:"flex items-center justify-end min-h-[24px]"},dt={class:"text-base font-bold"},ut={class:"mr-1"},mt={class:"border-solid border-1 border-gray-200 rounded-lg p-6 mt-3"},pt={class:"flex flex-col gap-3 md:flex-row md:justify-between md:items-center mb-2"},vt=t("span",{class:"text-lg font-bold"},"نمودار آماری مشترکین جدید و پویا",-1),ft={class:"flex flex-wrap items-center gap-2"},bt={class:"w-32"},_t=t("span",{class:"text-gray-500"},"تا",-1),yt={class:"w-32"},gt=q('<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),Vt=M({__name:"index",setup(ht){const d=n(!0),u=n(""),m=n(""),y=n(null);let s=null;const l=n({totalSubscribers:0,activeSubscribers:0,newSubscribersLast7Days:0,dynamicSubscribersLast7Days:0,newSubscribersToday:0,renewalsToday:0,newSubscribersLast30Days:0,dynamicSubscribersLast30Days:0}),R=k(()=>[{title:"تعداد مشترکین",alt:"total-subscribers",image:B,value:l.value.totalSubscribers.toLocaleString("fa-IR"),unit:"نفر",tooltip:"تعداد کاربرانی که حداقل یک‌بار اشتراک تهیه کرده‌اند"},{title:"مشترکین فعال",alt:"active-subscribers",image:E,value:l.value.activeSubscribers.toLocaleString("fa-IR"),unit:"نفر",tooltip:"کاربرانی که مدت زمان اشتراکشان هنوز باقی مانده است"},{title:"مشترکین جدید ۷ روز",alt:"new-7",image:I,value:l.value.newSubscribersLast7Days.toLocaleString("fa-IR"),unit:"نفر",tooltip:"کاربرانی که برای اولین بار در ۷ روز گذشته اشتراک تهیه کرده‌اند"},{title:"مشترکین پویای ۷ روز",alt:"dynamic-7",image:F,value:l.value.dynamicSubscribersLast7Days.toLocaleString("fa-IR"),unit:"نفر",tooltip:"مشترکینی که حداقل یک‌بار در ۷ روز گذشته چالش انجام داده‌اند"}]),T=k(()=>[{title:"مشترکین جدید امروز",alt:"new-today",image:N,value:l.value.newSubscribersToday.toLocaleString("fa-IR"),unit:"نفر",tooltip:"کاربرانی که امروز برای اولین بار اشتراک تهیه کرده‌اند"},{title:"تمدیدهای امروز",alt:"renewals-today",image:O,value:l.value.renewalsToday.toLocaleString("fa-IR"),unit:"مورد",tooltip:"کاربرانی که امروز اشتراک قبلی را تمدید کرده یا پس از انقضا دوباره فعال شده‌اند"},{title:"مشترکین جدید ۳۰ روز",alt:"new-30",image:U,value:l.value.newSubscribersLast30Days.toLocaleString("fa-IR"),unit:"نفر",tooltip:"کاربرانی که برای اولین بار در ۳۰ روز گذشته اشتراک تهیه کرده‌اند"},{title:"مشترکین پویای ۳۰ روز",alt:"dynamic-30",image:V,value:l.value.dynamicSubscribersLast30Days.toLocaleString("fa-IR"),unit:"نفر",tooltip:"مشترکینی که حداقل یک‌بار در ۳۰ روز گذشته چالش انجام داده‌اند"}]);function j(i,a,e){y.value&&(s||(s=z(y.value)),s.setOption({tooltip:{trigger:"axis"},grid:{left:40,right:20,top:30,bottom:40},xAxis:{type:"category",data:i,axisLabel:{rotate:30,fontSize:11}},yAxis:{type:"value",minInterval:1},series:[{name:"مشترکین جدید",type:"line",smooth:!0,data:a,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))}async function g(){try{const i={days:30};u.value&&m.value&&(i.startDate=u.value,i.endDate=m.value,delete i.days);const a=await G(i);await H(),j(a.map(e=>J(e.day)),a.map(e=>e.newSubscribers),a.map(e=>e.dynamicSubscribers))}catch{}}const x=()=>s==null?void 0:s.resize();return Q(async()=>{d.value=!0;try{const i=await A();l.value=i,await g()}catch{}finally{d.value=!1}window.addEventListener("resize",x)}),$(()=>{window.removeEventListener("resize",x),s==null||s.dispose(),s=null}),(i,a)=>(o(),c("div",K,[P,t("div",W,[(o(!0),c(p,null,D(R.value,(e,h)=>(o(),f(w,{class:"h-[120px] p-5",key:"s1-"+h},{default:b(()=>[v(_(C),{title:e.tooltip,placement:"top"},{default:b(()=>[t("div",X,[t("div",null,[t("img",{class:"w-20 h-20",src:e.image,alt:e.alt},null,8,Y)]),t("div",Z,[t("div",null,[t("span",tt,r(e.title),1)]),t("div",et,[d.value?(o(),f(_(L),{key:0,size:"small"})):(o(),c(p,{key:1},[t("span",st,r(e.value),1),t("span",at,r(e.unit),1)],64))])])])]),_:2},1032,["title"])]),_:2},1024))),128))]),t("div",lt,[(o(!0),c(p,null,D(T.value,(e,h)=>(o(),f(w,{class:"h-[120px] p-5",key:"s2-"+h},{default:b(()=>[v(_(C),{title:e.tooltip,placement:"top"},{default:b(()=>[t("div",it,[t("div",null,[t("img",{class:"w-20 h-20",src:e.image,alt:e.alt},null,8,ot)]),t("div",rt,[t("div",null,[t("span",nt,r(e.title),1)]),t("div",ct,[d.value?(o(),f(_(L),{key:0,size:"small"})):(o(),c(p,{key:1},[t("span",dt,r(e.value),1),t("span",ut,r(e.unit),1)],64))])])])]),_:2},1032,["title"])]),_:2},1024))),128))]),t("div",mt,[t("div",pt,[vt,t("div",ft,[t("div",bt,[v(S,{value:u.value,"onUpdate:value":[a[0]||(a[0]=e=>u.value=e),g]},null,8,["value"])]),_t,t("div",yt,[v(S,{value:m.value,"onUpdate:value":[a[1]||(a[1]=e=>m.value=e),g]},null,8,["value"])])])]),t("div",{ref_key:"chartContainer",ref:y,style:{width:"100%",height:"320px"}},null,512),gt])]))}});export{Vt as default};