8 lines
7.8 KiB
JavaScript
8 lines
7.8 KiB
JavaScript
import{x as e,y as a,h as l,w as o,U as n,V as t,l as i,ay as s,F as r,aD 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.BQf8a6uP.js";import{_ as w}from"./index.DxVG6e-B.js";import{_ as y}from"./index.vue_vue_type_script_setup_true_lang.CjNyhJzt.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 O,a6 as T,T as C,a9 as P,aw as $,H as B,ay as F,a8 as q,aa as I,z as S,r as D,ak as R}from"./.pnpm.BudmgPu7.js";import{l as A}from"./index.DW5SWAAE.js";import"./_plugin-vue_export-helper.BCo6x5W8.js";import"./codemirror.BdleaLZh.js";const H="/monitor/online",J={
|
|
// 查询在线用户列表
|
|
listOnline:e=>A({url:`${H}/list`,method:"get",params:e}),
|
|
// 强退用户
|
|
deleteOnline:e=>A({url:`${H}/delete`,method:"delete",data:e}),
|
|
// 强退用户
|
|
clearOnline:()=>A({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 A=D(),H=D(0),M=D([]),W=D(!1),X=D([]),Y=D([{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=R({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(){A.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 D=a,R=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:A,model:O(Z),inline:!0,"label-suffix":":",onSubmit:$(le,["prevent"])},{default:z(()=>[j(R,{prop:"ipaddr",label:"IP地址"},{default:z(()=>[j(D,{modelValue:O(Z).ipaddr,"onUpdate:modelValue":b[0]||(b[0]=e=>O(Z).ipaddr=e),placeholder:"请输入IP地址",clearable:""},null,8,["modelValue"])]),_:1}),j(R,{prop:"name",label:"用户名"},{default:z(()=>[j(D,{modelValue:O(Z).name,"onUpdate:modelValue":b[1]||(b[1]=e=>O(Z).name=e),placeholder:"请输入用户名",clearable:""},null,8,["modelValue"])]),_:1}),j(R,{prop:"login_location",label:"登录位置"},{default:z(()=>[j(D,{modelValue:O(Z).login_location,"onUpdate:modelValue":b[2]||(b[2]=e=>O(Z).login_location=e),placeholder:"请输入登录位置",clearable:""},null,8,["modelValue"])]),_:1}),j(R,{class:"search-buttons"},{default:z(()=>[T((k(),C(M,{type:"primary",icon:"search","native-type":"submit"},{default:z(()=>[...b[6]||(b[6]=[P(" 查询 ",-1)])]),_:1})),[[ve,["module_monitor:online:query"]]]),T((k(),C(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:O(H),"onUpdate:total":b[3]||(b[3]=e=>S(H)?H.value=e:null),page:O(Z).page_no,"onUpdate:page":b[4]||(b[4]=e=>O(Z).page_no=e),limit:O(Z).page_size,"onUpdate:limit":b[5]||(b[5]=e=>O(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(()=>[T((k(),C(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(()=>[T(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(O(Y),e=>(k(),V(B,{key:e.prop},[e.prop?(k(),C(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})])]),T((k(),C(ye,{ref:"dataTableRef",data:O(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=O(Y).find(e=>"selection"===e.prop))?void 0:e.show)?(k(),C(he,{key:0,type:"selection","min-width":"55",align:"center"})):q("",!0),(null==(a=O(Y).find(e=>"index"===e.prop))?void 0:a.show)?(k(),C(he,{key:1,type:"index",fixed:"",label:"序号","min-width":"60"},{default:z(e=>[P(I((O(Z).page_no-1)*O(Z).page_size+e.$index+1),1)]),_:1})):q("",!0),(null==(l=O(Y).find(e=>"session_id"===e.prop))?void 0:l.show)?(k(),C(he,{key:"session_id",label:"会话编号",prop:"session_id","min-width":"250","show-overflow-tooltip":""})):q("",!0),(null==(o=O(Y).find(e=>"login_type"===e.prop))?void 0:o.show)?(k(),C(he,{key:"login_type",label:"登录类型",prop:"login_type","min-width":"100"})):q("",!0),(null==(n=O(Y).find(e=>"ipaddr"===e.prop))?void 0:n.show)?(k(),C(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(),C(we,{key:0,text:e.row.ipaddr,style:{marginLeft:"2px"}},null,8,["text"])):q("",!0)]),_:1})):q("",!0),(null==(t=O(Y).find(e=>"name"===e.prop))?void 0:t.show)?(k(),C(he,{key:"name",label:"用户名",prop:"name","min-width":"80","show-overflow-tooltip":""})):q("",!0),(null==(i=O(Y).find(e=>"user_name"===e.prop))?void 0:i.show)?(k(),C(he,{key:"user_name",label:"账号",prop:"user_name","min-width":"80"})):q("",!0),(null==(s=O(Y).find(e=>"login_location"===e.prop))?void 0:s.show)?(k(),C(he,{key:"login_location",label:"登录位置",prop:"login_location","min-width":"280","show-overflow-tooltip":""})):q("",!0),(null==(r=O(Y).find(e=>"os"===e.prop))?void 0:r.show)?(k(),C(he,{key:"os",label:"操作系统",prop:"os","min-width":"120","show-overflow-tooltip":""})):q("",!0),(null==(d=O(Y).find(e=>"login_time"===e.prop))?void 0:d.show)?(k(),C(he,{key:"login_time",label:"登录时间",prop:"login_time","min-width":"180"})):q("",!0),(null==(p=O(Y).find(e=>"operation"===e.prop))?void 0:p.show)?(k(),C(he,{key:"operation",fixed:"right",label:"操作","min-width":"100"},{default:z(e=>[T((k(),C(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,O(W)]])]),_:1})])}}});export{M as default};
|