You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
14 KiB
1 lines
14 KiB
import{a as p,f as k,q as m,d as je,r as c,bf as ie,ao as H,ax as R,ag as qe,ee as Ae,G as Me,cx as Ne,e,b as t,h as o,I as X,as as Pe,H as d,Y as B,c as b,$ as He,F as Xe,g as Ze,ae as Z,ef as Ge,a7 as g,eg as Ke,eh as Qe,ei as Ye,ej as Je,ek as We,el,em as ll,aj as tl,aA as al,aw as ol,an as nl,aq as sl,ap as dl,ab as il,a8 as rl,a9 as ul,aa as cl,b3 as pl,M as ml,b4 as _l,av as fl,bI as hl,cA as gl,cB as vl,ac as bl,ak as wl,bc as xl,at as yl,en as Vl,eo as kl,ep as Cl}from"./index-e450010e.js";import{_ as Ul}from"./index-c5018719.js";import{_ as El}from"./edit-e81858b0.js";/* empty css */import"./el-dropdown-menu-4ed993c7.js";import{_ as $l}from"./delete-811387fa.js";import{_ as Il}from"./plus-f2947ec6.js";import{_ as Ll}from"./refresh-f1723430.js";import{_ as Rl}from"./search-71444aff.js";import{b as Bl}from"./index-68d1a0f5.js";const Dl={viewBox:"0 0 1024 1024",width:"1.2em",height:"1.2em"},Tl=m("path",{fill:"currentColor",d:"M544 864V672h128L512 480L352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.81 239.81 0 0 1 512 192a239.87 239.87 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6z"},null,-1),Fl=[Tl];function zl(D,w){return p(),k("svg",Dl,[...Fl])}const Ol={name:"ep-upload-filled",render:zl},Sl={viewBox:"0 0 1024 1024",width:"1.2em",height:"1.2em"},jl=m("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88a384 384 0 0 1-383.936 384a384 384 0 0 1-384-384h64a320 320 0 1 0 640 0a320 320 0 0 0-555.712-216.448z"},null,-1),ql=[jl];function Al(D,w){return p(),k("svg",Sl,[...ql])}const Ml={name:"ep-refresh-left",render:Al},Nl={viewBox:"0 0 1024 1024",width:"1.2em",height:"1.2em"},Pl=m("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0a33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176a28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"},null,-1),Hl=[Pl];function Xl(D,w){return p(),k("svg",Nl,[...Hl])}const Zl={name:"ep-top",render:Xl},Gl={viewBox:"0 0 1024 1024",width:"1.2em",height:"1.2em"},Kl=m("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64m384-253.696l236.288-236.352l45.248 45.248L508.8 704L192 387.2l45.248-45.248L480 584.704V128h64z"},null,-1),Ql=[Kl];function Yl(D,w){return p(),k("svg",Gl,[...Ql])}const Jl={name:"ep-download",render:Yl},Wl={class:"app-container"},et={class:"search"},lt={class:"flex justify-between"},tt={class:"dialog-footer"},at=m("div",{class:"el-upload__text"},[d(" 将文件拖到此处,或 "),m("em",null,"点击上传")],-1),ot=m("div",{class:"el-upload__tip"},"xls/xlsx files",-1),nt={class:"dialog-footer"},ht=je({name:"user",inheritAttrs:!1,__name:"index",setup(D){const w=c(ie),G=c(H),T=c(H),x=c(!1),j=c([]),C=c(0),v=R({visible:!1}),i=R({page:1,pagesize:10}),K=c(),s=R({status:1}),re=R({username:[{required:!0,message:"用户名不能为空",trigger:"blur"}],nickname:[{required:!0,message:"用户昵称不能为空",trigger:"blur"}],deptId:[{required:!0,message:"所属部门不能为空",trigger:"blur"}],roleIds:[{required:!0,message:"用户角色不能为空",trigger:"blur"}],email:[{pattern:/\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/,message:"请输入正确的邮箱地址",trigger:"blur"}],mobile:[{pattern:/^1[3|4|5|6|7|8|9][0-9]\d{8}$/,message:"请输入正确的手机号码",trigger:"blur"}]}),F=c(),z=c(),Q=c(),U=R({title:"用户导入",visible:!1}),E=c(0),$=c(),q=c([]);qe(()=>{w.value.filter(F.value)},{flush:"post"});function ue(n,l){return n?l.label.indexOf(n)!==-1:!0}function ce(n){i.deptId=n.value,y()}async function Y(){Vl().then(n=>{Q.value=n.data})}function pe(n){const l=n.status===1?"启用":"停用";Z.confirm("确认要"+l+n.username+"用户吗?","警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>Ge(n.id,n.status)).then(()=>{g.success(l+"成功")}).catch(()=>{n.status=n.status===1?0:1})}function y(){x.value=!0,Ke(i).then(({data:n})=>{K.value=n.list,C.value=n.total}).finally(()=>{x.value=!1})}function I(){G.value.resetFields(),i.page=1,i.deptId=void 0,y()}function me(n){j.value=n.map(l=>l.id)}function _e(n){Z.prompt("请输入用户「"+n.username+"」的新密码","重置密码",{confirmButtonText:"确定",cancelButtonText:"取消"}).then(({value:l})=>{if(!l)return g.warning("请输入新密码"),!1;Qe(n.id,l).then(()=>{g.success("密码重置成功,新密码是:"+l)})}).catch(()=>{})}async function J(n){await A(),await Y(),v.visible=!0,n?(v.title="修改用户",Ye(n).then(({data:l})=>{Object.assign(s,l)})):v.title="新增用户"}function O(){v.visible=!1,fe()}function fe(){T.value.resetFields(),T.value.clearValidate(),s.id=void 0,s.status=1}const he=Ae(()=>{T.value.validate(n=>{if(n){const l=s.id;x.value=!0,l?kl(l,s).then(()=>{g.success("修改用户成功"),O(),I()}).finally(()=>x.value=!1):Cl(s).then(()=>{g.success("新增用户成功"),O(),I()}).finally(()=>x.value=!1)}})},3e3);function W(n){const l=[n||j.value].join(",");if(!l){g.warning("请勾选删除项");return}Z.confirm("确认删除用户?","警告",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(function(){Je(l).then(()=>{g.success("删除成功"),I()})})}async function A(){Bl().then(n=>{z.value=n.data})}function ge(){We().then(n=>{const l=new Blob([n.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"}),r=document.createElement("a"),_=window.URL.createObjectURL(l);r.href=_,r.download=decodeURI(n.headers["content-disposition"].split(";")[1].split("=")[1]),document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(_)})}async function ve(){await A(),await Y(),U.visible=!0}function be(n){if(!/\.(xlsx|xls|XLSX|XLS)$/.test(n.name))return g.warning("上传Excel只能为xlsx、xls格式"),$.value=void 0,q.value=[],!1;$.value=n.raw}function we(){if(E.value){if(!$.value)return g.warning("上传Excel文件不能为空"),!1;el(E.value,$.value).then(n=>{g.success(n.data),M(),I()})}}function M(){U.visible=!1,$.value=void 0,q.value=[]}function xe(){ll(i).then(n=>{const l=new Blob([n.data],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"}),r=document.createElement("a"),_=window.URL.createObjectURL(l);r.href=_,r.download=decodeURI(n.headers["content-disposition"].split(";")[1].split("=")[1]),document.body.appendChild(r),r.click(),document.body.removeChild(r),window.URL.revokeObjectURL(_)})}return Me(()=>{A(),y()}),(n,l)=>{const r=Rl,_=tl,ye=ie,ee=al,le=ol,u=nl,V=sl,N=dl,f=il,Ve=Ll,P=H,ke=Il,te=$l,ae=Jl,oe=rl,Ce=Zl,Ue=ul,Ee=cl,h=pl,$e=ml,Ie=Ml,Le=El,Re=_l,Be=Ul,De=fl,ne=hl,se=gl,Te=vl,de=bl,Fe=Ol,ze=wl,Oe=xl,S=Ne("hasPerm"),Se=yl;return p(),k("div",Wl,[e(De,{gutter:20},{default:t(()=>[e(le,{lg:4,xs:24,class:"mb-[12px]"},{default:t(()=>[e(ee,{shadow:"never"},{default:t(()=>[e(_,{modelValue:o(F),"onUpdate:modelValue":l[0]||(l[0]=a=>X(F)?F.value=a:null),placeholder:"部门名称",clearable:""},{prefix:t(()=>[e(r)]),_:1},8,["modelValue"]),e(ye,{ref_key:"deptTreeRef",ref:w,class:"mt-2",data:o(z),props:{children:"children",label:"label",disabled:""},"expand-on-click-node":!1,"filter-node-method":ue,"default-expand-all":"",onNodeClick:ce},null,8,["data"])]),_:1})]),_:1}),e(le,{lg:20,xs:24},{default:t(()=>[m("div",et,[e(P,{ref_key:"queryFormRef",ref:G,model:o(i),inline:!0},{default:t(()=>[e(u,{label:"关键字",prop:"keywords"},{default:t(()=>[e(_,{modelValue:o(i).keywords,"onUpdate:modelValue":l[1]||(l[1]=a=>o(i).keywords=a),placeholder:"用户名/昵称/手机号",clearable:"",style:{width:"200px"},onKeyup:Pe(y,["enter"])},null,8,["modelValue"])]),_:1}),e(u,{label:"状态",prop:"status"},{default:t(()=>[e(N,{modelValue:o(i).status,"onUpdate:modelValue":l[2]||(l[2]=a=>o(i).status=a),placeholder:"全部",clearable:"",style:{width:"200px"}},{default:t(()=>[e(V,{label:"启用",value:"1"}),e(V,{label:"禁用",value:"0"})]),_:1},8,["modelValue"])]),_:1}),e(u,null,{default:t(()=>[e(f,{type:"primary",onClick:y},{default:t(()=>[e(r),d("搜索")]),_:1}),e(f,{onClick:I},{default:t(()=>[e(Ve),d(" 重置")]),_:1})]),_:1})]),_:1},8,["model"])]),e(ee,{shadow:"never"},{header:t(()=>[m("div",lt,[m("div",null,[B((p(),b(f,{type:"success",onClick:l[3]||(l[3]=a=>J())},{default:t(()=>[e(ke),d("新增")]),_:1})),[[S,["sys:user:add"]]]),B((p(),b(f,{type:"danger",disabled:o(j).length===0,onClick:l[4]||(l[4]=a=>W())},{default:t(()=>[e(te),d("删除")]),_:1},8,["disabled"])),[[S,["sys:user:delete"]]])]),m("div",null,[e(Ee,{"split-button":""},{dropdown:t(()=>[e(Ue,null,{default:t(()=>[e(oe,{onClick:ge},{default:t(()=>[e(ae),d("下载模板")]),_:1}),e(oe,{onClick:ve},{default:t(()=>[e(Ce),d("导入数据")]),_:1})]),_:1})]),default:t(()=>[d(" 导入 ")]),_:1}),e(f,{class:"ml-3",onClick:xe},{icon:t(()=>[e(ae)]),default:t(()=>[d("导出")]),_:1})])])]),default:t(()=>[B((p(),b(Re,{data:o(K),onSelectionChange:me},{default:t(()=>[e(h,{type:"selection",width:"50",align:"center"}),e(h,{key:"id",label:"编号",align:"center",prop:"id",width:"100"}),e(h,{key:"username",label:"用户名",align:"center",prop:"username"}),e(h,{label:"用户昵称",width:"120",align:"center",prop:"nickname"}),e(h,{label:"性别",width:"100",align:"center",prop:"genderLabel"}),e(h,{label:"部门",width:"120",align:"center",prop:"deptName"}),e(h,{label:"手机号码",align:"center",prop:"mobile",width:"120"}),e(h,{label:"状态",align:"center",prop:"status"},{default:t(a=>[e($e,{modelValue:a.row.status,"onUpdate:modelValue":L=>a.row.status=L,"inactive-value":0,"active-value":1,onChange:L=>pe(a.row)},null,8,["modelValue","onUpdate:modelValue","onChange"])]),_:1}),e(h,{label:"创建时间",align:"center",prop:"createTime",width:"180"}),e(h,{label:"操作",fixed:"right",width:"220"},{default:t(a=>[e(f,{type:"primary",size:"small",link:"",onClick:L=>_e(a.row)},{default:t(()=>[e(Ie),d("重置密码")]),_:2},1032,["onClick"]),B((p(),b(f,{type:"primary",link:"",size:"small",onClick:L=>J(a.row.id)},{default:t(()=>[e(Le),d("编辑")]),_:2},1032,["onClick"])),[[S,["sys:user:edit"]]]),B((p(),b(f,{type:"primary",link:"",size:"small",onClick:L=>W(a.row.id)},{default:t(()=>[e(te),d("删除")]),_:2},1032,["onClick"])),[[S,["sys:user:delete"]]])]),_:1})]),_:1},8,["data"])),[[Se,o(x)]]),o(C)>0?(p(),b(Be,{key:0,total:o(C),"onUpdate:total":l[5]||(l[5]=a=>X(C)?C.value=a:null),page:o(i).page,"onUpdate:page":l[6]||(l[6]=a=>o(i).page=a),limit:o(i).pagesize,"onUpdate:limit":l[7]||(l[7]=a=>o(i).pagesize=a),onPagination:y},null,8,["total","page","limit"])):He("",!0)]),_:1})]),_:1})]),_:1}),e(de,{modelValue:o(v).visible,"onUpdate:modelValue":l[16]||(l[16]=a=>o(v).visible=a),title:o(v).title,width:"600px","append-to-body":"",onClose:O},{footer:t(()=>[m("div",tt,[e(f,{type:"primary",onClick:o(he)},{default:t(()=>[d("确 定")]),_:1},8,["onClick"]),e(f,{onClick:O},{default:t(()=>[d("取 消")]),_:1})])]),default:t(()=>[e(P,{ref_key:"userFormRef",ref:T,model:o(s),rules:o(re),"label-width":"80px"},{default:t(()=>[e(u,{label:"用户名",prop:"username"},{default:t(()=>[e(_,{modelValue:o(s).username,"onUpdate:modelValue":l[8]||(l[8]=a=>o(s).username=a),readonly:!!o(s).id,placeholder:"请输入用户名"},null,8,["modelValue","readonly"])]),_:1}),e(u,{label:"用户昵称",prop:"nickname"},{default:t(()=>[e(_,{modelValue:o(s).nickname,"onUpdate:modelValue":l[9]||(l[9]=a=>o(s).nickname=a),placeholder:"请输入用户昵称"},null,8,["modelValue"])]),_:1}),e(u,{label:"所属部门",prop:"deptId"},{default:t(()=>[e(ne,{modelValue:o(s).deptId,"onUpdate:modelValue":l[10]||(l[10]=a=>o(s).deptId=a),placeholder:"请选择所属部门",data:o(z),filterable:"","check-strictly":"","render-after-expand":!1},null,8,["modelValue","data"])]),_:1}),e(u,{label:"性别",prop:"gender"},{default:t(()=>[e(N,{modelValue:o(s).gender,"onUpdate:modelValue":l[11]||(l[11]=a=>o(s).gender=a),placeholder:"请选择"},{default:t(()=>[e(V,{label:"未知",value:0}),e(V,{label:"男",value:1}),e(V,{label:"女",value:2})]),_:1},8,["modelValue"])]),_:1}),e(u,{label:"角色",prop:"roleIds"},{default:t(()=>[e(N,{modelValue:o(s).roleIds,"onUpdate:modelValue":l[12]||(l[12]=a=>o(s).roleIds=a),multiple:"",placeholder:"请选择"},{default:t(()=>[(p(!0),k(Xe,null,Ze(o(Q),a=>(p(),b(V,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(u,{label:"手机号码",prop:"mobile"},{default:t(()=>[e(_,{modelValue:o(s).mobile,"onUpdate:modelValue":l[13]||(l[13]=a=>o(s).mobile=a),placeholder:"请输入手机号码",maxlength:"11"},null,8,["modelValue"])]),_:1}),e(u,{label:"邮箱",prop:"email"},{default:t(()=>[e(_,{modelValue:o(s).email,"onUpdate:modelValue":l[14]||(l[14]=a=>o(s).email=a),placeholder:"请输入邮箱",maxlength:"50"},null,8,["modelValue"])]),_:1}),e(u,{label:"状态",prop:"status"},{default:t(()=>[e(Te,{modelValue:o(s).status,"onUpdate:modelValue":l[15]||(l[15]=a=>o(s).status=a)},{default:t(()=>[e(se,{label:1},{default:t(()=>[d("正常")]),_:1}),e(se,{label:0},{default:t(()=>[d("禁用")]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"]),e(de,{modelValue:o(U).visible,"onUpdate:modelValue":l[18]||(l[18]=a=>o(U).visible=a),title:o(U).title,width:"600px","append-to-body":"",onClose:M},{footer:t(()=>[m("div",nt,[e(f,{type:"primary",onClick:we},{default:t(()=>[d("确 定")]),_:1}),e(f,{onClick:M},{default:t(()=>[d("取 消")]),_:1})])]),default:t(()=>[e(P,{"label-width":"80px"},{default:t(()=>[e(u,{label:"部门"},{default:t(()=>[e(ne,{modelValue:o(E),"onUpdate:modelValue":l[17]||(l[17]=a=>X(E)?E.value=a:null),placeholder:"请选择部门",data:o(z),filterable:"","check-strictly":""},null,8,["modelValue","data"])]),_:1}),e(u,{label:"Excel"},{default:t(()=>[e(Oe,{class:"upload-demo",action:"",drag:"","auto-upload":!1,accept:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel","file-list":o(q),"on-change":be,limit:1},{tip:t(()=>[ot]),default:t(()=>[e(ze,{class:"el-icon--upload"},{default:t(()=>[e(Fe)]),_:1}),at]),_:1},8,["file-list"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])])}}});export{ht as default};
|
|
|