import{x as e,y as a,h as l,w as o,U as n,V as t,l as i,ax as s,F as r,aC as d,al as p,am as u,r as c,u as m,ao as _,T as h,D as f}from"./element-plus.C1XeB8_q.js";import{_ as w}from"./index.DSbwPKqQ.js";import{_ as y}from"./index.vue_vue_type_script_setup_true_lang.I__YyVnm.js";import{J as g,t as b,aO as v,aP as x,S as k,_ as V,a1 as U,$ as j,a0 as z,o as C,a6 as O,T,a9 as P,aw as $,H as B,ay as F,a8 as q,aa as I,z as S,r as R,ak as A}from"./.pnpm.BudmgPu7.js";import{l as D}from"./index.DvZY56Zp.js";import"./_plugin-vue_export-helper.BCo6x5W8.js";import"./codemirror.BdleaLZh.js";const H="/monitor/online",J={ // 查询在线用户列表 listOnline:e=>D({url:`${H}/list`,method:"get",params:e}), // 强退用户 deleteOnline:e=>D({url:`${H}/delete`,method:"delete",data:e}), // 强退用户 clearOnline:()=>D({url:`${H}/clear`,method:"delete"})},L={class:"app-container"},N={class:"search-container"},Q={class:"card-header"},E={class:"data-table__toolbar"},G={class:"data-table__toolbar--left"},K={class:"data-table__toolbar--right"},M=g({name:"Notice",inheritAttrs:!1,__name:"index",setup(g){const D=R(),H=R(0),M=R([]),W=R(!1),X=R([]),Y=R([{label:"选择框",prop:"selection",show:!0},{label:"序号",prop:"index",show:!0},{label:"会话编号",prop:"session_id",show:!0},{label:"登录类型",prop:"login_type",show:!0},{label:"登录名称",prop:"name",show:!0},{label:"用户账号",prop:"user_name",show:!0},{label:"主机",prop:"ipaddr",show:!0},{label:"登录地点",prop:"login_location",show:!0},{label:"操作系统",prop:"os",show:!0},{label:"登录时间",prop:"login_time",show:!0},{label:"操作",prop:"operation",show:!0}]),Z=A({page_no:1,page_size:10,name:void 0,login_location:void 0,ipaddr:void 0});async function ee(){await ae()}async function ae(){W.value=!0;try{const e=await J.listOnline(Z);X.value=e.data.data.items,H.value=e.data.data.total}catch(e){}finally{W.value=!1}}async function le(){Z.page_no=1,ae()}async function oe(){D.value.resetFields(),Z.page_no=1,ae()}async function ne(e){M.value=e.map(e=>e.id)}async function te(){f.confirm("确认强制退出所有用户?","警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>{try{W.value=!0,await J.clearOnline(),oe()}catch(e){}finally{W.value=!1}}).catch(()=>{f.close()})}return b(()=>{ae()}),(g,b)=>{const R=a,A=e,M=l,ie=o,se=v("QuestionFilled"),re=i,de=t,pe=n,ue=d,ce=r,me=s,_e=m,he=u,fe=c,we=y,ye=p,ge=w,be=h,ve=x("hasPerm"),xe=_;return k(),V("div",L,[U("div",N,[j(ie,{ref_key:"queryFormRef",ref:D,model:C(Z),inline:!0,"label-suffix":":",onSubmit:$(le,["prevent"])},{default:z(()=>[j(A,{prop:"ipaddr",label:"IP地址"},{default:z(()=>[j(R,{modelValue:C(Z).ipaddr,"onUpdate:modelValue":b[0]||(b[0]=e=>C(Z).ipaddr=e),placeholder:"请输入IP地址",clearable:""},null,8,["modelValue"])]),_:1}),j(A,{prop:"name",label:"用户名"},{default:z(()=>[j(R,{modelValue:C(Z).name,"onUpdate:modelValue":b[1]||(b[1]=e=>C(Z).name=e),placeholder:"请输入用户名",clearable:""},null,8,["modelValue"])]),_:1}),j(A,{prop:"login_location",label:"登录位置"},{default:z(()=>[j(R,{modelValue:C(Z).login_location,"onUpdate:modelValue":b[2]||(b[2]=e=>C(Z).login_location=e),placeholder:"请输入登录位置",clearable:""},null,8,["modelValue"])]),_:1}),j(A,{class:"search-buttons"},{default:z(()=>[O((k(),T(M,{type:"primary",icon:"search","native-type":"submit"},{default:z(()=>[...b[6]||(b[6]=[P(" 查询 ",-1)])]),_:1})),[[ve,["module_monitor:online:query"]]]),O((k(),T(M,{icon:"refresh",onClick:oe},{default:z(()=>[...b[7]||(b[7]=[P(" 重置 ",-1)])]),_:1})),[[ve,["module_monitor:online:query"]]])]),_:1})]),_:1},8,["model"])]),j(be,{class:"data-table"},{header:z(()=>[U("div",Q,[U("span",null,[j(re,{content:"在线用户列表"},{default:z(()=>[j(se,{class:"w-4 h-4 mx-1"})]),_:1}),b[8]||(b[8]=P(" 在线用户列表 ",-1))])])]),footer:z(()=>[j(ge,{total:C(H),"onUpdate:total":b[3]||(b[3]=e=>S(H)?H.value=e:null),page:C(Z).page_no,"onUpdate:page":b[4]||(b[4]=e=>C(Z).page_no=e),limit:C(Z).page_size,"onUpdate:limit":b[5]||(b[5]=e=>C(Z).page_size=e),onPagination:ae},null,8,["total","page","limit"])]),default:z(()=>[U("div",E,[U("div",G,[j(pe,{gutter:10},{default:z(()=>[j(de,{span:1.5},{default:z(()=>[O((k(),T(M,{type:"danger",icon:"delete",onClick:te},{default:z(()=>[...b[9]||(b[9]=[P(" 强退所有 ",-1)])]),_:1})),[[ve,["module_monitor:online:delete"]]])]),_:1})]),_:1})]),U("div",K,[j(pe,{gutter:10},{default:z(()=>[j(de,{span:1.5},{default:z(()=>[j(re,{content:"刷新"},{default:z(()=>[O(j(M,{type:"primary",icon:"refresh",circle:"",onClick:ee},null,512),[[ve,["module_monitor:online:delete"]]])]),_:1})]),_:1}),j(de,{span:1.5},{default:z(()=>[j(me,{placement:"bottom",trigger:"click"},{reference:z(()=>[j(M,{type:"danger",icon:"operation",circle:""})]),default:z(()=>[j(ce,{"max-height":"350px"},{default:z(()=>[(k(!0),V(B,null,F(C(Y),e=>(k(),V(B,{key:e.prop},[e.prop?(k(),T(ue,{key:0,modelValue:e.show,"onUpdate:modelValue":a=>e.show=a,label:e.label},null,8,["modelValue","onUpdate:modelValue","label"])):q("",!0)],64))),128))]),_:1})]),_:1})]),_:1})]),_:1})])]),O((k(),T(ye,{ref:"dataTableRef",data:C(X),"highlight-current-row":"",class:"data-table__content",height:"500","max-height":"500",border:"",stripe:"",onSelectionChange:ne},{empty:z(()=>[j(_e,{"image-size":80,description:"暂无数据"})]),default:z(()=>{var e,a,l,o,n,t,i,s,r,d,p;return[(null==(e=C(Y).find(e=>"selection"===e.prop))?void 0:e.show)?(k(),T(he,{key:0,type:"selection","min-width":"55",align:"center"})):q("",!0),(null==(a=C(Y).find(e=>"index"===e.prop))?void 0:a.show)?(k(),T(he,{key:1,type:"index",fixed:"",label:"序号","min-width":"60"},{default:z(e=>[P(I((C(Z).page_no-1)*C(Z).page_size+e.$index+1),1)]),_:1})):q("",!0),(null==(l=C(Y).find(e=>"session_id"===e.prop))?void 0:l.show)?(k(),T(he,{key:"session_id",label:"会话编号",prop:"session_id","min-width":"250","show-overflow-tooltip":""})):q("",!0),(null==(o=C(Y).find(e=>"login_type"===e.prop))?void 0:o.show)?(k(),T(he,{key:"login_type",label:"登录类型",prop:"login_type","min-width":"100"})):q("",!0),(null==(n=C(Y).find(e=>"ipaddr"===e.prop))?void 0:n.show)?(k(),T(he,{key:"ipaddr",label:"IP地址",prop:"ipaddr","min-width":"150","show-overflow-tooltip":""},{default:z(e=>[j(fe,null,{default:z(()=>[P(I(e.row.ipaddr),1)]),_:2},1024),e.row.ipaddr?(k(),T(we,{key:0,text:e.row.ipaddr,style:{marginLeft:"2px"}},null,8,["text"])):q("",!0)]),_:1})):q("",!0),(null==(t=C(Y).find(e=>"name"===e.prop))?void 0:t.show)?(k(),T(he,{key:"name",label:"用户名",prop:"name","min-width":"80","show-overflow-tooltip":""})):q("",!0),(null==(i=C(Y).find(e=>"user_name"===e.prop))?void 0:i.show)?(k(),T(he,{key:"user_name",label:"账号",prop:"user_name","min-width":"80"})):q("",!0),(null==(s=C(Y).find(e=>"login_location"===e.prop))?void 0:s.show)?(k(),T(he,{key:"login_location",label:"登录位置",prop:"login_location","min-width":"280","show-overflow-tooltip":""})):q("",!0),(null==(r=C(Y).find(e=>"os"===e.prop))?void 0:r.show)?(k(),T(he,{key:"os",label:"操作系统",prop:"os","min-width":"120","show-overflow-tooltip":""})):q("",!0),(null==(d=C(Y).find(e=>"login_time"===e.prop))?void 0:d.show)?(k(),T(he,{key:"login_time",label:"登录时间",prop:"login_time","min-width":"180"})):q("",!0),(null==(p=C(Y).find(e=>"operation"===e.prop))?void 0:p.show)?(k(),T(he,{key:"operation",fixed:"right",label:"操作","min-width":"100"},{default:z(e=>[O((k(),T(M,{type:"danger",size:"small",link:"",icon:"delete",onClick:a=>async function(e){f.confirm(`确认强制退出会话 ${e}?`,"警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(async()=>{try{W.value=!0,await J.deleteOnline(e),oe()}catch(a){}finally{W.value=!1}}).catch(()=>{f.close()})}(e.row.session_id)},{default:z(()=>[...b[10]||(b[10]=[P(" 强退 ",-1)])]),_:1},8,["onClick"])),[[ve,["module_monitor:online:delete"]]])]),_:1})):q("",!0)]}),_:1},8,["data"])),[[xe,C(W)]])]),_:1})])}}});export{M as default};