EditEmployeeInfo.84ee0c12.js 3.9 KB

1
  1. import{y as q,q as D,F as L,f as V}from"./elementPlus.8e650391.js";import{u as N}from"./useResponse.4dd7726f.js";import{u as $}from"./api.2f7c8e86.js";import{d as P,aI as w,aJ as S,r as f,Z as b,E as T,j as z,ai as m,o as O,M as U,O as s,U as o,u as n,S as E,a as J}from"./vue.86c1cb21.js";import{_ as Z}from"./_plugin-vue_export-helper.c27b6911.js";import"./index.59c4c6ab.js";const G=["src"],H=P({__name:"EditEmployeeInfo",props:w({employeeOverview:{},name:{}},{modelValue:{default:!1},modelModifiers:{}}),emits:w(["refresh"],["update:modelValue"]),setup(d,{emit:F}){const p=S(d,"modelValue"),I=F,v=f(),c=f(),l=b({name:"",department:"",phone:"",email:"",images:[]}),M=b({name:[{required:!0,message:"请输入姓名",trigger:"blur"}],department:[{required:!0,message:"请输入部门",trigger:"blur"}],phone:[],email:[]}),g=f(!1),_=f("");T(()=>{j()});const x=a=>{v.value.clearFiles();const e=a[0];e.uid=L(),v.value.handleStart(e)},C=a=>{_.value=a.url||URL.createObjectURL(a.raw),g.value=!0},h=async a=>{a&&await a.validate(async(e,r)=>{if(e){const i=new FormData;for(const u in l)u!=="images"&&l.hasOwnProperty(u)&&i.append(u,l[u]);Array.isArray(l.images)&&l.images.forEach(u=>{u.raw&&i.append("images",u.raw)});try{(await N({id:d.employeeOverview.id,partial:1,dataToUpload:i},$)).code===2e3&&(V.success("修改成功"),p.value=!1,I("refresh"))}catch(u){console.error("上传失败:",u),V.error("上传失败,请重试")}}else console.log("error submit!",r)})},R=a=>{a&&(p.value=!1,a.resetFields())};function j(){const a=Object.keys(l).reduce((e,r)=>(r in d.employeeOverview&&(r==="images"&&Array.isArray(d.employeeOverview[r])?e[r]=d.employeeOverview[r].map(i=>({name:"已上传图片",url:i.image_url})):e[r]=d.employeeOverview[r]),e),{});Object.assign(l,a)}return z(()=>{}),(a,e)=>{const r=m("el-input"),i=m("el-form-item"),u=m("el-upload"),y=m("el-button"),A=m("el-form"),B=m("el-dialog"),k=m("el-drawer");return O(),U(k,{modelValue:p.value,"onUpdate:modelValue":e[8]||(e[8]=t=>p.value=t),title:`人员编辑 - ${a.name}`,size:"30%"},{default:s(()=>[o(A,{ref_key:"ruleFormRef",ref:c,model:n(l),rules:n(M),class:"employee-info-form","label-width":"auto"},{default:s(()=>[o(i,{label:"姓名:",prop:"name"},{default:s(()=>[o(r,{modelValue:n(l).name,"onUpdate:modelValue":e[0]||(e[0]=t=>n(l).name=t),placeholder:"请输入姓名"},null,8,["modelValue"])]),_:1}),o(i,{label:"部门:",prop:"department"},{default:s(()=>[o(r,{modelValue:n(l).department,"onUpdate:modelValue":e[1]||(e[1]=t=>n(l).department=t),placeholder:"请输入部门"},null,8,["modelValue"])]),_:1}),o(i,{label:"电话号码:",prop:"phone"},{default:s(()=>[o(r,{modelValue:n(l).phone,"onUpdate:modelValue":e[2]||(e[2]=t=>n(l).phone=t),placeholder:"请输入电话号码"},null,8,["modelValue"])]),_:1}),o(i,{label:"邮箱:",prop:"email"},{default:s(()=>[o(r,{modelValue:n(l).email,"onUpdate:modelValue":e[3]||(e[3]=t=>n(l).email=t),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1}),(O(),U(i,{key:a.images,label:"电脑图片:"},{default:s(()=>[o(u,{ref_key:"upload",ref:v,"file-list":n(l).images,"onUpdate:fileList":e[4]||(e[4]=t=>n(l).images=t),"auto-upload":!1,limit:1,"on-exceed":x,action:"#","list-type":"picture-card",accept:"image/*","on-preview":C},{default:s(()=>[o(n(q),null,{default:s(()=>[o(n(D))]),_:1})]),_:1},8,["file-list"])]),_:1})),o(i,{class:"button-group"},{default:s(()=>[o(y,{type:"primary",onClick:e[5]||(e[5]=t=>h(c.value))},{default:s(()=>e[9]||(e[9]=[E("保存")])),_:1}),o(y,{onClick:e[6]||(e[6]=t=>R(c.value))},{default:s(()=>e[10]||(e[10]=[E("取消")])),_:1})]),_:1})]),_:1},8,["model","rules"]),o(B,{modelValue:g.value,"onUpdate:modelValue":e[7]||(e[7]=t=>g.value=t),width:"30%",height:"30%"},{default:s(()=>[J("img",{src:_.value,alt:"预览图",style:{width:"100%",height:"auto"}},null,8,G)]),_:1},8,["modelValue"])]),_:1},8,["modelValue","title"])}}});const le=Z(H,[["__scopeId","data-v-00992b3b"]]);export{le as default};