diff --git a/mockup.html b/mockup.html
index 889069d..35a091f 100644
--- a/mockup.html
+++ b/mockup.html
@@ -4897,12 +4897,27 @@ function _buildDlAnswer(ctx) {
? '
' +
- (actionType === 'notification' || actionType === 'termination'
- ? '
'
- : '') +
- '
' +
+ '
' +
+ primaryBtn +
+ '' +
'
';
return '
Елена
' +
@@ -4912,6 +4927,80 @@ function _buildDlAnswer(ctx) {
warnHtml + ctaHtml;
}
+function _rcTransferToElena(intent) {
+ // Переносим контекст дедлайна в полный экран Елены
+ if (_rcLastContext && _rcLastContext.type === 'deadline') {
+ var dl = _rcLastContext.dl;
+ var contextMsg = 'У меня срок: ' + dl.title;
+ if (dl.caseName) contextMsg += ' по договору «' + dl.caseName + '»';
+ if (dl.diff !== undefined) {
+ contextMsg += dl.diff < 0
+ ? ' (просрочен на ' + Math.abs(dl.diff) + ' дн.)'
+ : dl.diff === 0 ? ' (сегодня)' : ' (через ' + dl.diff + ' дн.)';
+ }
+ // Кладём в историю чата — Елена будет знать контекст
+ _chatHistory.push({ role: 'user', content: contextMsg });
+
+ // Переходим на экран Елены
+ go('elena');
+
+ setTimeout(function(){
+ // Скрываем el-step1, показываем чат
+ var step1 = document.getElementById('el-step1');
+ if (step1) step1.style.display = 'none';
+
+ // Добавляем контекстное сообщение в chatwrap
+ var wrap = document.querySelector('.chatwrap');
+ if (!wrap) return;
+
+ // Пузырь пользователя
+ var uDiv = document.createElement('div');
+ uDiv.className = 'msg msg-user';
+ uDiv.innerHTML = '
' + _rcEscape(contextMsg) + '
';
+ wrap.appendChild(uDiv);
+
+ // Елена отвечает с контекстом
+ var typingDiv = document.createElement('div');
+ typingDiv.className = 'msg'; typingDiv.id = 'elena-ctx-typing';
+ typingDiv.innerHTML = '
' +
+ '
';
+ wrap.appendChild(typingDiv);
+ wrap.scrollTop = wrap.scrollHeight;
+
+ // Реальный ответ через API или шаблон
+ var fallbackReply = _getElenaCtxReply(intent, dl);
+ _elenaApi(contextMsg, intent, function(apiReply){
+ var t = document.getElementById('elena-ctx-typing');
+ if (t) t.remove();
+ var reply = apiReply || fallbackReply;
+ _chatHistory.push({ role: 'assistant', content: reply });
+ var eDiv = document.createElement('div');
+ eDiv.className = 'msg';
+ eDiv.innerHTML = '
' +
+ '
Елена
' + _rcEscape(reply) + '
';
+ wrap.appendChild(eDiv);
+ wrap.scrollTop = wrap.scrollHeight;
+
+ // Показываем поле ввода Елены
+ setTimeout(function(){
+ elenaIntent(intent);
+ }, 600);
+ });
+ }, 120);
+ } else {
+ go('elena');
+ setTimeout(function(){ elenaIntent(intent); }, 120);
+ }
+}
+
+function _getElenaCtxReply(intent, dl) {
+ var name = dl.title || 'срок';
+ if (intent === 'create') return 'Понял — нужно составить документ по сроку «' + name + '». Уточните детали — подготовлю.';
+ if (intent === 'dispute') return 'Разберёмся со сроком «' + name + '». Расскажите что именно произошло — дам конкретный план.';
+ return 'Продолжаем по сроку «' + name + '». Что именно хотите уточнить?';
+}
+
function retChatSend() {
var inp = document.getElementById('rchat-inp');
if (!inp) return;