import{g as W,r as X,E as k,d as S}from"./element-plus-DvNsnHjj.js";import{u as g}from"./system-MG8wG3NI.js";import{u as Y}from"./useTable-B9cwF1eN.js";import{a as ee}from"./format-D1rp7NC7.js";import{P as le}from"./PageCard-DaHB0nvz.js";import{D as ae,o as te,J as c,Q as oe,R as l,S as t,r as C,at as u,U as x,j as n,a0 as d,Z as ne,K as N,a1 as z,$ as U,au as re}from"./vue-vendor-BSww6V4k.js";import{_ as ue}from"./index-BUj-isDj.js";import"./vendor-DvZSZC-J.js";const de={class:"toolbar"},se=ae({__name:"user",setup(ie){const{loading:B,data:R,pagination:v,query:m,onSearch:$,onReset:A,onPageChange:h,onSizeChange:L,fetch:b}=Y(o=>g.getPage(o),{keyword:"",role:"",status:""});te(b);const y=C(!1),w=C(!1),_=C(!1),I=C(),r=C({username:"",password:"",realName:"",phone:"",role:"STUDENT",departmentId:0}),q={username:[{required:!0,message:"请输入用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}],realName:[{required:!0,message:"请输入真实姓名",trigger:"blur"}],role:[{required:!0,message:"请选择角色",trigger:"change"}],departmentId:[{required:!0,message:"请输入部门ID",trigger:"blur"}]};function T(o){_.value=!!o,o?r.value={id:o.id,username:o.username,realName:o.realName,phone:o.phone||"",role:o.role,departmentId:o.departmentId||0}:r.value={username:"",password:"",realName:"",phone:"",role:"STUDENT",departmentId:0},y.value=!0}async function M(){var e;if(await((e=I.value)==null?void 0:e.validate().catch(()=>!1))){w.value=!0;try{_.value?await g.update(r.value):await g.create(r.value),k.success("保存成功"),y.value=!1,b()}finally{w.value=!1}}}async function P(o){await g.enable(o.id),k.success("启用成功"),b()}async function F(o){await S.confirm(`确定禁用用户「${o.realName}」吗?`,"提示",{type:"warning"}),await g.disable(o.id),k.success("已禁用"),b()}async function j(o){await S.confirm(`确定删除用户「${o.realName}」吗?`,"警告",{type:"error"}),await g.delete(o.id),k.success("删除成功"),b()}return(o,e)=>{const s=u("el-button"),V=u("el-input"),p=u("el-option"),D=u("el-select"),i=u("el-table-column"),J=u("el-tag"),K=u("el-table"),Q=u("el-pagination"),f=u("el-form-item"),Z=u("el-input-number"),G=u("el-form"),H=u("el-dialog"),O=re("loading");return c(),oe("div",null,[l(le,null,{header:t(()=>[e[15]||(e[15]=x("span",{class:"page-title"},"员工管理",-1)),l(s,{type:"primary",onClick:e[0]||(e[0]=a=>T())},{default:t(()=>[...e[14]||(e[14]=[d("+ 新建员工",-1)])]),_:1})]),default:t(()=>[x("div",de,[l(V,{modelValue:n(m).keyword,"onUpdate:modelValue":e[1]||(e[1]=a=>n(m).keyword=a),placeholder:"搜索用户名/姓名/手机号",style:{width:"260px"},clearable:""},null,8,["modelValue"]),l(D,{modelValue:n(m).role,"onUpdate:modelValue":e[2]||(e[2]=a=>n(m).role=a),placeholder:"全部角色",clearable:"",style:{width:"130px"}},{default:t(()=>[l(p,{label:"管理员",value:"ADMIN"}),l(p,{label:"讲师",value:"LECTURER"}),l(p,{label:"学员",value:"STUDENT"})]),_:1},8,["modelValue"]),l(D,{modelValue:n(m).status,"onUpdate:modelValue":e[3]||(e[3]=a=>n(m).status=a),placeholder:"全部状态",clearable:"",style:{width:"130px"}},{default:t(()=>[l(p,{label:"启用",value:"ENABLED"}),l(p,{label:"禁用",value:"DISABLED"})]),_:1},8,["modelValue"]),l(s,{type:"primary",icon:n(W),onClick:n($)},{default:t(()=>[...e[16]||(e[16]=[d("查询",-1)])]),_:1},8,["icon","onClick"]),l(s,{icon:n(X),onClick:n(A)},{default:t(()=>[...e[17]||(e[17]=[d("重置",-1)])]),_:1},8,["icon","onClick"])]),ne((c(),N(K,{data:n(R),stripe:""},{default:t(()=>[l(i,{prop:"username",label:"用户名",width:"140"}),l(i,{prop:"realName",label:"真实姓名",width:"120"}),l(i,{prop:"phone",label:"手机号",width:"130"}),l(i,{prop:"roleName",label:"角色",width:"100"}),l(i,{prop:"departmentName",label:"部门",width:"140"}),l(i,{prop:"groupName",label:"小组",width:"120"}),l(i,{prop:"status",label:"状态",width:"90"},{default:t(({row:a})=>[l(J,{type:a.status==="ENABLED"?"success":"danger",size:"small"},{default:t(()=>[d(z(a.statusName),1)]),_:2},1032,["type"])]),_:1}),l(i,{prop:"createTime",label:"创建时间",width:"160"},{default:t(({row:a})=>[d(z(n(ee)(a.createTime)),1)]),_:1}),l(i,{label:"操作",width:"220",fixed:"right"},{default:t(({row:a})=>[a.status==="DISABLED"?(c(),N(s,{key:0,link:"",type:"primary",onClick:E=>P(a)},{default:t(()=>[...e[18]||(e[18]=[d("启用",-1)])]),_:1},8,["onClick"])):U("",!0),a.status==="ENABLED"?(c(),N(s,{key:1,link:"",type:"warning",onClick:E=>F(a)},{default:t(()=>[...e[19]||(e[19]=[d("禁用",-1)])]),_:1},8,["onClick"])):U("",!0),l(s,{link:"",type:"primary",onClick:E=>T(a)},{default:t(()=>[...e[20]||(e[20]=[d("编辑",-1)])]),_:1},8,["onClick"]),l(s,{link:"",type:"danger",onClick:E=>j(a)},{default:t(()=>[...e[21]||(e[21]=[d("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[O,n(B)]]),l(Q,{"current-page":n(v).current,"onUpdate:currentPage":e[4]||(e[4]=a=>n(v).current=a),"page-size":n(v).size,"onUpdate:pageSize":e[5]||(e[5]=a=>n(v).size=a),total:n(v).total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",onCurrentChange:n(h),onSizeChange:n(L)},null,8,["current-page","page-size","total","onCurrentChange","onSizeChange"])]),_:1}),l(H,{modelValue:y.value,"onUpdate:modelValue":e[13]||(e[13]=a=>y.value=a),title:_.value?"编辑员工":"新建员工",width:"520px","destroy-on-close":""},{footer:t(()=>[l(s,{onClick:e[12]||(e[12]=a=>y.value=!1)},{default:t(()=>[...e[22]||(e[22]=[d("取消",-1)])]),_:1}),l(s,{type:"primary",onClick:M,loading:w.value},{default:t(()=>[...e[23]||(e[23]=[d("保存",-1)])]),_:1},8,["loading"])]),default:t(()=>[l(G,{model:r.value,rules:q,ref_key:"dialogFormRef",ref:I,"label-width":"90px"},{default:t(()=>[l(f,{label:"用户名",prop:"username"},{default:t(()=>[l(V,{modelValue:r.value.username,"onUpdate:modelValue":e[6]||(e[6]=a=>r.value.username=a),placeholder:"请输入用户名",disabled:_.value},null,8,["modelValue","disabled"])]),_:1}),_.value?U("",!0):(c(),N(f,{key:0,label:"密码",prop:"password"},{default:t(()=>[l(V,{modelValue:r.value.password,"onUpdate:modelValue":e[7]||(e[7]=a=>r.value.password=a),type:"password",placeholder:"请输入密码"},null,8,["modelValue"])]),_:1})),l(f,{label:"真实姓名",prop:"realName"},{default:t(()=>[l(V,{modelValue:r.value.realName,"onUpdate:modelValue":e[8]||(e[8]=a=>r.value.realName=a),placeholder:"请输入真实姓名"},null,8,["modelValue"])]),_:1}),l(f,{label:"手机号"},{default:t(()=>[l(V,{modelValue:r.value.phone,"onUpdate:modelValue":e[9]||(e[9]=a=>r.value.phone=a),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1}),l(f,{label:"角色",prop:"role"},{default:t(()=>[l(D,{modelValue:r.value.role,"onUpdate:modelValue":e[10]||(e[10]=a=>r.value.role=a),placeholder:"请选择角色",style:{width:"100%"}},{default:t(()=>[l(p,{label:"管理员",value:"ADMIN"}),l(p,{label:"讲师",value:"LECTURER"}),l(p,{label:"学员",value:"STUDENT"})]),_:1},8,["modelValue"])]),_:1}),l(f,{label:"所属部门",prop:"departmentId"},{default:t(()=>[l(Z,{modelValue:r.value.departmentId,"onUpdate:modelValue":e[11]||(e[11]=a=>r.value.departmentId=a),placeholder:"部门ID",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Ve=ue(se,[["__scopeId","data-v-e1d64046"]]);export{Ve as default};