1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
import{A as e,At as t,D as n,F as r,N as i,Ot as a,U as o,c as s,ct as c,d as l,et as u,g as d,h as f,jt as p,l as m,m as h,r as g,s as _,t as v,u as y}from"./_plugin-vue_export-helper-vx-p5QAT.js";import{a as b,t as x}from"./http-CTjL79ty.js";import{C as S,L as C,b as w,c as T,i as E,o as D,z as O}from"./index-DxcN1-hp.js";import{t as k}from"./StatusBadge-BkaoX2rz.js";var ee={class:`sales-chart`},A={key:0,class:`sales-chart__header`},j={key:0,class:`sales-chart__title`},M={key:1,class:`sales-chart__subtitle`},N=[`viewBox`,`aria-label`],te=[`x1`,`x2`,`y1`,`y2`],P=[`points`],F=[`points`],I=[`x1`,`x2`,`y1`,`y2`],L=[`cx`,`cy`],R={class:`sales-chart__tooltip-label`},z={key:1,class:`sales-chart__axis`},B=320,V=120,H=v(d({__name:`SalesAreaChart`,props:{data:{},title:{},subtitle:{},height:{default:160},color:{default:`#091d36`},unit:{default:`میلیارد تومان`},labels:{}},setup(n){let r=n,a=u(null),o={top:12,right:8,bottom:8,left:8},d=_(()=>Math.max(...r.data,.001)),f=_(()=>{let e=B-o.left-o.right,t=V-o.top-o.bottom,n=e/Math.max(r.data.length-1,1);return r.data.map((e,r)=>({x:o.left+r*n,y:o.top+t-e/d.value*t,value:e,index:r}))}),m=_(()=>f.value.map(e=>`${e.x},${e.y}`).join(` `)),h=_(()=>{let e=V-o.bottom,t=f.value[0],n=f.value[f.value.length-1];return!t||!n?``:`${t.x},${e} ${m.value} ${n.x},${e}`}),v=_(()=>{let e=V-o.top-o.bottom;return[0,.5,1].map(t=>o.top+e*t)}),b=_(()=>a.value===null?null:f.value[a.value]??null);function x(e){let t=e.currentTarget.getBoundingClientRect(),n=(e.clientX-t.left)/t.width*B,r=0,i=1/0;f.value.forEach(e=>{let t=Math.abs(e.x-n);t<i&&(i=t,r=e.index)}),a.value=r}function S(){a.value=null}return(r,a)=>(e(),l(`div`,ee,[n.title||n.subtitle?(e(),l(`div`,A,[s(`div`,null,[n.title?(e(),l(`h3`,j,p(n.title),1)):y(``,!0),n.subtitle?(e(),l(`p`,M,p(n.subtitle),1)):y(``,!0)])])):y(``,!0),s(`div`,{class:`sales-chart__body`,style:t({height:`${n.height}px`})},[(e(),l(`svg`,{class:`sales-chart__svg`,viewBox:`0 0 ${B} ${V}`,preserveAspectRatio:`none`,role:`img`,"aria-label":n.title||`نمودار فروش`,onMousemove:x,onMouseleave:S},[(e(!0),l(g,null,i(v.value,(t,n)=>(e(),l(`line`,{key:n,x1:o.left,x2:B-o.right,y1:t,y2:t,class:`sales-chart__grid`},null,8,te))),128)),h.value?(e(),l(`polygon`,{key:0,points:h.value,class:`sales-chart__area`,style:t({fill:`${n.color}22`})},null,12,P)):y(``,!0),s(`polyline`,{points:m.value,class:`sales-chart__line`,style:t({stroke:n.color})},null,12,F),b.value?(e(),l(g,{key:1},[s(`line`,{x1:b.value.x,x2:b.value.x,y1:o.top,y2:V-o.bottom,class:`sales-chart__cursor`},null,8,I),s(`circle`,{cx:b.value.x,cy:b.value.y,r:`4`,class:`sales-chart__dot`,style:t({fill:n.color})},null,12,L)],64)):y(``,!0)],40,N)),b.value?(e(),l(`div`,{key:0,class:`sales-chart__tooltip`,style:t({left:`${b.value.x/B*100}%`})},[s(`span`,R,p(n.labels?.[b.value.index]??`روز ${b.value.index+1}`),1),s(`strong`,null,p(c(T)(b.value.value))+` `+p(n.unit),1)],4)):y(``,!0)],4),n.labels?.length?(e(),l(`div`,z,[(e(!0),l(g,null,i(n.labels,(t,n)=>(e(),l(`span`,{key:n},p(t),1))),128))])):y(``,!0)]))}}),[[`__scopeId`,`data-v-36d15f13`]]),U={info:`var(--color-info-light)`,warning:`var(--color-warning-light)`,purple:`var(--color-purple-light)`,success:`var(--color-success-light)`},W={info:`var(--color-info)`,warning:`var(--color-warning-dark)`,purple:`var(--color-purple)`,success:`var(--color-success)`},G=()=>({newOrders:0,pendingReview:0,pendingCheck:0,finalApproval:0,todaySales:0,todaySalesGrowth:0,monthSales:0});function K(){let e=O(),t=b(),r=u(G()),i=u([]),a=u(Array.from({length:28},()=>0)),o=u([`۱`,`۷`,`۱۴`,`۲۱`,`۲۸`]),s=u([]),c=u(!1),l=_(()=>[{label:`سفارشهای جدید`,value:r.value.newOrders,icon:`cart`,tone:`info`,link:`/orders`},{label:`در انتظار بررسی`,value:r.value.pendingReview,icon:`file`,tone:`warning`,link:`/orders?tab=pending_review`},{label:`بررسی چک`,value:r.value.pendingCheck,icon:`wallet`,tone:`purple`,link:`/orders?tab=pending_check`},{label:`تأیید نهایی شده`,value:r.value.finalApproval,icon:`check-circle`,tone:`success`,link:`/orders?tab=final_approval`}]
|