Add voice name flow controls and analytics
This commit is contained in:
+74
-13
@@ -8,7 +8,7 @@
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
||||
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600&display=swap" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="/operator/assets/styles.css?v=track44-analyst-encoding-fix" />
|
||||
<link rel="stylesheet" href="/operator/assets/styles.css?v=track45-voice-name-flow-v1" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="app-shell">
|
||||
@@ -32,6 +32,8 @@
|
||||
<div class="nav-group">
|
||||
<div class="nav-label">Разделы</div>
|
||||
<a class="nav-link" href="#analyticsPanel"><span class="nav-bullet"></span>Обзор</a>
|
||||
<a class="nav-link" href="#voiceNameAnalyticsPanel"><span class="nav-bullet"></span>Сбор имени</a>
|
||||
<a class="nav-link" href="#aiAnalyticsPanel"><span class="nav-bullet"></span>AI</a>
|
||||
<a class="nav-link" href="#agentAnalyticsPanel"><span class="nav-bullet"></span>Агенты</a>
|
||||
<a class="nav-link" href="#analyticsTrendBlock"><span class="nav-bullet"></span>Тренд</a>
|
||||
<a class="nav-link" href="#analyticsQueuesBlock"><span class="nav-bullet"></span>Очереди</a>
|
||||
@@ -40,7 +42,7 @@
|
||||
|
||||
<div class="sidebar-footer">
|
||||
<strong>Рабочее место аналитика</strong>
|
||||
<p>Историческая картина по обращениям, каналам и очередям без оперативного мониторинга.</p>
|
||||
<p>Историческая картина по обращениям, каналам, очередям и качеству сценариев без перехода в операционный экран.</p>
|
||||
<p class="hint" id="sessionInfo">Сессия проверяется...</p>
|
||||
<button id="logoutBtn" class="btn ghost" type="button">Выйти</button>
|
||||
</div>
|
||||
@@ -50,7 +52,7 @@
|
||||
<header class="workspace-topbar reveal">
|
||||
<div class="analytics-topbar-intro">
|
||||
<strong>Историческая аналитика сервиса</strong>
|
||||
<p>Периоды, каналы и очереди в одном окне, без перехода в операционный экран.</p>
|
||||
<p>Периоды, каналы, очереди, AI и агентские срезы в одном окне.</p>
|
||||
</div>
|
||||
<div class="topbar-actions">
|
||||
<div class="status-pill" id="gatewayStatus">Данные: проверка...</div>
|
||||
@@ -113,10 +115,10 @@
|
||||
<select id="analyticsChannel">
|
||||
<option value="all">Все каналы</option>
|
||||
<option value="voice">Голос</option>
|
||||
<option value="telegram">Telegram</option>
|
||||
<option value="whatsapp">WhatsApp</option>
|
||||
<option value="webchat">Веб-чат</option>
|
||||
<option value="email">Email</option>
|
||||
<option value="telegram">Telegram</option>
|
||||
<option value="whatsapp">WhatsApp</option>
|
||||
<option value="webchat">Веб-чат</option>
|
||||
<option value="email">Email</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@@ -158,6 +160,62 @@
|
||||
<div id="analyticsComparePanel" class="analytics-compare-panel" hidden></div>
|
||||
<div id="analyticsOverview" class="summary-grid analytics-overview-grid"></div>
|
||||
|
||||
<section class="analytics-voice-panel" id="voiceNameAnalyticsPanel">
|
||||
<div class="analytics-subhead">
|
||||
<div>
|
||||
<p class="eyebrow">Сценарий имени</p>
|
||||
<h3>Сценарий сбора имени в голосе</h3>
|
||||
<p class="hint">Отдельная аналитика по тому, как сценарий берёт имя на старте, как помогает downstream AI и сколько звонков уходит оператору без подтверждённого имени.</p>
|
||||
</div>
|
||||
<div class="row analytics-trend-selector">
|
||||
<label for="voiceNameAnalyticsTrendMetric">Метрика</label>
|
||||
<select id="voiceNameAnalyticsTrendMetric">
|
||||
<option value="scenario_calls">Звонки в сценарии</option>
|
||||
<option value="start_capture_rate">Имя взято сразу</option>
|
||||
<option value="downstream_rescue_rate">Имя добрал downstream AI</option>
|
||||
<option value="handoff_unconfirmed_rate">Handoff без имени</option>
|
||||
<option value="manual_correction_rate">Ручное исправление</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div id="voiceNameAnalyticsEmptyState" class="analytics-empty-state" hidden></div>
|
||||
<div id="voiceNameAnalyticsOverview" class="summary-grid analytics-overview-grid voice-name-analytics-overview"></div>
|
||||
|
||||
<div class="analytics-sections">
|
||||
<article class="analytics-subpanel analytics-subpanel-wide">
|
||||
<h3>Тренд по voice name-flow</h3>
|
||||
<p class="hint">Динамика показывает, как меняется качество сбора имени по выбранному периоду, очереди и голосовому потоку.</p>
|
||||
<div id="voiceNameAnalyticsTrendChart" class="analytics-chart-shell"></div>
|
||||
</article>
|
||||
|
||||
<article class="analytics-subpanel">
|
||||
<h3>Этапы сценария</h3>
|
||||
<p class="hint">Funnel помогает быстро увидеть, где чаще всего теряется имя: на старте, в follow-up или уже перед handoff.</p>
|
||||
<div id="voiceNameAnalyticsFunnel" class="analytics-table-shell"></div>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<div class="analytics-sections">
|
||||
<article class="analytics-subpanel">
|
||||
<h3>По языкам</h3>
|
||||
<p class="hint">Сравнение сценария по языкам помогает увидеть, где стартовый сбор имени работает стабильнее, а где чаще требуется downstream AI.</p>
|
||||
<div id="voiceNameAnalyticsLanguageTable" class="analytics-table-shell"></div>
|
||||
</article>
|
||||
|
||||
<article class="analytics-subpanel">
|
||||
<h3>По очередям</h3>
|
||||
<p class="hint">Срез по очередям показывает, в каких очередях voice name-flow чаще доходит до handoff без подтверждённого имени.</p>
|
||||
<div id="voiceNameAnalyticsQueueTable" class="analytics-table-shell"></div>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<article class="analytics-subpanel">
|
||||
<h3>Handoff по имени</h3>
|
||||
<p class="hint">Здесь видно, сколько звонков оператор получил уже с подтверждённым именем, а сколько ушло без него.</p>
|
||||
<div id="voiceNameAnalyticsHandoffTable" class="analytics-table-shell"></div>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
<section class="analytics-ai-panel" id="aiAnalyticsPanel">
|
||||
<div class="analytics-subhead">
|
||||
<div>
|
||||
@@ -198,6 +256,7 @@
|
||||
<p class="hint">Сравнение полностью автоматических и затронутых оператором сессий по Telegram и WhatsApp без текстов сообщений, записей и AI-сводок.</p>
|
||||
<div id="aiAnalyticsChannelComparison" class="analytics-table-shell"></div>
|
||||
</article>
|
||||
|
||||
<div class="analytics-sections">
|
||||
<article class="analytics-subpanel">
|
||||
<h3>Исходы AI-сессий</h3>
|
||||
@@ -224,6 +283,7 @@
|
||||
<div id="agentAnalyticsEmptyState" class="analytics-empty-state" hidden></div>
|
||||
<div id="agentAnalyticsOverview" class="summary-grid analytics-overview-grid agent-analytics-overview"></div>
|
||||
<div id="agentAnalyticsStateStrip" class="agent-analytics-state-strip"></div>
|
||||
|
||||
<div class="analytics-sections">
|
||||
<article class="analytics-subpanel analytics-subpanel-wide">
|
||||
<div class="analytics-subhead">
|
||||
@@ -250,11 +310,13 @@
|
||||
<div id="agentAnalyticsTeamTable" class="analytics-table-shell"></div>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
<article class="analytics-subpanel">
|
||||
<h3>Агенты по выбранному периоду</h3>
|
||||
<p class="hint">Клик по строке открывает полноэкранную детализацию по обращениям выбранного агента без изменения фильтров витрины.</p>
|
||||
<div id="agentAnalyticsTable" class="analytics-table-shell"></div>
|
||||
</article>
|
||||
|
||||
<div class="analytics-sections">
|
||||
<article class="analytics-subpanel">
|
||||
<h3>Смены</h3>
|
||||
@@ -286,7 +348,7 @@
|
||||
|
||||
<article class="analytics-subpanel">
|
||||
<h3>Каналы</h3>
|
||||
<p class="hint">Сравнение каналов по объему, обработке и доле ответа за выбранный период.</p>
|
||||
<p class="hint">Сравнение каналов по объёму, обработке и доле ответа за выбранный период.</p>
|
||||
<p class="hint analytics-drilldown-note">Нажмите на строку, чтобы открыть точную детализацию по обращениям этого канала.</p>
|
||||
<div id="analyticsChannelTable" class="analytics-table-shell"></div>
|
||||
</article>
|
||||
@@ -295,11 +357,10 @@
|
||||
<div class="analytics-sections">
|
||||
<article class="analytics-subpanel analytics-subpanel-wide" id="analyticsQueuesBlock">
|
||||
<h3>Очереди</h3>
|
||||
<p class="hint">Очереди отсортированы по объему. Нажмите на строку, чтобы сфокусировать всю витрину на одной очереди.</p>
|
||||
<p class="hint">Очереди отсортированы по объёму. Нажмите на строку, чтобы сфокусировать всю витрину на одной очереди.</p>
|
||||
<p class="hint analytics-drilldown-note">Клик по строке открывает точный срез по очереди и не меняет фильтры витрины.</p>
|
||||
<div id="analyticsQueueTable" class="analytics-table-shell"></div>
|
||||
</article>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
@@ -319,9 +380,9 @@
|
||||
>
|
||||
<div class="analytics-drawer-head">
|
||||
<div>
|
||||
<p class="eyebrow">Детализация обращений</p>
|
||||
<p class="eyebrow">Детализация обращений</p>
|
||||
<h2 id="analyticsDrilldownTitle">Детализация обращений</h2>
|
||||
<p id="analyticsDrilldownMeta" class="hint">Выберите карточку обращений, канал или очередь на витрине, чтобы открыть список обращений.</p>
|
||||
<p id="analyticsDrilldownMeta" class="hint">Выберите карточку обращений, канал или очередь на витрине, чтобы открыть список обращений.</p>
|
||||
</div>
|
||||
<button id="analyticsDrilldownCloseBtn" class="btn ghost" type="button">Закрыть</button>
|
||||
</div>
|
||||
@@ -387,6 +448,6 @@
|
||||
<input id="sessionUser" type="hidden" value="analyst" />
|
||||
<input id="sessionRole" type="hidden" value="analyst" />
|
||||
|
||||
<script src="/analyst/assets/app.js?v=track44-analyst-encoding-fix"></script>
|
||||
<script src="/analyst/assets/app.js?v=track45-voice-name-flow-v1"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user