1import{N as L,H as M,_ as H,G as ne,P as N,R as oe,d as z,J as W,a2 as de,r as D,o as d,h as b,w as t,c as a,f as i,t as u,i as V,e as g,g as Y,F as h,L as c,V as j,n as se,l as G,ag as ie,p as J,cF as ue,m as re,aQ as _e,aR as me,q as ce,u as pe,s as Q,X,Y as fe,U as Z,a as ke,D as ve,j as ye,k as ge,B as he,cq as be,v as De,T as Ae,a0 as Se,ap as Ce}from"./app-B2Y0-4Oe.js";import{c as $e}from"./crud-BRxYhdgV.js";import{a as we}from"./apiAdmin-D0yFZeTH.js";import{S as Te}from"./StaffAddButton-DARQiN3W.js";import{D as Ue}from"./DateTimePicker-DS7Wqs_V.js";import{L as Ie}from"./AddButton-CJhLgda1.js";import{h as R}from"./hrmManagement-CU9jIbaF.js";import{S as Ee}from"./SaveOutlined-q68O2Itt.js";import{A as Oe}from"./AdminPageHeader-D4ZmExHN.js";import{A as Pe}from"./AttendanceSidebar-BGTypR6D.js";import{A as Be}from"./AttendanceStatus-B3LSpGe_.js";import"./datatable-S-x8bdRa.js";import"./filter-D8gtdSsr.js";import"./fields-D7glVceV.js";import"./Upload-BhDFXD_U.js";import"./AddButton-DpDmH5pN.js";import"./AddEdit-P27sdef4.js";import"./SettingOutlined-BaXfUiwP.js";import"./AddButton-DQbwgfxr.js";import"./AddEdit-BMelgLMZ.js";import"./fields-Cz3l0E55.js";import"./index-D-LizC8X.js";import"./ScheduleOutlined-C8uUxgCd.js";import"./TabletOutlined-k7l_mWDQ.js";import"./CarOutlined-CnUg9ZWG.js";const Fe=()=>{const e="attendances?fields=id,xid,user_id,x_user_id,reason,leave_type_id,x_leave_type_id,date,clock_in_time,clock_out_time,total_duration,user{id,xid,name},is_late,is_half_day,clock_in_date_time,clock_out_date_time,clock_in_ip_address,clock_out_ip_address",n="attendances",{t:p}=L(),l=["user_id","leave_type_id"],U={user_id:void 0,leave_type_id:void 0,date:void 0,clock_in_time:void 0,clock_out_time:void 0,clock_in_ip_address:"",clock_out_ip_address:"",is_late:0,is_half_day:0,reason:""},B=M([{title:p("attendance.user_id"),dataIndex:"user_id"},{title:p("attendance.date"),dataIndex:"date"},{title:p("attendance.clock_in_date_time"),dataIndex:"clock_in_date_time"},{title:p("attendance.clock_out_date_time"),dataIndex:"clock_out_date_time"},{title:p("attendance.clock_in_ip_address"),dataIndex:"clock_in_ip_address"},{title:p("attendance.clock_out_ip_address"),dataIndex:"clock_out_ip_address"},{title:p("attendance.total_duration"),dataIndex:"total_duration"},{title:p("attendance.is_late"),dataIndex:"is_late"},{title:p("common.status"),dataIndex:"status"}]),T=[{key:"name",value:p("common.name")}];return{addEditUrl:n,initData:U,columns:B,filterableColumns:T,hashableColumns:l,url:e}},Me=ne({props:["formData","data","visible","url","addEditType","pageTitle","successMessage"],components:{PlusOutlined:N,LoadingOutlined:oe,SaveOutlined:Ee,UserAddButton:Te,DateTimePicker:Ue,LeaveTypeAddButton:Ie,hrmManagement:R},setup(e,{emit:n}){const{addEditRequestAdmin:p,loading:l,rules:U}=we(),{appSetting:B,disabledDate:T,permsArray:f}=z(),A=M([]),k="users?limit=10000",r=M([]),S="leave-types?fields=id,xid,name&limit=10000",{formatShiftTime24Hours:_,formatShiftTime12Hours:C}=R(),$=()=>{let y=_(e.formData.clock_in_time),I=_(e.formData.clock_out_time);p({url:e.url,data:{...e.formData,clock_in_time:e.formData.clock_in_time?y:"",clock_out_time:e.formData.clock_out_time?I:""},successMessage:e.successMessage,success:m=>{n("addEditSuccess",m.xid)}})};W(()=>{const y=axiosAdmin.get(k),I=axiosAdmin.get(S);Promise.all([y,I]).then(([m,P])=>{A.value=m.data,r.value=P.data})});const w=()=>{U.value={},n("closed")},E=()=>{axiosAdmin.get(k).then(y=>{A.value=y.data})},O=()=>{axiosAdmin.get(S).then(y=>{r.value=y.data})};return de(()=>e.visible,(y,I)=>{e.addEditType=="edit"?(e.formData.clock_in_time=C(e.data.clock_in_time)!=null?C(e.data.clock_in_time):void 0,e.formData.clock_out_time=C(e.data.clock_out_time)!=null?C(e.data.clock_out_time):void 0):(e.formData.clock_in_time=void 0,e.formData.clock_out_time=void 0)}),{loading:l,rules:U,onClose:w,onSubmit:$,appSetting:B,disabledDate:T,permsArray:f,users:A,userAdded:E,allLeaveTypes:r,leaveTypeAdded:O,drawerWidth:window.innerWidth<=991?"90%":"45%"}}}),qe={style:{display:"flex"}},Ve={style:{display:"flex"}};function Ye(e,n,p,l,U,B){const T=Z,f=j,A=D("UserAddButton"),k=se,r=G,S=ie,_=J,C=ue,$=re,w=_e,E=me,O=D("LeaveTypeAddButton"),y=ce,I=pe,m=D("SaveOutlined"),P=Q,q=X,F=fe;return d(),b(F,{title:e.pageTitle,width:e.drawerWidth,open:e.visible,"body-style":{paddingBottom:"80px"},"footer-style":{textAlign:"right"},maskClosable:!1,onClose:e.onClose},{footer:t(()=>[a(q,null,{default:t(()=>[a(P,{key:"submit",type:"primary",loading:e.loading,onClick:e.onSubmit},{icon:t(()=>[a(m)]),default:t(()=>[i(" "+u(e.addEditType=="add"?e.$t("common.create"):e.$t("common.update")),1)]),_:1},8,["loading","onClick"]),a(P,{key:"back",onClick:e.onClose},{default:t(()=>[i(u(e.$t("common.cancel")),1)]),_:1},8,["onClick"])]),_:1})]),default:t(()=>[a(I,{layout:"vertical"},{default:t(()=>[a(_,{gutter:16},{default:t(()=>[a(r,{xs:24,sm:24,md:12,lg:12},{default:t(()=>[a(k,{label:e.$t("attendance.user"),name:"user_id",help:e.rules.user_id?e.rules.user_id.message:null,validateStatus:e.rules.user_id?"error":null,class:"required"},{default:t(()=>[V("span",qe,[a(f,{value:e.formData.user_id,"onUpdate:value":n[0]||(n[0]=o=>e.formData.user_id=o),placeholder:e.$t("common.select_default_text",[e.$t("attendance.user")]),allowClear:!0},{default:t(()=>
1[(d(!0),g(h,null,Y(e.users,o=>(d(),b(T,{key:o.xid,value:o.xid},{default:t(()=>[i(u(o.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"]),a(A,{onOnAddSuccess:e.userAdded},null,8,["onOnAddSuccess"])])]),_:1},8,["label","help","validateStatus"])]),_:1}),a(r,{xs:24,sm:24,md:12,lg:12},{default:t(()=>[a(k,{label:e.$t("attendance.date"),name:"date",help:e.rules.date?e.rules.date.message:null,validateStatus:e.rules.date?"error":null,class:"required"},{default:t(()=>[a(S,{value:e.formData.date,"onUpdate:value":n[1]||(n[1]=o=>e.formData.date=o),format:e.appSetting.date_format,valueFormat:"YYYY-MM-DD",style:{width:"100%"}},null,8,["value","format"])]),_:1},8,["label","help","validateStatus"])]),_:1})]),_:1}),a(_,{gutter:16},{default:t(()=>[a(r,{xs:24,sm:24,md:12,lg:12},{default:t(()=>[a(k,{label:e.$t("shift.clock_in_time"),name:"clock_in_time",help:e.rules.clock_in_time?e.rules.clock_in_time.message:null,validateStatus:e.rules.clock_in_time?"error":null,class:"required"},{default:t(()=>[a(C,{value:e.formData.clock_in_time,"onUpdate:value":n[2]||(n[2]=o=>e.formData.clock_in_time=o),valueFormat:"h:mm A",style:{width:"100%"},"use12-hours":""},null,8,["value"])]),_:1},8,["label","help","validateStatus"])]),_:1}),a(r,{xs:24,sm:24,md:12,lg:12},{default:t(()=>[a(k,{label:e.$t("attendance.clock_in_ip_address"),name:"clock_in_ip_address",help:e.rules.clock_in_ip_address?e.rules.clock_in_ip_address.message:null,validateStatus:e.rules.clock_in_ip_address?"error":null},{default:t(()=>[a($,{value:e.formData.clock_in_ip_address,"onUpdate:value":n[3]||(n[3]=o=>e.formData.clock_in_ip_address=o),placeholder:e.$t("common.placeholder_default_text",[e.$t("attendance.clock_in_ip_address")])},null,8,["value","placeholder"])]),_:1},8,["label","help","validateStatus"])]),_:1})]),_:1}),a(_,{gutter:16},{default:t(()=>[a(r,{xs:24,sm:24,md:12,lg:12},{default:t(()=>[a(k,{label:e.$t("shift.clock_out_time"),name:"clock_out_time",help:e.rules.clock_out_time?e.rules.clock_out_time.message:null,validateStatus:e.rules.clock_out_time?"error":null,class:"required"},{default:t(()=>[a(C,{value:e.formData.clock_out_time,"onUpdate:value":n[4]||(n[4]=o=>e.formData.clock_out_time=o),valueFormat:"h:mm A",style:{width:"100%"},"use12-hours":""},null,8,["value"])]),_:1},8,["label","help","validateStatus"])]),_:1}),a(r,{xs:24,sm:24,md:12,lg:12},{default:t(()=>[a(k,{label:e.$t("attendance.clock_out_ip_address"),name:"clock_out_ip_address",help:e.rules.clock_out_ip_address?e.rules.clock_out_ip_address.message:null,validateStatus:e.rules.clock_out_ip_address?"error":null},{default:t(()=>[a($,{value:e.formData.clock_out_ip_address,"onUpdate:value":n[5]||(n[5]=o=>e.formData.clock_out_ip_address=o),placeholder:e.$t("common.placeholder_default_text",[e.$t("attendance.clock_out_ip_address")])},null,8,["value","placeholder"])]),_:1},8,["label","help","validateStatus"])]),_:1})]),_:1}),a(_,{gutter:16},{default:t(()=>[a(r,{xs:24,sm:24,md:6,lg:6},{default:t(()=>[a(k,{label:e.$t("attendance.is_late"),name:"is_late",help:e.rules.is_late?e.rules.is_late.message:null,validateStatus:e.rules.is_late?"error":null},{default:t(()=>[a(E,{value:e.formData.is_late,"onUpdate:value":n[6]||(n[6]=o=>e.formData.is_late=o),"button-style":"solid",size:"small"},{default:t(()=>[a(w,{value:1},{default:t(()=>[i(u(e.$t("common.yes")),1)]),_:1}),a(w,{value:0},{default:t(()=>[i(u(e.$t("common.no")),1)]),_:1})]),_:1},8,["value"])]),_:1},8,["label","help","validateStatus"])]),_:1}),a(r,{xs:24,sm:24,md:6,lg:6},{default:t(()=>[a(k,{label:e.$t("attendance.is_half_day"),name:"is_half_day",help:e.rules.is_half_day?e.rules.is_half_day.message:null,validateStatus:e.rules.is_half_day?"error":null},{default:t(()=>[a(E,{value:e.formData.is_half_day,"onUpdate:value":n[7]||(n[7]=o=>e.formData.is_half_day=o),"button-style":"solid",size:"small"},{default:t(()=>[a(w,{value:1},{default:t(()=>[i(u(e.$t("common.yes")),1)]),_:1}),a(w,{value:0},{default:t(()=>[i(u(e.$t("common.no")),1)]),_:1})]),_:1},8,["value"])]),_:1},8,["label","help","validateStatus"])]),_:1}),e.formData.is_half_day==1?(d(),b(r,{key:0,xs:24,sm:24,md:12,lg:12},{default:t(()=>[a(k,{label:e.$t("attendance.leave_type"),name:"leave_type_id",help:e.rules.leave_type_id?e.rules.leave_type_id.message:null,validateStatus:e.rules.leave_type_id?"error":null,class:"required"},{default:t(()=>[V("span",Ve,[a(f,{value:e.formData.leave_type_id,"onUpdate:value":n[8]||(n[8]=o=>e.formData.leave_type_id=o),placeholder:e.$t("common.select_default_text",[e.$t("attendance.leave_type")]),allowClear:!0},{default:t(()=>
1[(d(!0),g(h,null,Y(e.allLeaveTypes,o=>(d(),b(T,{key:o.xid,value:o.xid},{default:t(()=>[i(u(o.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","placeholder"]),a(O,{onOnAddSuccess:e.leaveTypeAdded},null,8,["onOnAddSuccess"])])]),_:1},8,["label","help","validateStatus"])]),_:1})):c("",!0)]),_:1}),e.formData.is_half_day==1?(d(),b(_,{key:0,gutter:16},{default:t(()=>[a(r,{xs:24,sm:24,md:24,lg:24},{default:t(()=>[a(k,{label:e.$t("attendance.reason"),name:"reason",help:e.rules.reason?e.rules.reason.message:null,validateStatus:e.rules.reason?"error":null,class:"required"},{default:t(()=>[a(y,{value:e.formData.reason,"onUpdate:value":n[9]||(n[9]=o=>e.formData.reason=o),placeholder:e.$t("common.placeholder_default_text",[e.$t("attendance.reason")]),rows:4},null,8,["value","placeholder"])]),_:1},8,["label","help","validateStatus"])]),_:1})]),_:1})):c("",!0)]),_:1})]),_:1},8,["title","width","open","onClose"])}const Re=H(Me,[["render",Ye]]),Ke={components:{PlusOutlined:N,EditOutlined:ke,DeleteOutlined:ve,AddEdit:Re,AdminPageHeader:Oe,AttendanceSidebar:Pe,AttendanceStatus:Be},setup(){const{t:e}=L(),{addEditUrl:n,initData:p,columns:l,filterableColumns:U,url:B,hashableColumns:T}=Fe(),f=$e(),A=M([]),k="users?limit=10000",r=M({user_id:void 0,date:void 0,status:"all"}),{permsArray:S,appSetting:_,formatDate:C,formatTime:$,formatDateTime:w}=z(),{formatMinutes:E}=R();W(()=>{(S.value.includes("attendances_edit")||S.value.includes("attendances_delete")||S.value.includes("admin"))&&(l.value=[...l.value,{title:e("common.action"),dataIndex:"action"}]),y(),O()});const O=()=>{f.tableUrl.value={url:B,extraFilters:r},f.table.filterableColumns=U,f.crudUrl.value=n,f.langKey.value="attendance",f.initData.value={...p},f.formData.value={...p},f.hashableColumns.value=[...T],f.table.sorter={field:"date",order:"desc"},f.fetch({page:1})},y=()=>{const m=axiosAdmin.get(k);Promise.all([m]).then(([P])=>{A.value=P.data})};return{extraFilters:r,users:A,columns:l,...f,filterableColumns:U,permsArray:S,appSetting:_,formatDate:C,formatTime:$,formatDateTime:w,formatMinutes:E,setUrlData:O,getAttendanceStatus:m=>{if(m.is_half_day)return"half_day";if(m.x_leave_type_id)return"on_leave";if(m.clock_in_date_time&&m.clock_out_date_time)return"present"}}}},Le={class:"table-responsive"};function He(e,n,p,l,U,B){const T=ye,f=D("router-link"),A=ge,k=he,r=D("AdminPageHeader"),S=D("AttendanceSidebar"),_=G,C=D("PlusOutlined"),$=Q,w=D("DeleteOutlined"),E=X,O=Z,y=j,I=be,m=J,P=D("admin-page-filters"),q=D("AddEdit"),F=De,o=Ae,K=Se,x=D("AttendanceStatus"),ee=D("EditOutlined"),ae=Ce,te=D("admin-
1page-table-content");return d(),g(h,null,[a(r,null,{header:t(()=>[a(T,{title:e.$t("menu.attendances"),class:"p-0"},null,8,["title"])]),breadcrumb:t(()=>[a(k,{separator:"-",style:{"font-size":"12px"}},{default:t(()=>[a(A,null,{default:t(()=>[a(f,{to:{name:"admin.dashboard.index"}},{default:t(()=>[i(u(e.$t("menu.dashboard")),1)]),_:1})]),_:1}),a(A,null,{default:t(()=>[i(u(e.$t("menu.hrm")),1)]),_:1}),a(A,null,{default:t(()=>[i(u(e.$t("menu.attendances")),1)]),_:1})]),_:1})]),_:1}),a(m,null,{default:t(()=>[a(_,{xs:24,sm:24,md:24,lg:4,xl:4,class:"bg-setting-sidebar"},{default:t(()=>[a(S)]),_:1}),a(_,{xs:24,sm:24,md:24,lg:20,xl:20},{default:t(()=>[a(P,null,{default:t(()=>[a(m,{gutter:[16,16]},{default:t(()=>[a(_,{xs:24,sm:24,md:12,lg:10,xl:10},{default:t(()=>[a(E,null,{default:t(()=>[l.permsArray.includes("attendances_create")||l.permsArray.includes("admin")?(d(),b($,{key:0,type:"primary",onClick:e.addItem},{default:t(()=>[a(C),i(" "+u(e.$t("attendance.add")),1)]),_:1},8,["onClick"])):c("",!0),e.table.selectedRowKeys.length>0&&(l.permsArray.includes("attendances_delete")||l.permsArray.includes("admin"))?(d(),b($,{key:1,type:"primary",onClick:e.showSelectedDeleteConfirm,danger:""},{icon:t(()=>[a(w)]),default:t(()=>[i(" "+u(e.$t("common.delete")),1)]),_:1},8,["onClick"])):c("",!0)]),_:1})]),_:1}),a(_,{xs:24,sm:24,md:12,lg:14,xl:14},{default:t(()=>[a(m,{gutter:[16,16],justify:"end"},{default:t(()=>[l.permsArray.includes("attendances_view")||l.permsArray.includes("admin")?(d(),b(_,{key:0,xs:24,sm:24,md:12,lg:12,xl:8},{default:t(()=>[a(y,{value:l.extraFilters.user_id,"onUpdate:value":n[0]||(n[0]=s=>l.extraFilters.user_id=s),onChange:l.setUrlData,"show-search":"",style:{width:"100%"},placeholder:e.$t("common.select_default_text",[e.$t("attendance.user")]),allowClear:!0},{default:t(()=>[(d(!0),g(h,null,Y(l.users,s=>(d(),b(O,{key:s.xid,value:s.xid,title:s.name},{default:t(()=>[i(u(s.name),1)]),_:2},1032,["value","title"]))),128))]),_:1},8,["value","onChange","placeholder"])]),_:1})):c("",!0),a(_,{xs:24,sm:24,md:12,lg:12,xl:8},{default:t(()=>[a(I,{value:l.extraFilters.date,"onUpdate:value":n[1]||(n[1]=s=>l.extraFilters.date=s),valueFormat:"YYYY-MM-DD",style:{width:"100%"},onChange:l.setUrlData},null,8,["value","onChange"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),a(te,null,{default:t(()=>[a(q,{addEditType:e.addEditType,visible:e.addEditVisible,url:e.addEditUrl,onAddEditSuccess:e.addEditSuccess,onClosed:e.onCloseAddEdit,formData:e.formData,data:e.viewData,pageTitle:e.pageTitle,successMessage:e.successMessage},null,8,["addEditType","visible","url","onAddEditSuccess","onClosed","formData","data","pageTitle","successMessage"]),a(m,null,{default:t(()=>[a(_,{span:24},{default:t(()=>[a(o,{activeKey:l.extraFilters.status,"onUpdate:activeKey":n[2]||(n[2]=s=>l.extraFilters.status=s),onChange:l.setUrlData},{default:t(()=>[a(F,{key:"all",tab:`${e.$t("common.all")}`},null,8,["tab"]),a(F,{key:"on_leave",tab:`${e.$t("attendance.on_leave")}`},null,8,["tab"]),a(F,{key:"present",tab:`${e.$t("attendance.present")}`},null,8,["tab"]),a(F,{key:"half_day",tab:`${e.$t("attendance.half_day")}`},null,8,["tab"])]),_:1},8,["activeKey","onChange"])]),_:1})]),_:1}),a(m,null,{default:t(()=>[a(_,{span:24},{default:t(()=>[V("div",Le,[a(ae,{"row-selection":{selectedRowKeys:e.table.selectedRowKeys,onChange:e.onRowSelectChange,getCheckboxProps:s=>({disabled:!1,name:s.xid})},columns:l.columns,"row-key":s=>s.xid,"data-source":e.table.data,pagination:e.table.pagination,loading:e.table.loading,onChange:e.handleTableChange,bordered:"",size:"middle"},{bodyCell:t(({column:s,record:v})=>[s.dataIndex==="date"?(d(),g(h,{key:0},[i(u(l.formatDate(v.date)),1)],64)):c("",!0),s.dataIndex==="clock_in_date_time"?(d(),g(h,{key:1},[i(u(l.formatTime(v.clock_in_date_time)),1)],64)):c("",!0),s.dataIndex==="clock_out_date_time"?(d(),g(h,{key:2},[i(u(l.formatTime(v.clock_out_date_time)),1)],64)):c("",!0),s.dataIndex==="user_id"?(d(),g(h,{key:3},[i(u(v.user.name),1)],64)):c("",!0),s.dataIndex==="total_duration"?(d(),g(h,{key:4},[i(u(l.formatMinutes(v.total_duration)),1)],64)):c("",!0),s.dataIndex==="is_late"?(d(),g(h,{key:5},[v.is_late==0?(d(),b(K,{key:0,color:"success"},{default:t(()=>[i(u(e.$t("common.no")),1)]),_:1})):(d(),b(K,{key:1,color:"error"},{default:t(()=>[i(u(e.$t("common.yes")),1)]),_:1}))],64)):c("",!0),s.dataIndex==="is_half_day"?(d(),g(h,{key:6},[i(u(v.is_half_day==0?e.$t("common.no"):e.$t("common.yes")),1)],64)):c("",!0),s.dataIndex==="clock_in_ip_address"?(d(),g(h,{key:7},[i(u(v.clock_in_ip_address?v.clock_in_ip_address:"-"),1)],64)):c("",!0),s.dataIndex==="clock_out_ip_address"?(d(),g(h,{key:8},[i(u(v.clock_out_ip_address?v.clock_out_ip_address:"-"),1)],64)):c("",!0),s.dataIndex==="status"?(d(),b(x,{key:9,status:l.getAttendanceStatus(v)},null,8,["status"])):c("",!0),s.dataIndex==="action"?(d(),g(h,{key:10},[(l.permsArray.includes("attendances_edit")||l.permsArray.includes("admin"))&&l.getAttendanceStatus(v)!="on_leave"?(d(),b($,{key:0,t
1ype:"primary",onClick:le=>e.editItem(v),style:{"margin-left":"4px"}},{icon:t(()=>[a(ee)]),_:2},1032,["onClick"])):c("",!0),l.permsArray.includes("attendances_delete")||l.permsArray.includes("admin")?(d(),b($,{key:1,type:"primary",onClick:le=>e.showDeleteConfirm(v.xid),style:{"margin-left":"4px"}},{icon:t(()=>[a(w)]),_:2},1032,["onClick"])):c("",!0)],64)):c("",!0)]),_:1},8,["row-selection","columns","row-key","data-source","pagination","loading","onChange"])])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})],64)}const fa=H(Ke,[["render",He]]);export{fa as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.