hgh_admin/resources/js/views/charts/apex-chart/ApexChartDailySalesStates.vue
2024-05-29 22:34:28 +05:00

86 lines
1.4 KiB
Vue

<script setup>
import { useTheme } from 'vuetify'
import { getHeatMapChartConfig } from '@core/libs/apex-chart/apexCharConfig'
const vuetifyTheme = useTheme()
const chartConfig = computed(() => getHeatMapChartConfig(vuetifyTheme.current.value))
const generateDataHeat = (count, yrange) => {
let i = 0
const series = []
while (i < count) {
const x = `w${ (i + 1).toString() }`
const y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min
series.push({
x,
y,
})
i += 1
}
return series
}
const series = [
{
name: 'SUN',
data: generateDataHeat(24, {
min: 0,
max: 60,
}),
},
{
name: 'MON',
data: generateDataHeat(24, {
min: 0,
max: 60,
}),
},
{
name: 'TUE',
data: generateDataHeat(24, {
min: 0,
max: 60,
}),
},
{
name: 'WED',
data: generateDataHeat(24, {
min: 0,
max: 60,
}),
},
{
name: 'THU',
data: generateDataHeat(24, {
min: 0,
max: 60,
}),
},
{
name: 'FRI',
data: generateDataHeat(24, {
min: 0,
max: 60,
}),
},
{
name: 'SAT',
data: generateDataHeat(24, {
min: 0,
max: 60,
}),
},
]
</script>
<template>
<VueApexCharts
type="heatmap"
height="350"
:options="chartConfig"
:series="series"
/>
</template>