.
This commit is contained in:
@@ -180,7 +180,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-span-12 lg:col-span-4">
|
<div class="col-span-12 lg:col-span-4">
|
||||||
<div class="rounded-2xl bg-white shadow-sm border border-slate-200/60 p-4 h-full">
|
<div class="rounded-2xl bg-white shadow-sm border border-slate-200/60 p-4 h-[315px] flex flex-col">
|
||||||
<div class="flex items-center gap-1.5 mb-3">
|
<div class="flex items-center gap-1.5 mb-3">
|
||||||
<div class="text-[16px] font-semibold text-slate-800">География онлайн-интереса за год</div>
|
<div class="text-[16px] font-semibold text-slate-800">География онлайн-интереса за год</div>
|
||||||
<i
|
<i
|
||||||
@@ -188,8 +188,8 @@
|
|||||||
v-tooltip.top="'Список приоритетных регионов, где зафиксирован наибольший спрос. Помогает определить географию для фокусировки маркетинговых усилий.'"
|
v-tooltip.top="'Список приоритетных регионов, где зафиксирован наибольший спрос. Помогает определить географию для фокусировки маркетинговых усилий.'"
|
||||||
></i>
|
></i>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="geographyRows.length > 0" class="space-y-3">
|
<div v-if="geographyRows.length > 0" class="space-y-3 flex-1 flex flex-col min-h-0">
|
||||||
<div class="max-h-[400px] overflow-y-auto rounded-xl border border-slate-200/70" style="scrollbar-width: thin; scrollbar-color: rgb(203 213 225) rgb(241 245 249);">
|
<div class="flex-1 overflow-y-auto rounded-xl border border-slate-200/70" style="scrollbar-width: thin; scrollbar-color: rgb(203 213 225) rgb(241 245 249);">
|
||||||
<div class="divide-y divide-slate-200/70">
|
<div class="divide-y divide-slate-200/70">
|
||||||
<div v-for="(row, idx) in geographyRows" :key="row.city" class="px-4 py-3">
|
<div v-for="(row, idx) in geographyRows" :key="row.city" class="px-4 py-3">
|
||||||
<div class="flex items-center justify-between gap-3 mb-2">
|
<div class="flex items-center justify-between gap-3 mb-2">
|
||||||
@@ -211,14 +211,14 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center justify-center gap-3 text-[12px] text-slate-500">
|
<div class="flex items-center justify-center gap-3 text-[12px] text-slate-500 flex-shrink-0">
|
||||||
<span class="inline-flex items-center gap-2">
|
<span class="inline-flex items-center gap-2">
|
||||||
<span class="h-2.5 w-10 rounded-full" style="background: linear-gradient(90deg, #ff8e4f, #52c41a)"></span>
|
<span class="h-2.5 w-10 rounded-full" style="background: linear-gradient(90deg, #ff8e4f, #52c41a)"></span>
|
||||||
<span>Высокий → Низкий</span>
|
<span>Высокий → Низкий</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="rounded-xl border border-dashed border-slate-300 bg-slate-50/70 px-4 py-6 text-center text-slate-500">
|
<div v-else class="flex-1 flex items-center justify-center rounded-xl border border-dashed border-slate-300 bg-slate-50/70 px-4 py-6 text-center text-slate-500">
|
||||||
<div class="text-sm">Нет данных</div>
|
<div class="text-sm">Нет данных</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -1368,7 +1368,7 @@ const barValuesPlugin = {
|
|||||||
afterDatasetsDraw(chart) {
|
afterDatasetsDraw(chart) {
|
||||||
const { ctx, data } = chart;
|
const { ctx, data } = chart;
|
||||||
ctx.save();
|
ctx.save();
|
||||||
ctx.font = 'bold 15px Inter, system-ui, sans-serif';
|
ctx.font = 'bold 12px Inter, system-ui, sans-serif';
|
||||||
ctx.textBaseline = 'middle';
|
ctx.textBaseline = 'middle';
|
||||||
|
|
||||||
data.datasets.forEach((dataset, i) => {
|
data.datasets.forEach((dataset, i) => {
|
||||||
@@ -1401,11 +1401,11 @@ const barValuesPlugin = {
|
|||||||
ctx.textAlign = 'center';
|
ctx.textAlign = 'center';
|
||||||
if (barHeight > 35) {
|
if (barHeight > 35) {
|
||||||
ctx.fillStyle = '#ffffff';
|
ctx.fillStyle = '#ffffff';
|
||||||
ctx.font = 'bold 18px Inter, system-ui, sans-serif';
|
ctx.font = 'bold 12px Inter, system-ui, sans-serif';
|
||||||
ctx.fillText(label, bar.x, bar.y + 20);
|
ctx.fillText(label, bar.x, bar.y + 20);
|
||||||
} else {
|
} else {
|
||||||
ctx.fillStyle = '#64748b';
|
ctx.fillStyle = '#64748b';
|
||||||
ctx.font = 'bold 14px Inter, system-ui, sans-serif';
|
ctx.font = 'bold 10px Inter, system-ui, sans-serif';
|
||||||
ctx.fillText(label, bar.x, bar.y - 15);
|
ctx.fillText(label, bar.x, bar.y - 15);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user