1 line
6.6 KiB
JavaScript
1 line
6.6 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,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{s as g}from"./index-DK5nh4op.js";import"./request-BcX6wdRT.js";import{t as _}from"./hr-Dn6c2ITK.js";var v={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:`flex items-center gap-3`},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=f({user_id:``,status:``,date_range:[]}),M=f({page:1,per_page:20}),N=u(null),P=f({user_id:``,attendance_date:``,clock_in:``,clock_out:``,status:1,overtime_hours:0,remark:``}),F={1:`正常`,2:`迟到`,3:`早退`,4:`旷工`,5:`请假`},I={1:`success`,2:`warning`,3:`warning`,4:`danger`,5:`info`};async function L(){O.value=!0;try{let e={...M,user_id:j.user_id,status:j.status};j.date_range?.length===2&&(e.start_date=j.date_range[0],e.end_date=j.date_range[1]);let t=await _.getList(e);E.value=t.data?.list||t.data?.data||[],D.value=t.data?.total||0}finally{O.value=!1}}function R(){M.page=1,L()}function z(){Object.assign(j,{user_id:``,status:``,date_range:[]}),R()}async function B(){try{await _.clockIn(),g.success(`上班打卡成功`),L()}catch(e){g.error(e.response?.data?.message||`打卡失败`)}}async function V(){try{await _.clockOut(),g.success(`下班打卡成功`),L()}catch(e){g.error(e.response?.data?.message||`打卡失败`)}}function H(){Object.assign(P,{user_id:``,attendance_date:``,clock_in:``,clock_out:``,status:1,overtime_hours:0,remark:``}),k.value=!0}async function U(){N.value&&await N.value.validate(async e=>{if(e){A.value=!0;try{await _.create(P),g.success(`创建成功`),k.value=!1,L()}finally{A.value=!1}}})}function W(e){M.page=e,L()}function G(e){M.per_page=e,M.page=1,L()}return r(()=>{L()}),(r,u)=>{let f=i(`el-input`),g=i(`el-option`),_=i(`el-select`),T=i(`el-date-picker`),L=i(`el-button`),K=i(`el-table-column`),q=i(`el-tag`),J=i(`el-table`),Y=i(`el-pagination`),X=i(`el-form-item`),Z=i(`el-time-picker`),Q=i(`el-input-number`),$=i(`el-form`),ee=i(`el-dialog`),te=t(`loading`);return n(),d(`div`,v,[p(`div`,y,[m(f,{modelValue:j.user_id,"onUpdate:modelValue":u[0]||=e=>j.user_id=e,placeholder:`员工ID`,clearable:``,style:{width:`140px`}},null,8,[`modelValue`]),m(_,{modelValue:j.status,"onUpdate:modelValue":u[1]||=e=>j.status=e,placeholder:`状态`,clearable:``,style:{width:`120px`}},{default:e(()=>[(n(),d(l,null,h(F,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`]),m(T,{modelValue:j.date_range,"onUpdate:modelValue":u[2]||=e=>j.date_range=e,type:`daterange`,"value-format":`YYYY-MM-DD`,"start-placeholder":`开始日期`,"end-placeholder":`结束日期`},null,8,[`modelValue`]),m(L,{type:`primary`,onClick:R},{default:e(()=>[...u[14]||=[o(`查询`,-1)]]),_:1}),m(L,{onClick:z},{default:e(()=>[...u[15]||=[o(`重置`,-1)]]),_:1})]),p(`div`,b,[p(`div`,x,[p(`div`,S,[m(L,{type:`success`,onClick:B},{default:e(()=>[...u[16]||=[o(`上班打卡`,-1)]]),_:1}),m(L,{type:`warning`,onClick:V},{default:e(()=>[...u[17]||=[o(`下班打卡`,-1)]]),_:1})]),m(L,{type:`primary`,onClick:H},{default:e(()=>[...u[18]||=[o(`手动录入`,-1)]]),_:1})]),p(`div`,C,[c((n(),s(J,{data:E.value,style:{width:`100%`}},{default:e(()=>[m(K,{label:`员工`,"min-width":`100`},{default:e(({row:e})=>[o(a(e.user?.name||`-`),1)]),_:1}),m(K,{prop:`attendance_date`,label:`考勤日期`,width:`120`}),m(K,{prop:`clock_in`,label:`上班打卡`,width:`100`}),m(K,{prop:`clock_out`,label:`下班打卡`,width:`100`}),m(K,{prop:`overtime_hours`,label:`加班(h)`,width:`90`,align:`center`}),m(K,{label:`状态`,width:`90`,align:`center`},{default:e(({row:t})=>[m(q,{type:I[t.status],size:`small`},{default:e(()=>[o(a(F[t.status]),1)]),_:2},1032,[`type`])]),_:1}),m(K,{prop:`remark`,label:`备注`,"min-width":`150`,"show-overflow-tooltip":``}),m(K,{prop:`created_at`,label:`创建时间`,"min-width":`160`})]),_:1},8,[`data`])),[[te,O.value]])]),p(`div`,w,[m(Y,{"current-page":M.page,"onUpdate:currentPage":u[3]||=e=>M.page=e,"page-size":M.per_page,"onUpdate:pageSize":u[4]||=e=>M.per_page=e,total:D.value,"page-sizes":[10,20,50],layout:`total,sizes,prev,pager,next,jumper`,background:``,onCurrentChange:W,onSizeChange:G},null,8,[`current-page`,`page-size`,`total`])])]),m(ee,{modelValue:k.value,"onUpdate:modelValue":u[13]||=e=>k.value=e,title:`手动录入考勤`,width:`500px`,"destroy-on-close":``},{footer:e(()=>[m(L,{onClick:u[12]||=e=>k.value=!1},{default:e(()=>[...u[19]||=[o(`取消`,-1)]]),_:1}),m(L,{type:`primary`,loading:A.value,onClick:U},{default:e(()=>[...u[20]||=[o(`确定`,-1)]]),_:1},8,[`loading`])]),default:e(()=>[m($,{ref_key:`formRef`,ref:N,model:P,rules:{user_id:[{required:!0,message:`请输入员工ID`}],attendance_date:[{required:!0,message:`请选择考勤日期`}]},"label-width":`90px`},{default:e(()=>[m(X,{label:`员工ID`,prop:`user_id`},{default:e(()=>[m(f,{modelValue:P.user_id,"onUpdate:modelValue":u[5]||=e=>P.user_id=e,placeholder:`请输入员工ID`},null,8,[`modelValue`])]),_:1}),m(X,{label:`考勤日期`,prop:`attendance_date`},{default:e(()=>[m(T,{modelValue:P.attendance_date,"onUpdate:modelValue":u[6]||=e=>P.attendance_date=e,type:`date`,"value-format":`YYYY-MM-DD`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`上班时间`},{default:e(()=>[m(Z,{modelValue:P.clock_in,"onUpdate:modelValue":u[7]||=e=>P.clock_in=e,"value-format":`HH:mm:ss`,placeholder:`上班打卡时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`下班时间`},{default:e(()=>[m(Z,{modelValue:P.clock_out,"onUpdate:modelValue":u[8]||=e=>P.clock_out=e,"value-format":`HH:mm:ss`,placeholder:`下班打卡时间`,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`状态`},{default:e(()=>[m(_,{modelValue:P.status,"onUpdate:modelValue":u[9]||=e=>P.status=e,style:{width:`100%`}},{default:e(()=>[(n(),d(l,null,h(F,(e,t)=>m(g,{key:t,label:e,value:Number(t)},null,8,[`label`,`value`])),64))]),_:1},8,[`modelValue`])]),_:1}),m(X,{label:`加班时长`},{default:e(()=>[m(Q,{modelValue:P.overtime_hours,"onUpdate:modelValue":u[10]||=e=>P.overtime_hours=e,min:0,max:24,precision:1,step:.5,style:{width:`100%`}},null,8,[`modelValue`])]),_:1}),m(X,{label:`备注`},{default:e(()=>[m(f,{modelValue:P.remark,"onUpdate:modelValue":u[11]||=e=>P.remark=e,type:`textarea`,rows:2},null,8,[`modelValue`])]),_:1})]),_:1},8,[`model`])]),_:1},8,[`modelValue`])])}}};export{T as default}; |