1import{d as _,S as f,U as a,r as n,o as b,M as l,N as v,Q as t,aY as p,Y as i,F as y,ap as A,z as U,a5 as L,bR as h,_ as k}from"./B9hccdKs.js";import"./D6kYyQpC.js";import"./B8LniJga.js";import"./Dt3BNYdw.js";const x={class:"admin-console"},N={class:"stats-container"},R={class:"stats-card"},S={class:"stats-content"},g={class:"stats-number"},P={class:"stats-card"},j={class:"stats-content"},B={class:"stats-number"},C={class:"stats-card"},F={class:"stats-content"},M={class:"stats-number"},V={class:"stats-card"},q={class:"stats-content"},w={class:"stats-number"},E={class:"quick-actions"},I={class:"actions-grid"},Y={class:"action-card"},z={class:"action-icon"},D={class:"action-content"},Q=_({__name:"console",setup(T){f({name:a.AdminConsole});const c=n(!1),o=n({totalUsers:0,totalProjects:0,totalRoles:0,activeUsers:0}),r=[{title:"ç¨æ·ç®¡ç",description:"管çç³»ç»ç¨æ·ãåé
æé",icon:"ð¥",route:a.AdminUserList},{title:"项ç®ç®¡ç",description:"ç®¡çææé¡¹ç®åä½å",icon:"ð",route:a.AdminProjectList},{title:"è§è²ç®¡ç",description:"管çAIè§è²å形象",icon:"ð",route:a.AdminRoleList},{title:"å¼å¸¸çæ§",description:"çæ§ç³»ç»å¼å¸¸åé误",icon:"â ï¸",route:a.AdminErrorList},{title:"模æ¿ç®¡ç",description:"管çé¡¹ç®æ¨¡æ¿",icon:"ð",route:a.AdminTemplate}],u=async()=>{c.value=!0;try{o.value={totalUsers:0,totalProjects:0,totalRoles:0,activeUsers:0}}catch(d){console.error("Failed to fetch system stats:",d)}finally{c.value=!1}};return b(()=>{u()}),(d,s)=>{const m=h;return v(),l("div",x,[s[10]||(s[10]=t("div",{class:"console-header"},[t("h1",null,"管çåæ§å¶å°"),t("p",null,"ç³»ç»ç®¡çåçæ§ä¸å¿")],-1)),t("div",N,[t("div",R,[s[1]||(s[1]=t("div",{class:"stats-icon"},"ð¥",-1)),t("div",S,[t("div",g,i(o.value.totalUsers),1),s[0]||(s[0]=t("div",{class:"stats-label"},"æ»ç¨æ·æ°",-1))])]),t("div",P,[s[3]||(s[3]=t("div",{class:"stats-icon"},"ð",-1)),t("div",j,[t("div",B,i(o.value.totalProjects),1),s[2]||(s[2]=t("div",{class:"stats-label"},"æ»é¡¹ç®æ°",-1))])]),t("div",C,[s[5]||(s[5]=t("div",{class:"stats-icon"},"ð",-1)),t("div",F,[t("div",M,i(o.value.totalRoles),1),s[4]||(s[4]=t("div",{class:"stats-label"},"æ»è§è²æ°",-1))])]),t("div",V,[s[7]||(s[7]=t("div",{class:"stats-icon"},"ð¢",-1)),t("div",q,[t("div",w,i(o.value.activeUsers),1),s[6]||(s[6]=t("div",{class:"stats-label"},"æ´»è·ç¨æ·",-1))])])]),t("div",E,[s[9]||(s[9]=t("h2",null,"å¿«éæä½",-1)),t("div",I,[(v(),l(y,null,A(r,e=>U(m,{key:e.route,to:{name:e.route},custom:""},{default:L(()=>[t("div",Y,[t("div",z,i(e.icon),1),t("div",D,[t("h3",null,i(e.title),
11),t("p",null,i(e.description),1)]),s[8]||(s[8]=t("div",{class:"action-arrow"},"â",-1))])]),_:2},1032,["to"])),64))])]),s[11]||(s[11]=p('<div class="recent-activities" data-v-186f5b8c><h2 data-v-186f5b8c>æè¿æ´»å¨</h2><div class="activities-list" data-v-186f5b8c><div class="activity-item" data-v-186f5b8c><div class="activity-icon" data-v-186f5b8c>ð</div><div class="activity-content" data-v-186f5b8c><div class="activity-title" data-v-186f5b8c>ç³»ç»å¯å¨</div><div class="activity-time" data-v-186f5b8c>åå</div></div></div><div class="activity-item" data-v-186f5b8c><div class="activity-icon" data-v-186f5b8c>ð¤</div><div class="activity-content" data-v-186f5b8c><div class="activity-title" data-v-186f5b8c>管çåç»å½</div><div class="activity-time" data-v-186f5b8c>5åéå</div></div></div><div class="activity-item" data-v-186f5b8c><div class="activity-icon" data-v-186f5b8c>ð§</div><div class="activity-content" data-v-186f5b8c><div class="activity-title" data-v-186f5b8c>ç³»ç»ç»´æ¤å®æ</div><div class="activity-time" data-v-186f5b8c>1å°æ¶å</div></div></div></div></div>',1))])}}}),K=k(Q,[["__scopeId","data-v-186f5b8c"]]);export{K 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.