2 lines
27 KiB
JavaScript
2 lines
27 KiB
JavaScript
|
import{_ as z,a as w,f as N}from"./main-9b36f05f.js";import{a as n,o as h,s as I,b as o,c as O,w as a,e as u,F as T,_ as H,u as v,B as g,C as J,t as l,d as i}from"./vendor-adef9cb4.js";const K={name:"saleChart",data(){return{options:{chart:{id:"vuechart-example",fontFamily:"'Vazirmatn FD', Arial, sans-serif"},xaxis:{categories:[]}},series:[{name:this.$t("drawer.sell"),data:[]}]}},mounted(){this.updateChart()},methods:{updateChart(){w.post("/api/sell/chart/data").then(t=>{this.options.xaxis.categories=t.data.dayNames.reverse(),this.series[0].data=t.data.daySells.reverse(),this.$refs.chart.refresh()})}}};function M(t,s,m,_,e,f){const C=n("apexchart");return h(),I("div",null,[o(C,{ref:"chart",height:"200rem",type:"bar",options:e.options,series:e.series},null,8,["options","series"])])}const Q=z(K,[["render",M]]);const R={name:"TopCommoditiesChart",components:{apexchart:N},props:{commodities:{type:Array,default:()=>[]}},data(){const t=this;return{showBarChart:!0,series:[],pieOptions:{chart:{id:"top-commodities-pie",fontFamily:"'Vazirmatn FD', Arial, sans-serif"},labels:[],colors:["#FF6384","#36A2EB","#FFCE56","#4BC0C0","#9966FF","#FF9F40","#C9CBCF","#7BC225","#FF5733","#C70039"],legend:{position:"top"},tooltip:{y:{formatter:function(s,{dataPointIndex:m}){var e;const _=((e=t.commodities[m])==null?void 0:e.unit)||"";return`${s} ${_}`}}},responsive:[{breakpoint:480,options:{chart:{width:200},legend:{position:"bottom"}}}]},barOptions:{chart:{id:"top-commodities-bar",fontFamily:"'Vazirmatn FD', Arial, sans-serif"},xaxis:{categories:[]},colors:["#36A2EB"],dataLabels:{enabled:!0,formatter:function(s,{dataPointIndex:m}){var e;const _=((e=t.commodities[m])==null?void 0:e.unit)||"";return`${s} ${_}`}},tooltip:{y:{formatter:function(s,{dataPointIndex:m}){var e;const _=((e=t.commodities[m])==null?void 0:e.unit)||"";return`${s} ${_}`}}},plotOptions:{bar:{horizontal:!1,columnWidth:"55%"}},responsive:[{breakpoint:480,options:{chart:{width:200}}}]}}},watch:{commodities:{immediate:!0,handler(t){this.updateCharts(t)}}},methods:{updateCharts(t){if(!t||!Array.isArray(t)||t.length===0){this.pieOptions.labels=[],this.barOptions.xaxis.categories=[],this.series=[];return}const s=t.filter(m=>{const _=m&&typeof m.name=="string"&&typeof m.count=="number";return _||console.warn("Invalid commodity item:",m),_});if(s.length===0){this.pieOptions.labels=[],this.barOptions.xaxis.categories=[],this.series=[];return}this.pieOptions.labels=s.map(m=>m.name),this.barOptions.xaxis.categories=s.map(m=>m.name),this.series=s.map(m=>m.count),this.showBarChart&&this.$refs.barChart?this.$refs.barChart.refresh():!this.showBarChart&&this.$refs.pieChart&&this.$refs.pieChart.refresh()}}};function X(t,s,m,_,e,f){const C=n("v-switch"),V=n("v-col"),D=n("v-row"),d=n("apexchart"),k=n("v-container");return h(),O(k,{fluid:""},{default:a(()=>[o(D,{dense:"",justify:"end"},{default:a(()=>[o(V,{cols:"auto"},{default:a(()=>[o(C,{modelValue:e.showBarChart,"onUpdate:modelValue":s[0]||(s[0]=U=>e.showBarChart=U),label:t.$t("dashboard.topCommodities.chartToggle"),color:"primary",size:"small",density:"compact","hide-details":""},null,8,["modelValue","label"])]),_:1})]),_:1}),o(D,{dense:""},{default:a(()=>[e.showBarChart?(h(),O(V,{key:0,cols:"12",sm:"12",md:"12"},{default:a(()=>[o(d,{ref:"barChart",type:"bar",height:"200rem",options:e.barOptions,series:[{name:t.$t("dashboard.topCommodities.salesCount"),data:e.series}]},null,8,["options","series"])]),_:1})):(h(),O(V,{key:1,cols:"12",sm:"12",md:"12"},{default:a(()=>[o(d,{ref:"pieChart",type:"pie",height:"200rem",options:e.pieOptions,series:e.series},null,8,["options","series"])]),_:1}))]),_:1})]),_:1})}const Y=z(R,[["render",X],["__scopeId","data-v-c677d77f"]]);const Z={name:"TopCostCentersChart",components:{apexchart:N},data(){return{period:"month",limit:10,isLoading:!1,series:[],chartOptions:{chart:{type:"pie",id:"top-commodities-pie",fontFamily:"'Vazirmatn FD', Arial, sans-serif"},labels:[],responsive:[{breakpoint:480,options:{chart:{width:200},legend:{position:"bottom"}}}]},periodOptions:[{title:"امروز",value:"today"},{title:"این <EFBFBD>
|