import{r as e,b as a,c as l,d as t,e as o,k as i,h as r,U as d,C as n,g as u,m as s,Z as p,J as m}from"./index.1711290598880.js";const c={class:"userManager"},g={class:"p-4 bg-white rounded-lg overflow-hidden flex flex-wrap gap-4"},v={class:"mt-4 flex gap-x-4"},h={class:"bg-white p-4 rounded-lg overflow-hidden w-full"},f={__name:"user",setup(f){const _={mail:"",password:"",manager:0},b=e(!1),w=e(Object.assign({},_)),V=e(!1),y=e([]),C=e({email:""}),k=()=>{w.value=e({mail:"",password:"",manager:""}).value,V.value=!0},z=()=>{d({url:"/admin/userUpdate",method:"post",data:w.value}).then((e=>{1===e.code&&(V.value=!1,I()),m.success(e.msg)}))},x=e({current_page:1,per_page:50,total:0,refresh(e){x.value.current_page=e,I()},sizes(e){x.value.per_page=e,I()}}),U=e([]),j={order:"desc",prop:"id"},I=()=>{d({url:"/admin/UserList",method:"post",data:{search:C.value,page:x.value.current_page,limit:x.value.per_page,sort:j}}).then((e=>{let a=e.data;U.value=a.data,Object.assign(x.value,a)}))},O=({column:e,prop:a,order:l})=>{let t="asc";"descending"===l&&(t="desc"),j.order=t,j.prop=a,I()};return I(),(e,f)=>{const j=a("el-input"),P=a("el-button"),S=a("el-table-column"),D=a("el-tag"),L=a("el-table"),A=a("el-pagination"),J=a("el-dialog"),M=a("el-form-item"),R=a("el-option"),Z=a("el-select"),q=a("el-form"),B=a("el-link");return l(),t("div",c,[o("div",g,[i(j,{modelValue:C.value.email,"onUpdate:modelValue":f[0]||(f[0]=e=>C.value.email=e),style:{width:"200px"},placeholder:"邮箱",clearable:""},null,8,["modelValue"]),i(P,{onClick:I,type:"primary"},{default:r((()=>[n("搜索")])),_:1}),i(P,{type:"danger",onClick:k},{default:r((()=>[n("添加新用户")])),_:1})]),o("div",v,[o("div",h,[i(L,{onSortChange:O,data:U.value,height:"calc(100vh - 200px)"},{default:r((()=>[i(S,{prop:"id",sortable:"custom",label:"用户ID",align:"center","min-width":"100"}),i(S,{prop:"mail",label:"邮箱",align:"center","min-width":"200"}),i(S,{prop:"login_ip",label:"登录IP",align:"center","min-width":"200"}),i(S,{prop:"login_time",sortable:"custom",label:"上次登录时间",align:"center","min-width":"200"}),i(S,{prop:"register_ip",label:"注册IP",align:"center","min-width":"200"}),i(S,{prop:"create_time",sortable:"custom",label:"注册时间",align:"center","min-width":"200"}),i(S,{prop:"login_fail_count",sortable:"custom",label:"登录失败次数",align:"center","min-width":"150"}),i(S,{prop:"manager",label:"权限",align:"center","min-width":"100"},{default:r((e=>[0===e.row.manager?(l(),u(D,{key:0,type:"info",size:"small"},{default:r((()=>[n("用户")])),_:1})):s("",!0),1===e.row.manager?(l(),u(D,{key:1,type:"danger",size:"small"},{default:r((()=>[n("管理员")])),_:1})):s("",!0)])),_:1}),i(S,{fixed:"right",label:"操作","min-width":"180",align:"center"},{default:r((e=>[i(P,{type:"info",onClick:a=>{return l=e.row,b.value=!0,y.value=[],void d({url:"/admin/userLoginRecord",method:"post",data:{user_id:l.id}}).then((e=>{1===e.code&&(y.value=e.data)}));var l},size:"small"},{default:r((()=>[n("登录记录")])),_:2},1032,["onClick"]),i(P,{type:"primary",onClick:a=>{return l=e.row,w.value=Object.assign({},_,l),void(V.value=!0);var l},size:"small"},{default:r((()=>[n("操作")])),_:2},1032,["onClick"])])),_:1})])),_:1},8,["data"]),i(A,{"page-sizes":[15,20,30,40,50,100],onCurrentChange:x.value.refresh,class:"mt-6",layout:"sizes,total,prev,pager,jumper","page-size":x.value.per_page,onSizeChange:x.value.sizes,total:x.value.total},null,8,["onCurrentChange","page-size","onSizeChange","total"])])]),i(J,{title:"登录记录(最近100条记录)",modelValue:b.value,"onUpdate:modelValue":f[1]||(f[1]=e=>b.value=e),width:1e3,"align-center":"","close-on-click-modal":!1},{default:r((()=>[i(L,{border:"",data:y.value,height:"calc(100vh - 203px)",he:""},{default:r((()=>[i(S,{prop:"ip",label:"登录IP",align:"center",width:"180"}),i(S,{prop:"create_time",label:"登录时间",align:"center",width:"180"}),i(S,{prop:"user_agent",label:"User-Agent",align:"center","min-width":"200"})])),_:1},8,["data"])])),_:1},8,["modelValue"]),i(J,{title:"编辑用户",modelValue:V.value,"onUpdate:modelValue":f[7]||(f[7]=e=>V.value=e),width:600,"align-center":"","close-on-click-modal":!1},{default:r((()=>[i(q,{modelValue:w.value,"onUpdate:modelValue":f[5]||(f[5]=e=>w.value=e),"label-width":"100px","label-position":"top"},{default:r((()=>[i(M,{label:"邮箱"},{default:r((()=>[i(j,{modelValue:w.value.mail,"onUpdate:modelValue":f[2]||(f[2]=e=>w.value.mail=e),placeholder:"请输入邮箱"},null,8,["modelValue"])])),_:1}),i(M,{label:"设置密码"},{default:r((()=>[i(j,{modelValue:w.value.password,"onUpdate:modelValue":f[3]||(f[3]=e=>w.value.password=e),placeholder:"请设置新密码,否则请留空"},null,8,["modelValue"])])),_:1}),i(M,{label:"是否管理员"},{default:r((()=>[i(Z,{modelValue:w.value.manager,"onUpdate:modelValue":f[4]||(f[4]=e=>w.value.manager=e),class:"w-full",placeholder:"请选择"},{default:r((()=>[i(R,{label:"用户",value:0}),i(R,{label:"管理员",value:1})])),_:1},8,["modelValue"])])),_:1})])),_:1},8,["modelValue"]),i(P,{class:"mt-4 w-full",onClick:z,type:"primary",size:"large"},{default:r((()=>[n("提交")])),_:1}),w.value.id?(l(),u(B,{key:0,class:"mt-6",type:"danger",onClick:f[6]||(f[6]=e=>(async e=>{try{await p.confirm("您确定删除当前用户?删除后数据将全部删除!","危险操作警告"),1===(await d({url:"/admin/userDelete",method:"post",data:{id:e}})).code&&(m.success("已删除当前用户所有数据"),V.value=!1,I())}catch(a){m.info("操作已取消")}})(w.value.id))},{default:r((()=>[n("删除用户")])),_:1})):s("",!0)])),_:1},8,["modelValue"])])}}};export{f as default};