Files
zsglpt/static/admin/assets/StatsPage-BtlChspk.js

2 lines
8.2 KiB
JavaScript

import{f as P,a as V,b as U,c as F}from"./tasks-Dm4gmqjR.js";import{_ as j,r as y,y as S,o as E,z as L,j as O,e as R,c as i,a as s,b as a,w as l,d as k,g as u,t as e,l as $,F as q,s as A,h as b,A as z}from"./index-BrN7V6n-.js";const G={class:"page-stack"},H={class:"metric-value"},J={class:"metric-value"},K={class:"metric-value"},Q={class:"metric-value"},W={key:0,class:"metric-sub app-muted"},X={class:"section-head"},Y={class:"app-muted"},Z={class:"count-value"},ss={class:"count-value"},ts={class:"count-value"},es={key:0,class:"empty app-muted"},as={key:1,class:"task-list"},ls={class:"task-left"},os={class:"task-line"},ns={class:"task-user"},ds={class:"task-account"},is={class:"task-line2"},us={key:0,class:"app-muted"},cs={class:"task-right"},rs={key:2,class:"empty app-muted"},_s={key:3,class:"task-list"},ps={class:"task-left"},ms={class:"task-line"},vs={class:"task-user"},ys={class:"task-account"},fs={class:"task-line2"},gs={class:"task-status",style:{color:"#f59e0b"}},ks={class:"task-right warn"},bs={class:"section-head"},hs={class:"app-muted"},ws={class:"stat-grid"},xs={class:"stat-box ok"},Ns={class:"stat-row"},Ds={class:"stat-big"},Ss={class:"stat-row2 app-muted"},$s={class:"stat-box err"},qs={class:"stat-row"},As={class:"stat-big"},zs={class:"stat-row2 app-muted"},Cs={class:"stat-box info"},Ts={class:"stat-row"},Bs={class:"stat-big"},Is={class:"stat-row2 app-muted"},Ms={class:"stat-box info2"},Ps={class:"stat-row"},Vs={class:"stat-big"},Us={class:"stat-row2 app-muted"},Fs={__name:"StatsPage",setup(js){const h=y(!1),_=y({cpu_percent:"-",memory_used:"-",memory_total:"-",disk_used:"-",disk_total:"-",uptime:"-"}),p=y({status:"Unknown",memory_usage:"N/A",memory_limit:"N/A",memory_percent:"N/A",uptime:"N/A"}),c=y({today:{success_tasks:0,failed_tasks:0,total_items:0,total_attachments:0},total:{success_tasks:0,failed_tasks:0,total_items:0,total_attachments:0}}),r=y({running_count:0,queuing_count:0,max_concurrent:0,running:[],queuing:[]}),m={manual:{label:"手动",type:"success"},scheduled:{label:"定时",type:"primary"},immediate:{label:"即时",type:"warning"},resumed:{label:"恢复",type:"info"}},C={初始化:"#6b7280",正在登录:"#f59e0b",正在浏览:"#10b981",浏览完成:"#3b82f6",正在截图:"#06b6d4"};function N(v){return C[v]||"#6b7280"}const T=S(()=>`${_.value.memory_used} / ${_.value.memory_total}`),B=S(()=>`${_.value.disk_used} / ${_.value.disk_total}`);let f=!1,w=null;async function I(){h.value=!0;try{const[v,t,n,d]=await Promise.all([P(),V(),U(),F()]);_.value=v||_.value,p.value=t||p.value,c.value=n||c.value,r.value=d||r.value}catch{}finally{h.value=!1}}async function D(){if(f)return;const v=Date.now();if(await I(),f)return;const t=Date.now()-v;w=window.setTimeout(D,t<900?1e3:0)}return E(()=>{f=!1,D()}),L(()=>{f=!0,w&&window.clearTimeout(w)}),(v,t)=>{const n=k("el-card"),d=k("el-col"),x=k("el-row"),g=k("el-tag"),M=R("loading");return O((u(),i("div",G,[t[22]||(t[22]=s("div",{class:"app-page-title"},[s("h2",null,"统计"),s("span",{class:"app-muted"},"实时更新")],-1)),a(x,{gutter:12},{default:l(()=>[a(d,{xs:12,sm:8,md:6},{default:l(()=>[a(n,{shadow:"never",class:"metric-card","body-style":{padding:"14px"}},{default:l(()=>[t[0]||(t[0]=s("div",{class:"metric-label"},"CPU",-1)),s("div",H,e(_.value.cpu_percent)+"%",1)]),_:1})]),_:1}),a(d,{xs:12,sm:8,md:6},{default:l(()=>[a(n,{shadow:"never",class:"metric-card","body-style":{padding:"14px"}},{default:l(()=>[t[1]||(t[1]=s("div",{class:"metric-label"},"内存",-1)),s("div",J,e(T.value),1)]),_:1})]),_:1}),a(d,{xs:12,sm:8,md:6},{default:l(()=>[a(n,{shadow:"never",class:"metric-card","body-style":{padding:"14px"}},{default:l(()=>[t[2]||(t[2]=s("div",{class:"metric-label"},"磁盘",-1)),s("div",K,e(B.value),1)]),_:1})]),_:1}),a(d,{xs:12,sm:8,md:6},{default:l(()=>[a(n,{shadow:"never",class:"metric-card","body-style":{padding:"14px"}},{default:l(()=>[t[3]||(t[3]=s("div",{class:"metric-label"},"容器内存",-1)),s("div",Q,e(p.value.memory_limit!=="N/A"?`${p.value.memory_usage} / ${p.value.memory_limit}`:p.value.memory_usage),1),p.value.memory_percent!=="N/A"?(u(),i("div",W,e(p.value.memory_percent),1)):$("",!0)]),_:1})]),_:1})]),_:1}),a(x,{gutter:12},{default:l(()=>[a(d,{xs:24,md:14},{default:l(()=>[a(n,{shadow:"never",class:"card","body-style":{padding:"16px"}},{default:l(()=>[s("div",X,[t[4]||(t[4]=s("h3",{class:"section-title"},"实时监控",-1)),s("span",Y,"最大并发:"+e(r.value.max_concurrent),1)]),a(x,{gutter:12,class:"count-row"},{default:l(()=>[a(d,{span:8},{default:l(()=>[a(n,{shadow:"never",class:"count-card ok","body-style":{padding:"12px"}},{default:l(()=>[s("div",Z,e(r.value.running_count),1),t[5]||(t[5]=s("div",{class:"count-label"},"运行中",-1))]),_:1})]),_:1}),a(d,{span:8},{default:l(()=>[a(n,{shadow:"never",class:"count-card warn","body-style":{padding:"12px"}},{default:l(()=>[s("div",ss,e(r.value.queuing_count),1),t[6]||(t[6]=s("div",{class:"count-label"},"排队中",-1))]),_:1})]),_:1}),a(d,{span:8},{default:l(()=>[a(n,{shadow:"never",class:"count-card","body-style":{padding:"12px"}},{default:l(()=>[s("div",ts,e(r.value.max_concurrent),1),t[7]||(t[7]=s("div",{class:"count-label"},"并发上限",-1))]),_:1})]),_:1})]),_:1}),t[11]||(t[11]=s("div",{class:"sub-title"},"运行中任务",-1)),r.value.running.length===0?(u(),i("div",es,"暂无运行中的任务")):(u(),i("div",as,[(u(!0),i(q,null,A(r.value.running,o=>(u(),i("div",{key:`r-${o.account_id}`,class:"task-item"},[s("div",ls,[s("div",os,[a(g,{type:(m[o.source]||m.manual).type,effect:"light",size:"small"},{default:l(()=>[b(e((m[o.source]||m.manual).label),1)]),_:2},1032,["type"]),s("span",ns,e(o.user_username),1),t[8]||(t[8]=s("span",{class:"app-muted"},"→",-1)),s("span",ds,e(o.username),1),a(g,{effect:"plain",size:"small"},{default:l(()=>[b(e(o.browse_type),1)]),_:2},1024)]),s("div",is,[s("span",{class:"dot",style:z({background:N(o.detail_status)})},null,4),s("span",{class:"task-status",style:z({color:N(o.detail_status)})},e(o.detail_status),5),o.progress_items||o.progress_attachments?(u(),i("span",us,"内容/附件:"+e(o.progress_items)+" / "+e(o.progress_attachments),1)):$("",!0)])]),s("div",cs,e(o.elapsed_display),1)]))),128))])),t[12]||(t[12]=s("div",{class:"sub-title"},"排队中任务",-1)),r.value.queuing.length===0?(u(),i("div",rs,"暂无排队中的任务")):(u(),i("div",_s,[(u(!0),i(q,null,A(r.value.queuing,o=>(u(),i("div",{key:`q-${o.account_id}`,class:"task-item queue"},[s("div",ps,[s("div",ms,[a(g,{type:(m[o.source]||m.manual).type,effect:"light",size:"small"},{default:l(()=>[b(e((m[o.source]||m.manual).label),1)]),_:2},1032,["type"]),s("span",vs,e(o.user_username),1),t[9]||(t[9]=s("span",{class:"app-muted"},"→",-1)),s("span",ys,e(o.username),1),a(g,{effect:"plain",size:"small"},{default:l(()=>[b(e(o.browse_type),1)]),_:2},1024)]),s("div",fs,[t[10]||(t[10]=s("span",{class:"dot",style:{background:"#f59e0b"}},null,-1)),s("span",gs,e(o.detail_status||"等待资源"),1)])]),s("div",ks,e(o.elapsed_display),1)]))),128))]))]),_:1})]),_:1}),a(d,{xs:24,md:10},{default:l(()=>[a(n,{shadow:"never",class:"card","body-style":{padding:"16px"}},{default:l(()=>[s("div",bs,[t[13]||(t[13]=s("h3",{class:"section-title"},"任务统计",-1)),s("span",hs,"运行:"+e(_.value.uptime),1)]),s("div",ws,[s("div",xs,[t[15]||(t[15]=s("div",{class:"stat-name"},"成功任务",-1)),s("div",Ns,[s("span",Ds,e(c.value.today.success_tasks),1),t[14]||(t[14]=s("span",{class:"app-muted"},"今日",-1))]),s("div",Ss,"累计:"+e(c.value.total.success_tasks),1)]),s("div",$s,[t[17]||(t[17]=s("div",{class:"stat-name"},"失败任务",-1)),s("div",qs,[s("span",As,e(c.value.today.failed_tasks),1),t[16]||(t[16]=s("span",{class:"app-muted"},"今日",-1))]),s("div",zs,"累计:"+e(c.value.total.failed_tasks),1)]),s("div",Cs,[t[19]||(t[19]=s("div",{class:"stat-name"},"浏览内容",-1)),s("div",Ts,[s("span",Bs,e(c.value.today.total_items),1),t[18]||(t[18]=s("span",{class:"app-muted"},"今日",-1))]),s("div",Is,"累计:"+e(c.value.total.total_items),1)]),s("div",Ms,[t[21]||(t[21]=s("div",{class:"stat-name"},"查看附件",-1)),s("div",Ps,[s("span",Vs,e(c.value.today.total_attachments),1),t[20]||(t[20]=s("span",{class:"app-muted"},"今日",-1))]),s("div",Us,"累计:"+e(c.value.total.total_attachments),1)])])]),_:1})]),_:1})]),_:1})])),[[M,h.value]])}}},Os=j(Fs,[["__scopeId","data-v-8aae6d7f"]]);export{Os as default};