Files
machartaa_admin_dist/dist/assets/index-2c80025e.js
T

2 lines
6.1 KiB
JavaScript

import{i as j}from"./index-dfdb843b.js";import{u as T,b as I,a as N,c as q,s as F,e as U,d as V,f as A,n as G,o as O,G as L}from"./story-4-d80fbbff.js";import{_ as D}from"./InputDatePicker.vue_vue_type_script_setup_true_lang-7067ec3b.js";import{a as k}from"./useDataTime-284d8334.js";import{S}from"./index-5a721f2f.js";import{d as J,i as u,j as C,x as $,y as H,o as a,c as r,b as t,F as m,q as E,e as f,B as K,k as h,w as v,l as _,t as n,n as R}from"./index-185c08ed.js";import{T as M}from"./isSymbol-18d6b370.js";import"./_plugin-vue_export-helper-e26fbd9a.js";import"./updateLocale-d0f4ef4d.js";import"./index-f463cb03.js";import"./shallowequal-6622fb79.js";import"./vnode-8a371720.js";import"./useState-50bb8c1f.js";import"./useMemo-4f3c1eb4.js";import"./FormItemContext-2d3e7341.js";import"./omit-d93eaa18.js";const Q={class:"m-2 md:m-5 bg-white p-2 md:p-3 rounded-xl"},W=t("h2",{class:"text-xl font-bold mb-4"},"نمای کلی مشترکین",-1),X={class:"grid grid-cols-1 md:grid-cols-4 gap-3"},Y={class:"flex"},Z=["src","alt"],tt={class:"flex flex-col justify-between w-full mr-2"},et={class:"text-base font-bold"},st={class:"flex items-center justify-end min-h-[24px]"},at={class:"text-base font-bold"},lt={key:0,class:"mr-1"},ot={class:"grid grid-cols-1 md:grid-cols-4 gap-3 mt-3"},it={class:"flex"},rt=["src","alt"],nt={class:"flex flex-col justify-between w-full mr-2"},ut={class:"text-base font-bold"},ct={class:"flex items-center justify-end min-h-[24px]"},dt={class:"text-base font-bold"},pt={key:0,class:"mr-1"},mt={class:"border-solid border-1 border-gray-200 rounded-lg p-6 mt-3"},ft={class:"flex flex-col gap-3 md:flex-row md:justify-between md:items-center mb-2"},ht=t("span",{class:"text-lg font-bold"},"نمودار پایان اشتراک",-1),vt={class:"flex flex-wrap items-center gap-2"},_t={class:"w-32"},yt=t("span",{class:"text-gray-500"},"تا",-1),xt={class:"w-32"},Nt=J({__name:"index",setup(gt){const c=u(!0),d=u(""),p=u(""),y=u(null);let l=null;const o=u({nearestExpiryDate:null,farthestExpiryDate:null,oneMonthPurchasesLast7Days:0,oneMonthPurchasesLast30Days:0,threeMonthPurchasesLast7Days:0,threeMonthPurchasesLast30Days:0,renewalsLast7Days:0,renewalsLast30Days:0});function w(s){if(!s)return"—";try{return k(s.split("T")[0])}catch{return"—"}}const P=C(()=>[{title:"تاریخ اولین انقضا",alt:"nearest-expiry",image:T,value:w(o.value.nearestExpiryDate),unit:"",tooltip:"نزدیک‌ترین تاریخ انقضای پیش‌روی اشتراک‌های فعال"},{title:"خرید پلن یک‌ماهه ۷ روز",alt:"month-7",image:I,value:o.value.oneMonthPurchasesLast7Days.toLocaleString("fa-IR"),unit:"مورد",tooltip:"تعداد خرید پلن یک‌ماهه در ۷ روز گذشته"},{title:"خرید پلن یک‌ماهه ۳۰ روز",alt:"month-30",image:N,value:o.value.oneMonthPurchasesLast30Days.toLocaleString("fa-IR"),unit:"مورد",tooltip:"تعداد خرید پلن یک‌ماهه در ۳۰ روز گذشته"},{title:"تمدید ۷ روز گذشته",alt:"renew-7",image:q,value:o.value.renewalsLast7Days.toLocaleString("fa-IR"),unit:"مورد",tooltip:"تعداد تمدید اشتراک در ۷ روز گذشته"}]),z=C(()=>[{title:"تاریخ آخرین انقضا",alt:"farthest-expiry",image:F,value:w(o.value.farthestExpiryDate),unit:"",tooltip:"دورترین تاریخ انقضای اشتراک‌های فعال"},{title:"خرید پلن سه‌ماهه ۷ روز",alt:"quarter-7",image:U,value:o.value.threeMonthPurchasesLast7Days.toLocaleString("fa-IR"),unit:"مورد",tooltip:"تعداد خرید پلن سه‌ماهه در ۷ روز گذشته"},{title:"خرید پلن سه‌ماهه ۳۰ روز",alt:"quarter-30",image:V,value:o.value.threeMonthPurchasesLast30Days.toLocaleString("fa-IR"),unit:"مورد",tooltip:"تعداد خرید پلن سه‌ماهه در ۳۰ روز گذشته"},{title:"تمدید ۳۰ روز گذشته",alt:"renew-30",image:A,value:o.value.renewalsLast30Days.toLocaleString("fa-IR"),unit:"مورد",tooltip:"تعداد تمدید اشتراک در ۳۰ روز گذشته"}]);function B(s,i){y.value&&(l||(l=j(y.value)),l.setOption({tooltip:{trigger:"axis"},grid:{left:40,right:20,top:30,bottom:40},xAxis:{type:"category",data:s,axisLabel:{rotate:30,fontSize:11}},yAxis:{type:"value",minInterval:1},series:[{name:"پایان اشتراک",type:"bar",data:i,itemStyle:{color:"#3B82F6",borderRadius:[4,4,0,0]}}]},!0))}async function x(){try{const s={days:30};d.value&&p.value&&(s.startDate=d.value,s.endDate=p.value,delete s.days);const i=await O(s);await K(),B(i.map(e=>k(e.day)),i.map(e=>e.endingCount))}catch{}}const b=()=>l==null?void 0:l.resize();return $(async()=>{c.value=!0;try{const s=await G();o.value=s,await x()}catch{}finally{c.value=!1}window.addEventListener("resize",b)}),H(()=>{window.removeEventListener("resize",b),l==null||l.dispose(),l=null}),(s,i)=>(a(),r("div",Q,[W,t("div",X,[(a(!0),r(m,null,E(P.value,(e,g)=>(a(),h(L,{class:"h-[120px] p-5",key:"b1-"+g},{default:v(()=>[f(_(M),{title:e.tooltip,placement:"top"},{default:v(()=>[t("div",Y,[t("div",null,[t("img",{class:"w-20 h-20",src:e.image,alt:e.alt},null,8,Z)]),t("div",tt,[t("div",null,[t("span",et,n(e.title),1)]),t("div",st,[c.value?(a(),h(_(S),{key:0,size:"small"})):(a(),r(m,{key:1},[t("span",at,n(e.value),1),e.unit?(a(),r("span",lt,n(e.unit),1)):R("",!0)],64))])])])]),_:2},1032,["title"])]),_:2},1024))),128))]),t("div",ot,[(a(!0),r(m,null,E(z.value,(e,g)=>(a(),h(L,{class:"h-[120px] p-5",key:"b2-"+g},{default:v(()=>[f(_(M),{title:e.tooltip,placement:"top"},{default:v(()=>[t("div",it,[t("div",null,[t("img",{class:"w-20 h-20",src:e.image,alt:e.alt},null,8,rt)]),t("div",nt,[t("div",null,[t("span",ut,n(e.title),1)]),t("div",ct,[c.value?(a(),h(_(S),{key:0,size:"small"})):(a(),r(m,{key:1},[t("span",dt,n(e.value),1),e.unit?(a(),r("span",pt,n(e.unit),1)):R("",!0)],64))])])])]),_:2},1032,["title"])]),_:2},1024))),128))]),t("div",mt,[t("div",ft,[ht,t("div",vt,[t("div",_t,[f(D,{value:d.value,"onUpdate:value":[i[0]||(i[0]=e=>d.value=e),x]},null,8,["value"])]),yt,t("div",xt,[f(D,{value:p.value,"onUpdate:value":[i[1]||(i[1]=e=>p.value=e),x]},null,8,["value"])])])]),t("div",{ref_key:"chartContainer",ref:y,style:{width:"100%",height:"320px"}},null,512)])]))}});export{Nt as default};