import{_ as xe}from"./index-1DQ9lz7_.js";import{u as be,q as Ce,s as Ue,t as Ie,v as Se}from"./index-C-JhWVfG.js";import{g as Ae}from"./admin-x2Ewtnku.js";import{a7 as ze,R as Oe,a8 as Le,B as Be,a0 as Me,a1 as Pe,a9 as Re,H as Ve,S as je,aa as De,V as $e,ab as qe,t as Fe,M as Ne,D as He,a3 as Te,ac as Ee,ad as Ge,ae as Je,a2 as Ke,u as Qe,v as We,w as Xe,n as Ye}from"./antd-vtmm7CAy.js";import{s as U,r as L,f as I,c as J,w as Ze,o as ea,a8 as aa,a2 as c,a9 as h,aa as n,k as e,u as t,G as _,H as K,a3 as S,F as Q,aj as W,ad as X,ae as w,a4 as na}from"./vue-Dl1fzmsf.js";import"./context-Dawj80bg.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()}}),$=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});$.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=Me,u=Pe,r=Re,y=Ve,V=je,F=De,N=$e,j=qe,D=Fe,pe=Ne,H=He,me=Te,_e=Ee,fe=Ge,ge=Je,T=aa("LockOutlined"),E=Ke,ve=Qe,ke=We,ye=Xe,he=Ye,we=xe;return c(),h(we,null,{default:n(()=>[e(j,{"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(j,{title:"用户列表"},{extra:n(()=>[e(V,{size:"middle"},{default:n(()=>[e(y,{type:"primary",onClick:le},{icon:n(()=>[e(t(ze))]),default:n(()=>[a[19]||(a[19]=_(" 新增 "))]),_:1}),e(D,{title:"刷新"},{default:n(()=>[e(t(Oe),{onClick:R})]),_:1}),e(D,{title:"密度"},{default:n(()=>[e(H,{trigger:"click"},{overlay:n(()=>[e(pe,{"selected-keys":t(b),"onUpdate:selectedKeys":a[5]||(a[5]=l=>K(b)?b.value=l:null),items:t(Z),onClick:ue},null,8,["selected-keys","items"])]),default:n(()=>[e(t(Le))]),_:1})]),_:1}),e(D,{title:"列设置"},{default:n(()=>[e(H,{open:t(P),"onUpdate:open":a[8]||(a[8]=l=>K(P)?P.value=l:null),trigger:"click"},{overlay:n(()=>[e(j,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(Be))]),_:1},8,["open"])]),_:1})]),_:1})]),default:n(()=>[e(ge,{loading:t(g),columns:t(C),"data-source":t($),pagination:t(m),size:t(b)[0]},{bodyCell:n(l=>{var z,G;return[((z=l==null?void 0:l.column)==null?void 0:z.dataIndex)==="roles"?(c(),S("div",ta,[(c(!0),S(Q,null,W(l.record.roles,O=>(c(),h(fe,{key:O},{default:n(()=>[_(X(t(M)[O]),1)]),_:2},1024))),128))])):w("",!0),((G=l==null?void 0:l.column)==null?void 0:G.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(E,{value:t(s).password,"onUpdate:value":a[10]||(a[10]=l=>t(s).password=l),placeholder:"新密码"},{prefix:n(()=>[e(T,{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(Q,null,W(t(M),(l,z)=>(c(),h(ve,{value:z},{default:n(()=>[_(X(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(E,{value:t(s).password,"onUpdate:value":a[16]||(a[16]=l=>t(s).password=l),placeholder:"新密码"},{prefix:n(()=>[e(T,{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};