| 1 |
- import{g as te,d as oe,u as ne,a as ue}from"./employee-DdJFLHYJ.js";import{b as de}from"./organization-Bu69z2TY.js";import{g as re}from"./department-CVrlxv29.js";import{_ as pe,r as V,m as se,c as z,o as i,d as e,w as a,e as r,E as _,F as x,p as Y,k as c,h as p,b as E,t as h,n as ie,l as me}from"./index-BXcojUkr.js";import"./request-mYjrXBLT.js";const fe={class:"employee-container"},ve={style:{display:"flex","justify-content":"space-between","align-items":"center"}},ge={__name:"Employee",setup(ye){const m=V({keyword:"",organizationId:null,departmentId:null,status:null}),T=V([]),N=V([]),S=V([]),y=V({page:1,size:10,total:0}),D=V(!1),M=V(""),U=V(null),o=V({employeeCode:"",name:"",gender:1,birthDate:"",phone:"",email:"",idCard:"",organizationId:null,departmentId:null,position:"",positionLevel:"",entryDate:"",contractType:1,contractStartDate:"",contractEndDate:"",bankName:"",bankAccount:"",status:1,leaveDate:""}),j={employeeCode:[{required:!0,message:"请输入工号",trigger:"blur"}],name:[{required:!0,message:"请输入姓名",trigger:"blur"}],phone:[{required:!0,message:"请输入手机号",trigger:"blur"}],organizationId:[{required:!0,message:"请选择所属组织",trigger:"change"}],departmentId:[{required:!0,message:"请选择所属部门",trigger:"change"}]},R=async()=>{try{const n=await de();T.value=n.data||[]}catch{_.error("获取组织列表失败")}},$=async()=>{try{const n=await re();N.value=L(n.data||[])}catch{_.error("获取部门列表失败")}},L=(n,l=[])=>(n.forEach(s=>{l.push(s),s.children&&s.children.length>0&&L(s.children,l)}),l),w=async()=>{const n={page:y.value.page,size:y.value.size,...m.value};try{const l=await te(n);S.value=l.data.records,y.value.total=l.data.total}catch{_.error("查询失败")}},B=()=>{y.value.page=1,w()},O=()=>{m.value={keyword:"",organizationId:null,departmentId:null,status:null},B()},P=()=>{M.value="新增员工",o.value={employeeCode:"",name:"",gender:1,birthDate:"",phone:"",email:"",idCard:"",organizationId:null,departmentId:null,position:"",positionLevel:"",entryDate:"",contractType:1,contractStartDate:"",contractEndDate:"",bankName:"",bankAccount:"",status:1,leaveDate:""},D.value=!0},G=n=>{M.value="编辑员工",o.value={...n},D.value=!0},H=async n=>{try{await me.confirm("确认删除该员工吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),await oe(n.id),_.success("删除成功"),w()}catch(l){l!=="cancel"&&_.error("删除失败")}},J=async()=>{U.value&&await U.value.validate(async n=>{if(n)try{o.value.id?(await ne(o.value.id,o.value),_.success("更新成功")):(await ue(o.value),_.success("新增成功")),D.value=!1,w()}catch(l){_.error(l.message||"操作失败")}})},K=()=>{var n;(n=U.value)==null||n.resetFields()},Q=n=>({1:"劳动合同",2:"劳务合同",3:"实习协议"})[n]||"-",W=n=>n?n.replace("T"," "):"-";return se(()=>{R(),$(),w()}),(n,l)=>{const s=r("el-button"),v=r("el-input"),u=r("el-form-item"),b=r("el-option"),k=r("el-select"),A=r("el-form"),f=r("el-table-column"),q=r("el-tag"),X=r("el-table"),Z=r("el-pagination"),ee=r("el-card"),d=r("el-col"),g=r("el-row"),I=r("el-radio"),F=r("el-radio-group"),C=r("el-date-picker"),le=r("el-dialog");return i(),z("div",fe,[e(ee,null,{header:a(()=>[E("div",ve,[l[28]||(l[28]=E("span",null,"员工管理",-1)),e(s,{type:"primary",onClick:P},{default:a(()=>[...l[27]||(l[27]=[p("新增员工",-1)])]),_:1})])]),default:a(()=>[e(A,{inline:!0,model:m.value,style:{"margin-bottom":"20px"}},{default:a(()=>[e(u,{label:"关键字"},{default:a(()=>[e(v,{modelValue:m.value.keyword,"onUpdate:modelValue":l[0]||(l[0]=t=>m.value.keyword=t),placeholder:"姓名/工号/手机号",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),e(u,{label:"所属组织"},{default:a(()=>[e(k,{modelValue:m.value.organizationId,"onUpdate:modelValue":l[1]||(l[1]=t=>m.value.organizationId=t),placeholder:"请选择组织",clearable:"",style:{width:"180px"}},{default:a(()=>[(i(!0),z(x,null,Y(T.value,t=>(i(),c(b,{key:t.id,label:t.organizationName,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(u,{label:"所属部门"},{default:a(()=>[e(k,{modelValue:m.value.departmentId,"onUpdate:modelValue":l[2]||(l[2]=t=>m.value.departmentId=t),placeholder:"请选择部门",clearable:"",style:{width:"180px"}},{default:a(()=>[(i(!0),z(x,null,Y(N.value,t=>(i(),c(b,{key:t.id,label:t.departmentName,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(u,{label:"状态"},{default:a(()=>[e(k,{modelValue:m.value.status,"onUpdate:modelValue":l[3]||(l[3]=t=>m.value.status=t),placeholder:"请选择状态",clearable:"",style:{width:"120px"}},{default:a(()=>[e(b,{label:"在职",value:1}),e(b,{label:"离职",value:0})]),_:1},8,["modelValue"])]),_:1}),e(u,null,{default:a(()=>[e(s,{type:"primary",onClick:B},{default:a(()=>[...l[29]||(l[29]=[p("查询",-1)])]),_:1}),e(s,{onClick:O},{default:a(()=>[...l[30]||(l[30]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),e(X,{data:S.value,border:"",style:{width:"100%"}},{default:a(()=>[e(f,{prop:"employeeCode",label:"工号",width:"120"}),e(f,{prop:"name",label:"姓名",width:"100"}),e(f,{prop:"gender",label:"性别",width:"60"},{default:a(({row:t})=>[E("span",null,h(t.gender===1?"男":t.gender===2?"女":"-"),1)]),_:1}),e(f,{prop:"phone",label:"手机号",width:"120"}),e(f,{prop:"email",label:"邮箱",width:"180"}),e(f,{prop:"position",label:"岗位",width:"120"}),e(f,{prop:"entryDate",label:"入职日期",width:"120"}),e(f,{prop:"contractType",label:"合同类型",width:"100"},{default:a(({row:t})=>[E("span",null,h(Q(t.contractType)),1)]),_:1}),e(f,{prop:"status",label:"状态",width:"80"},{default:a(({row:t})=>[t.status===1?(i(),c(q,{key:0,type:"success"},{default:a(()=>[...l[31]||(l[31]=[p("在职",-1)])]),_:1})):(i(),c(q,{key:1,type:"info"},{default:a(()=>[...l[32]||(l[32]=[p("离职",-1)])]),_:1}))]),_:1}),e(f,{prop:"createTime",label:"创建时间",width:"180"},{default:a(({row:t})=>[p(h(W(t.createTime)),1)]),_:1}),e(f,{label:"操作",width:"200",fixed:"right"},{default:a(({row:t})=>[e(s,{type:"primary",size:"small",onClick:ae=>G(t)},{default:a(()=>[...l[33]||(l[33]=[p("编辑",-1)])]),_:1},8,["onClick"]),e(s,{type:"danger",size:"small",onClick:ae=>H(t)},{default:a(()=>[...l[34]||(l[34]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),e(Z,{"current-page":y.value.page,"onUpdate:currentPage":l[4]||(l[4]=t=>y.value.page=t),"page-size":y.value.size,"onUpdate:pageSize":l[5]||(l[5]=t=>y.value.size=t),total:y.value.total,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:w,onCurrentChange:w,style:{"margin-top":"20px","justify-content":"flex-end"}},null,8,["current-page","page-size","total"])]),_:1}),e(le,{modelValue:D.value,"onUpdate:modelValue":l[26]||(l[26]=t=>D.value=t),title:M.value,width:"800px",onClose:K},{footer:a(()=>[e(s,{onClick:l[25]||(l[25]=t=>D.value=!1)},{default:a(()=>[...l[39]||(l[39]=[p("取消",-1)])]),_:1}),e(s,{type:"primary",onClick:J},{default:a(()=>[...l[40]||(l[40]=[p("确定",-1)])]),_:1})]),default:a(()=>[e(A,{ref_key:"formRef",ref:U,model:o.value,rules:j,"label-width":"120px"},{default:a(()=>[e(g,{gutter:20},{default:a(()=>[e(d,{span:12},{default:a(()=>[e(u,{label:"工号",prop:"employeeCode"},{default:a(()=>[e(v,{modelValue:o.value.employeeCode,"onUpdate:modelValue":l[6]||(l[6]=t=>o.value.employeeCode=t),placeholder:"请输入工号"},null,8,["modelValue"])]),_:1})]),_:1}),e(d,{span:12},{default:a(()=>[e(u,{label:"姓名",prop:"name"},{default:a(()=>[e(v,{modelValue:o.value.name,"onUpdate:modelValue":l[7]||(l[7]=t=>o.value.name=t),placeholder:"请输入姓名"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(g,{gutter:20},{default:a(()=>[e(d,{span:12},{default:a(()=>[e(u,{label:"性别",prop:"gender"},{default:a(()=>[e(F,{modelValue:o.value.gender,"onUpdate:modelValue":l[8]||(l[8]=t=>o.value.gender=t)},{default:a(()=>[e(I,{label:1},{default:a(()=>[...l[35]||(l[35]=[p("男",-1)])]),_:1}),e(I,{label:2},{default:a(()=>[...l[36]||(l[36]=[p("女",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(d,{span:12},{default:a(()=>[e(u,{label:"出生日期",prop:"birthDate"},{default:a(()=>[e(C,{modelValue:o.value.birthDate,"onUpdate:modelValue":l[9]||(l[9]=t=>o.value.birthDate=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(g,{gutter:20},{default:a(()=>[e(d,{span:12},{default:a(()=>[e(u,{label:"手机号",prop:"phone"},{default:a(()=>[e(v,{modelValue:o.value.phone,"onUpdate:modelValue":l[10]||(l[10]=t=>o.value.phone=t),placeholder:"请输入手机号"},null,8,["modelValue"])]),_:1})]),_:1}),e(d,{span:12},{default:a(()=>[e(u,{label:"邮箱",prop:"email"},{default:a(()=>[e(v,{modelValue:o.value.email,"onUpdate:modelValue":l[11]||(l[11]=t=>o.value.email=t),placeholder:"请输入邮箱"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(g,{gutter:20},{default:a(()=>[e(d,{span:12},{default:a(()=>[e(u,{label:"身份证号",prop:"idCard"},{default:a(()=>[e(v,{modelValue:o.value.idCard,"onUpdate:modelValue":l[12]||(l[12]=t=>o.value.idCard=t),placeholder:"请输入身份证号"},null,8,["modelValue"])]),_:1})]),_:1}),e(d,{span:12},{default:a(()=>[e(u,{label:"入职日期",prop:"entryDate"},{default:a(()=>[e(C,{modelValue:o.value.entryDate,"onUpdate:modelValue":l[13]||(l[13]=t=>o.value.entryDate=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(g,{gutter:20},{default:a(()=>[e(d,{span:12},{default:a(()=>[e(u,{label:"所属组织",prop:"organizationId"},{default:a(()=>[e(k,{modelValue:o.value.organizationId,"onUpdate:modelValue":l[14]||(l[14]=t=>o.value.organizationId=t),placeholder:"请选择组织",style:{width:"100%"}},{default:a(()=>[(i(!0),z(x,null,Y(T.value,t=>(i(),c(b,{key:t.id,label:t.organizationName,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(d,{span:12},{default:a(()=>[e(u,{label:"所属部门",prop:"departmentId"},{default:a(()=>[e(k,{modelValue:o.value.departmentId,"onUpdate:modelValue":l[15]||(l[15]=t=>o.value.departmentId=t),placeholder:"请选择部门",style:{width:"100%"}},{default:a(()=>[(i(!0),z(x,null,Y(N.value,t=>(i(),c(b,{key:t.id,label:t.departmentName,value:t.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(g,{gutter:20},{default:a(()=>[e(d,{span:12},{default:a(()=>[e(u,{label:"岗位",prop:"position"},{default:a(()=>[e(v,{modelValue:o.value.position,"onUpdate:modelValue":l[16]||(l[16]=t=>o.value.position=t),placeholder:"请输入岗位"},null,8,["modelValue"])]),_:1})]),_:1}),e(d,{span:12},{default:a(()=>[e(u,{label:"职级",prop:"positionLevel"},{default:a(()=>[e(v,{modelValue:o.value.positionLevel,"onUpdate:modelValue":l[17]||(l[17]=t=>o.value.positionLevel=t),placeholder:"请输入职级"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(g,{gutter:20},{default:a(()=>[e(d,{span:12},{default:a(()=>[e(u,{label:"合同类型",prop:"contractType"},{default:a(()=>[e(k,{modelValue:o.value.contractType,"onUpdate:modelValue":l[18]||(l[18]=t=>o.value.contractType=t),placeholder:"请选择合同类型",style:{width:"100%"}},{default:a(()=>[e(b,{label:"劳动合同",value:1}),e(b,{label:"劳务合同",value:2}),e(b,{label:"实习协议",value:3})]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(d,{span:12},{default:a(()=>[e(u,{label:"状态",prop:"status"},{default:a(()=>[e(F,{modelValue:o.value.status,"onUpdate:modelValue":l[19]||(l[19]=t=>o.value.status=t)},{default:a(()=>[e(I,{label:1},{default:a(()=>[...l[37]||(l[37]=[p("在职",-1)])]),_:1}),e(I,{label:0},{default:a(()=>[...l[38]||(l[38]=[p("离职",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(g,{gutter:20},{default:a(()=>[e(d,{span:12},{default:a(()=>[e(u,{label:"合同开始日期",prop:"contractStartDate"},{default:a(()=>[e(C,{modelValue:o.value.contractStartDate,"onUpdate:modelValue":l[20]||(l[20]=t=>o.value.contractStartDate=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1}),e(d,{span:12},{default:a(()=>[e(u,{label:"合同结束日期",prop:"contractEndDate"},{default:a(()=>[e(C,{modelValue:o.value.contractEndDate,"onUpdate:modelValue":l[21]||(l[21]=t=>o.value.contractEndDate=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(g,{gutter:20},{default:a(()=>[e(d,{span:12},{default:a(()=>[e(u,{label:"开户银行",prop:"bankName"},{default:a(()=>[e(v,{modelValue:o.value.bankName,"onUpdate:modelValue":l[22]||(l[22]=t=>o.value.bankName=t),placeholder:"请输入开户银行"},null,8,["modelValue"])]),_:1})]),_:1}),e(d,{span:12},{default:a(()=>[e(u,{label:"银行账号",prop:"bankAccount"},{default:a(()=>[e(v,{modelValue:o.value.bankAccount,"onUpdate:modelValue":l[23]||(l[23]=t=>o.value.bankAccount=t),placeholder:"请输入银行账号"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),o.value.status===0?(i(),c(g,{key:0,gutter:20},{default:a(()=>[e(d,{span:12},{default:a(()=>[e(u,{label:"离职日期",prop:"leaveDate"},{default:a(()=>[e(C,{modelValue:o.value.leaveDate,"onUpdate:modelValue":l[24]||(l[24]=t=>o.value.leaveDate=t),type:"date",placeholder:"选择日期","value-format":"YYYY-MM-DD",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})):ie("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}},we=pe(ge,[["__scopeId","data-v-92996d46"]]);export{we as default};
|