AttendanceRecord-DraEy0bv.js 7.6 KB

1
  1. import{g as Q,d as W,u as X,a as Z}from"./attendance-mJc00I7B.js";import{_ as ee,a as D,r as _,m as te,c as ae,o as p,d as e,w as n,e as d,q as le,s as ne,h as m,k as v,t as oe,n as b,l as de,E as H}from"./index-5h6OXJS3.js";import"./request-4U-8Jl57.js";const re={class:"attendance-record-container"},ue={__name:"AttendanceRecord",setup(se){const V=D({attendanceType:null}),c=_([]),M=_([]),T=_(!1),s=D({page:1,size:10,total:0}),g=_(!1),w=_("新增考勤记录"),C=_(null),a=D({id:null,employeeId:1,attendanceDate:"",attendanceType:1,checkInTime:"",checkOutTime:"",lateMinutes:0,earlyLeaveMinutes:0,overtimeHours:0,leaveHours:0,remark:""}),R={attendanceDate:[{required:!0,message:"请选择考勤日期",trigger:"change"}],attendanceType:[{required:!0,message:"请选择考勤类型",trigger:"change"}]},A=o=>({1:"正常",2:"迟到",3:"早退",4:"旷工",5:"请假",6:"出差",7:"加班"})[o]||"-",I=o=>({1:"success",2:"warning",3:"warning",4:"danger",5:"info",6:"primary",7:""})[o]||"",y=async()=>{T.value=!0;try{const o={page:s.page,size:s.size,employeeId:1,...V};c.value&&c.value.length===2&&(o.startDate=c.value[0],o.endDate=c.value[1]);const t=await Q(o);M.value=t.data.records,s.total=t.data.total}catch(o){console.error("查询失败:",o)}finally{T.value=!1}},Y=()=>{s.page=1,y()},O=()=>{V.attendanceType=null,c.value=[],s.page=1,y()},E=()=>{w.value="新增考勤记录",N(),g.value=!0},L=o=>{w.value="编辑考勤记录",Object.assign(a,o),g.value=!0},S=async o=>{try{await de.confirm("确定要删除该考勤记录吗?","提示",{type:"warning"}),await W(o.id),H.success("删除成功"),y()}catch(t){t!=="cancel"&&console.error("删除失败:",t)}},B=async()=>{try{await C.value.validate(),a.id?(await X(a.id,a),H.success("更新成功")):(await Z(a),H.success("新增成功")),g.value=!1,y()}catch(o){console.error("提交失败:",o)}},N=()=>{a.id=null,a.employeeId=1,a.attendanceDate="",a.attendanceType=1,a.checkInTime="",a.checkOutTime="",a.lateMinutes=0,a.earlyLeaveMinutes=0,a.overtimeHours=0,a.leaveHours=0,a.remark=""};return te(()=>{y()}),(o,t)=>{const U=d("el-date-picker"),u=d("el-form-item"),r=d("el-option"),z=d("el-select"),f=d("el-button"),h=d("el-form"),i=d("el-table-column"),q=d("el-tag"),$=d("el-table"),j=d("el-pagination"),F=d("el-card"),x=d("el-time-picker"),k=d("el-input-number"),P=d("el-input"),G=d("el-dialog"),J=le("loading");return p(),ae("div",re,[e(F,null,{default:n(()=>[e(h,{inline:!0,model:V,class:"search-form"},{default:n(()=>[e(u,{label:"考勤日期"},{default:n(()=>[e(U,{modelValue:c.value,"onUpdate:modelValue":t[0]||(t[0]=l=>c.value=l),type:"daterange","range-separator":"-","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD"},null,8,["modelValue"])]),_:1}),e(u,{label:"考勤类型"},{default:n(()=>[e(z,{modelValue:V.attendanceType,"onUpdate:modelValue":t[1]||(t[1]=l=>V.attendanceType=l),placeholder:"请选择",clearable:""},{default:n(()=>[e(r,{label:"正常",value:1}),e(r,{label:"迟到",value:2}),e(r,{label:"早退",value:3}),e(r,{label:"旷工",value:4}),e(r,{label:"请假",value:5}),e(r,{label:"出差",value:6}),e(r,{label:"加班",value:7})]),_:1},8,["modelValue"])]),_:1}),e(u,null,{default:n(()=>[e(f,{type:"primary",onClick:Y},{default:n(()=>[...t[15]||(t[15]=[m("搜索",-1)])]),_:1}),e(f,{onClick:O},{default:n(()=>[...t[16]||(t[16]=[m("重置",-1)])]),_:1}),e(f,{type:"success",onClick:E},{default:n(()=>[...t[17]||(t[17]=[m("新增记录",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),ne((p(),v($,{data:M.value,border:"",stripe:""},{default:n(()=>[e(i,{prop:"attendanceDate",label:"考勤日期",width:"120"}),e(i,{prop:"attendanceType",label:"考勤类型",width:"100"},{default:n(({row:l})=>[e(q,{type:I(l.attendanceType)},{default:n(()=>[m(oe(A(l.attendanceType)),1)]),_:2},1032,["type"])]),_:1}),e(i,{prop:"checkInTime",label:"签到时间",width:"100"}),e(i,{prop:"checkOutTime",label:"签退时间",width:"100"}),e(i,{prop:"lateMinutes",label:"迟到(分)",width:"90"}),e(i,{prop:"earlyLeaveMinutes",label:"早退(分)",width:"90"}),e(i,{prop:"overtimeHours",label:"加班(时)",width:"90"}),e(i,{prop:"remark",label:"备注","show-overflow-tooltip":""}),e(i,{label:"操作",width:"150",fixed:"right"},{default:n(({row:l})=>[e(f,{type:"primary",size:"small",onClick:K=>L(l)},{default:n(()=>[...t[18]||(t[18]=[m("编辑",-1)])]),_:1},8,["onClick"]),e(f,{type:"danger",size:"small",onClick:K=>S(l)},{default:n(()=>[...t[19]||(t[19]=[m("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[J,T.value]]),e(j,{"current-page":s.page,"onUpdate:currentPage":t[2]||(t[2]=l=>s.page=l),"page-size":s.size,"onUpdate:pageSize":t[3]||(t[3]=l=>s.size=l),total:s.total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:y,onCurrentChange:y,style:{"margin-top":"20px"}},null,8,["current-page","page-size","total"])]),_:1}),e(G,{modelValue:g.value,"onUpdate:modelValue":t[14]||(t[14]=l=>g.value=l),title:w.value,width:"500px"},{footer:n(()=>[e(f,{onClick:t[13]||(t[13]=l=>g.value=!1)},{default:n(()=>[...t[20]||(t[20]=[m("取消",-1)])]),_:1}),e(f,{type:"primary",onClick:B},{default:n(()=>[...t[21]||(t[21]=[m("确定",-1)])]),_:1})]),default:n(()=>[e(h,{model:a,rules:R,ref_key:"formRef",ref:C,"label-width":"100px"},{default:n(()=>[e(u,{label:"考勤日期",prop:"attendanceDate"},{default:n(()=>[e(U,{modelValue:a.attendanceDate,"onUpdate:modelValue":t[4]||(t[4]=l=>a.attendanceDate=l),type:"date",style:{width:"100%"},"value-format":"YYYY-MM-DD"},null,8,["modelValue"])]),_:1}),e(u,{label:"考勤类型",prop:"attendanceType"},{default:n(()=>[e(z,{modelValue:a.attendanceType,"onUpdate:modelValue":t[5]||(t[5]=l=>a.attendanceType=l),style:{width:"100%"}},{default:n(()=>[e(r,{label:"正常",value:1}),e(r,{label:"迟到",value:2}),e(r,{label:"早退",value:3}),e(r,{label:"旷工",value:4}),e(r,{label:"请假",value:5}),e(r,{label:"出差",value:6}),e(r,{label:"加班",value:7})]),_:1},8,["modelValue"])]),_:1}),[1,2,3,7].includes(a.attendanceType)?(p(),v(u,{key:0,label:"签到时间"},{default:n(()=>[e(x,{modelValue:a.checkInTime,"onUpdate:modelValue":t[6]||(t[6]=l=>a.checkInTime=l),format:"HH:mm:ss","value-format":"HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1})):b("",!0),[1,2,3,7].includes(a.attendanceType)?(p(),v(u,{key:1,label:"签退时间"},{default:n(()=>[e(x,{modelValue:a.checkOutTime,"onUpdate:modelValue":t[7]||(t[7]=l=>a.checkOutTime=l),format:"HH:mm:ss","value-format":"HH:mm:ss",style:{width:"100%"}},null,8,["modelValue"])]),_:1})):b("",!0),a.attendanceType===2?(p(),v(u,{key:2,label:"迟到分钟"},{default:n(()=>[e(k,{modelValue:a.lateMinutes,"onUpdate:modelValue":t[8]||(t[8]=l=>a.lateMinutes=l),min:0,style:{width:"100%"}},null,8,["modelValue"])]),_:1})):b("",!0),a.attendanceType===3?(p(),v(u,{key:3,label:"早退分钟"},{default:n(()=>[e(k,{modelValue:a.earlyLeaveMinutes,"onUpdate:modelValue":t[9]||(t[9]=l=>a.earlyLeaveMinutes=l),min:0,style:{width:"100%"}},null,8,["modelValue"])]),_:1})):b("",!0),a.attendanceType===7?(p(),v(u,{key:4,label:"加班小时"},{default:n(()=>[e(k,{modelValue:a.overtimeHours,"onUpdate:modelValue":t[10]||(t[10]=l=>a.overtimeHours=l),min:0,precision:2,style:{width:"100%"}},null,8,["modelValue"])]),_:1})):b("",!0),a.attendanceType===5?(p(),v(u,{key:5,label:"请假小时"},{default:n(()=>[e(k,{modelValue:a.leaveHours,"onUpdate:modelValue":t[11]||(t[11]=l=>a.leaveHours=l),min:0,precision:2,style:{width:"100%"}},null,8,["modelValue"])]),_:1})):b("",!0),e(u,{label:"备注"},{default:n(()=>[e(P,{modelValue:a.remark,"onUpdate:modelValue":t[12]||(t[12]=l=>a.remark=l),type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}},ce=ee(ue,[["__scopeId","data-v-cb1685ea"]]);export{ce as default};