This commit is contained in:
arys
2026-01-30 16:04:35 +05:00
parent f8950a240b
commit 8b3c57f8c8
2 changed files with 24 additions and 29 deletions
+14 -1
View File
@@ -28,7 +28,10 @@
</div>
<div class="mt-4 flex items-end justify-between gap-3">
<div class="text-[38px] leading-none font-semibold tracking-tight text-slate-900">
<div
class="leading-none font-semibold tracking-tight text-slate-900"
:class="[valueFontSize]"
>
{{ value }}
</div>
<div v-if="$slots.right" class="shrink-0">
@@ -52,6 +55,16 @@ const props = defineProps({
description: { type: String, default: '' }
});
const valueFontSize = computed(() => {
const valStr = String(props.value ?? '');
const len = valStr.length;
if (len > 20) return 'text-[20px]';
if (len > 16) return 'text-[24px]';
if (len > 12) return 'text-[28px]';
if (len > 10) return 'text-[32px]';
return 'text-[38px]';
});
function hexToRgba(hex, alpha) {
const h = String(hex || '')
.replace('#', '')
+10 -28
View File
@@ -651,24 +651,6 @@
</div>
</div>
<div class="col-span-12">
<div class="rounded-2xl bg-white shadow-sm border border-slate-200/60 p-4 h-full">
<div class="flex items-center gap-1.5 mb-2">
<div class="text-[16px] font-semibold text-slate-800">Эффективность каналов</div>
<i
class="pi pi-question-circle text-[12px] text-slate-400 cursor-help"
v-tooltip.top="'Стоимость привлечения клиента по каждому каналу. Показывает, какие каналы наиболее эффективны с точки зрения стоимости привлечения.'"
></i>
</div>
<div class="h-[280px]">
<Chart v-if="channelEfficiencyBarData.labels.length > 0" type="bar" :data="channelEfficiencyBarData" :options="channelEfficiencyBarOptions" :plugins="barPlugins" />
<div v-else class="h-full flex items-center justify-center text-slate-500 text-[13px]">
Нет данных об эффективности каналов
</div>
</div>
</div>
</div>
<div class="col-span-12">
<PptConclusionBox :text="report?.sections?.acquisition_channels?.conclusion" />
</div>
@@ -1009,9 +991,9 @@
<div class="h-8 w-8 rounded-lg flex items-center justify-center border border-slate-200/70 bg-slate-50/50 flex-shrink-0">
<i class="pi pi-link text-slate-500 text-sm"></i>
</div>
<a
:href="source"
target="_blank"
<a
:href="source"
target="_blank"
rel="noopener noreferrer"
class="text-sm text-blue-600 hover:text-blue-800 hover:underline break-all flex-1"
>
@@ -1032,12 +1014,12 @@
<section v-if="report && !embedded" class="space-y-3">
<div class="rounded-2xl bg-white shadow-sm border border-slate-200/60 p-4 md:p-6">
<div class="flex items-center justify-center">
<Button
label="Создать стратегию"
icon="pi pi-magic"
severity="success"
<Button
label="Создать стратегию"
icon="pi pi-magic"
severity="success"
size="large"
@click="goToStrategy"
@click="goToStrategy"
/>
</div>
</div>
@@ -1156,7 +1138,7 @@ async function loadAnalysisV2() {
// MarketingService.fetchAnalysisV2 уже извлекает data из обёртки {success, message, data}
// Но на всякий случай проверяем, может быть еще одна обёртка
let extractedData = (data?.data || data) || null;
// Убеждаемся, что sources сохраняются - проверяем все возможные места
if (extractedData && !extractedData.sources) {
// Проверяем все возможные места, где могут быть sources
@@ -1166,7 +1148,7 @@ async function loadAnalysisV2() {
extractedData.sources = data.sources;
}
}
// Создаём новый объект, чтобы гарантировать, что все поля сохранены
if (extractedData) {
localReport.value = {