1 line
7.1 KiB
JavaScript
1 line
7.1 KiB
JavaScript
import{$ as e,H as t,L as n,P as r,V as i,Wt as a,_ as o,d as s,et as c,f as ee,i as l,lt as u,p as d,st as f,u as p,v as m,z as h}from"./runtime-core.esm-bundler-DbRZbT7v.js";import{o as g,s as _}from"./index-DK5nh4op.js";import"./request-BcX6wdRT.js";import{r as v}from"./hr-Dn6c2ITK.js";var y={class:`p-6 space-y-4`},b={class:`bg-white rounded-2xl border border-gray-100 shadow-sm p-4 flex items-center flex-wrap gap-3`},x={class:`bg-white rounded-2xl border border-gray-100 shadow-sm`},S={class:`flex items-center justify-between px-5 py-4 border-b border-gray-50`},C={class:`px-2`},w={class:`px-5 py-3 border-t border-gray-50`},T={__name:`index`,setup(T){let E=u([]),D=u(0),O=u(!1),k=u(!1),A=u(!1),j=u(!1),M=f({type:``,status:``}),N=f({page:1,per_page:20}),P=u(null),F=f({id:null,user_id:``,type:1,start_date:``,end_date:``,days:1,reason:``}),I={1:`年假`,2:`事假`,3:`病假`,4:`调休`,5:`产假`,6:`婚假`},L={0:`待审批`,1:`已批准`,2:`已拒绝`},R={0:`warning`,1:`success`,2:`danger`},z={user_id:[{required:!0,message:`请输入员工ID`}],type:[{required:!0,message:`请选择请假类型`}],start_date:[{required:!0,message:`请选择开始日期`}],end_date:[{required:!0,message:`请选择结束日期`}],days:[{required:!0,message:`请输入请假天数`}]};async function B(){O.value=!0;try{let e=await v.getList({...M,...N});E.value=e.data?.list||e.data?.data||[],D.value=e.data?.total||0}finally{O.value=!1}}function V(){N.page=1,B()}function H(){Object.assign(M,{type:``,status:``}),V()}function U(){j.value=!1,Object.assign(F,{id:null,user_id:``,type:1,start_date:``,end_date:``,days:1,reason:``}),k.value=!0}function W(e){j.value=!0,Object.assign(F,{id:e.id,user_id:e.user_id,type:e.type,start_date:e.start_date,end_date:e.end_date,days:e.days,reason:e.reason}),k.value=!0}async function G(){P.value&&await P.value.validate(async e=>{if(e){A.value=!0;try{j.value?await v.update(F.id,F):await v.create(F),_.success(j.value?`更新成功`:`创建成功`),k.value=!1,B()}finally{A.value=!1}}})}async function K(e,t){let n=t===1?`批准`:`拒绝`;await g.confirm(`确定${n}该请假申请吗?`,`审批确认`,{type:`warning`}),await v.audit(e.id,{status:t}),_.success(`${n}成功`),B()}async function q(e){await g.confirm(`确定删除该请假申请吗?`,`删除确认`,{type:`warning`}),await v.delete(e.id),_.success(`删除成功`),B()}function J(e){N.page=e,B()}function Y(e){N.per_page=e,N.page=1,B()}return r(()=>{B()}),(r,u)=>{let f=i(`el-option`),g=i(`el-select`),_=i(`el-button`),v=i(`el-table-column`),T=i(`el-tag`),B=i(`el-table`),X=i(`el-pagination`),Z=i(`el-input`),Q=i(`el-form-item`),$=i(`el-date-picker`),te=i(`el-input-number`),ne=i(`el-form`),re=i(`el-dialog`),ie=t(`loading`);return n(),d(`div`,y,[p(`div`,b,[m(g,{modelValue:M.type,"onUpdate:modelValue":u[0]||=e=>M.type=e,placeholder:`请假类型`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),d(l,null,h(I,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(g,{modelValue:M.status,"onUpdate:modelValue":u[1]||=e=>M.status=e,placeholder:`审批状态`,clearable:``,style:{width:`130px`}},{default:e(()=>[(n(),d(l,null,h(L,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(_,{type:`primary`,onClick:V},{default:e(()=>[...u[12]||=[o(`查询`,-1)]]),_:1}),m(_,{onClick:H},{default:e(()=>[...u[13]||=[o(`重置`,-1)]]),_:1})]),p(`div`,x,[p(`div`,S,[u[15]||=p(`div`,{class:`flex items-center gap-3`},[p(`span`,{class:`font-medium text-gray-700`},`请假申请列表`)],-1),m(_,{type:`primary`,onClick:U},{default:e(()=>[...u[14]||=[o(`新增请假`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(B,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(v,{label:`员工`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.user?.name||`-`),1)]),_:1}),m(v,{label:`类型`,width:`80`,align:`center`},{default:e(({row:t})=>[m(T,{size:`small`},{default:e(()=>[o(a(I[t.type]),1)]),_:2},1024)]),_:1}),m(v,{prop:`start_date`,label:`开始日期`,width:`120`}),m(v,{prop:`end_date`,label:`结束日期`,width:`120`}),m(v,{prop:`days`,label:`天数`,width:`70`,align:`center`}),m(v,{prop:`reason`,label:`事由`,"min-width":`180`,"show-overflow-tooltip":``}),m(v,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(T,{type:R[t.status],size:`small`},{default:e(()=>[o(a(L[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(v,{label:`操作`,width:`200`,fixed:`right`,align:`center`},{default:e(({row:t})=>[t.status===0?(n(),d(l,{key:0},[m(_,{size:`small`,type:`success`,text:``,onClick:e=>K(t,1)},{default:e(()=>[...u[16]||=[o(`批准`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`danger`,text:``,onClick:e=>K(t,2)},{default:e(()=>[...u[17]||=[o(`拒绝`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`primary`,text:``,onClick:e=>W(t)},{default:e(()=>[...u[18]||=[o(`编辑`,-1)]]),_:1},8,[`onClick`]),m(_,{size:`small`,type:`danger`,text:``,onClick:e=>q(t)},{default:e(()=>[...u[19]||=[o(`删除`,-1)]]),_:1},8,[`onClick`])],64)):ee(``,!0)]),_:1})]),_:1},8,[`data`])),[[ie,O.value]])]),p(`div`,w,[m(X,{"current-page":N.page,"onUpdate:currentPage":u[2]||=e=>N.page=e,"page-size":N.per_page,"onUpdate:pageSize":u[3]||=e=>N.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:J,onSizeChange:Y},null,8,[`current-page`,`page-size`,`total`])])]),m(re,{modelValue:k.value,"onUpdate:modelValue":u[11]||=e=>k.value=e,title:j.value?`编辑请假`:`新增请假`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(_,{onClick:u[10]||=e=>k.value=!1},{default:e(()=>[...u[20]||=[o(`取消`,-1)]]),_:1}),m(_,{type:`primary`,loading:A.value,onClick:G},{default:e(()=>[...u[21]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m(ne,{ref_key:`formRef`,ref:P,model:F,rules:z,"label-width":`90px`},{default:e(()=>[m(Q,{label:`员工ID`,prop:`user_id`},{default:e(()=>[m(Z,{modelValue:F.user_id,"onUpdate:modelValue":u[4]||=e=>F.user_id=e,placeholder:`请输入员工ID`},null,8,[`modelValue`])]),_:1}),m(Q,{label:`请假类型`,prop:`type`},{default:e(()=>[m(g,{modelValue:F.type,"onUpdate:modelValue":u[5]||=e=>F.type=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(I,(e,t)=>m(f,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(Q,{label:`开始日期`,prop:`start_date`},{default:e(()=>[m($,{modelValue:F.start_date,"onUpdate:modelValue":u[6]||=e=>F.start_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`结束日期`,prop:`end_date`},{default:e(()=>[m($,{modelValue:F.end_date,"onUpdate:modelValue":u[7]||=e=>F.end_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`天数`,prop:`days`},{default:e(()=>[m(te,{modelValue:F.days,"onUpdate:modelValue":u[8]||=e=>F.days=e,min:.5,max:365,precision:1,step:.5,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(Q,{label:`事由`},{default:e(()=>[m(Z,{modelValue:F.reason,"onUpdate:modelValue":u[9]||=e=>F.reason=e,type:`textarea`,rows:3,placeholder:`请输入请假事由`},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`,`title`])])}}};export{T as default}; |