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