import{_ as xe}from"./index-BcFWfTET.js";import{u as be,q as Ce,s as Ue,t as Ie,v as Se}from"./index-CL6hUm94.js";import{g as Ae}from"./admin-DIBUly_b.js";import{a7 as ze,a0 as Oe,a8 as Le,a9 as Be,V as Me,W as Pe,S as Re,G as Ve,aa as $e,ab as je,ac as De,t as qe,R as Fe,D as Ne,ad as Te,M as Ge,B as He,ae as Ee,$ as Je,n as Ke,X as Qe,v as We,w as Xe,x as Ye}from"./antd-B7v2hwFR.js";import{s as U,r as L,f as I,c as J,w as Ze,o as ea,a8 as aa,a9 as h,a5 as c,aa as n,k as e,u as t,G as _,a2 as S,ae as w,F as K,aj as Q,ad as W,a3 as na,H as X}from"./vue-DApy1uhY.js";import"./context-BAOSbWj-.js";const ta={key:0,flex:"","gap-2":""},la={key:1,flex:"","gap-2":""},oa=["onClick"],sa=["onClick"],_a={__name:"admin",setup(ua){const x=be(),B=U([{title:"#",dataIndex:"id"},{title:"用户名",dataIndex:"username"},{title:"昵称",dataIndex:"nickname"},{title:"手机号",dataIndex:"phone"},{title:"邮箱",dataIndex:"email"},{title:"角色",dataIndex:"roles"},{title:"创建时间",dataIndex:"createdAt"},{title:"更新时间",dataIndex:"updatedAt"},{title:"操作",dataIndex:"action"}]),g=U(!1),m=L({pageSize:10,pageSizeOptions:["10","20","30","40"],current:1,total:100,showSizeChanger:!0,showQuickJumper:!0,showTotal:o=>`总数据位:${o}`,onChange(o,a){m.pageSize=a,m.current=o,k()}}),D=U([]),M=U({}),d=L({id:null,username:"",nickname:"",email:"",phone:"",roles:[]}),s=L({id:0,username:"",nickname:"",password:"",changePassword:!1,email:"",phone:"",roles:[]}),q=()=>{Object.assign(s,{id:0,username:"",nickname:"",password:"",changePassword:!1,email:"",phone:"",roles:[]})},Y={username:[{required:!0,message:"请输入用户名"}],password:[{required:!0,message:"请设置密码"}],roles:[{required:!0,message:"请分配角色"}]},b=I(["large"]),Z=I([{key:"large",label:"默认",title:"默认"},{key:"middle",label:"中等",title:"中等"},{key:"small",label:"紧凑",title:"紧凑"}]);U([]);const v=I(!1),ee=J(()=>B.value.map(o=>o.dataIndex==="action"?{label:o.title,value:o.dataIndex,disabled:!0}:{label:o.title,value:o.dataIndex})),P=I(!1),f=J(()=>B.value.map(o=>o.dataIndex)),p=L({indeterminate:!1,checkAll:!0,checkList:f.value}),ae=()=>{v.value=!1};async function k(){if(!g.value){g.value=!0;try{const{data:o}=await Ae({page:m.current,pageSize:m.pageSize});M.value=o.list.reduce((i,u)=>(i[u.sid]=u.name,i),{});const{data:a}=await Ce({...d,page:m.current,pageSize:m.pageSize});D.value=a.list??[],m.total=a.total??0}catch(o){console.log(o)}finally{g.value=!1}}}async function R(){m.current=1,await k()}async function ne(){Object.assign(d,{id:null,username:"",nickname:"",password:"",changePassword:!1,email:"",phone:"",roles:[]}),await k()}function te(){v.value=!1,R()}async function le(o){q(),v.value=!0}async function oe(o){q(),Object.assign(s,o),v.value=!0}async function se(o){const a=x.loading("删除中......");try{(await Ue({id:o.id})).code===0&&await k(),x.success("删除成功")}catch(i){console.log(i)}finally{a()}}function ue(o){b.value[0]=o.key}function A(o){return B.value.filter(a=>!!o.includes(a.dataIndex))}const C=I(A(f.value));function ie(o){Object.assign(p,{checkList:o.target.checked?f.value:[],indeterminate:!0}),C.value=o.target.checked?A(f.value):C.value.filter(a=>a.dataIndex==="action")}Ze(()=>p.checkList,o=>{p.indeterminate=!!o.length&&o.length{k()});async function ce(){const o=x.loading("提交中......");try{let a={};s.id>0?a=await Ie({...s}):a=await Se({...s}),a.code===0&&(await k(),v.value=!1,s.id>0?x.success("更新成功"):x.success("创建成功"))}catch(a){console.log(a)}finally{o()}}return(o,a)=>{const i=Pe,u=Me,r=Be,y=Ve,V=Re,F=Le,N=Oe,$=ze,j=qe,pe=Ge,T=Ne,me=Je,_e=Ee,fe=je,ge=$e,G=aa("LockOutlined"),H=Qe,ve=Xe,ke=We,ye=Ye,he=Ke,we=xe;return c(),h(we,null,{default:n(()=>[e($,{"mb-4":""},{default:n(()=>[e(N,{model:t(d)},{default:n(()=>[e(F,{gutter:[15,0]},{default:n(()=>[e(r,{span:8},{default:n(()=>[e(u,{name:"id",label:"用户ID"},{default:n(()=>[e(i,{value:t(d).id,"onUpdate:value":a[0]||(a[0]=l=>t(d).id=l)},null,8,["value"])]),_:1})]),_:1}),e(r,{span:8},{default:n(()=>[e(u,{name:"username",label:"用户名称"},{default:n(()=>[e(i,{value:t(d).username,"onUpdate:value":a[1]||(a[1]=l=>t(d).username=l)},null,8,["value"])]),_:1})]),_:1}),e(r,{span:8},{default:n(()=>[e(u,{name:"nickname",label:"用户名称"},{default:n(()=>[e(i,{value:t(d).nickname,"onUpdate:value":a[2]||(a[2]=l=>t(d).nickname=l)},null,8,["value"])]),_:1})]),_:1}),e(r,{span:8},{default:n(()=>[e(u,{name:"email",label:"邮箱"},{default:n(()=>[e(i,{value:t(d).email,"onUpdate:value":a[3]||(a[3]=l=>t(d).email=l)},null,8,["value"])]),_:1})]),_:1}),e(r,{span:8},{default:n(()=>[e(u,{name:"phone",label:"手机号"},{default:n(()=>[e(i,{value:t(d).phone,"onUpdate:value":a[4]||(a[4]=l=>t(d).phone=l)},null,8,["value"])]),_:1})]),_:1}),e(r,{span:8},{default:n(()=>[e(V,{flex:"","justify-end":"","w-full":""},{default:n(()=>[e(y,{loading:t(g),type:"primary",onClick:R},{default:n(()=>a[17]||(a[17]=[_(" 查询 ")])),_:1},8,["loading"]),e(y,{loading:t(g),onClick:ne},{default:n(()=>a[18]||(a[18]=[_(" 重置 ")])),_:1},8,["loading"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),e($,{title:"用户列表"},{extra:n(()=>[e(V,{size:"middle"},{default:n(()=>[e(y,{type:"primary",onClick:le},{icon:n(()=>[e(t(De))]),default:n(()=>[a[19]||(a[19]=_(" 新增 "))]),_:1}),e(j,{title:"刷新"},{default:n(()=>[e(t(Fe),{onClick:R})]),_:1}),e(j,{title:"密度"},{default:n(()=>[e(T,{trigger:"click"},{overlay:n(()=>[e(pe,{"selected-keys":t(b),"onUpdate:selectedKeys":a[5]||(a[5]=l=>X(b)?b.value=l:null),items:t(Z),onClick:ue},null,8,["selected-keys","items"])]),default:n(()=>[e(t(Te))]),_:1})]),_:1}),e(j,{title:"列设置"},{default:n(()=>[e(T,{open:t(P),"onUpdate:open":a[8]||(a[8]=l=>X(P)?P.value=l:null),trigger:"click"},{overlay:n(()=>[e($,null,{title:n(()=>[e(me,{checked:t(p).checkAll,"onUpdate:checked":a[6]||(a[6]=l=>t(p).checkAll=l),indeterminate:t(p).indeterminate,onChange:ie},{default:n(()=>a[20]||(a[20]=[_(" 列选择 ")])),_:1},8,["checked","indeterminate"])]),extra:n(()=>[e(y,{type:"link",onClick:de},{default:n(()=>a[21]||(a[21]=[_(" 重置 ")])),_:1})]),default:n(()=>[e(_e,{value:t(p).checkList,"onUpdate:value":a[7]||(a[7]=l=>t(p).checkList=l),options:t(ee),style:{display:"flex","flex-direction":"column"},onChange:re},null,8,["value","options"])]),_:1})]),default:n(()=>[e(t(He))]),_:1},8,["open"])]),_:1})]),_:1})]),default:n(()=>[e(ge,{loading:t(g),columns:t(C),"data-source":t(D),pagination:t(m),size:t(b)[0]},{bodyCell:n(l=>{var z,E;return[((z=l==null?void 0:l.column)==null?void 0:z.dataIndex)==="roles"?(c(),S("div",ta,[(c(!0),S(K,null,Q(l.record.roles,O=>(c(),h(fe,{key:O},{default:n(()=>[_(W(t(M)[O]),1)]),_:2},1024))),128))])):w("",!0),((E=l==null?void 0:l.column)==null?void 0:E.dataIndex)==="action"?(c(),S("div",la,[na("a",{onClick:O=>oe(l==null?void 0:l.record)}," 编辑 ",8,oa),(l==null?void 0:l.record.id)>1?(c(),S("a",{key:0,"c-error":"",onClick:O=>se(l==null?void 0:l.record)}," 删除 ",8,sa)):w("",!0)])):w("",!0)]}),_:1},8,["loading","columns","data-source","pagination","size"])]),_:1}),e(he,{title:t(s).id>0?"编辑":"添加用户",width:500,open:t(v),"body-style":{paddingBottom:"80px"},"footer-style":{textAlign:"right"},onClose:te},{extra:n(()=>[e(V,null,{default:n(()=>[e(y,{onClick:ae},{default:n(()=>a[22]||(a[22]=[_("取消")])),_:1}),e(y,{type:"primary",onClick:ce},{default:n(()=>a[23]||(a[23]=[_("提交")])),_:1})]),_:1})]),default:n(()=>[e(N,{model:t(s),rules:Y,layout:"horizontal","label-col":{style:{width:"85px"}}},{default:n(()=>[e(F,{gutter:16},{default:n(()=>[e(r,{span:24},{default:n(()=>[e(u,{label:"用户名",name:"username"},{default:n(()=>[e(i,{value:t(s).username,"onUpdate:value":a[9]||(a[9]=l=>t(s).username=l),placeholder:"用户名"},null,8,["value"])]),_:1})]),_:1}),t(s).id?w("",!0):(c(),h(r,{key:0,span:24},{default:n(()=>[e(u,{label:"密码",name:"password"},{default:n(()=>[e(H,{value:t(s).password,"onUpdate:value":a[10]||(a[10]=l=>t(s).password=l),placeholder:"新密码"},{prefix:n(()=>[e(G,{class:"site-form-item-icon"})]),_:1},8,["value"])]),_:1})]),_:1})),e(r,{span:24},{default:n(()=>[e(u,{label:"昵称",name:"nickname"},{default:n(()=>[e(i,{value:t(s).nickname,"onUpdate:value":a[11]||(a[11]=l=>t(s).nickname=l),placeholder:"昵称"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:24},{default:n(()=>[e(u,{label:"邮箱",name:"email"},{default:n(()=>[e(i,{value:t(s).email,"onUpdate:value":a[12]||(a[12]=l=>t(s).email=l),placeholder:"邮箱"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:24},{default:n(()=>[e(u,{label:"手机号",name:"phone"},{default:n(()=>[e(i,{value:t(s).phone,"onUpdate:value":a[13]||(a[13]=l=>t(s).phone=l),placeholder:"手机号"},null,8,["value"])]),_:1})]),_:1}),e(r,{span:24},{default:n(()=>[e(u,{label:"分配角色",name:"roles"},{default:n(()=>[e(ke,{value:t(s).roles,"onUpdate:value":a[14]||(a[14]=l=>t(s).roles=l),mode:"tags",style:{width:"100%"},placeholder:"选择需要分配的角色"},{default:n(()=>[(c(!0),S(K,null,Q(t(M),(l,z)=>(c(),h(ve,{value:z},{default:n(()=>[_(W(l),1)]),_:2},1032,["value"]))),256))]),_:1},8,["value"])]),_:1})]),_:1}),t(s).id?(c(),h(r,{key:1,span:24},{default:n(()=>[e(u,{label:"设置新密码"},{default:n(()=>[e(ye,{checked:t(s).changePassword,"onUpdate:checked":a[15]||(a[15]=l=>t(s).changePassword=l)},null,8,["checked"])]),_:1}),t(s).changePassword?(c(),h(u,{key:0,label:"新密码",name:"password"},{default:n(()=>[e(H,{value:t(s).password,"onUpdate:value":a[16]||(a[16]=l=>t(s).password=l),placeholder:"新密码"},{prefix:n(()=>[e(G,{class:"site-form-item-icon"})]),_:1},8,["value"])]),_:1})):w("",!0)]),_:1})):w("",!0)]),_:1})]),_:1},8,["model"])]),_:1},8,["title","open"])]),_:1})}}};export{_a as default};