File manager - Edit - /home/autoph/public_html/projects/ahg-hr/assets/index.8dd20731.js
Back
import{_ as Be,q as S,ah as Ce,c as _e,w as L,r as z,o as c,e as k,j as g,d as u,b as f,t as P,m as ge,h as he,F as de,k as Q,f as ve,n as Ye}from"./index.d09cba45.js";import{L as Ue,a as He}from"./index.f5fec97e.js";import{B as Ge}from"./index.b36b35c2.js";import{E as Ve}from"./EditButton.3ca5c2a0.js";/* empty css */import{I as ze}from"./index.7c87e136.js";import"./jspdf.es.min.41d1f521.js";/* empty css */import{H as m}from"./HelperService.626efa74.js";import{A as Qe}from"./AttendancePostingService.06fb7c20.js";import{C as We}from"./CompanyService.340d60b0.js";import{D as qe}from"./DealershipService.1fb5aae1.js";import{P as Je}from"./PayrollDateService.e570bb71.js";import{P as me}from"./PayrollService.da6e8c55.js";import{F as Ke}from"./index.97ec51ba.js";/* empty css */import"./vue-cleave.min.3d6c67b7.js";import{c as Pe,a as xe,V as we}from"./array.41230547.js";import{L as Xe}from"./Loading.10020070.js";import"./vue-quill.snow.4fe86b91.js";/* empty css */import{C as Ze}from"./index.2ecb62fe.js";import{I as $e}from"./index.44224e48.js";import{P as et}from"./Pagination.14a26668.js";import{T as tt}from"./index.ce1fdfaf.js";import{T as at}from"./index.b10a2de6.js";import{T as ot}from"./index.c8274f7e.js";import{u as Y,w as st}from"./xlsx.9a117414.js";import"./logo-black.7c15feb3.js";import"./logo-white.b04c5a89.js";import"./transition.979a347a.js";import"./EmployeeService.b43eb678.js";import"./es.string.replace.f405e891.js";import"./Loading.vue_vue_type_style_index_0_scoped_cbded5a2_lang.0b8030ab.js";import"./index.78f61ffe.js";const lt={components:{Layout:Ue,Card:Ze,Button:Ge,Icon:ze,Textinput:ot,InputGroup:$e,Textarea:at,FormGroup:Ke,Multiselect:He,Table:tt,Pagination:et,Loading:Xe,EditButton:Ve},data(){return{form:{},details:{},attendance:{},steps:[{id:1,title:"Select Payroll Date"},{id:2,title:"Get Attendance"},{id:3,title:"Get Adustments"},{id:4,title:"Compute Payroll"},{id:5,title:"Generate Summary"},{id:6,title:"Save Payroll"}],stepNumber:1,companyOptions:[],payrollDateOptions:[],dealers:[],payroll_date:null,postedAttendance:null,payrollAdjustments:null,attendanceColumns:[{label:"Employee",field:"employee"},{label:"Position",field:"position"},{label:"Work Days",field:"actual_work_days",tdClass:"text-center"},{label:"Work Hours",field:"work_hours",tdClass:"text-center"},{label:"Leave Hours",field:"leave_hours",tdClass:"text-center",format:function(e){return e>0?e:null}},{label:"Days Absent",field:"days_absent",tdClass:"text-center",format:function(e){return e>0?e:null}},{label:"Mins. Tardy",field:"minutes_late",tdClass:"text-center",format:function(e){return e>0?m.formatHoursMinute(e):null}},{label:"Mins. Undertime",field:"minutes_undertime",tdClass:"text-center",format:function(e){return e>0?m.formatHoursMinute(e):null}},{label:"Overtime",field:"overtime_totals",tdClass:"text-right",format:function(e){if(e){const o=JSON.parse(e).reduce((s,a)=>s+parseFloat(a.no_of_hours),0);return m.formatHoursMinute(o,"hours")}else return null}},{label:"Holiday",field:"holiday_totals",tdClass:"text-right",format:function(e){return e?JSON.parse(e).reduce((s,a)=>s+parseFloat(a.no_of_hours),0):null}},{label:"NightDiff",field:"night_diff_totals",tdClass:"text-right",format:function(e){if(e){const o=JSON.parse(e).reduce((s,a)=>s+parseFloat(a.no_of_hours),0);return m.formatHoursMinute(o)}else return null}}],adjustmentColumns:[{label:"Employee",field:"employee_name"},{label:"Position",field:"position"},{label:"Item",field:"payroll_item_name"},{label:"Amount",field:"amount",tdClass:"text-right"},{label:"Date From",field:"date_from",tdClass:"text-center",format:function(e){return S(e).format("MMM DD, Y")}},{label:"Date To",field:"date_to",tdClass:"text-center",format:function(e){return S(e).format("MMM DD, Y")}},{label:"Addition/ Deduction",field:"add_less",tdClass:"text-center",format:function(e){return e>1?"Deduction":"Addition"}},{label:"Taxable",field:"taxable",tdClass:"text-center",format:function(e){return e>0?"Yes":"No"}}],payrollColumns:[{label:"",field:"action"},{label:"Employee",field:"employee_name"},{label:"Position",field:"position"},{label:"Salary Rate",field:"salary_rate",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Work Days",field:"actual_work_days",tdClass:"text-center"},{label:"Work Hours",field:"work_hours",tdClass:"text-center"},{label:"Basic Pay",field:"basic_pay",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Other Income",field:"other_income",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Leave",field:"leave_pay",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Overtime",field:"overtime_total",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Holiday",field:"holiday_total",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Restday",field:"restday_total",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Night Diff",field:"night_diff_total",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Absent",field:"absent_amount",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Late",field:"late_amount",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Undertime",field:"undertime_amount",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Gross Pay",field:"gross_pay",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"SSS",field:"sss_employee_share",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Philhealth",field:"philhealth_contribution",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Pagibig",field:"pagibig_contribution",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Taxable Amount",field:"taxable_amount",tdClass:"text-right font-semibold",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Withholding Tax",field:"withholding_tax",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Income after tax",field:"income_after_tax",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Benefits",field:"benefits_total",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Loans",field:"loans_total",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Adjustments",field:"adjustment_totals",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Deductions",field:"other_deductions",tdClass:"text-right",format:function(e){return e>0?m.formatNumber(e):null}},{label:"Net Pay",field:"net_pay",tdClass:function(e){return"text-right font-semibold "+(e>0?"text-green-500":"text-danger-500")},format:function(e){return m.formatNumber(e)}}],benefitColumns:[{label:"Employee",field:"employee_name"},{label:"Days/Month",field:"days_month"},{label:"Amount",field:"total_amount"}],deductionColumns:{Absences:[{label:"Employee",field:"employee_name"},{label:"Days",field:"days_absent"},{label:"Amount",field:"absent_amount",format:function(e){return m.formatNumber(e)}}],Tardiness:[{label:"Employee",field:"employee_name"},{label:"Minutes",field:"minutes_late"},{label:"Amount",field:"late_amount",format:function(e){return m.formatNumber(e)}}],Undertime:[{label:"Employee",field:"employee_name"},{label:"Minutes",field:"minutes_undertime"},{label:"Amount",field:"undertime_amount",format:function(e){return m.formatNumber(e)}}]},loanColumns:[{label:"Employee",field:"employee_name"},{label:"Amount",field:"amount"}],paymentContributionColumns:[{label:"Employee",field:"employee_name"},{label:"Amount",field:"amount"}],searchQuery:null,searchPayrollQuery:null,searchAdjustmentQuery:null,serverOptions:{page:1,rowsPerPage:10,sortBy:null,sortType:"asc"},errors:null,state:{isLoading:!1,showFormPanel:!0,fetchingAttendance:!1,fetchingPayrollDates:!1,fetchingCompanies:!1,fetchingDealers:!1,fetchingAdjustments:!1,cancelProcessing:!1,computingPayroll:!1,attendanceComplete:!1,adjustmentComplete:!1,computationComplete:!1,isPDFGenerated:!1},computedPayroll:[],totalEmployees:0,processedEmployees:0,startTime:null,elapsedTime:null,cutOffStart:null,cutOffEnd:null}},computed:{Helper(){return m},dealerOptions(){let e=[];return console.log("yyy"),console.log(this.dealers),this.form.company_id&&(e=this.dealers.filter(t=>t.company_id==this.form.company_id&&t.departments.length>0).map(t=>({label:t.name,value:t.id}))),console.log("options"),console.log(e),e},companyName(){let e=null;if(this.form.company_id){const t=this.companyOptions.find(o=>o.value===this.form.company_id);e=(t==null?void 0:t.label)||null}return e},dealershipName(){let e=null;if(this.form.dealership_id){const t=this.dealerOptions.find(o=>o.value===this.form.dealership_id);e=(t==null?void 0:t.label)||null}return e},filteredAttendance(){let e=this.postedAttendance.details??[];if(console.log("attendance",e),this.searchQuery){const t=this.searchQuery.toLowerCase();e=e==null?void 0:e.filter(o=>o.employee.firstname.toLowerCase().includes(t)||o.employee.lastname.toLowerCase().includes(t)||o.employee_id.toLowerCase().includes(t)||o.employee.position&&o.employee.position.name.toLowerCase().includes(t))}return e},benefits(){return this.computedPayroll.flatMap(o=>{var s;return((s=o.details.benefits)==null?void 0:s.filter(a=>a.benefit_name).map(a=>({employee_name:o.employee_name,...a})))||[]}).reduce((o,s)=>(o[s.benefit_name]||(o[s.benefit_name]=[]),o[s.benefit_name].push(s),o),{})},payment_contributions(){return this.computedPayroll.flatMap(o=>{var s;return((s=o.details.payment_contributions)==null?void 0:s.filter(a=>a.contribution_name).map(a=>({employee_name:o.employee_name,...a})))||[]}).reduce((o,s)=>(o[s.contribution_name]||(o[s.contribution_name]=[]),o[s.contribution_name].push(s),o),{})},loans(){return this.computedPayroll.flatMap(o=>{var s;return((s=o.details.loans)==null?void 0:s.filter(a=>a.loan_type_name).map(a=>({employee_name:o.employee_name,...a})))||[]}).reduce((o,s)=>(o[s.loan_type_name]||(o[s.loan_type_name]=[]),o[s.loan_type_name].push(s),o),{})},adjustments(){return this.payrollAdjustments.filter(o=>o.payroll_item_name).reduce((o,s)=>(o[s.payroll_item_name]||(o[s.payroll_item_name]=[]),o[s.payroll_item_name].push(s),o),{})},deductions(){let e=this.computedPayroll.filter(s=>s.details.days_absent>0).map(s=>({employee_name:s.employee_name,days_absent:s.details.days_absent,absent_amount:s.absent_amount})),t=this.computedPayroll.filter(s=>s.details.minutes_late>0).map(s=>({employee_name:s.employee_name,minutes_late:s.details.minutes_late,late_amount:s.late_amount})),o=this.computedPayroll.filter(s=>s.details.minutes_undertime>0).map(s=>({employee_name:s.employee_name,minutes_undertime:s.details.minutes_undertime,undertime_amount:s.undertime_amount}));return{Absences:e,Tardiness:t,Undertime:o}},totalItems(){return this.filteredAttendance.length},totalPages(){return this.totalItems>0?Math.ceil(this.totalItems/this.serverOptions.rowsPerPage):1},overallProgress(){return Math.round(this.processedEmployees/this.totalEmployees*100)},filteredPayroll(){let e=this.computedPayroll;return this.searchPayrollQuery&&(e=this.computedPayroll.filter(t=>t.employee_name.toLowerCase().includes(this.searchPayrollQuery.toString().toLowerCase()))),e},filteredAdjustments(){let e=this.payrollAdjustments;return this.searchAdjustmentQuery&&(e=e.filter(t=>t.employee_name.toLowerCase().includes(this.searchAdjustmentQuery.toString().toLowerCase()))),e}},methods:{async submit(){let e=this.steps.length;console.log("this.stepNumber"),console.log(this.stepNumber),this.stepNumber===e?(this.submitPayroll(),this.stepNumber=e):this.stepNumber==1?this.validateForm():this.stepNumber==2?this.validateAttendance():this.stepNumber==3?(this.stepNumber++,this.computedPayroll.length==0&&this.computePayroll()):this.stepNumber++},prev(){this.stepNumber--},resetForm(){this.form={company_id:null,dealership_id:null,payroll_date:null,cut_off:null}},async validateForm(){try{await Pe().shape({company_id:xe().nullable().required("Please select company"),dealership_id:xe().nullable().required("Please select dealership"),payroll_date:xe().nullable().required("Please select payroll date")}).validate(this.form,{abortEarly:!1}),this.stepNumber++,this.postedAttendance||this.fetchPostedAttendance()}catch(e){if(e instanceof we){const t={};e.inner.forEach(o=>{t[o.path]=o.message}),this.errors=t,console.log("errors"),console.log(this.errors)}}},async validateAttendance(){try{await Pe().shape({header:Pe().nullable().required("No posted Attendance!!!")}).validate(this.postedAttendance,{abortEarly:!1}),this.stepNumber++,this.payrollAdjustments||this.fetchAdjustments()}catch(e){if(e instanceof we){const t={};e.inner.forEach(o=>{t[o.path]=o.message}),this.errors=t,console.log("errors"),console.log(this.errors)}}},async saveRecord(){this.state.isSaving=!0,this.form.cut_off_start=this.cutOffStart,this.form.cut_off_end=this.cutOffEnd,this.form.details=this.computedPayroll,console.log("saving record",this.form),await me.create(this.form).then(async e=>{e.status==201?this.$swal.fire({title:"Great!",text:"Record successfully saved.",icon:"success",timer:2e3}):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3})}).catch(e=>console.error(e)).finally(()=>this.state.isSaving=!1)},async submitPayroll(){this.$swal.fire({title:"Are you sure you want to save this record?",text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(e=>{e.value&&this.saveRecord()})},async fetchPayrollDates(){this.state.fetchingPayrollDates=!0,await me.fetchPayrollDates({company_id:this.form.company_id,dealership_id:this.form.dealership_id}).then(e=>{e.status==200&&(this.payrollDateOptions=e.data.map(t=>({value:t.payroll_date,label:t.payroll_date})))}).catch(e=>{console.error(e)}).finally(()=>this.state.fetchingPayrollDates=!1)},async fetchCutOff(){this.form.payroll_date&&this.form.company_id&&await Je.fetchCutOff({company_id:this.form.company_id,payroll_date:this.form.payroll_date}).then(e=>{if(e.status==200){const t=e.data.date_range,{date_range:o,...s}=e.data;this.form={...this.form,...s},this.cutOffStart=t[0],this.cutOffEnd=t[t.length-1];return}})},async fetchCompanies(){this.state.fetchingCompanies=!0,await We.fetchRecords().then(e=>{e.status==200&&(this.companyOptions=e.data.data.map(t=>({value:t.id,label:t.code+" - "+t.name})))}).catch(e=>{console.log(e)}).finally(()=>this.state.fetchingCompanies=!1)},async fetchDealerships(){this.state.fetchingDealers=!0,await qe.fetchRecords({includes:["departments"]}).then(e=>{e.status==200&&(this.dealers=e.data.data,console.log("this.dealers"),console.log(this.dealers))}).catch(e=>{console.error(e)}).finally(()=>this.state.fetchingDealers=!1)},async fetchPostedAttendance(){this.state.fetchingAttendance=!0,this.form.payroll_date&&this.form.company_id&&this.form.dealership_id&&await Qe.fetchProcessedRecords({company_id:this.form.company_id,payroll_date:this.form.payroll_date,dealership_id:this.form.dealership_id}).then(e=>{if(e.status==200){this.postedAttendance=e.data,this.postedAttendance.details=this.postedAttendance.details.filter(t=>t.work_hours>0||t.actual_work_days>0||t.work_days>0).map(t=>({...t,name:[t.employee.lastname,t.employee.firstname].join(", ")})),this.state.attendanceComplete=!0;return}}).catch(e=>console.error(e)).finally(()=>this.state.fetchingAttendance=!1)},async fetchAdjustments(){this.state.fetchingAdjustments=!0,await me.fetchAdjustments({company_id:this.form.company_id,dealership_id:this.form.dealership_id,cut_off:this.form.cut_off,cut_off_start:this.cutOffStart,cut_off_end:this.cutOffEnd}).then(e=>{e.status==200&&(this.payrollAdjustments=e.data.map(t=>({...t,employee_name:t.employee?`${t.employee.lastname}, ${t.employee.firstname} (${t.employee_id})`:null,position_name:t.employee.position?t.employee.position.name:null,payroll_item_name:t.payroll_item?t.payroll_item.name:null})),console.log("adjustment",this.payrollAdjustments),this.state.adjustmentComplete=!0)}).catch(e=>console.error(e)).finally(()=>this.state.fetchingAdjustments=!1)},async computePayroll(){console.log("processing"),this.computedPayroll=[],this.state.computingPayroll=!0,this.state.cancelProcessing=!1,this.postedAttendance.details=this.postedAttendance.details.map(r=>({...r,adjustments:this.payrollAdjustments.filter(_=>_.employee_id==r.employee_id)}));let e=this.postedAttendance.details;const t=e.length;this.totalEmployees=t,this.processedEmployees=0,this.employeeProgress=0;let o=S();this.startTime=o.format("hh:mm:ss A");let s=0;const a=setInterval(()=>{s=S().diff(o,"seconds"),this.elapsedTime=this.formatElapsedTime(s)},1e3);try{for(let r=0;r<t;r++){if(this.state.cancelProcessing){console.log("Processing canceled by user.");break}const _=e[r];this.processingEmployee=_,this.employeeProgress=0,await this.processSingleEmployee(_,r)}this.state.computationComplete=!0,this.state.processStatus="success",console.log("this.computedPayroll"),console.log(this.computedPayroll)}catch(r){this.state.processStatus="error",console.error("Processing stopped due to error:",r)}finally{this.state.processingAttendance=!1,clearInterval(a)}},async processSingleEmployee(e,t){try{e.payroll_date=this.form.payroll_date,e.cut_off=this.form.cut_off,e.cut_off_start=this.cutOffStart,e.cut_off_end=this.cutOffEnd,await me.compute(e).then(o=>{if(o.status==200){let s=o.data;s.employee_name=`${s.name} (${s.employee_id})`,s.position_name=s.employee.position?s.employee.position.name:null,s.actual_work_days=s.details.actual_work_days,this.updateComputedPayroll(s),this.processedEmployees=t+1,this.employeeProgress=100}})}catch(o){throw console.error(`Error processing employee ${e.employee_id}:`,o),o}},updateComputedPayroll(e){const t=this.computedPayroll.findIndex(o=>o.employee_id==e.employee_id);t!==-1?this.computedPayroll[t]=e:this.computedPayroll.push(e)},async recomputePayroll(e,t){this.$swal.fire({title:"Are you sure you want to recompute payroll of this employee?",text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(o=>{o.value&&this.processSingleEmployee(e,t)})},getEmployeeAttendance(e){return console.log("employee_id"),console.log(e),this.postedAttendance.details=this.postedAttendance.details.map(o=>({...o,adjustments:this.payrollAdjustments.filter(s=>s.employee_id==o.employee_id)})),this.postedAttendance.details.find(o=>o.employee_id==e)},generatePayrollPDF(){Ce(()=>import("./jspdf.es.min.41d1f521.js").then(e=>e.j),["assets/jspdf.es.min.41d1f521.js","assets/index.d09cba45.js","assets/index.3378bb1a.css"]).then(({default:e})=>{Ce(()=>import("./jspdf.plugin.autotable.a8fdcd8c.js").then(t=>t.j),["assets/jspdf.plugin.autotable.a8fdcd8c.js","assets/index.d09cba45.js","assets/index.3378bb1a.css","assets/jspdf.es.min.091ed9f7.js","assets/jspdf.es.min.41d1f521.js"]).then(()=>{const t=new e({orientation:"landscape",unit:"mm",format:"a3"}),o=t.internal.pageSize.width,s=10;t.setFontSize(16),t.setFont("helvetica","bold"),t.text(this.companyName.toString().toUpperCase(),o/2,15,{align:"center"}),t.setFontSize(14),t.text("PAYROLL SUMMARY REPORT",o/2,22,{align:"center"}),t.setFontSize(10),t.text(`Payroll Date: ${S(this.form.payroll_date).format("MM/DD/Y")}`,s,30),t.text(`Cutoff Date: ${S(this.cutOffStart).format("MM/DD/Y")} - ${S(this.cutOffEnd).format("MM/DD/Y")}`,s,35),t.text(`Branch: ${this.dealershipName}`,s,40);const a=[{field:"no",label:"No."},{field:"employee_id",label:"Employee ID"},{field:"employee_name",label:"Employee"},{field:"position",label:"Position"},{field:"basic_pay",label:"Total Basic Salary Pay"},{field:"benefits_and_other_income",label:"Benefits and Other Income"},{field:"adjustments",label:"Adjustments"},{field:"statutory",label:"Statutory"},{field:"gross_pay",label:"Gross Pay"},{field:"sss_employee_share",label:"SSS"},{field:"philhealth_contribution",label:"PhilHealth"},{field:"pagibig_contribution",label:"Pag-IBIG"},{field:"withholding_tax",label:"Withholding Tax"},{field:"loans_total",label:"Loans"},{field:"other_deductions",label:"Deductions"},{field:"net_pay",label:"Net Pay"}],r=a.filter(d=>d.field!="action").map(d=>d.label),_=a.filter(d=>d.field!="action").map(d=>d.field),U=[...this.computedPayroll].sort((d,O)=>{const l=d.employee_name?d.employee_name.toLowerCase():"",n=O.employee_name?O.employee_name.toLowerCase():"";return l.localeCompare(n)}),E=U.map((d,O)=>_.map(l=>{var n,C,se,T,q,J,K,X,Z,$,ee,y,h,te,le,F,re,ne;if(l==="no")return(O+1).toString();if(l==="basic_pay"){const N=parseFloat(d.basic_pay||0),x=parseFloat(d.leave_pay||0),v=parseFloat(d.overtime_total||0),p=parseFloat(d.holiday_total||0),M=parseFloat(d.restday_total||0),I=parseFloat(d.night_diff_total||0),H=parseFloat(d.absent_amount||0),G=parseFloat(d.late_amount||0),V=parseFloat(d.undertime_amount||0),R=N+x+v+p+M+I-H-G-V;return m.formatNumber(R)}if(l==="loans_total"){const N=parseFloat(d.loans_total||0),x=parseFloat(d.payment_contributions_total||0);return m.formatNumber(N+x)}if(l==="position")return((C=(n=d.employee)==null?void 0:n.position)==null?void 0:C.name)||"N/A";if(l==="benefits_and_other_income"){const N=parseFloat(d.other_income||0),x=parseFloat(d.benefits_total||0);return m.formatNumber(N+x)}if(l==="statutory"){const N=parseFloat(((T=(se=d.details)==null?void 0:se.shields)==null?void 0:T.sss)||0),x=parseFloat(((J=(q=d.details)==null?void 0:q.shields)==null?void 0:J.philhealth)||0),v=parseFloat(((X=(K=d.details)==null?void 0:K.shields)==null?void 0:X.pagibig)||0),p=parseFloat((($=(Z=d.details)==null?void 0:Z.shields)==null?void 0:$.tax)||0);return m.formatNumber(N+x+v+p)}if(l==="adjustments"&&Array.isArray(d[l])){const N=d[l].reduce((x,v)=>x+(parseFloat(v.amount)||0),0);return m.formatNumber(N)}if(l==="gross_pay"){const N=parseFloat(d.basic_pay||0),x=parseFloat(d.leave_pay||0),v=parseFloat(d.overtime_total||0),p=parseFloat(d.holiday_total||0),M=parseFloat(d.restday_total||0),I=parseFloat(d.night_diff_total||0),H=parseFloat(d.absent_amount||0),G=parseFloat(d.late_amount||0),V=parseFloat(d.undertime_amount||0),R=N+x+v+p+M+I-H-G-V,ae=parseFloat(d.other_income||0),i=parseFloat(d.benefits_total||0);let b=0;Array.isArray(d.adjustments)&&(b=d.adjustments.reduce((pe,fe)=>pe+(parseFloat(fe.amount)||0),0));const w=parseFloat(((y=(ee=d.details)==null?void 0:ee.shields)==null?void 0:y.sss)||0),A=parseFloat(((te=(h=d.details)==null?void 0:h.shields)==null?void 0:te.philhealth)||0),D=parseFloat(((F=(le=d.details)==null?void 0:le.shields)==null?void 0:F.pagibig)||0),B=parseFloat(((ne=(re=d.details)==null?void 0:re.shields)==null?void 0:ne.tax)||0),ie=parseFloat(w+A+D+B),ce=R+ae+i+b+ie;return m.formatNumber(ce)}return typeof d[l]=="number"?m.formatNumber(d[l]):d[l]})),W=((d,O)=>{const l=Array(O.length).fill("");return l[0]="TOTAL",O.forEach((n,C)=>{n!=="no"&&n!=="employee_id"&&n!=="employee_name"&&n!=="position"&&(l[C]=0)}),d.forEach(n=>{O.forEach((C,se)=>{var q,J,K,X,Z,$,ee,y,h,te,le,F,re,ne,N,x;if(C==="no"||C==="employee_id"||C==="employee_name"||C==="position")return;let T=0;if(C==="basic_pay"){const v=parseFloat(n.basic_pay||0),p=parseFloat(n.leave_pay||0),M=parseFloat(n.overtime_total||0),I=parseFloat(n.holiday_total||0),H=parseFloat(n.restday_total||0),G=parseFloat(n.night_diff_total||0),V=parseFloat(n.absent_amount||0),R=parseFloat(n.late_amount||0),ae=parseFloat(n.undertime_amount||0);T=v+p+M+I+H+G-V-R-ae}else if(C==="benefits_and_other_income"){const v=parseFloat(n.other_income||0),p=parseFloat(n.benefits_total||0);T=v+p}else if(C==="adjustments"&&Array.isArray(n[C]))T=n[C].reduce((v,p)=>v+(parseFloat(p.amount)||0),0);else if(C==="statutory"){const v=parseFloat(((J=(q=n.details)==null?void 0:q.shields)==null?void 0:J.sss)||0),p=parseFloat(((X=(K=n.details)==null?void 0:K.shields)==null?void 0:X.philhealth)||0),M=parseFloat((($=(Z=n.details)==null?void 0:Z.shields)==null?void 0:$.pagibig)||0),I=parseFloat(((y=(ee=n.details)==null?void 0:ee.shields)==null?void 0:y.tax)||0);T=v+p+M+I}else if(C==="gross_pay"){const v=parseFloat(n.basic_pay||0),p=parseFloat(n.leave_pay||0),M=parseFloat(n.overtime_total||0),I=parseFloat(n.holiday_total||0),H=parseFloat(n.restday_total||0),G=parseFloat(n.night_diff_total||0),V=parseFloat(n.absent_amount||0),R=parseFloat(n.late_amount||0),ae=parseFloat(n.undertime_amount||0),i=v+p+M+I+H+G-V-R-ae,b=parseFloat(n.other_income||0),w=parseFloat(n.benefits_total||0);let A=0;Array.isArray(n.adjustments)&&(A=n.adjustments.reduce((fe,be)=>fe+(parseFloat(be.amount)||0),0));const D=parseFloat(((te=(h=n.details)==null?void 0:h.shields)==null?void 0:te.sss)||0),B=parseFloat(((F=(le=n.details)==null?void 0:le.shields)==null?void 0:F.philhealth)||0),ie=parseFloat(((ne=(re=n.details)==null?void 0:re.shields)==null?void 0:ne.pagibig)||0),ce=parseFloat(((x=(N=n.details)==null?void 0:N.shields)==null?void 0:x.tax)||0),pe=D+B+ie+ce;T=i+b+w+A+pe}else if(C==="loans_total"){const v=parseFloat(n.loans_total||0),p=parseFloat(n.payment_contributions_total||0);T=v+p}else T=parseFloat(n[C]||0);l[se]+=isNaN(T)?0:T})}),O.forEach((n,C)=>{n!=="no"&&n!=="employee_id"&&n!=="employee_name"&&n!=="position"&&(l[C]=m.formatNumber(l[C]))}),l})(U,_);E.push(W),t.autoTable({startY:45,head:[r],body:E,foot:[],styles:{fontSize:8,cellPadding:2},columnStyles:{4:{halign:"right"},5:{halign:"right"},6:{halign:"right"},7:{halign:"right"},8:{halign:"right"},9:{halign:"right"},10:{halign:"right"},11:{halign:"right"},12:{halign:"right"},13:{halign:"right"},14:{halign:"right"},15:{halign:"right"}},footStyles:{fontStyle:"bold"},didDrawPage:function(d){t.setFontSize(8),t.text(`Page ${t.internal.getNumberOfPages()}`,o-s,t.internal.pageSize.height-10)}});const j=`Payroll_Summary_${this.form.company_id}_${this.form.dealership_id}_${this.form.payroll_date}.pdf`;t.save(j);const ue=t.output("blob");this.uploadPdfToServer(ue,j)})})},calculateTotals(e,t){const o=Array(t.length).fill("");return o[0]="TOTAL",t.forEach((s,a)=>{let r=0;e.forEach(_=>{switch(s){case"loans_total":r+=parseFloat(_.loans_total||0)+parseFloat(_.payment_contributions_total||0);break;case"benefits_and_other_income":r+=parseFloat(_.other_income||0)+parseFloat(_.benefits_total||0);break;case"statutory":r+=parseFloat(_.sss_employee_share||0)+parseFloat(_.philhealth_contribution||0)+parseFloat(_.pagibig_contribution||0)+parseFloat(_.withholding_tax||0);break;case"adjustments":Array.isArray(_.adjustments)&&(r+=_.adjustments.reduce((U,E)=>U+(parseFloat(E.amount)||0),0));break;default:typeof _[s]=="number"?r+=_[s]:isNaN(parseFloat(_[s]))||(r+=parseFloat(_[s]));break}}),typeof r=="number"&&!isNaN(r)&&r!==0&&(o[a]=m.formatNumber(r))}),o},getNumericColumnStyles(e){const t=["salary_rate","basic_pay","other_income","leave_pay","overtime_total","holiday_total","rest_total","night_diff_total","absent_amount","late_amount","undertime_amount","gross_pay","sss_employee_share","philhealth_contribution","pagibig_contribution","taxable_amount","withholding_tax","income_after_tax","benefits_total","loans_total","adjustment_totals","other_deductions","net_pay","amount"],o={};return e.forEach((s,a)=>{t.includes(s)&&(o[a]={halign:"right"})}),o},uploadPdfToServer(e,t){const o=new FormData;o.append("pdf_file",e,t),me.saveFilePdf(o).then(s=>{s.status===201&&(this.state.isPDFGenerated=!0,this.form.pdf_file=s.data.pdf_file,this.$notify({type:"success",title:"Success",text:"PDF generated and saved successfully"}))}).catch(s=>{console.error("PDF upload failed",s),this.$notify({type:"error",title:"Error",text:"Failed to save PDF file"})})},generatePayrollSummary(){const e=Y.book_new(),t=this.payrollColumns.filter(i=>i.field!="action").map(i=>i.label);let o=this.payrollColumns.filter(i=>i.field!="action").map(i=>i.field),s=[];s.push([this.companyName.toString().toUpperCase()]),s.push(["PAYROLL SUMMARY REPORT"]),s.push(["Payroll Date : "+S(this.form.payroll_date).format("MM/DD/Y")]),s.push(["Cutoff Date : "+S(this.cutOffStart).format("MM/DD/Y")+" - "+S(this.cutOffEnd).format("MM/DD/Y")]),s.push(["Branch : "+this.dealershipName]),s.push(t);let a=0,r=0,_=0,U=0,E=0,oe=0,W=0,j=0,ue=0,d=0,O=0,l=0,n=0,C=0,se=0,T=0,q=0,J=0,K=0,X=0,Z=0,$=0,ee=0;const y=new Intl.NumberFormat("en-US",{manimumFractionDigits:2,maximumFractionDigits:2});this.computedPayroll.forEach(i=>{const b=[];o.forEach(ye=>{ye=="position"?b.push(i.employee.position.name):ye=="loans_total"?b.push(i[ye]+i.payment_contributions_total):b.push(i[ye])});const w=i.salary_rate||0,A=i.basic_pay||0,D=i.other_income||0,B=i.leave_pay||0,ie=i.overtime_total||0,ce=i.holiday_total||0,pe=i.restday_total||0,fe=i.night_diff_total||0,be=i.absent_amount||0,Ae=i.late_amount||0,Fe=i.undertime_amount||0,De=i.gross_pay||0,Ne=i.sss_employee_share||0,Se=i.philhealth_contribution||0,ke=i.pagibig_contribution||0,Te=i.taxable_amount||0,Oe=i.withholding_tax||0,Ee=i.income_after_tax||0,je=i.benefits_total||0,Me=(i.loans_total||0)+(i.payment_contributions_total||0),Ie=i.adjustment_totals||0,Le=i.net_pay||0,Re=i.other_deductions||0;a+=w,r+=A,_+=D,U+=B,E+=ie,oe+=ce,W+=pe,j+=fe,ue+=be,d+=Ae,O+=Fe,l+=De,n+=Ne,C+=Se,se+=ke,T+=Te,q+=Oe,J+=Ee,K+=je,X+=Me,Z+=Ie,ee+=Le,$+=Re,s.push(b)});const h=Array(o.length).fill("");h[0]="TOTAL",h[o.indexOf("salary_rate")]=y.format(a),h[o.indexOf("basic_pay")]=y.format(r),h[o.indexOf("other_income")]=y.format(_),h[o.indexOf("leave_pay")]=y.format(U),h[o.indexOf("overtime_total")]=y.format(E),h[o.indexOf("holiday_total")]=y.format(oe),h[o.indexOf("rest_total")]=y.format(W),h[o.indexOf("night_diff_total")]=y.format(j),h[o.indexOf("absent_amount")]=y.format(ue),h[o.indexOf("late_amount")]=y.format(d),h[o.indexOf("undertime_amount")]=y.format(O),h[o.indexOf("gross_pay")]=y.format(l),h[o.indexOf("sss_employee_share")]=y.format(n),h[o.indexOf("philhealth_contribution")]=y.format(C),h[o.indexOf("pagibig_contribution")]=y.format(se),h[o.indexOf("taxable_amount")]=y.format(T),h[o.indexOf("withholding_tax")]=y.format(q),h[o.indexOf("income_after_tax")]=y.format(J),h[o.indexOf("benefits_total")]=y.format(K),h[o.indexOf("loans_total")]=y.format(X),h[o.indexOf("adjustment_totals")]=y.format(Z),h[o.indexOf("other_deductions")]=y.format($),h[o.indexOf("net_pay")]=y.format(ee),s.push(h);const te=Y.aoa_to_sheet(s),le=s.length-1;o.forEach((i,b)=>{const w=Y.encode_cell({r:le,c:b}),A=te[w];A&&(A.s={font:{bold:!0},alignment:{horizontal:"right"}})});let F=[];F.push([this.companyName.toString().toUpperCase()]),F.push(["ADJUSTMENT SUMMARY REPORT"]),F.push(["Covered Period : ",S(this.cutOffStart).format("MM/DD/Y")+" - "+S(this.cutOffEnd).format("MM/DD/Y")]),F.push(["Branch : ",this.dealershipName]),F.push([]);const re=["Name","Taxable","Amount"];Object.entries(this.adjustments).forEach(([i,b])=>{F.push([i]),F.push(["",...re]),b.forEach(w=>{const{employee_name:A,taxable:D,amount:B}=w;let ie=["",A,D,B];F.push(ie)}),F.push([]),F.push([])});const ne=Y.aoa_to_sheet(F),N=this.benefitColumns.map(i=>i.label);let x=[];x.push([this.companyName.toString().toUpperCase()]),x.push(["BENEFITS SUMMARY REPORT"]),x.push(["Covered Period : ",S(this.cutOffStart).format("MM/DD/Y")+" - "+S(this.cutOffEnd).format("MM/DD/Y")]),x.push(["Branch : ",this.dealershipName]),x.push([]),x.push(["Employee ID",...N]),Object.entries(this.benefits).forEach(([i,b])=>{x.push([i]),b.forEach(w=>{const A=[w.employee_id||"",...this.benefitColumns.map(D=>w[D.field]||"")];x.push(A)}),x.push([])});const v=Y.aoa_to_sheet(x);let p=[];p.push([this.companyName.toString().toUpperCase()]),p.push(["BENEFITS SUMMARY REPORT"]),p.push(["Covered Period : ",S(this.cutOffStart).format("MM/DD/Y")+" - "+S(this.cutOffEnd).format("MM/DD/Y")]),p.push(["Branch : ",this.dealershipName]),p.push([]),Object.keys(this.deductions).forEach(i=>{p.push([i]);const b=this.deductionColumns[i].map(w=>w.label);p.push(["",...b]),this.deductions[i].forEach(w=>{const A=["",...this.deductionColumns[i].map(D=>{const B=w[D.field];return D.format?D.format(B):B})];p.push(A)}),p.push([])});const M=this.paymentContributionColumns.map(i=>i.label);Object.entries(this.payment_contributions).forEach(([i,b])=>{p.push([i]),p.push(["",...M]),b.forEach(w=>{let A=["",...this.paymentContributionColumns.map(D=>w[D.field]||"")];p.push(A)}),p.push([])});const I=this.loanColumns.map(i=>i.label);Object.entries(this.loans).forEach(([i,b])=>{p.push([i]),p.push(["",...I]),b.forEach(w=>{let A=["",...this.loanColumns.map(D=>w[D.field]||"")];p.push(A)}),p.push([])});const H=Y.aoa_to_sheet(p);Y.book_append_sheet(e,te,"Employee Payroll"),Y.book_append_sheet(e,ne,"ADJUSTMENT SUMMARY"),Y.book_append_sheet(e,v,"BENEFITS SUMMARY"),Y.book_append_sheet(e,H,"DEDUCTIONS SUMMARY");const G=`Payroll_Summary_${this.form.company_id}_${this.form.dealership_id}_${this.form.payroll_date}.xlsx`,V=st(e,{bookType:"xlsx",type:"array"}),R=new Blob([V],{type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});if(typeof document<"u"){const i=URL.createObjectURL(R),b=document.createElement("a");b.href=i,b.download="report.xlsx",document.body.appendChild(b),b.click(),document.body.removeChild(b)}const ae=new FormData;ae.append("file",R,G),me.saveFile(ae).then(i=>{i.status===201&&(this.form.file=i.data.file,this.state.isPDFGenerated||this.generatePayrollPDF())}).catch(i=>{console.error("File upload failed",i)})},handleSelectCompany(){this.form.dealership_id=null},handleSelectDealership(){this.form.payroll_date=null,this.payrollDateOptions=[],this.form.dealership_id&&this.fetchPayrollDates()},handleSelectPayrollDate(){this.fetchCutOff()},handleSearch(e){this.searchQuery=e},handlePayrollSearch(e){this.searchPayrollQuery=e},handleAdjustmentSearch(e){this.searchAdjustmentQuery=e},changePage(e){this.serverOptions.page=e},updateItemsPerPage(e){this.serverOptions.rowsPerPage=e,this.serverOptions.page=1},formatElapsedTime(e){const t=String(Math.floor(e/3600)).padStart(2,"0"),o=String(Math.floor(e%3600/60)).padStart(2,"0"),s=String(e%60).padStart(2,"0");return`${t}:${o}:${s}`}},created(){this.fetchCompanies(),this.fetchDealerships()},mounted(){}},rt={key:0,class:"mb-4"},nt={class:"flex gap-16 text-xl w-full p-2 bg-slate-500 text-white tracking-wide rounded-t"},it={class:"font-semibold"},dt={class:"font-semibold"},ut={class:"flex z-[5] items-center relative justify-center md:mx-8"},mt={key:0},ct={key:1,class:"text-3xl"},pt={class:"w-max"},ft={class:"conten-box mt-14 border-t border-slate-100 dark:border-slate-700 -mx-6 px-6 pt-6"},ht={class:"border-b border-slate-400"},yt={class:"bg-slate-500 text-white py-1 px-4 text-lg tracking-widest w-24 rounded-t-md"},_t={key:0,class:"grid grid-cols-1 lg:grid-cols-3 gap-4"},bt={class:"relative"},gt={key:0,class:"validate-error"},Pt={class:"relative"},xt={key:0,class:"validate-error"},Ct={class:"relative"},vt={key:0,class:"validate-error"},wt={key:1},At={key:0},Ft={class:"border border-slate-600 p-4 flex justify-between text-sm tracking-wide text-slate-700"},Dt={class:"space-x-2"},Nt={class:"font-semibold"},St={class:"space-x-2"},kt={class:"font-semibold"},Tt={class:"space-x-2"},Ot={class:"font-semibold"},Et={key:0},jt={key:1},Mt={key:2},It={key:0},Lt={key:1,class:"p-8 text-2xl bg-amber-100"},Rt={key:3},Bt={key:0},Yt={class:"flex justify-between text-sm tracking-wide text-slate-700"},Ut={class:"relative w-full bg-slate-400 h-6 rounded border border-gray-400"},Ht={class:"absolute inset-0 flex w-full items-center justify-center z-[9]"},Gt={class:"rounded px-2 text-white"},Vt={key:0,class:"text-sm tracking-widest"},zt={class:"text-normal font-semibold text-primary-500"},Qt={class:"mt-4"},Wt={key:1},qt={key:2},Jt={key:1,class:"mt-6 space-y-4 border border-slate-300 p-4 bg-blue-100"},Kt={class:"text-xl tracking-widest"},Xt={key:2,class:"mt-6 space-y-4 border border-slate-300 p-4 bg-red-100"},Zt={class:"text-xl tracking-widest"},$t={class:"flex justify-right gap-2"},ea=["text","disabled","title"];function ta(e,t,o,s,a,r){const _=z("Loading"),U=z("Icon"),E=z("Multiselect"),oe=z("FormGroup"),W=z("Pagination"),j=z("Table"),ue=z("EditButton"),d=z("Card"),O=z("Layout");return c(),_e(O,{breadcrumbs:e.breadcrumbs},{default:L(()=>[k(d,{title:"Payroll Process"},{default:L(()=>[a.state.fetchingAttendance?(c(),_e(_,{key:0,text:"Fetching posted attendance"})):g("",!0),a.state.fetchingAdjustments?(c(),_e(_,{key:1,text:"Fetching payroll adjustments"})):g("",!0),u("div",null,[a.stepNumber>=2?(c(),f("div",rt,[u("div",nt,[u("div",null,[t[11]||(t[11]=u("span",{class:"text-slate-200"},"Payroll Date: ",-1)),u("span",it,P(r.Helper.formatDate(a.form.payroll_date,"MM/DD/Y")),1)]),u("div",null,[t[12]||(t[12]=u("span",{class:"text-slate-200"},"Payroll Period: ",-1)),u("span",dt,P(r.Helper.formatDate(a.cutOffStart,"MM/DD/Y"))+" to "+P(r.Helper.formatDate(a.cutOffEnd,"MM/DD/Y")),1)])])])):g("",!0),u("div",ut,[(c(!0),f(de,null,ge(a.steps,(l,n)=>(c(),f("div",{class:"relative z-[1] items-center item flex flex-start flex-1 last:flex-none group",key:n},[u("div",{class:he([{"bg-emerald-700 text-white ring-emerald-700 ring-offset-2 dark:ring-offset-slate-500 dark:bg-slate-900 dark:ring-slate-900":a.stepNumber>l.id,"bg-slate-500 text-white ring-slate-500 ring-opacity-70 ring-offset-2 dark:text-slate-300 dark:bg-slate-600 dark:ring-slate-600":a.stepNumber===l.id,"bg-white ring-2 ring-offset-2 ring-slate-200 text-slate-500 dark:text-slate-300 dark:bg-slate-600 dark:ring-slate-600":a.stepNumber<l.id},"relative transition duration-150 icon-box md:h-12 md:w-12 h-7 w-7 rounded-full flex flex-col items-center justify-center relative z-[66] ring-2 md:text-lg text-base font-medium"])},[a.stepNumber<=l.id?(c(),f("span",mt,P(l.id),1)):(c(),f("span",ct,[k(U,{icon:"bx:check-double",class:"text-white"})]))],2),u("div",{class:he(["absolute top-1/2 h-[2px] w-full",{"bg-emerald-500 dark:bg-slate-900":a.stepNumber>l.id,"bg-slate-500 dark:bg-slate-900":a.stepNumber===l.id,"bg-[#E0EAFF] dark:bg-slate-700":a.stepNumber<l.id}])},null,2),u("div",{class:he(["absolute top-full text-base md:leading-6 mt-3 transition duration-150 md:opacity-100 opacity-0 group-hover:opacity-100",a.stepNumber>=l.id?" text-slate-900 dark:text-slate-300":"text-slate-500 dark:text-slate-300 dark:text-opacity-40"])},[u("span",pt,P(l.title),1)],2)]))),128))]),u("div",ft,[u("form",{onSubmit:t[10]||(t[10]=Q(()=>{},["prevent"]))},[u("div",ht,[u("div",yt," Step "+P(a.stepNumber),1)]),a.stepNumber===1?(c(),f("div",_t,[k(oe,{label:"Company",isRequired:""},{default:L(()=>[u("div",bt,[k(E,{modelValue:a.form.company_id,"onUpdate:modelValue":t[0]||(t[0]=l=>a.form.company_id=l),"close-on-select":!0,searchable:!0,id:"company_id",options:a.companyOptions,placeholder:a.state.fetchingCompanies?"Loading data":"",disabled:a.state.fetchingCompanies,loading:a.state.fetchingCompanies,onSelect:r.handleSelectCompany},null,8,["modelValue","options","placeholder","disabled","loading","onSelect"]),a.errors&&a.errors.company_id?(c(),f("div",gt,P(a.errors.company_id),1)):g("",!0)])]),_:1}),k(oe,{label:"Dealership",isRequired:""},{default:L(()=>[u("div",Pt,[k(E,{modelValue:a.form.dealership_id,"onUpdate:modelValue":t[1]||(t[1]=l=>a.form.dealership_id=l),"close-on-select":!0,searchable:!0,id:"dealership_id",options:r.dealerOptions,placeholder:a.state.fetchingDealers?"Loading data":"",disabled:a.state.fetchingDealers,loading:a.state.fetchingDealers,onSelect:r.handleSelectDealership},null,8,["modelValue","options","placeholder","disabled","loading","onSelect"]),a.errors&&a.errors.dealership_id?(c(),f("div",xt,P(a.errors.dealership_id),1)):g("",!0)])]),_:1}),k(oe,{label:"Payroll Date",isRequired:"",class:"w-full"},{default:L(()=>[u("div",Ct,[k(E,{modelValue:a.form.payroll_date,"onUpdate:modelValue":t[2]||(t[2]=l=>a.form.payroll_date=l),"close-on-select":!0,searchable:!0,id:"payroll_date",options:a.payrollDateOptions,placeholder:a.state.fetchingPayrollDates?"Loading data":"",disabled:a.state.fetchingPayrollDates,loading:a.state.fetchingPayrollDates,onSelect:r.handleSelectPayrollDate},null,8,["modelValue","options","placeholder","disabled","loading","onSelect"]),a.errors&&a.errors.payroll_date?(c(),f("div",vt,P(a.errors.payroll_date),1)):g("",!0)])]),_:1})])):g("",!0),a.stepNumber===2?(c(),f("div",wt,[a.postedAttendance?(c(),f("div",At,[u("div",Ft,[u("div",Dt,[t[13]||(t[13]=u("span",{class:"text-slate-400"},"ID:",-1)),u("span",Nt,P(a.postedAttendance.header.id),1)]),u("div",St,[t[14]||(t[14]=u("span",{class:"text-slate-400"},"Reference No:",-1)),u("span",kt,P(a.postedAttendance.header.reference_no),1)]),u("div",Tt,[t[15]||(t[15]=u("span",{class:"text-slate-400"},"Dealership:",-1)),u("span",Ot,P(a.postedAttendance.header.dealership.name),1)])]),u("div",null,[k(j,{paginated:!0,rows:r.filteredAttendance,columns:a.attendanceColumns,currentPage:a.serverOptions.page,itemsPerPage:a.serverOptions.rowsPerPage,onSearch:r.handleSearch},{"table-row":L(l=>[l.column.field=="employee"?(c(),f("div",Et,P(l.row.employee?[l.row.employee.lastname,l.row.employee.firstname].join(", ")+"("+l.row.employee_id+")":l.row.employee_id),1)):g("",!0),l.column.field=="position"?(c(),f("div",jt,P(l.row.employee.position?l.row.employee.position.name:null),1)):g("",!0)]),"pagination-bottom":L(()=>[k(W,{currentPage:a.serverOptions.page,totalItems:r.totalItems,totalPages:r.totalPages,itemsPerPage:a.serverOptions.rowsPerPage,onChangePage:r.changePage,onChangeItemsPerPage:r.updateItemsPerPage,pageOptions:[5,10,20,50,100],pageNumberClass:""},null,8,["currentPage","totalItems","totalPages","itemsPerPage","onChangePage","onChangeItemsPerPage"])]),_:1},8,["rows","columns","currentPage","itemsPerPage","onSearch"])])])):g("",!0)])):g("",!0),a.stepNumber===3?(c(),f("div",Mt,[a.payrollAdjustments?(c(),_e(j,{key:0,paginated:!0,rows:r.filteredAdjustments,columns:a.adjustmentColumns,currentPage:a.serverOptions.page,itemsPerPage:a.serverOptions.rowsPerPage,onSearch:r.handleAdjustmentSearch},{"table-row":L(l=>[l.column.field=="position"?(c(),f("div",It,P(l.row.employee.position?l.row.employee.position.name:null),1)):g("",!0)]),"pagination-bottom":L(()=>[k(W,{currentPage:a.serverOptions.page,totalItems:r.totalItems,totalPages:r.totalPages,itemsPerPage:a.serverOptions.rowsPerPage,onChangePage:r.changePage,onChangeItemsPerPage:r.updateItemsPerPage,pageOptions:[5,10,20,50,100],pageNumberClass:""},null,8,["currentPage","totalItems","totalPages","itemsPerPage","onChangePage","onChangeItemsPerPage"])]),_:1},8,["rows","columns","currentPage","itemsPerPage","onSearch"])):a.state.adjustmentComplete?(c(),f("div",Lt,"No adjustments")):g("",!0)])):g("",!0),a.stepNumber>3?(c(),f("div",Rt,[a.stepNumber==4?(c(),f("div",Bt,[u("div",Yt,[u("div",null,[t[16]||(t[16]=u("span",{class:"text-slate-500"},"Processed employees: ",-1)),ve(" "+P(a.processedEmployees)+" / "+P(a.totalEmployees),1)]),u("div",null,[t[17]||(t[17]=u("span",{class:"text-slate-500"},"Start Time: ",-1)),u("span",null,P(a.startTime),1)]),u("div",null,[t[18]||(t[18]=u("span",{class:"text-slate-500"},"Elapsed Time: ",-1)),u("span",null,P(a.elapsedTime),1)])]),u("div",Ut,[u("div",Ht,[u("span",Gt,P(r.overallProgress)+"% Complete ",1)]),u("div",{class:"bg-blue-500 h-6 rounded text-center relative",style:Ye({width:r.overallProgress+"%"})},null,4)]),r.overallProgress!=100?(c(),f("div",Vt,[t[19]||(t[19]=u("span",{class:"text-slate-500"}," Processing: ",-1)),u("span",zt,P(e.processingEmployee.name),1)])):g("",!0)])):g("",!0),u("div",Qt,[k(j,{paginated:!0,rows:r.filteredPayroll,columns:a.payrollColumns,onSearch:r.handlePayrollSearch,currentPage:a.serverOptions.page,itemsPerPage:a.serverOptions.rowsPerPage,tdClass:"border border-slate-300"},{"table-row":L(l=>[l.column.field=="loans_total"?(c(),f(de,{key:0},[ve(P(l.row.loans_total+l.row.payment_contributions_total),1)],64)):g("",!0),l.column.field=="position"?(c(),f("div",Wt,P(l.row.employee.position?l.row.employee.position.name:null),1)):g("",!0),l.column.field=="action"?(c(),f("div",qt,[k(ue,{icon:"mdi:calculator",text:"",title:"Recompute payroll",onClick:Q(n=>r.overallProgress==100?r.recomputePayroll(r.getEmployeeAttendance(l.row.employee_id),a.computedPayroll.length-1):null,["stop"])},null,8,["onClick"])])):g("",!0)]),"pagination-bottom":L(()=>[k(W,{currentPage:a.serverOptions.page,totalItems:r.totalItems,totalPages:r.totalPages,itemsPerPage:a.serverOptions.rowsPerPage,onChangePage:r.changePage,onChangeItemsPerPage:r.updateItemsPerPage,pageOptions:[5,10,20,50,100],pageNumberClass:""},null,8,["currentPage","totalItems","totalPages","itemsPerPage","onChangePage","onChangeItemsPerPage"])]),_:1},8,["rows","columns","onSearch","currentPage","itemsPerPage"])]),r.benefits?(c(),f("div",Jt,[t[20]||(t[20]=u("h5",null,"Benefits",-1)),(c(!0),f(de,null,ge(r.benefits,(l,n)=>(c(),f(de,{key:n},[u("div",Kt,P(n),1),k(j,{headerTitle:n,search:!1,paginated:!1,rows:l,columns:a.benefitColumns,tdClass:"border border-slate-300"},null,8,["headerTitle","rows","columns"])],64))),128))])):g("",!0),r.deductions?(c(),f("div",Xt,[t[21]||(t[21]=u("h5",null,"Deductions",-1)),(c(!0),f(de,null,ge(r.deductions,(l,n)=>(c(),f(de,{key:n},[u("div",Zt,P(n),1),k(j,{headerTitle:n,search:!1,paginated:!1,rows:l,columns:a.deductionColumns[n],tdClass:"border border-slate-300"},null,8,["headerTitle","rows","columns"])],64))),128))])):g("",!0)])):g("",!0),u("div",{class:he(["mt-10 flex",a.stepNumber>0?"justify-between":" justify-right"])},[u("div",null,[this.stepNumber!==1?(c(),f("button",{key:0,onClick:t[3]||(t[3]=Q(l=>r.prev(),["prevent"])),text:"prev",class:"btn btn-dark"}," Prev ")):g("",!0)]),u("div",$t,[a.stepNumber==2?(c(),f("button",{key:0,onClick:t[4]||(t[4]=Q((...l)=>r.fetchPostedAttendance&&r.fetchPostedAttendance(...l),["prevent"])),class:"btn btn-primary"}," Get Attendance ")):a.stepNumber==3?(c(),f("button",{key:1,onClick:t[5]||(t[5]=Q((...l)=>r.fetchAdjustments&&r.fetchAdjustments(...l),["prevent"])),class:"btn btn-primary"}," Get Adjustments ")):a.stepNumber>3?(c(),f(de,{key:2},[a.stepNumber==4?(c(),f("button",{key:0,onClick:t[6]||(t[6]=Q((...l)=>r.computePayroll&&r.computePayroll(...l),["prevent"])),class:"btn btn-primary"}," Compute Payroll ")):g("",!0),a.stepNumber==5&&a.state.computationComplete?(c(),f("button",{key:1,onClick:t[7]||(t[7]=Q((...l)=>r.generatePayrollSummary&&r.generatePayrollSummary(...l),["prevent"])),class:"btn bg-emerald-500 text-white hover:ring ring-offset-1 ring-emerald-500"}," Export Payroll Summary ")):g("",!0),a.stepNumber==5&&a.state.computationComplete?(c(),f("button",{key:2,onClick:t[8]||(t[8]=Q((...l)=>r.generatePayrollPDF&&r.generatePayrollPDF(...l),["prevent"])),class:"btn bg-emerald-500 text-white hover:ring ring-offset-1 ring-emerald-500"}," PDF ")):g("",!0)],64)):g("",!0),u("button",{onClick:t[9]||(t[9]=Q(l=>r.submit(),["prevent"])),text:a.stepNumber!==this.steps.length?"next":"submit",class:he(["btn btn-dark",{"bg-emerald-500":a.stepNumber==6,"bg-slate-200 text-slate-400 ring-slate-50":a.stepNumber==5&&(!this.form.file||this.form.file.length==0)}]),disabled:a.stepNumber==5&&(!this.form.file||this.form.file.length==0),title:a.stepNumber==5&&(!this.form.file||this.form.file.length==0)?"Export Summary First !":null},P(a.stepNumber!==a.steps.length?"Next":"Submit"),11,ea)])],2)],32)])])]),_:1})]),_:1},8,["breadcrumbs"])}const La=Be(lt,[["render",ta],["__scopeId","data-v-1a111ba5"]]);export{La as default};
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0 |
proxy
|
phpinfo
|
Settings