| 1 |
- import{r as h}from"./request-4U-8Jl57.js";import{b as ne}from"./organization-2a8uQ3RE.js";import{g as ue}from"./department-CoH15ARD.js";import{_ as de,r as V,m as re,c as U,o as m,d as e,w as a,e as r,E as c,F as Y,p as E,k as D,h as p,b as T,t as L,n as pe,l as se}from"./index-5h6OXJS3.js";function ie(_){return h({url:"/employee/page",method:"get",params:_})}function me(_){return h({url:"/employee",method:"post",data:_})}function fe(_,s){return h({url:`/employee/${_}`,method:"put",data:s})}function ve(_){return h({url:`/employee/${_}`,method:"delete"})}const ge={class:"employee-container"},ye={style:{display:"flex","justify-content":"space-between","align-items":"center"}},be={__name:"Employee",setup(_){const s=V({keyword:"",organizationId:null,departmentId:null,status:null}),N=V([]),M=V([]),B=V([]),y=V({page:1,size:10,total:0}),w=V(!1),S=V(""),I=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:""}),R={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"}]},O=async()=>{try{const n=await ne();N.value=n.data||[]}catch{c.error("获取组织列表失败")}},P=async()=>{try{const n=await ue();M.value=q(n.data||[])}catch{c.error("获取部门列表失败")}},q=(n,l=[])=>(n.forEach(i=>{l.push(i),i.children&&i.children.length>0&&q(i.children,l)}),l),k=async()=>{const n={page:y.value.page,size:y.value.size,...s.value};try{const l=await ie(n);B.value=l.data.records,y.value.total=l.data.total}catch{c.error("查询失败")}},A=()=>{y.value.page=1,k()},G=()=>{s.value={keyword:"",organizationId:null,departmentId:null,status:null},A()},H=()=>{S.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:""},w.value=!0},J=n=>{S.value="编辑员工",o.value={...n},w.value=!0},K=async n=>{try{await se.confirm("确认删除该员工吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),await ve(n.id),c.success("删除成功"),k()}catch(l){l!=="cancel"&&c.error("删除失败")}},Q=async()=>{I.value&&await I.value.validate(async n=>{if(n)try{o.value.id?(await fe(o.value.id,o.value),c.success("更新成功")):(await me(o.value),c.success("新增成功")),w.value=!1,k()}catch(l){c.error(l.message||"操作失败")}})},W=()=>{var n;(n=I.value)==null||n.resetFields()},X=n=>({1:"劳动合同",2:"劳务合同",3:"实习协议"})[n]||"-",Z=n=>n?n.replace("T"," "):"-";return re(()=>{O(),P(),k()}),(n,l)=>{const i=r("el-button"),v=r("el-input"),u=r("el-form-item"),b=r("el-option"),C=r("el-select"),$=r("el-form"),f=r("el-table-column"),F=r("el-tag"),ee=r("el-table"),le=r("el-pagination"),ae=r("el-card"),d=r("el-col"),g=r("el-row"),x=r("el-radio"),j=r("el-radio-group"),z=r("el-date-picker"),te=r("el-dialog");return m(),U("div",ge,[e(ae,null,{header:a(()=>[T("div",ye,[l[28]||(l[28]=T("span",null,"员工管理",-1)),e(i,{type:"primary",onClick:H},{default:a(()=>[...l[27]||(l[27]=[p("新增员工",-1)])]),_:1})])]),default:a(()=>[e($,{inline:!0,model:s.value,style:{"margin-bottom":"20px"}},{default:a(()=>[e(u,{label:"关键字"},{default:a(()=>[e(v,{modelValue:s.value.keyword,"onUpdate:modelValue":l[0]||(l[0]=t=>s.value.keyword=t),placeholder:"姓名/工号/手机号",clearable:"",style:{width:"200px"}},null,8,["modelValue"])]),_:1}),e(u,{label:"所属组织"},{default:a(()=>[e(C,{modelValue:s.value.organizationId,"onUpdate:modelValue":l[1]||(l[1]=t=>s.value.organizationId=t),placeholder:"请选择组织",clearable:"",style:{width:"180px"}},{default:a(()=>[(m(!0),U(Y,null,E(N.value,t=>(m(),D(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(C,{modelValue:s.value.departmentId,"onUpdate:modelValue":l[2]||(l[2]=t=>s.value.departmentId=t),placeholder:"请选择部门",clearable:"",style:{width:"180px"}},{default:a(()=>[(m(!0),U(Y,null,E(M.value,t=>(m(),D(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(C,{modelValue:s.value.status,"onUpdate:modelValue":l[3]||(l[3]=t=>s.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(i,{type:"primary",onClick:A},{default:a(()=>[...l[29]||(l[29]=[p("查询",-1)])]),_:1}),e(i,{onClick:G},{default:a(()=>[...l[30]||(l[30]=[p("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),e(ee,{data:B.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})=>[T("span",null,L(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})=>[T("span",null,L(X(t.contractType)),1)]),_:1}),e(f,{prop:"status",label:"状态",width:"80"},{default:a(({row:t})=>[t.status===1?(m(),D(F,{key:0,type:"success"},{default:a(()=>[...l[31]||(l[31]=[p("在职",-1)])]),_:1})):(m(),D(F,{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(L(Z(t.createTime)),1)]),_:1}),e(f,{label:"操作",width:"200",fixed:"right"},{default:a(({row:t})=>[e(i,{type:"primary",size:"small",onClick:oe=>J(t)},{default:a(()=>[...l[33]||(l[33]=[p("编辑",-1)])]),_:1},8,["onClick"]),e(i,{type:"danger",size:"small",onClick:oe=>K(t)},{default:a(()=>[...l[34]||(l[34]=[p("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"]),e(le,{"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:k,onCurrentChange:k,style:{"margin-top":"20px","justify-content":"flex-end"}},null,8,["current-page","page-size","total"])]),_:1}),e(te,{modelValue:w.value,"onUpdate:modelValue":l[26]||(l[26]=t=>w.value=t),title:S.value,width:"800px",onClose:W},{footer:a(()=>[e(i,{onClick:l[25]||(l[25]=t=>w.value=!1)},{default:a(()=>[...l[39]||(l[39]=[p("取消",-1)])]),_:1}),e(i,{type:"primary",onClick:Q},{default:a(()=>[...l[40]||(l[40]=[p("确定",-1)])]),_:1})]),default:a(()=>[e($,{ref_key:"formRef",ref:I,model:o.value,rules:R,"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(j,{modelValue:o.value.gender,"onUpdate:modelValue":l[8]||(l[8]=t=>o.value.gender=t)},{default:a(()=>[e(x,{label:1},{default:a(()=>[...l[35]||(l[35]=[p("男",-1)])]),_:1}),e(x,{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(z,{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(z,{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(C,{modelValue:o.value.organizationId,"onUpdate:modelValue":l[14]||(l[14]=t=>o.value.organizationId=t),placeholder:"请选择组织",style:{width:"100%"}},{default:a(()=>[(m(!0),U(Y,null,E(N.value,t=>(m(),D(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(C,{modelValue:o.value.departmentId,"onUpdate:modelValue":l[15]||(l[15]=t=>o.value.departmentId=t),placeholder:"请选择部门",style:{width:"100%"}},{default:a(()=>[(m(!0),U(Y,null,E(M.value,t=>(m(),D(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(C,{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(j,{modelValue:o.value.status,"onUpdate:modelValue":l[19]||(l[19]=t=>o.value.status=t)},{default:a(()=>[e(x,{label:1},{default:a(()=>[...l[37]||(l[37]=[p("在职",-1)])]),_:1}),e(x,{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(z,{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(z,{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?(m(),D(g,{key:0,gutter:20},{default:a(()=>[e(d,{span:12},{default:a(()=>[e(u,{label:"离职日期",prop:"leaveDate"},{default:a(()=>[e(z,{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})):pe("",!0)]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}},we=de(be,[["__scopeId","data-v-92996d46"]]);export{we as default};
|