Files
tehran_taj/apps/admin-panel/dist/assets/Dashboard-BaEgkjSK.js
T
2026-10-13 10:31:21 +03:30

2 lines
9.5 KiB
JavaScript

import{d as F,o as d,a as p,w as n,n as a,s as et,g as at,t as c,p as r,r as m,_ as T,q as st,v as ot,x as it,l as rt,y as nt,c as i,i as D,h as I,f as k,b as lt,F as ct}from"./index-DUvp9JUu.js";import{B as R,D as dt,S as ut,T as mt}from"./TeamOutlined-DMBWdgiP.js";import{j as O,p as $}from"./filters-CemNX7fr.js";import"./index-CfKZ-GjQ.js";const pt={class:"stat-row"},_t={class:"stat-value"},ht={class:"stat-title"},gt=F({__name:"StatisticsCardLine",props:{icon:{},statistic:{},statisticTitle:{},color:{default:"primary"},hideChart:{type:Boolean,default:!0}},setup(b){const f=b,o={UsersIcon:mt,ShoppingBagIcon:ut,DollarSignIcon:dt,BarChartIcon:R},y=r(()=>o[f.icon??""]??R);return(C,t)=>{const S=m("a-card");return d(),p(S,{class:"stat-card"},{default:n(()=>[a("div",pt,[a("span",{class:et(["stat-icon",`icon-${b.color}`])},[(d(),p(at(y.value)))],2),a("div",null,[a("h2",_t,c(b.statistic),1),a("span",ht,c(b.statisticTitle),1)])])]),_:1})}}}),g=T(gt,[["__scopeId","data-v-5e2322ec"]]),bt={class:"dashboard"},ft={class:"kpi-grid kpi-grid--4"},yt={class:"kpi-grid kpi-grid--2"},xt={class:"card-grid"},vt={class:"card-grid"},Ot={class:"sales-summary"},Ct={class:"sales-summary__item"},St={class:"sales-summary__value"},wt={class:"sales-summary__item"},It={class:"sales-summary__value"},kt={class:"sales-summary__item"},Mt={class:"sales-summary__value"},Lt={class:"order-item__head"},zt={class:"order-item__name"},Bt={class:"order-item__customer"},Nt={class:"order-item__meta"},x="#1c2d56",v="#28c76f",M="#ff9f43",Pt="#ea5455",Dt=F({__name:"Dashboard",setup(b){const f=rt(!1),o=st(),y=r(()=>o.isMobile?240:300),C=r(()=>o.isMobile?240:280),t=nt({customerCount:0,allgram:0,ordercount:0,reagent:[],lastOrder:[],sumLastOrder:0,sumLastOrderMonth:0,ordersTrend:[],statusBreakdown:[],channelBreakdown:[],topProducts:[],goldPricePerGram:null,totalCustomerDebtGrams:0}),S=[{title:"کارشناس فروش",dataIndex:"name"},{title:"میزان فروش (گرم)",dataIndex:"grams_sell"},{title:"تعداد سفارش",dataIndex:"order_count"}],H=[{title:"شماره سفارش",dataIndex:"name"},{title:"مشتری",dataIndex:"customer"},{title:"وزن",dataIndex:"w"},{title:"وضعیت",dataIndex:"sts_str"},{title:"تاریخ",dataIndex:"caj"}];function L(e){return{success:"green",warning:"orange",danger:"red",primary:"blue"}[e]??""}const j=r(()=>t.goldPricePerGram?`${$(Math.round(Number(t.goldPricePerGram)))} تومان`:"—"),G=r(()=>$(Number(t.totalCustomerDebtGrams??0).toFixed(2))),A=r(()=>{const e=Number(t.sumLastOrder??0),s=Number(t.sumLastOrderMonth??0);return e>0?(s/e).toFixed(2):"0"}),W=r(()=>{const e=t.ordersTrend??[];return[{name:"تک فروشی",data:e.map(s=>s.retail)},{name:"عمده فروشی",data:e.map(s=>s.wholesale)}]}),V=r(()=>({chart:{toolbar:{show:!1},fontFamily:"inherit",parentHeightOffset:0},colors:[x,v],dataLabels:{enabled:!1},stroke:{curve:"smooth",width:2},fill:{type:"gradient",gradient:{opacityFrom:.35,opacityTo:.05}},legend:{position:"top",horizontalAlign:"right",fontSize:o.isMobile?"12px":"14px"},grid:{padding:o.isMobile?{left:4,right:4}:{}},xaxis:{categories:(t.ordersTrend??[]).map(e=>{const s=String(O(e.date)??"");return o.isMobile?s.slice(5):s}),tickAmount:o.isMobile?6:void 0,labels:{rotate:-45,rotateAlways:!0,hideOverlappingLabels:!0,style:{fontSize:o.isMobile?"10px":"12px",fontWeight:500}}},yaxis:{labels:{style:{fontSize:o.isMobile?"10px":"12px"}}},tooltip:{shared:!0,x:{formatter:(e,s)=>{var l;return O((l=(t.ordersTrend??[])[s==null?void 0:s.dataPointIndex])==null?void 0:l.date)}}}})),E=r(()=>(t.statusBreakdown??[]).map(e=>e.count)),U=r(()=>({chart:{fontFamily:"inherit",parentHeightOffset:0},labels:(t.statusBreakdown??[]).map(e=>e.label),colors:[M,x,x,M,M,v,v,Pt],legend:{position:"bottom",fontSize:o.isMobile?"11px":"14px"},dataLabels:{enabled:!0}})),q=r(()=>(t.channelBreakdown??[]).map(e=>e.count)),Y=r(()=>({chart:{fontFamily:"inherit",parentHeightOffset:0},labels:(t.channelBreakdown??[]).map(e=>e.label),colors:[x,v],legend:{position:"bottom",fontSize:o.isMobile?"11px":"14px"},dataLabels:{enabled:!0}})),z=r(()=>[{name:"گرم فروخته‌شده",data:(t.reagent??[]).map(e=>Number(e.grams_sell??0))}]),J=r(()=>({chart:{toolbar:{show:!1},fontFamily:"inherit",parentHeightOffset:0},plotOptions:{bar:{horizontal:!0,borderRadius:4}},colors:[x],dataLabels:{enabled:!0},xaxis:{categories:(t.reagent??[]).map(e=>e.name),labels:{style:{fontSize:o.isMobile?"10px":"12px"}}},yaxis:{labels:{maxWidth:o.isMobile?120:160,style:{fontSize:o.isMobile?"11px":"12px"}}}})),B=r(()=>[{name:"وزن فروخته‌شده (گرم)",data:(t.topProducts??[]).map(e=>Number(e.weight??0))}]),K=r(()=>({chart:{toolbar:{show:!1},fontFamily:"inherit",parentHeightOffset:0},plotOptions:{bar:o.isMobile?{horizontal:!0,borderRadius:4,barHeight:"60%"}:{borderRadius:4,columnWidth:"55%"}},colors:[v],dataLabels:{enabled:!1},xaxis:{categories:(t.topProducts??[]).map(e=>e.title),labels:{style:{fontSize:o.isMobile?"10px":"12px"}}},yaxis:{labels:{maxWidth:o.isMobile?120:160,style:{fontSize:o.isMobile?"11px":"12px"}}}}));return ot(async()=>{try{f.value=!0;const{data:e}=await it.get("dashboard/overview");Object.assign(t,e),t.reagent=[...t.reagent??[]].sort((s,l)=>Number(l.grams_sell)-Number(s.grams_sell)),t.lastOrder=[...t.lastOrder??[]].sort((s,l)=>Number(l.w)-Number(s.w))}catch(e){console.error(e)}finally{f.value=!1}}),(e,s)=>{const l=m("apexchart"),h=m("a-card"),N=m("a-table"),Q=m("a-empty"),P=m("a-tag"),X=m("a-list-item"),Z=m("a-list"),tt=m("a-spin");return d(),p(tt,{spinning:f.value},{default:n(()=>[a("div",bt,[a("div",ft,[i(g,{icon:"UsersIcon",color:"warning",statistic:`${t.customerCount??0} نفر`,"statistic-title":"مشتریان جدید (۳۰ روز گذشته)"},null,8,["statistic"]),i(g,{icon:"ShoppingBagIcon",color:"primary",statistic:`${t.allgram??0} گرم`,"statistic-title":"طلای فروش رفته (۳۰ روز گذشته)"},null,8,["statistic"]),i(g,{icon:"ShoppingBagIcon",color:"success",statistic:`${t.ordercount??0} سفارش`,"statistic-title":"تعداد سفارشات (۳۰ روز گذشته)"},null,8,["statistic"]),i(g,{icon:"DollarSignIcon",color:"danger",statistic:j.value,"statistic-title":"نرخ هر گرم طلای ۱۸ عیار"},null,8,["statistic"])]),a("div",yt,[i(g,{icon:"BarChartIcon",color:"primary",statistic:`${t.sumLastOrder??0} سفارش`,"statistic-title":"تعداد سفارشات تحویل‌شده (۳۰ روز گذشته)"},null,8,["statistic"]),i(g,{icon:"CreditCardIcon",color:"warning",statistic:`${G.value} گرم`,"statistic-title":"مجموع بدهی طلای مشتریان"},null,8,["statistic"])]),i(h,{title:"روند سفارش‌ها (۳۰ روز گذشته)",class:"dash-card"},{default:n(()=>[i(l,{type:"area",height:y.value,options:V.value,series:W.value},null,8,["height","options","series"])]),_:1}),a("div",xt,[i(h,{title:"وضعیت سفارشات (۳۰ روز گذشته)",class:"dash-card"},{default:n(()=>[i(l,{type:"donut",height:y.value,options:U.value,series:E.value},null,8,["height","options","series"])]),_:1}),i(h,{title:"تفکیک عمده / تک (۳۰ روز گذشته)",class:"dash-card"},{default:n(()=>[i(l,{type:"donut",height:y.value,options:Y.value,series:q.value},null,8,["height","options","series"])]),_:1})]),a("div",vt,[i(h,{title:"عملکرد کارشناسان فروش",class:"dash-card"},{default:n(()=>{var _;return[(_=z.value[0])!=null&&_.data.length?(d(),p(l,{key:0,type:"bar",height:C.value,options:J.value,series:z.value},null,8,["height","options","series"])):D("",!0),i(N,{class:"dash-table",size:"small","data-source":t.reagent,columns:S,pagination:!1,scroll:{x:"max-content"},"row-key":"id"},null,8,["data-source"])]}),_:1}),i(h,{title:"محصولات پرفروش (۳۰ روز گذشته)",class:"dash-card"},{default:n(()=>{var _;return[(_=B.value[0])!=null&&_.data.length?(d(),p(l,{key:0,type:"bar",height:C.value,options:K.value,series:B.value},null,8,["height","options","series"])):(d(),p(Q,{key:1,description:"داده‌ای برای نمایش وجود ندارد"}))]}),_:1})]),i(h,{title:"میزان فروش",class:"dash-card"},{default:n(()=>[a("div",Ot,[a("div",Ct,[s[0]||(s[0]=a("span",{class:"sales-summary__label"},"تعداد سفارش (۳۰ روز)",-1)),a("span",St,c(t.sumLastOrder??0),1)]),a("div",wt,[s[1]||(s[1]=a("span",{class:"sales-summary__label"},"مجموع وزن (۳۰ روز)",-1)),a("span",It,c(t.sumLastOrderMonth??0)+" گرم",1)]),a("div",kt,[s[2]||(s[2]=a("span",{class:"sales-summary__label"},"میانگین هر سفارش",-1)),a("span",Mt,c(A.value)+" گرم",1)])])]),_:1}),i(h,{title:"سفارشات هفته جاری",class:"dash-card"},{default:n(()=>{var _;return[I(o).isMobile?(d(),p(Z,{key:0,class:"order-list","data-source":t.lastOrder,pagination:((_=t.lastOrder)==null?void 0:_.length)>10?{pageSize:10,size:"small",align:"center"}:!1,"row-key":"id"},{renderItem:n(({item:u})=>[i(X,{class:"order-item"},{default:n(()=>[a("div",Lt,[a("span",zt,c(u.name),1),i(P,{color:L(u.statusColor),class:"order-item__tag"},{default:n(()=>[k(c(u.sts_str),1)]),_:2},1032,["color"])]),a("div",Bt,c(u.customer),1),a("div",Nt,[a("span",null,c(u.w)+" گرم",1),a("span",null,c(I(O)(u.caj)),1)])]),_:2},1024)]),_:1},8,["data-source","pagination"])):(d(),p(N,{key:1,size:"small","data-source":t.lastOrder,columns:H,pagination:{pageSize:10},scroll:{x:"max-content"},"row-key":"id"},{bodyCell:n(({column:u,record:w})=>[u.dataIndex==="sts_str"?(d(),p(P,{key:0,color:L(w.statusColor)},{default:n(()=>[k(c(w.sts_str),1)]),_:2},1032,["color"])):u.dataIndex==="caj"?(d(),lt(ct,{key:1},[k(c(I(O)(w.caj)),1)],64)):D("",!0)]),_:1},8,["data-source"]))]}),_:1})])]),_:1},8,["spinning"])}}}),Ht=T(Dt,[["__scopeId","data-v-8f4efeaf"]]);export{Ht as default};