2 lines
9.7 KiB
JavaScript
2 lines
9.7 KiB
JavaScript
import{U as e,V as a,T as l,a0 as s,a1 as r,g as o,a2 as t,r as d,s as i,a3 as n,a4 as u,h as p,a5 as m,a6 as c,w as f,x as _,y as g,P as w,a as v,b as y,C as b,Q as h}from"./element-plus.DhcJM-BD.js";import{f as x,j as V,U,k,r as C}from"./index.BPA2kTd2.js";import{o as j,e9 as P,B as R,H as q,I as z,J as I,ac as M,t as A,u as E,K as F,v as L,a as O,Z as S,Y as D,L as Z,R as B,am as T,r as K,c as $,D as H,aC as J}from"./.pnpm.DGfAnZKL.js";import{_ as Q}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./codemirror.CR5zRbyM.js";const W={class:"app-container"},Y={class:"user-info-header"},G={class:"avatar-alert mb-10px"},N={class:"avatar-wrapper"},X={class:"user-name"},ee={class:"cell-item"},ae={class:"cell-item"},le={class:"cell-item"},se={class:"cell-item"},re={class:"cell-item"},oe={class:"cell-item"},te=Q(j({__name:"profile",setup(j){const{t:Q}=P(),te=x(),de=V(),ie=K(),ne=K(),ue=K(!1),pe=$(()=>de.dictData),me=K("default"),ce=$(()=>({marginRight:{large:"8px",default:"6px",small:"4px"}[me.value||"default"]})),fe=K(!1),_e=K(!1),ge=M({name:void 0,gender:1,mobile:void 0,email:void 0,username:void 0,dept_name:void 0,dept:{},positions:[],roles:[],avatar:void 0,created_time:void 0}),we=M({old_password:"",new_password:"",confirm_password:""}),ve=K([]),ye=K(),be=e=>{const a=e.type.startsWith("image/"),l=e.size/1024/1024<2;return a?!!l||(v.error("上传图片大小不能超过 2MB!"),!1):(v.error("只能上传图片文件"),!1)},he=async e=>{try{const a=e.file,l=new FormData;l.append("file",a);const s=await U.uploadCurrentUserAvatar(l);if(0===s.data.code&&s.data.data){const a=s.data.data.file_url;Ve(a),e.onSuccess(s),ye.value&&ye.value.clearFiles(),ve.value=[]}else{const a=s.data.msg||"上传失败";v.error(a),e.onError({...new Error(a),status:s.status||500,method:"POST",url:"/system/user/current/avatar/upload"})}}catch(a){v.error("头像上传失败,请重试");const l=a instanceof Error?a:new Error(String(a));e.onError({...l,status:500,method:"POST",url:"/system/user/current/avatar/upload"})}},xe=(e,a)=>{e&&(ve.value=[...a],ye.value&&ye.value.submit())},Ve=e=>{e?(ge.avatar=e,H(()=>{})):v.error("无效的头像URL")},Ue={name:[{required:!0,message:"请输入用户名",trigger:"blur"}],mobile:[{pattern:/^1[3-9]\d{9}$/,message:"请输入有效的手机号格式",trigger:"blur"}],email:[{pattern:/\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/,message:"请输入有效的邮箱格式",trigger:"blur"}]},ke={old_password:[{required:!0,trigger:"blur",message:Q("login.password")}],new_password:[{required:!0,trigger:"blur",message:Q("login.message.password.required")},{min:6,message:Q("login.message.password.min"),trigger:"blur"}],confirm_password:[{required:!0,trigger:"blur",message:Q("login.message.password.required")},{min:6,message:Q("login.message.password.min"),trigger:"blur"},{validator:(e,a)=>a===we.new_password,trigger:"blur",message:Q("login.message.password.inconformity")}]},Ce=async()=>{var e;try{_e.value=!0;if(!(await(null==(e=ie.value)?void 0:e.validate().catch(()=>!1))))return;const a=await U.updateCurrentUserInfo({...ge});await te.setUserInfo(a.data.data),v.success("个人资料已保存")}finally{_e.value=!1}},je=async()=>{var e;try{fe.value=!0;if(!(await(null==(e=ne.value)?void 0:e.validate().catch(()=>!1))))return;const a=await U.changeCurrentUserPassword(we);Object.assign(we,{old_password:"",new_password:"",confirm_password:""}),await async function(e="请重新登录"){try{y({title:"提示",message:e,type:"warning",duration:3e3}),await k().resetAllState();const a=C.currentRoute.value.fullPath;await C.push(`/login?redirect=${encodeURIComponent(a)}`)}catch(a){}}(a.data.msg)}catch(a){}finally{fe.value=!1}};return R(async()=>{await(async()=>await de.getDict(["sys_user_sex"]))(),(()=>{const e=te.basicInfo;Object.assign(ge,{...e})})()}),(v,y)=>{const x=s,V=b,U=o,k=r,C=d,j=i,P=J("User"),R=p,M=u,K=J("Coordinate"),$=J("OfficeBuilding"),H=J("Phone"),te=J("Message"),de=J("Clock"),me=n,Ve=l,Pe=a,Re=g,qe=_,ze=h,Ie=w,Me=f,Ae=c,Ee=J("Lock"),Fe=J("Key"),Le=J("Check"),Oe=m,Se=e;return A(),q("div",W,[z(Se,{gutter:12},{default:I(()=>[z(Pe,{span:6,class:"mb-4"},{default:I(()=>[z(Ve,{loading:E(ue),shadow:"hover"},{header:I(()=>[...y[8]||(y[8]=[F("div",{class:"card-header"},[F("span",null,"基本信息")],-1)])]),default:I(()=>[F("div",Y,[F("div",G,[z(x,{type:"info","show-icon":"",closable:!1,title:"头像上传,点击“保存更改”按钮使其生效"})]),F("div",N,[E(ge).avatar?(A(),L(V,{key:0,src:E(ge).avatar,size:120},null,8,["src"])):(A(),L(V,{key:1,icon:"UserFilled",size:120})),z(k,{ref_key:"uploadRef",ref:ye,"file-list":E(ve),"onUpdate:fileList":y[0]||(y[0]=e=>O(ve)?ve.value=e:null),class:"el-upload",name:"file","show-file-list":!1,"before-upload":be,"http-request":he,disabled:E(ue),limit:1,"auto-upload":!1,onChange:xe},{trigger:I(()=>[z(U,{type:"primary",icon:E(t),class:"upload-trigger"},null,8,["icon"])]),_:1},8,["file-list","disabled"])]),F("span",X,S(E(ge).name),1),z(C,null,{default:I(()=>{var e;return[D(S(null==(e=E(ge).roles)?void 0:e.map(e=>e.name).join("、")),1)]}),_:1})]),z(j),z(me,{column:1,border:""},{default:I(()=>[z(M,null,{label:I(()=>[F("div",ee,[z(R,{style:Z(E(ce))},{default:I(()=>[z(P)]),_:1},8,["style"]),y[9]||(y[9]=F("span",null,"账号",-1))])]),default:I(()=>[F("span",null,S(E(ge).username),1)]),_:1}),z(M,null,{label:I(()=>[F("div",ae,[z(R,{style:Z(E(ce))},{default:I(()=>[z(K)]),_:1},8,["style"]),y[10]||(y[10]=F("span",null,"部门",-1))])]),default:I(()=>{var e;return[F("span",null,S(null==(e=E(ge).dept)?void 0:e.name),1)]}),_:1}),z(M,null,{label:I(()=>[F("div",le,[z(R,{style:Z(E(ce))},{default:I(()=>[z($)]),_:1},8,["style"]),y[11]||(y[11]=F("span",null,"岗位",-1))])]),default:I(()=>{var e;return[F("span",null,S(null==(e=E(ge).positions)?void 0:e.map(e=>e.name).join("、")),1)]}),_:1}),z(M,null,{label:I(()=>[F("div",se,[z(R,{style:Z(E(ce))},{default:I(()=>[z(H)]),_:1},8,["style"]),y[12]||(y[12]=F("span",null,"手机",-1))])]),default:I(()=>[F("span",null,S(E(ge).mobile),1)]),_:1}),z(M,null,{label:I(()=>[F("div",re,[z(R,{style:Z(E(ce))},{default:I(()=>[z(te)]),_:1},8,["style"]),y[13]||(y[13]=F("span",null,"邮箱",-1))])]),default:I(()=>[F("span",null,S(E(ge).email),1)]),_:1}),z(M,null,{label:I(()=>[F("div",oe,[z(R,{style:Z(E(ce))},{default:I(()=>[z(de)]),_:1},8,["style"]),y[14]||(y[14]=F("span",null,"加入时间",-1))])]),default:I(()=>[F("span",null,S(E(ge).created_time),1)]),_:1})]),_:1})]),_:1},8,["loading"])]),_:1}),z(Pe,{span:18,class:"mb-4"},{default:I(()=>[z(Ve,{loading:E(ue),shadow:"hover"},{default:I(()=>[z(Oe,{type:"border-card"},{default:I(()=>[z(Ae,null,{label:I(()=>[z(R,null,{default:I(()=>[z(P)]),_:1}),y[15]||(y[15]=F("span",null,"基本设置",-1))]),default:I(()=>[F("div",null,[z(Me,{ref_key:"infoFormRef",ref:ie,model:E(ge),rules:Ue,"label-width":"80px","label-suffix":":"},{default:I(()=>[z(qe,{label:"用户名",prop:"name"},{default:I(()=>[z(Re,{modelValue:E(ge).name,"onUpdate:modelValue":y[1]||(y[1]=e=>E(ge).name=e),placeholder:"请输入用户名","prefix-icon":"User",clearable:"",style:{width:"240px"}},null,8,["modelValue"])]),_:1}),z(qe,{label:"手机号",prop:"mobile"},{default:I(()=>[z(Re,{modelValue:E(ge).mobile,"onUpdate:modelValue":y[2]||(y[2]=e=>E(ge).mobile=e),placeholder:"请输入手机号码","prefix-icon":"Phone",clearable:"",style:{width:"240px"}},null,8,["modelValue"])]),_:1}),z(qe,{label:"邮箱",prop:"email"},{default:I(()=>[z(Re,{modelValue:E(ge).email,"onUpdate:modelValue":y[3]||(y[3]=e=>E(ge).email=e),placeholder:"请输入邮箱","prefix-icon":"Message",clearable:"",style:{width:"240px"}},null,8,["modelValue"])]),_:1}),z(qe,{label:"性别",prop:"gender"},{default:I(()=>[z(Ie,{modelValue:E(ge).gender,"onUpdate:modelValue":y[4]||(y[4]=e=>E(ge).gender=e)},{default:I(()=>[(A(!0),q(B,null,T(E(pe).sys_user_sex,e=>(A(),L(ze,{key:e.dict_value,value:e.dict_value},{default:I(()=>[D(S(e.dict_label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])]),_:1}),z(qe,null,{default:I(()=>[z(U,{type:"primary",loading:E(_e),icon:"edit",onClick:Ce},{default:I(()=>[...y[16]||(y[16]=[D(" 保存更改 ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"])])]),_:1}),z(Ae,null,{label:I(()=>[z(R,null,{default:I(()=>[z(Ee)]),_:1}),y[17]||(y[17]=F("span",null,"安全设置",-1))]),default:I(()=>[F("div",null,[z(Me,{ref_key:"passwordFormRef",ref:ne,model:E(we),rules:ke,"label-width":"120px","label-suffix":":"},{default:I(()=>[z(qe,{label:"当前密码",prop:"old_password"},{default:I(()=>[z(Re,{modelValue:E(we).old_password,"onUpdate:modelValue":y[5]||(y[5]=e=>E(we).old_password=e),modelModifiers:{trim:!0},placeholder:E(Q)("login.password"),type:"password","prefix-icon":"Unlock","show-password":"",clearable:"",style:{width:"240px"}},{prefix:I(()=>[z(Ee)]),_:1},8,["modelValue","placeholder"])]),_:1}),z(qe,{label:"新密码",prop:"new_password"},{default:I(()=>[z(Re,{modelValue:E(we).new_password,"onUpdate:modelValue":y[6]||(y[6]=e=>E(we).new_password=e),modelModifiers:{trim:!0},type:"password",placeholder:E(Q)("login.newPassword"),"prefix-icon":"Unlock","show-password":"",clearable:"",style:{width:"240px"}},{prefix:I(()=>[z(Fe)]),_:1},8,["modelValue","placeholder"])]),_:1}),z(qe,{label:"确认新密码",prop:"confirm_password"},{default:I(()=>[z(Re,{modelValue:E(we).confirm_password,"onUpdate:modelValue":y[7]||(y[7]=e=>E(we).confirm_password=e),modelModifiers:{trim:!0},type:"password",placeholder:E(Q)("login.message.password.confirm"),"prefix-icon":"Lock","show-password":"",clearable:"",style:{width:"240px"}},{prefix:I(()=>[z(Le)]),_:1},8,["modelValue","placeholder"])]),_:1}),z(qe,null,{default:I(()=>[z(U,{type:"primary",loading:E(fe),icon:"edit",onClick:je},{default:I(()=>[...y[18]||(y[18]=[D(" 更新密码 ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1},8,["model"])])]),_:1})]),_:1})]),_:1},8,["loading"])]),_:1})]),_:1})])}}}),[["__scopeId","data-v-76f780d0"]]);export{te as default};
|