2 lines
5.1 KiB
JavaScript
2 lines
5.1 KiB
JavaScript
|
|
import{d as k,o as D,b as v,c as y,e as a,f as t,w as r,T as S,U as I,v as z,r as g,i as p,g as d,t as l,u as A}from"./index-BCt9h3P8.js";import{S as m}from"./StatCard-wqQzE21j.js";import{a as R}from"./admin-yH4tDL3a.js";import{_ as P}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CTvVpU0T.js";const F={class:"dashboard-page"},M={class:"stats-grid"},N={class:"two-column"},V={class:"table-wrapper"},B={class:"table-header-row"},L={class:"table-wrapper"},G={class:"health-list"},O={class:"health-name"},Q=k({__name:"Dashboard",setup(U){const h=A(),n=z({online_agents:0,today_conversations:0,avg_response_time:"—",ai_hit_rate:"—",pending_reviews:0,system_alerts:[],integrations_health:[]}),b=g(!1),_=g([]),c=g([]);D(async()=>{b.value=!0;try{const s=await R();Object.assign(n,s),f(s.system_alerts||[]),T(s.integrations_health||[])}catch(s){console.error("加载仪表盘数据失败:",s),n.online_agents=2,n.today_conversations=47,n.avg_response_time="1.8s",n.ai_hit_rate="68%",n.pending_reviews=3,_.value=[{type:"快速回复",tagType:"primary",content:"VPN连接失败排查话术",submitter:"张伟",time:"10分钟前",actionText:"审核",route:"/quick-replies"},{type:"知识推荐",tagType:"warning",content:"打印机脱机问题(同类18次)",submitter:"系统",time:"1小时前",actionText:"处理",route:"/dashboard"},{type:"异常告警",tagType:"danger",content:"坐席王丽会话超时未响应",submitter:"系统",time:"2小时前",actionText:"查看",route:"/monitor"}],c.value=[{name:"Dify AI 引擎",statusType:"success",statusText:"正常"},{name:"RAGFlow 知识库",statusType:"success",statusText:"正常"},{name:"Redis 缓存",statusType:"success",statusText:"正常"},{name:"PostgreSQL",statusType:"success",statusText:"正常"},{name:"WebSocket 服务",statusType:"warning",statusText:"2连接抖动"}]}finally{b.value=!1}});function f(s){_.value=s.map(e=>({type:e.type,tagType:e.severity==="danger"?"danger":e.severity==="warning"?"warning":"primary",content:e.content,submitter:e.submitter||"系统",time:e.time,actionText:e.severity==="danger"?"查看":"处理",route:"/dashboard"}))}function T(s){const e={connected:"success",partial:"warning",disconnected:"info",pending:"info"},u={connected:"正常",partial:"部分异常",disconnected:"未连接",pending:"待确认"};c.value=s.map(o=>({name:o.system,statusType:e[o.status]||"info",statusText:u[o.status]||o.status})),c.value.length===0&&(c.value=[{name:"Dify AI 引擎",statusType:"success",statusText:"正常"},{name:"RAGFlow 知识库",statusType:"success",statusText:"正常"},{name:"Redis 缓存",statusType:"success",statusText:"正常"},{name:"PostgreSQL",statusType:"success",statusText:"正常"},{name:"WebSocket 服务",statusType:"warning",statusText:"2连接抖动"}])}function w(s){h.push(s.route)}return(s,e)=>{const u=p("el-tag"),o=p("el-table-column"),x=p("el-button"),C=p("el-table");return v(),y("div",F,[e[2]||(e[2]=a("div",{class:"page-title"},"运营总览",-1)),e[3]||(e[3]=a("div",{class:"page-desc"},"实时监控服务台运行状态,关键指标一目了然",-1)),a("div",M,[t(m,{label:"在线坐席",value:n.online_agents,valueColor:"var(--success)",icon:"UserFilled",iconColor:"var(--success)",trend:"运行正常",trendDirection:"up"},null,8,["value"]),t(m,{label:"今日会话",value:n.today_conversations,valueColor:"var(--accent)",icon:"ChatDotRound",iconColor:"var(--accent)",subtitle:"较昨日 +12%",trendDirection:"up"},null,8,["value"]),t(m,{label:"平均响应时间",valueColor:"var(--warning)",icon:"Timer",iconColor:"var(--warning)",trend:"较昨日改善",trendDirection:"down"},{value:r(()=>[d(l(n.avg_response_time||"—"),1)]),_:1}),t(m,{label:"AI 命中率",value:n.ai_hit_rate||"—",valueColor:"#8b5cf6",icon:"MagicStick",iconColor:"#8b5cf6",trend:"本周 +5%",trendDirection:"up"},null,8,["value"])]),a("div",N,[a("div",V,[a("div",B,[e[0]||(e[0]=a("div",{class:"table-title"},"待处理事项",-1)),t(u,{type:"warning",size:"small"},{default:r(()=>[d(l(n.pending_reviews||0)+" 项待审 ",1)]),_:1})]),t(C,{data:_.value,style:{width:"100%"},"he
|