PageSourceSearch

https://gtdv.ru/_nuxt/TMjBh1zt.js

js gtdv.ru collected 2026-10-07 16:42:23 UTC 4,845 bytes, 1 lines download raw bytes

1import{d as L,n as T,w as V,c as o,b as t,t as r,h as s,e as q,f as y,F as c,i as u,r as k,m as z,p,_ as A,u as E,o as n,g as v,q as P,s as C}from"./Vt2yMpIO.js";import{_ as R}from"./DlAUqK2U.js";const j={class:"admin-ai-chat-detail"},H={class:"admin-page-head"},O={key:0,class:"admin-state"},U={key:1,class:"admin-state admin-state--error"},X={class:"admin-chat-meta"},G={class:"admin-chat-meta__contacts"},J=["aria-expanded"],K={key:1},M={key:2,class:"admin-chat-contact-details"},Q={key:0},W=["href"],Y=["href"],Z={key:0},tt=["href"],et={key:1},st={class:"admin-chat-thread"},nt={key:0,class:"admin-chat-related"},ot={key:1,class:"admin-chat-related"},at={key:2},lt={key:0},rt={key:1},it={key:2},ut=L({__name:"[id]",async setup(dt){let _,g;const N=T(),$=p(()=>String(N.params.id||"")),m=z(!1),{data:a,pending:w,error:B}=([_,g]=V(()=>E(()=>`/api/admin/ai-chats/${$.value}`,{deep:!1,default:()=>({session:{id:"",visitor_id:"",title:"",first_message:null,last_message:null,messages_count:0,customer_name:null,customer_phone:null,customer_email:null,user_agent:null,ip_address:null,page_url:null,created_at:null,updated_at:null},messages:[]})},"$oqbb-89X8S")),_=await _,g(),_);function f(i){if(!i)return"Без даты";const e=new Date(i);return Number.isNaN(e.getTime())?"Без даты":new Intl.DateTimeFormat("ru-RU",{dateStyle:"medium",timeStyle:"short"}).format(e)}function S(i){return i==="assistant"?"Нейросеть":i==="error"?"Ошибка":i==="system"?"Система":"Клиент"}function D(i){return`admin-chat-message admin-chat-message--${i}`}const x=p(()=>[a.value.session.customer_name,a.value.session.customer_phone,a.value.session.customer_email].filter(i=>!!i)),F=p(()=>x.value.length>0),b=p(()=>x.value.join(" · ")||"Контакты не оставлены");function I(i){return`tel:${i.replace(/[^\d+]/g,"")}`}return(i,e)=>{const h=A;return n(),o("section",j,[t("div",H,[t("div",null,[e[1]||(e[1]=t("p",null,"AI-диалог",-1)),t("h1",null,r(s(a).session.title||"Диалог"),1)]),q(h,{to:"/adminka/ai-chats"},{default:y(()=>[...e[2]||(e[2]=[v("К списку",-1)])]),_:1})]),s(w)?(n(),o("p",O,"Загружаем диалог...")):s(B)?(n(),o("p",U,"Диалог не найден.")):(n(),o(c,{key:2},[t("section",X,[t("div",null,[e[3]||(e[3]=t("span",null,"Посетитель",-1)),t("strong",null,r(s(a).session.visitor_id),1)]),t("div",G,[e[7]||(e[7]=t("span",null,"Контакты",-1)),s(F)?(n(),o("button",{key:0,class:"admin-chat-contact-toggle",type:"button","aria-expanded":s(m),onClick:e[0]||(e[0]=l=>m.value=!s(m))},r(s(b)),9,J)):(n(),o("strong",K,r(s(b)),1)),s(m)?(n(),o("div",M,[s(a).session.customer_name?(n(),o("div",Q,[e[4]||(e[4]=t("small",null,"Имя",-1)),t("strong",null,r(s(a).session.customer_name),1)])):u("",!0),s(a).session.customer_phone?(n(),o("a",{key:1,href:I(s(a).session.customer_phone)},[e[5]||(e[5]=t("small",null,"Телефон",-1)),t("strong",null,r(s(a).session.customer_phone),1)],8,W)):u("",!0),s(a).session.customer_email?(n(),o("a",{key:2,href:`mailto:${s(a).session.customer_email}`},[e[6]||(e[6]=t("small",null,"Email",-1)),t("strong",null,r(s(a).session.customer_email),1)],8,Y)):u("",!0)])):u("",!0)]),t("div",null,[e[8]||(e[8]=t("span",null,"Создан",-1)),t("strong",null,r(f(s(a).session.created_at)),1)]),t("div",null,[e[9]||(e[9]=t("span",null,"Обновлен",-1)),t("strong",null,r(f(s(a).session.updated_at)),1)]),s(a).session.page_url?(n(),o("div",Z,[e[10]||(e[10]=t("span",null,"Страница",-1)),t("a",{href:s(a).session.page_url,target:"_blank",rel:"noreferrer"},r(s(a).session.page_url),9,tt)])):u("",!0),s(a).session.ip_address?(n(),o("div",et,[e[11]||(e[11]=t("span",null,"IP",-1)),t("strong",null,r(s(a).session.ip_address),1)])):u("",!0)]),t("section",st,[(n(!0),o(c,null,k(s(a).messages,l=>(n(),o("article",{key:l.id,class:P(D(l.role))},[t("header",null,[t("strong",null,r(S(l.role)),1),t("span",null,r(f(l.created_at)),1)]),t("p",null,r(l.content),1),l.products?.length?(n(),o("div",nt,[e[12]||(e[12]=t("span",null,"Товары:",-1)),(n(!0),o(c,null,k(l.products.slice(0,6),d=>(n(),C(h,{key:d.id,to:d.legacy_path||"#",target:"_blank"},{default:y(()=>[v(r(d.name||`#${d.id}`),1)]),_:2},1032,["to"]))),128))])):u("",!0),l.categories?.length?(n(),o("div",ot,[e[13]||(e[13]=t("span",null,"Категории:",-1)),(n(!0),o(c,null,k(l.categories.slice(0,6),d=>(n(),C(h,{key:d.id,to:d.legacy_path||"#",target:"_blank"},{default:y(()=>[v(r(d.name||`#${d.id}`),1)]),_:2},1032,["to"]))),128))])):u("",!0),l.model||l.latency_ms||l.error?(n(),o("footer",at,[l.model?(n(),o("span",lt,r(l.model),1)):u("",!0),l.latency_ms?(n(),o("span",rt,r(l.latency_ms)+" мс",1)):u("",!0),l.error?(n(),o("span",it,r(l.error),1)):u("",!0)])):u("",!0)],2))),128))])],64))])}}}),ct=R(ut,[["__scopeId","data-v-08521476"]]);export{ct as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.