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