import{d as N,o as T,F as A,G as S,x as q,c as E,a as s,w as a,r as g,b as u,H as F,e as V,h as l,t as n,A as p,k as _,l as G,z as H,f as I}from"./index-7syy_I7y.js";import{u as M,f as h,a as P}from"./format-BLhrtLRJ.js";import{_ as R}from"./_plugin-vue_export-helper-DlAUqK2U.js";const U={class:"stat-num"},j={class:"stat-num"},J={class:"stat-num"},K={class:"stat-num"},L={class:"stat-num"},O={class:"stat-num"},Q={class:"card-header"},W={class:"card-header"},X=N({__name:"DashboardView",setup(Y){const b=I(),o=g(null),w=g([]),y=g(!0);T(async()=>{try{const[m,t]=await Promise.all([A(),S({page:1,page_size:10})]);o.value=m,w.value=t.items}catch{}finally{y.value=!1}});function v(m){b.push(m?{path:"/admin/users",query:{status:m}}:"/admin/users")}return(m,t)=>{const d=u("el-card"),i=u("el-col"),k=u("el-row"),x=u("el-button"),r=u("el-table-column"),C=u("el-tag"),$=u("el-table"),D=u("el-empty"),B=F("loading");return q((V(),E("div",null,[s(k,{gutter:16},{default:a(()=>[s(i,{span:4},{default:a(()=>[s(d,{shadow:"never",class:"stat-card",onClick:t[0]||(t[0]=e=>v())},{default:a(()=>{var e;return[l("div",U,n(((e=o.value)==null?void 0:e.total)??"-"),1),t[8]||(t[8]=l("div",{class:"stat-label"},"用户总数",-1))]}),_:1})]),_:1}),s(i,{span:4},{default:a(()=>[s(d,{shadow:"never",class:"stat-card success",onClick:t[1]||(t[1]=e=>v("active"))},{default:a(()=>{var e;return[l("div",j,n(((e=o.value)==null?void 0:e.active)??"-"),1),t[9]||(t[9]=l("div",{class:"stat-label"},"正常",-1))]}),_:1})]),_:1}),s(i,{span:4},{default:a(()=>[s(d,{shadow:"never",class:"stat-card warning",onClick:t[2]||(t[2]=e=>v("disabled"))},{default:a(()=>{var e;return[l("div",J,n(((e=o.value)==null?void 0:e.disabled)??"-"),1),t[10]||(t[10]=l("div",{class:"stat-label"},"已禁用",-1))]}),_:1})]),_:1}),s(i,{span:4},{default:a(()=>[s(d,{shadow:"never",class:"stat-card danger",onClick:t[3]||(t[3]=e=>v("expired"))},{default:a(()=>{var e;return[l("div",K,n(((e=o.value)==null?void 0:e.expired)??"-"),1),t[11]||(t[11]=l("div",{class:"stat-label"},"已过期",-1))]}),_:1})]),_:1}),s(i,{span:4},{default:a(()=>[s(d,{shadow:"never",class:"stat-card primary",onClick:t[4]||(t[4]=e=>p(b).push("/admin/approvals"))},{default:a(()=>{var e;return[l("div",L,n(((e=o.value)==null?void 0:e.pending_approvals)??"-"),1),t[12]||(t[12]=l("div",{class:"stat-label"},"待审批申请",-1))]}),_:1})]),_:1}),s(i,{span:4},{default:a(()=>[s(d,{shadow:"never",class:"stat-card info",onClick:t[5]||(t[5]=e=>v())},{default:a(()=>{var e,c;return[l("div",O,n(((c=(e=o.value)==null?void 0:e.expiring_soon)==null?void 0:c.length)??"-"),1),t[13]||(t[13]=l("div",{class:"stat-label"},"30 天内到期",-1))]}),_:1})]),_:1})]),_:1}),s(k,{gutter:16,class:"second-row"},{default:a(()=>[s(i,{span:12},{default:a(()=>[s(d,{shadow:"never"},{header:a(()=>[l("div",Q,[t[15]||(t[15]=l("b",null,"近期待过期",-1)),s(x,{link:"",type:"primary",onClick:t[6]||(t[6]=e=>p(b).push("/admin/users"))},{default:a(()=>[...t[14]||(t[14]=[_("全部用户",-1)])]),_:1})])]),default:a(()=>{var e,c,z;return[s($,{data:((e=o.value)==null?void 0:e.expiring_soon)??[],size:"small"},{default:a(()=>[s(r,{prop:"username",label:"用户名",width:"150"}),s(r,{label:"状态",width:"90"},{default:a(({row:f})=>[s(C,{type:f.status==="active"?"success":"info",size:"small"},{default:a(()=>[_(n(p(M)[f.status]??f.status),1)]),_:2},1032,["type"])]),_:1}),s(r,{label:"过期时间","min-width":"160"},{default:a(({row:f})=>[_(n(p(h)(f.expire_at)),1)]),_:1})]),_:1},8,["data"]),(z=(c=o.value)==null?void 0:c.expiring_soon)!=null&&z.length?H("",!0):(V(),G(D,{key:0,description:"近 30 天无到期账号","image-size":60}))]}),_:1})]),_:1}),s(i,{span:12},{default:a(()=>[s(d,{shadow:"never"},{header:a(()=>[l("div",W,[t[17]||(t[17]=l("b",null,"最近审计",-1)),s(x,{link:"",type:"primary",onClick:t[7]||(t[7]=e=>p(b).push("/admin/audit"))},{default:a(()=>[...t[16]||(t[16]=[_("全部审计",-1)])]),_:1})])]),default:a(()=>[s($,{data:w.value,size:"small"},{default:a(()=>[s(r,{label:"动作","min-width":"130"},{default:a(({row:e})=>[_(n(p(P)(e.action)),1)]),_:1}),s(r,{prop:"actor_name",label:"操作者",width:"120"}),s(r,{label:"结果",width:"80"},{default:a(({row:e})=>[s(C,{type:e.result==="success"?"success":"danger",size:"small"},{default:a(()=>[_(n(e.result==="success"?"成功":"失败"),1)]),_:2},1032,["type"])]),_:1}),s(r,{label:"时间","min-width":"160"},{default:a(({row:e})=>[_(n(p(h)(e.created_at)),1)]),_:1})]),_:1},8,["data"])]),_:1})]),_:1})]),_:1})])),[[B,y.value]])}}}),st=R(X,[["__scopeId","data-v-5827ec1e"]]);export{st as default};