Files
yuezi-saas/frontend/dist/assets/profiles-C8dHKxw8.js
T

1 line
8.4 KiB
JavaScript

import{$ as e,H as t,L as n,P as ee,V as r,Wt as i,_ as a,d as o,et as s,i as c,lt as l,p as u,st as d,u as f,v as p,z as m}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{l as h,o as g,s as _}from"./index-Mgun2LFs.js";import"./request-DG5cMCYw.js";import{n as v}from"./hr-efu8Toim.js";var te={class:`p-6 space-y-4`},y={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},x={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},S={class:`px-2`},C={class:`px-5 py-3 border-t border-gray-50`},w={__name:`index`,setup(w){let T=l([]),E=l(0),D=l(!1),O=l(!1),k=l(`新增员工档案`),A=l(!1),j=d({employee_no:``,status:``}),M=d({page:1,per_page:20}),N=l(null),P=d({id:null,user_id:``,employee_no:``,hire_date:``,birth_date:``,gender:0,id_card:``,education:``,emergency_contact:``,emergency_phone:``,base_salary:0,position_salary:0,status:1}),F=l(!1),I={user_id:[{required:!0,message:`请输入用户ID`,trigger:`blur`}]},L={1:`在职`,2:`试用`,3:`离职`},R={1:`success`,2:`warning`,3:`danger`},z={0:`未知`,1:`男`,2:`女`};async function B(){D.value=!0;try{let e=await v.getList({...j,...M});T.value=e.data?.list||e.data?.data||[],E.value=e.data?.total||0}finally{D.value=!1}}function V(){M.page=1,B()}function H(){Object.assign(j,{employee_no:``,status:``}),V()}function U(){F.value=!1,k.value=`新增员工档案`,Object.assign(P,{id:null,user_id:``,employee_no:``,hire_date:``,birth_date:``,gender:0,id_card:``,education:``,emergency_contact:``,emergency_phone:``,base_salary:0,position_salary:0,status:1}),O.value=!0}async function W(e){F.value=!0,k.value=`编辑员工档案`;let t=(await v.getDetail(e.id)).data;Object.assign(P,{id:t.id,user_id:t.user_id||``,employee_no:t.employee_no||``,hire_date:t.hire_date||``,birth_date:t.birth_date||``,gender:t.gender??0,id_card:t.id_card||``,education:t.education||``,emergency_contact:t.emergency_contact||``,emergency_phone:t.emergency_phone||``,base_salary:t.base_salary||0,position_salary:t.position_salary||0,status:t.status||1}),O.value=!0}async function G(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{F.value?(await v.update(P.id,P),_.success(`更新成功`)):(await v.create(P),_.success(`创建成功`)),O.value=!1,B()}finally{A.value=!1}}})}async function K(e){await g.confirm(`确定删除员工「${e.user?.name||e.employee_no}」的档案吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),B()}function q(e){M.page=e,B()}function J(e){M.per_page=e,M.page=1,B()}return ee(()=>B()),(ee,l)=>{let d=r(`el-input`),g=r(`el-option`),_=r(`el-select`),v=r(`el-button`),w=r(`el-table-column`),F=r(`el-tag`),B=r(`el-table`),Y=r(`el-pagination`),X=r(`el-form-item`),Z=r(`el-col`),Q=r(`el-date-picker`),$=r(`el-input-number`),ne=r(`el-row`),re=r(`el-form`),ie=r(`el-dialog`),ae=t(`loading`);return n(),u(`div`,te,[f(`div`,y,[p(d,{modelValue:j.employee_no,"onUpdate:modelValue":l[0]||=e=>j.employee_no=e,placeholder:`工号`,style:{width:`160px`},clearable:``,onKeydown:h(V,[`enter`])},null,8,[`modelValue`]),p(_,{modelValue:j.status,"onUpdate:modelValue":l[1]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),u(c,null,m(L,(e,t)=>p(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),p(v,{type:`primary`,onClick:V},{default:e(()=>[...l[18]||=[a(`查询`,-1)]]),_:1}),p(v,{onClick:H},{default:e(()=>[...l[19]||=[a(`重置`,-1)]]),_:1})]),f(`div`,b,[f(`div`,x,[l[21]||=f(`div`,{class:`flex items-center gap-3`},[f(`span`,{class:`font-medium text-gray-700`},`员工档案列表`)],-1),p(v,{type:`primary`,onClick:U},{default:e(()=>[...l[20]||=[a(`新增员工档案`,-1)]]),_:1})]),f(`div`,S,[s((n(),o(B,{data:T.value,style:{width:`100%`}},{default:e(()=>[p(w,{prop:`employee_no`,label:`工号`,width:`120`}),p(w,{label:`姓名`,"min-width":`100`},{default:e(({row:e})=>[a(i(e.user?.name||`-`),1)]),_:1}),p(w,{label:`性别`,width:`70`,align:`center`},{default:e(({row:e})=>[a(i(z[e.gender]||`未知`),1)]),_:1}),p(w,{prop:`hire_date`,label:`入职日期`,"min-width":`110`}),p(w,{prop:`education`,label:`学历`,width:`90`}),p(w,{prop:`base_salary`,label:`基本工资`,width:`100`,align:`right`}),p(w,{prop:`position_salary`,label:`岗位工资`,width:`100`,align:`right`}),p(w,{label:`状态`,width:`80`,align:`center`},{default:e(({row:t})=>[p(F,{type:R[t.status],size:`small`},{default:e(()=>[a(i(L[t.status]),1)]),_:2},1032,[`type`])]),_:1}),p(w,{label:`操作`,width:`140`,fixed:`right`,align:`center`},{default:e(({row:t})=>[p(v,{size:`small`,type:`primary`,text:``,onClick:e=>W(t)},{default:e(()=>[...l[22]||=[a(`编辑`,-1)]]),_:1},8,[`onClick`]),p(v,{size:`small`,type:`danger`,text:``,onClick:e=>K(t)},{default:e(()=>[...l[23]||=[a(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1},8,[`data`])),[[ae,D.value]])]),f(`div`,C,[p(Y,{"current-page":M.page,"onUpdate:currentPage":l[2]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":l[3]||=e=>M.per_page=e,total:E.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:q,onSizeChange:J},null,8,[`current-page`,`page-size`,`total`])])]),p(ie,{modelValue:O.value,"onUpdate:modelValue":l[17]||=e=>O.value=e,title:k.value,width:`700px`,"destroy-on-close":``},{footer:e(()=>[p(v,{onClick:l[16]||=e=>O.value=!1},{default:e(()=>[...l[24]||=[a(`取消`,-1)]]),_:1}),p(v,{type:`primary`,loading:A.value,onClick:G},{default:e(()=>[...l[25]||=[a(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[p(re,{ref_key:`formRef`,ref:N,model:P,rules:I,"label-width":`90px`},{default:e(()=>[p(ne,{gutter:16},{default:e(()=>[p(Z,{span:12},{default:e(()=>[p(X,{label:`用户ID`,prop:`user_id`},{default:e(()=>[p(d,{modelValue:P.user_id,"onUpdate:modelValue":l[4]||=e=>P.user_id=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`工号`},{default:e(()=>[p(d,{modelValue:P.employee_no,"onUpdate:modelValue":l[5]||=e=>P.employee_no=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`入职日期`},{default:e(()=>[p(Q,{modelValue:P.hire_date,"onUpdate:modelValue":l[6]||=e=>P.hire_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`出生日期`},{default:e(()=>[p(Q,{modelValue:P.birth_date,"onUpdate:modelValue":l[7]||=e=>P.birth_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`性别`},{default:e(()=>[p(_,{modelValue:P.gender,"onUpdate:modelValue":l[8]||=e=>P.gender=e,style:{width:`100%`}},{default:e(()=>[(n(),u(c,null,m(z,(e,t)=>p(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`身份证号`},{default:e(()=>[p(d,{modelValue:P.id_card,"onUpdate:modelValue":l[9]||=e=>P.id_card=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`学历`},{default:e(()=>[p(d,{modelValue:P.education,"onUpdate:modelValue":l[10]||=e=>P.education=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`紧急联系人`},{default:e(()=>[p(d,{modelValue:P.emergency_contact,"onUpdate:modelValue":l[11]||=e=>P.emergency_contact=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`紧急电话`},{default:e(()=>[p(d,{modelValue:P.emergency_phone,"onUpdate:modelValue":l[12]||=e=>P.emergency_phone=e},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`基本工资`},{default:e(()=>[p($,{modelValue:P.base_salary,"onUpdate:modelValue":l[13]||=e=>P.base_salary=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`岗位工资`},{default:e(()=>[p($,{modelValue:P.position_salary,"onUpdate:modelValue":l[14]||=e=>P.position_salary=e,min:0,precision:2,style:{width:`100%`}},null,8,[`modelValue`])]),_:1})]),_:1}),p(Z,{span:12},{default:e(()=>[p(X,{label:`状态`},{default:e(()=>[p(_,{modelValue:P.status,"onUpdate:modelValue":l[15]||=e=>P.status=e,style:{width:`100%`}},{default:e(()=>[(n(),u(c,null,m(L,(e,t)=>p(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1})]),_:1})]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{w as default};