zcui/frontend/dist/assets/UserManage-Cnx72WUp.js

2 lines
12 KiB
JavaScript

import{_ as ae,V as oe,o as g,c as D,e as t,f as a,j as i,k as b,q as I,F as $,r as j,h as p,a as v,t as se,g as V,m as E,a1 as ne,ae as re,E as x,T as F}from"./index-C1KISTGN.js";import{u as O,w as ue}from"./xlsx-DrgRuPKf.js";const de={class:"user-manage"},ie={class:"card-header"},pe={style:{display:"flex","align-items":"center",gap:"6px"}},me={__name:"UserManage",setup(fe){const c=b(!1),k=b(""),S=b(null),h=b(null),J=n=>{h.value=h.value===n.id?null:n.id},q=()=>{const n="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e="abcdefghijklmnopqrstuvwxyz",o="0123456789",s="!@#$%^&*",r=n+e+o+s;let m=[n[Math.floor(Math.random()*n.length)],e[Math.floor(Math.random()*e.length)],o[Math.floor(Math.random()*o.length)],s[Math.floor(Math.random()*s.length)]];for(let y=4;y<8;y++)m.push(r[Math.floor(Math.random()*r.length)]);return m.sort(()=>.5-Math.random()).join("")},B=["部门负责人","中心总监/战区/省公司总经理","财务负责人","招采负责人","总裁办负责人","分管领导(董事长/总裁/副总裁)","物流中心工程造价岗","审计部","内部专家","外部专家","投标单位","中标供应商","公众号管理员"],d=I({username:"",role:"",status:""}),u=I({username:"",password:"",unit:"",phone:"",role:"",status:"可用"}),z={username:[{required:!0,message:"请输入登录用户名",trigger:"blur"}],password:[{required:!0,message:"请输入密码",trigger:"blur"}],phone:[{required:!0,message:"请输入联系电话",trigger:"blur"}],role:[{required:!0,message:"请选择用户角色",trigger:"change"}],status:[{required:!0,message:"请选择用户状态",trigger:"change"}]},_=I({page:1,size:20,total:0}),T=b([]),P=()=>[{id:1,username:"dept_mgr01",password:"Dept@7k2P",unit:"漱玉平民大药房连锁股份有限公司",phone:"13801000001",role:"部门负责人",status:"可用",createTime:"2024-01-01"},{id:2,username:"dir_center01",password:"Dir#9mQ4",unit:"漱玉平民大药房连锁股份有限公司",phone:"13801000002",role:"中心总监/战区/省公司总经理",status:"可用",createTime:"2024-01-02"},{id:3,username:"finance_mgr01",password:"Fin$3xR8",unit:"漱玉平民大药房连锁股份有限公司",phone:"13801000003",role:"财务负责人",status:"可用",createTime:"2024-01-03"},{id:4,username:"bid_mgr01",password:"Bid!6nW2",unit:"漱玉平民大药房连锁股份有限公司",phone:"13801000004",role:"招采负责人",status:"可用",createTime:"2024-01-04"},{id:5,username:"ceo_office01",password:"Ceo@5vL9",unit:"漱玉平民大药房连锁股份有限公司",phone:"13801000005",role:"总裁办负责人",status:"可用",createTime:"2024-01-05"},{id:6,username:"leader01",password:"Ldr#8hT3",unit:"漱玉平民大药房连锁股份有限公司",phone:"13801000006",role:"分管领导(董事长/总裁/副总裁)",status:"可用",createTime:"2024-01-06"},{id:7,username:"cost_eng01",password:"Cst$2jM7",unit:"漱玉平民大药房连锁股份有限公司",phone:"13801000007",role:"物流中心工程造价岗",status:"可用",createTime:"2024-01-07"},{id:8,username:"audit01",password:"Aud!4pK6",unit:"漱玉平民大药房连锁股份有限公司",phone:"13801000008",role:"审计部",status:"可用",createTime:"2024-01-08"},{id:9,username:"inner_exp01",password:"Iex@7qN5",unit:"漱玉平民大药房连锁股份有限公司",phone:"13801000009",role:"内部专家",status:"可用",createTime:"2024-01-09"},{id:10,username:"outer_exp01",password:"Oex#3wB8",unit:"山东大学齐鲁医院",phone:"13801000010",role:"外部专家",status:"可用",createTime:"2024-01-10"},{id:11,username:"bidder01",password:"Bdr$6cF2",unit:"华润医药商业集团",phone:"13801000011",role:"投标单位",status:"可用",createTime:"2024-01-11"},{id:12,username:"winner01",password:"Win!9dH4",unit:"国药控股山东有限公司",phone:"13801000012",role:"中标供应商",status:"可用",createTime:"2024-01-12"},{id:13,username:"mp_admin01",password:"Mpa@5sG7",unit:"漱玉平民大药房连锁股份有限公司",phone:"13801000013",role:"公众号管理员",status:"可用",createTime:"2024-01-13"}],w=()=>{const n=localStorage.getItem("sysUsers");let e=n?JSON.parse(n):[];e.length===0&&(e=P(),localStorage.setItem("sysUsers",JSON.stringify(e)));let o=e;d.username&&(o=o.filter(s=>s.username.includes(d.username))),d.role&&(o=o.filter(s=>s.role===d.role)),d.status&&(o=o.filter(s=>s.status===d.status)),T.value=o,_.total=o.length};oe(w);const R=()=>{w(),x.success("查询成功")},L=()=>{d.username="",d.role="",d.status="",w()},A=()=>{var n;k.value="新增用户",Object.assign(u,{id:null,username:"",password:"",unit:"",phone:"",role:"",status:"可用"}),c.value=!0,(n=S.value)==null||n.clearValidate()},W=n=>{k.value="编辑用户",Object.assign(u,{...n}),c.value=!0},G=async n=>{await F.confirm(`确定重置用户 "${n.username}" 的密码吗?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"});const e=q(),o=localStorage.getItem("sysUsers"),s=o?JSON.parse(o):[],r=s.findIndex(m=>m.id===n.id);r!==-1&&(s[r].password=e,localStorage.setItem("sysUsers",JSON.stringify(s)),w()),x.success(`密码已重置为:${e}`)},H=async n=>{await F.confirm(`确定删除用户 "${n.username}" 吗?`,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"});const e=localStorage.getItem("sysUsers");let o=e?JSON.parse(e):[];o=o.filter(s=>s.id!==n.id),localStorage.setItem("sysUsers",JSON.stringify(o)),x.success("删除成功"),w()},K=()=>{var n;(n=S.value)==null||n.validate(e=>{if(!e)return;const o=localStorage.getItem("sysUsers"),s=o?JSON.parse(o):[];if(u.id){const r=s.findIndex(m=>m.id===u.id);r!==-1&&(s[r]={...s[r],...u})}else s.push({...u,id:Date.now(),createTime:new Date().toISOString().split("T")[0]});localStorage.setItem("sysUsers",JSON.stringify(s)),x.success("保存成功"),c.value=!1,w()})},Q=()=>{const n=T.value.map(s=>({用户名:s.username,姓名:s.name,角色:s.role,部门:s.department,手机号:s.phone,邮箱:s.email,状态:s.status===1?"启用":"禁用"})),e=O.json_to_sheet(n),o=O.book_new();O.book_append_sheet(o,e,"用户列表"),ue(o,`用户列表_${new Date().toLocaleDateString()}.xlsx`),x.success("导出成功")};return(n,e)=>{const o=i("el-button"),s=i("el-input"),r=i("el-form-item"),m=i("el-option"),y=i("el-select"),N=i("el-form"),f=i("el-table-column"),X=i("el-icon"),U=i("el-tag"),Y=i("el-table"),Z=i("el-pagination"),ee=i("el-card"),C=i("el-radio"),te=i("el-radio-group"),le=i("el-dialog");return g(),D("div",de,[t(ee,null,{header:a(()=>[v("div",ie,[e[15]||(e[15]=v("span",null,"用户管理",-1)),v("div",null,[t(o,{type:"success",onClick:Q},{default:a(()=>[...e[13]||(e[13]=[p("导出Excel",-1)])]),_:1}),t(o,{type:"primary",onClick:A},{default:a(()=>[...e[14]||(e[14]=[p("新增用户",-1)])]),_:1})])])]),default:a(()=>[t(N,{inline:!0,model:d,class:"search-form"},{default:a(()=>[t(r,{label:"用户名"},{default:a(()=>[t(s,{modelValue:d.username,"onUpdate:modelValue":e[0]||(e[0]=l=>d.username=l),placeholder:"请输入",clearable:""},null,8,["modelValue"])]),_:1}),t(r,{label:"用户角色"},{default:a(()=>[t(y,{modelValue:d.role,"onUpdate:modelValue":e[1]||(e[1]=l=>d.role=l),placeholder:"请选择",clearable:"",style:{width:"180px"}},{default:a(()=>[(g(),D($,null,j(B,l=>t(m,{key:l,label:l,value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"状态"},{default:a(()=>[t(y,{modelValue:d.status,"onUpdate:modelValue":e[2]||(e[2]=l=>d.status=l),placeholder:"请选择",clearable:"",style:{width:"120px"}},{default:a(()=>[t(m,{label:"可用",value:"可用"}),t(m,{label:"停用",value:"停用"}),t(m,{label:"审核中",value:"审核中"})]),_:1},8,["modelValue"])]),_:1}),t(r,null,{default:a(()=>[t(o,{type:"primary",onClick:R},{default:a(()=>[...e[16]||(e[16]=[p("查询",-1)])]),_:1}),t(o,{onClick:L},{default:a(()=>[...e[17]||(e[17]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),t(Y,{data:T.value,border:""},{default:a(()=>[t(f,{prop:"username",label:"登录用户名",width:"130"}),t(f,{prop:"unit",label:"用户单位","min-width":"160","show-overflow-tooltip":""}),t(f,{label:"密码",width:"130"},{default:a(({row:l})=>[v("div",pe,[v("span",null,se(h.value===l.id?l.password:"••••••••"),1),t(X,{style:{cursor:"pointer",color:"#409EFF"},onClick:M=>J(l)},{default:a(()=>[h.value!==l.id?(g(),V(E(ne),{key:0})):(g(),V(E(re),{key:1}))]),_:2},1032,["onClick"])])]),_:1}),t(f,{prop:"phone",label:"联系电话",width:"130"}),t(f,{prop:"role",label:"用户角色","min-width":"180","show-overflow-tooltip":""}),t(f,{prop:"status",label:"状态",width:"90"},{default:a(({row:l})=>[l.status==="可用"?(g(),V(U,{key:0,type:"success"},{default:a(()=>[...e[18]||(e[18]=[p("可用",-1)])]),_:1})):l.status==="停用"?(g(),V(U,{key:1,type:"danger"},{default:a(()=>[...e[19]||(e[19]=[p("停用",-1)])]),_:1})):(g(),V(U,{key:2,type:"warning"},{default:a(()=>[...e[20]||(e[20]=[p("审核中",-1)])]),_:1}))]),_:1}),t(f,{prop:"createTime",label:"创建时间",width:"120"}),t(f,{label:"操作",width:"200",fixed:"right"},{default:a(({row:l})=>[t(o,{link:"",type:"primary",onClick:M=>W(l)},{default:a(()=>[...e[21]||(e[21]=[p("编辑",-1)])]),_:1},8,["onClick"]),t(o,{link:"",type:"primary",onClick:M=>G(l)},{default:a(()=>[...e[22]||(e[22]=[p("重置密码",-1)])]),_:1},8,["onClick"]),t(o,{link:"",type:"danger",onClick:M=>H(l)},{default:a(()=>[...e[23]||(e[23]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),t(Z,{"current-page":_.page,"onUpdate:currentPage":e[3]||(e[3]=l=>_.page=l),"page-size":_.size,"onUpdate:pageSize":e[4]||(e[4]=l=>_.size=l),total:_.total,layout:"total, sizes, prev, pager, next, jumper",style:{"margin-top":"20px","justify-content":"flex-end"}},null,8,["current-page","page-size","total"])]),_:1}),t(le,{modelValue:c.value,"onUpdate:modelValue":e[12]||(e[12]=l=>c.value=l),title:k.value,width:"550px"},{footer:a(()=>[t(o,{onClick:e[11]||(e[11]=l=>c.value=!1)},{default:a(()=>[...e[27]||(e[27]=[p("取消",-1)])]),_:1}),t(o,{type:"primary",onClick:K},{default:a(()=>[...e[28]||(e[28]=[p("提交",-1)])]),_:1})]),default:a(()=>[t(N,{model:u,rules:z,ref_key:"formRef",ref:S,"label-width":"110px"},{default:a(()=>[t(r,{label:"登录用户名",prop:"username"},{default:a(()=>[t(s,{modelValue:u.username,"onUpdate:modelValue":e[5]||(e[5]=l=>u.username=l),placeholder:"请输入登录用户名"},null,8,["modelValue"])]),_:1}),t(r,{label:"用户密码",prop:"password"},{default:a(()=>[t(s,{modelValue:u.password,"onUpdate:modelValue":e[6]||(e[6]=l=>u.password=l),type:"password",placeholder:"请输入密码","show-password":""},null,8,["modelValue"])]),_:1}),t(r,{label:"用户单位",prop:"unit"},{default:a(()=>[t(s,{modelValue:u.unit,"onUpdate:modelValue":e[7]||(e[7]=l=>u.unit=l),placeholder:"请输入用户单位"},null,8,["modelValue"])]),_:1}),t(r,{label:"联系电话",prop:"phone"},{default:a(()=>[t(s,{modelValue:u.phone,"onUpdate:modelValue":e[8]||(e[8]=l=>u.phone=l),placeholder:"请输入联系电话"},null,8,["modelValue"])]),_:1}),t(r,{label:"用户角色",prop:"role"},{default:a(()=>[t(y,{modelValue:u.role,"onUpdate:modelValue":e[9]||(e[9]=l=>u.role=l),placeholder:"请选择角色",style:{width:"100%"}},{default:a(()=>[(g(),D($,null,j(B,l=>t(m,{key:l,label:l,value:l},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),t(r,{label:"用户状态",prop:"status"},{default:a(()=>[t(te,{modelValue:u.status,"onUpdate:modelValue":e[10]||(e[10]=l=>u.status=l)},{default:a(()=>[t(C,{value:"可用"},{default:a(()=>[...e[24]||(e[24]=[p("可用",-1)])]),_:1}),t(C,{value:"停用"},{default:a(()=>[...e[25]||(e[25]=[p("停用",-1)])]),_:1}),t(C,{value:"审核中"},{default:a(()=>[...e[26]||(e[26]=[p("审核中",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}},_e=ae(me,[["__scopeId","data-v-7dad191c"]]);export{_e as default};