File manager - Edit - /home/autoph/public_html/projects/ahg-hr/assets/index.ded77c06.js
Back
import{w as $,L as W}from"./index.f5fec97e.js";import{C as Z}from"./index.2ecb62fe.js";import{B as K}from"./index.b36b35c2.js";import{B as J}from"./index.84e315d2.js";import{I as E}from"./index.7c87e136.js";import{I as X}from"./index.44224e48.js";import{l as ee}from"./lodash.8c8ef874.js";import{_ as I,r as d,o as a,c as g,w as u,j as f,d as o,k as U,e as n,b as m,p as D,s as V,t as y,f as T}from"./index.d09cba45.js";import{E as F,C as B}from"./EmployeeChangeScheduleService.bbe96781.js";import{F as te}from"./index.1a164470.js";import{C as M}from"./CloseButton.ad974e55.js";import{C as se}from"./CreateButton.cdb3dab6.js";import{D as oe}from"./DeleteButton.f830e860.js";import{E as ie}from"./EditButton.3ca5c2a0.js";/* empty css */import{S as O}from"./SubmitButton.8e326bc2.js";import{A as re}from"./ActionCellRenderer.00e0a176.js";/* empty css */import"./vue-cleave.min.3d6c67b7.js";import{c as ne,a as A,V as S}from"./array.41230547.js";import{L as P}from"./Loading.10020070.js";import"./vue-quill.snow.4fe86b91.js";/* empty css */import{F as L}from"./index.97ec51ba.js";import{F as q}from"./index.55a245df.js";import{T as z}from"./index.78f61ffe.js";import{T as H}from"./index.b10a2de6.js";import{U as N}from"./UpdateButton.6d6860a3.js";import"./jspdf.es.min.41d1f521.js";/* empty css */import{A as j}from"./ApproverService.76f54c21.js";import{M as G}from"./Multiselect.a5040e09.js";import{F as Y}from"./index.691693c1.js";import{C as Q}from"./index.89324a83.js";import{A as ae}from"./main.esm.9a8e7f98.js";import{A as le}from"./ActionCellRendererApprover.d4cfb1a4.js";import{D as de}from"./DenyButton.d9171afd.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"./index.43f4db3f.js";import"./ViewButton.6bb26f2f.js";import"./Loading.vue_vue_type_style_index_0_scoped_cbded5a2_lang.0b8030ab.js";import"./index.a8395b59.js";import"./ck-white.4bf441fa.js";const ce={components:{Fileinput:Y,FormModal:q,FormGroup:L,TextInput:z,Textarea:H,SubmitButton:O,UpdateButton:N,CloseButton:M,Loading:P,Multiselect:G,Icon:E,Checkbox:Q},data(){return{recommending:"",recommending_img:"",approving:"",approving_img:"",form:{date:"",from_time:null,to_time:null,dayoff:!1,description:"",attachment:"",recommending_id:"",allow_higher_approval:"",approver_id:""},errors:{},state:{isEdit:!1,isSaving:!1,isLoading:!1,isCompanyLoading:!1}}},methods:{reload(){return this.$emit("reload")},handleMainImageUpload(){const t=event.target.files[0];this.form.attachment=t;const e=new FileReader;e.onload=()=>{t.type.startsWith("image/")?this.form.imageView=e.result:t.type==="application/pdf"?this.form.imageView=this.pdf_file_view:t.type==="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"&&(this.form.imageView=this.excel_file_view)},console.log(t),e.readAsDataURL(t)},loadRecord(t){this.resetForm(),this.state.isEdit=!0,this.form=t,this.form.dayoff=t.dayoff==1},closeModal(){this.state.showModal=!1},resetForm(){this.state.isSaving=!1,this.state.isEdit=!1,this.form={date:"",from_from:"",to_time:"",dayoff:!1,description:"",attachment:"",allow_higher_approval:"",recommending_id:this.form.recommending_id,approver_id:this.form.approver_id}},async fetchApprover(){this.state.isLoading=!0,await j.fetchApproverRecords().then(t=>{this.$store.userSettings.getActiveUser.employees.classification_id==1&&t.data.map(e=>{this.form.allow_higher_approval?((e.classification_id==2||e.classification_id==1)&&(this.form.recommending_id=e.employee_id,this.recommending=e.firstname+" "+e.lastname,this.recommending_img=e.attachment||""),this.recommending==""&&e.classification_id==3&&(this.form.recommending_id=e.employee_id,this.recommending=e.firstname+" "+e.lastname,this.recommending_img=e.attachment||""),e.classification_id==3&&(this.form.approver_id=e.employee_id,this.approving=e.firstname+" "+e.lastname,this.approving_img=e.attachment||""),this.approving==""&&e.classification_id==4&&(this.form.approver_id=e.employee_id,this.approving=e.firstname+" "+e.lastname,this.approving_img=e.attachment||"")):((e.classification_id==2||e.classification_id==1)&&(this.form.recommending_id=e.employee_id,this.recommending=e.firstname+" "+e.lastname,this.recommending_img=e.attachment||"",this.form.approver_id=e.employee_id,this.approving=e.firstname+" "+e.lastname,this.approving_img=e.attachment||""),this.recommending==""&&e.classification_id==3&&(this.form.recommending_id=e.employee_id,this.recommending=e.firstname+" "+e.lastname,this.recommending_img=e.attachment||"",this.form.approver_id=e.employee_id,this.approving=e.firstname+" "+e.lastname,this.approving_img=e.attachment||""))}),this.$store.userSettings.getActiveUser.employees.classification_id==2&&t.data.map(e=>{e.classification_id==3&&(this.form.recommending_id=e.employee_id,this.recommending=e.firstname+" "+e.lastname,this.recommending_img=e.attachment||""),this.recommending==""&&e.classification_id==4&&(this.form.recommending_id=e.employee_id,this.recommending=e.firstname+" "+e.lastname,this.recommending_img=e.attachment||""),e.classification_id==4&&(this.form.approver_id=e.employee_id,this.approving=e.firstname+" "+e.lastname,this.approving_img=e.attachment||"")}),this.$store.userSettings.getActiveUser.employees.classification_id==3&&t.data.map(e=>{e.classification_id==3&&(this.form.recommending_id=e.employee_id,this.recommending=e.firstname+" "+e.lastname,this.recommending_img=e.attachment||""),this.recommending==""&&e.classification_id==4&&(this.form.recommending_id=e.employee_id,this.recommending=e.firstname+" "+e.lastname,this.recommending_img=e.attachment||""),e.classification_id==4&&(this.form.approver_id=e.employee_id,this.approving=e.firstname+" "+e.lastname,this.approving_img=e.attachment||"")}),this.state.isLoading=!1}).catch(t=>{console.log(t)})},async saveRecord(){if(this.state.isEdit){this.form.id;let t=new FormData;Object.keys(this.form).forEach(e=>{t.append(e,this.form[e])}),await F.update(t).then(e=>{e.status==201?(this.$swal.fire({title:"Great!",text:"Record successfully updated.",icon:"success",timer:2e3}),this.state.isSaving=!1,this.state.showModal=!1):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3}),this.reload()}).catch(e=>{e.response.status==422?(this.$swal.fire({title:"Ooops! something is wrong.",text:e.response.data.message,icon:"warning"}),this.state.showModal=!1):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3})})}else{this.state.isSaving=!0;let t=new FormData;Object.keys(this.form).forEach(e=>{t.append(e,this.form[e])}),await F.create(t).then(e=>{e.status==201&&(this.$swal.fire({title:"Great!",text:"Record successfully saved.",icon:"success",timer:2e3}),this.state.showModal=!1,this.resetForm(),this.reload())}).catch(e=>{console.log(e),e.response.status==422?this.$swal.fire({title:"Ooops! something is wrong.",text:e.response.data.message,icon:"warning"}):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3})})}},async submitForm(){try{await ne().shape({date:A().required("Date from is required"),from_time:this.form.dayoff?"":A().nullable().required("From time is required"),to_time:this.form.dayoff?"":A().nullable().required("To time is required")}).validate(this.form,{abortEarly:!1}),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()})}catch(t){if(t instanceof S){const e={};t.inner.forEach(i=>{e[i.path]=i.message}),this.errors=e}this.state.isSaving=!1}}},mounted(){this.fetchApprover()},watch:{"form.allow_higher_approval":{handler:"fetchApprover",immediate:!0}}},me={class:"text-slate-600 dark:text-slate-400 text-sm font-normal"},fe={class:"grid grid-cols-12 gap-4"},ue={class:"col-span-12"},pe={key:0,class:"text-[#ec4899]"},he={key:0,class:"col-span-6"},ge={key:0,class:"text-[#ec4899]"},_e={key:1,class:"col-span-6"},ye={key:0,class:"text-[#ec4899]"},ve={class:"flex items-center gap-4"},xe={class:"flex items-center cursor-pointer"},we=["checked"],be={class:"col-span-12"},Ce={class:"col-span-12"},ke={class:"grid grid-cols-12 gap-4"},Re={class:"col-span-6 flex items-center p-4 bg-gray-100 rounded-lg shadow-md"},Se={class:"flex-shrink-0 mr-4"},Fe=["src"],Be={key:1,class:"w-16 h-16 rounded-full object-cover bg-black-200 flex justify-center items-center"},Ae={class:"text-left"},De={class:"text-sm font-semibold text-gray-600"},Ve={class:"text-lg font-bold text-gray-900"},Te={key:0,class:"text-sm text-gray-900"},Ee={key:1,class:"text-sm text-gray-900"},Ie={key:0,class:"col-span-6 flex items-center p-4 bg-gray-100 rounded-lg shadow-md"},Me={class:"flex-shrink-0 mr-4"},Oe=["src"],Pe={key:1,class:"w-16 h-16 rounded-full object-cover bg-black-200 flex justify-center items-center"},Ue={class:"text-left"},Le={class:"text-lg font-bold text-gray-900"},qe={class:"text-sm text-gray-900"},ze={class:"flex gap-2 justify-between"},He={class:"flex items-center cursor-pointer"},Ne=["checked"],je={class:"flex gap-2"};function Ge(t,e,i,c,s,l){const h=d("Loading"),_=d("flat-pickr"),p=d("FormGroup"),b=d("Textarea"),C=d("Fileinput"),w=d("Card"),v=d("SubmitButton"),k=d("UpdateButton"),R=d("CloseButton"),x=d("FormModal");return a(),g(x,{title:s.state.isEdit?"Edit Overtime":"Change Schedule Form",active:s.state.showModal,onSubmit:t.confirmSubmit,onClose:l.closeModal,themeClass:s.state.isEdit?"bg-primary-600":"bg-gray-800",sizeClass:"lg:w-3/4"},{default:u(()=>[s.state.isLoading?(a(),g(h,{key:0,text:"Fetching record"})):f("",!0),o("div",me,[o("form",{onSubmit:e[7]||(e[7]=U((...r)=>t.confirmSubmit&&t.confirmSubmit(...r),["prevent"])),class:"space-y-4",enctype:"multipart/form-data"},[s.state.isSaving?(a(),g(h,{key:0,text:"Saving record"})):f("",!0),o("div",fe,[o("div",ue,[n(p,{label:"Date",isRequired:!0},{default:u(()=>[n(_,{modelValue:s.form.date,"onUpdate:modelValue":e[0]||(e[0]=r=>s.form.date=r),class:"form-control h-[48px]",id:"date",placeholder:"yyyy, dd M"},null,8,["modelValue"]),s.errors.date?(a(),m("div",pe,"Date is required")):f("",!0)]),_:1})]),s.form.dayoff?f("",!0):(a(),m("div",he,[n(p,{label:"From Time",isRequired:!0},{default:u(()=>[n(_,{class:"form-control h-[48px]",placeholder:"From time",modelValue:s.form.from_time,"onUpdate:modelValue":e[1]||(e[1]=r=>s.form.from_time=r),config:{enableTime:!0,noCalendar:!0,dateFormat:"H:i"}},null,8,["modelValue"]),s.errors.from_time?(a(),m("div",ge,"From Time is required")):f("",!0)]),_:1})])),s.form.dayoff?f("",!0):(a(),m("div",_e,[n(p,{label:"To Time",isRequired:!0},{default:u(()=>[n(_,{class:"form-control h-[48px]",placeholder:"To time",modelValue:s.form.to_time,"onUpdate:modelValue":e[2]||(e[2]=r=>s.form.to_time=r),config:{enableTime:!0,noCalendar:!0,dateFormat:"H:i"}},null,8,["modelValue"]),s.errors.from_time?(a(),m("div",ye,"To Time is required")):f("",!0)]),_:1})])),o("div",ve,[o("label",xe,[D(o("input",{type:"checkbox",class:"peer h-6 w-6 cursor-pointer rounded-full bg-slate-100 border border-slate-300 checked:bg-blue-500 checked:border-blue-500",checked:s.form.dayoff,"onUpdate:modelValue":e[3]||(e[3]=r=>s.form.dayoff=r)},null,8,we),[[V,s.form.dayoff]]),e[8]||(e[8]=o("span",{class:"absolute text-white opacity-0 peer-checked:opacity-100"},[o("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4",viewBox:"0 0 20 20",fill:"currentColor",stroke:"currentColor","stroke-width":"1"},[o("path",{"fill-rule":"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z","clip-rule":"evenodd"})])],-1)),e[9]||(e[9]=o("span",{class:"ml-2 text-slate-500 dark:text-slate-400 text-sm"},"Day Off",-1))])]),o("div",be,[n(p,{label:"Remarks"},{default:u(()=>[n(b,{name:"pn4",placeholder:"",modelValue:s.form.description,"onUpdate:modelValue":e[4]||(e[4]=r=>s.form.description=r)},null,8,["modelValue"])]),_:1})]),o("div",Ce,[n(p,{label:"Attachment"},{default:u(()=>[n(w,{title:"File Input Basic"},{default:u(()=>[n(C,{name:"basic",onChange:e[5]||(e[5]=r=>l.handleMainImageUpload()),class:"h-[48px]",multiple:""})]),_:1})]),_:1})])]),o("div",ke,[o("div",Re,[o("div",Se,[s.recommending_img?(a(),m("img",{key:0,src:s.recommending_img,alt:"Profile",class:"w-16 h-16 rounded-full object-cover"},null,8,Fe)):(a(),m("div",Be," No Image "))]),o("div",Ae,[o("div",De,y(s.form.allow_higher_approval?"Recommending":"Approving"),1),o("div",Ve,y(s.recommending),1),s.form.allow_higher_approval?(a(),m("div",Te,y(s.form.recommended_at?"Date: ("+this.$formatDate(s.form.recommended_at)+")":""),1)):(a(),m("div",Ee,y(s.form.approved_at?"Date: ("+this.$formatDate(s.form.approved_at)+")":""),1))])]),s.form.allow_higher_approval?(a(),m("div",Ie,[o("div",Me,[s.approving_img?(a(),m("img",{key:0,src:s.approving_img,alt:"Profile",class:"w-16 h-16 rounded-full object-cover"},null,8,Oe)):(a(),m("div",Pe," No Image "))]),o("div",Ue,[e[10]||(e[10]=o("div",{class:"text-sm font-semibold text-gray-600"},"Approving",-1)),o("div",Le,y(s.approving),1),o("div",qe,y(s.form.approved_at?"Date: ("+this.$formatDate(s.form.approved_at)+")":""),1)])])):f("",!0)]),o("div",ze,[o("div",null,[o("label",He,[D(o("input",{type:"checkbox",class:"peer h-6 w-6 cursor-pointer rounded-full bg-slate-100 border border-slate-300 checked:bg-blue-500 checked:border-blue-500",checked:s.form.allow_higher_approval,"onUpdate:modelValue":e[6]||(e[6]=r=>s.form.allow_higher_approval=r)},null,8,Ne),[[V,s.form.allow_higher_approval]]),e[11]||(e[11]=o("span",{class:"absolute text-white opacity-0 peer-checked:opacity-100"},[o("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4",viewBox:"0 0 20 20",fill:"currentColor",stroke:"currentColor","stroke-width":"1"},[o("path",{"fill-rule":"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z","clip-rule":"evenodd"})])],-1)),e[12]||(e[12]=o("span",{class:"ml-2 text-slate-500 dark:text-slate-400 text-sm"},"Allow Higher Head Approval?",-1))])]),o("div",je,[s.state.isEdit?s.form.status===0?(a(),g(k,{key:1,onClick:l.submitForm},null,8,["onClick"])):f("",!0):(a(),g(v,{key:0,onClick:l.submitForm},null,8,["onClick"])),n(R,{onClick:l.closeModal},null,8,["onClick"])])])],32)])]),_:1},8,["title","active","onSubmit","onClose","themeClass"])}const Ye=I(ce,[["render",Ge],["__scopeId","data-v-01e6c586"]]);const Qe={components:{Fileinput:Y,DenyButton:de,FormModal:q,FormGroup:L,TextInput:z,Textarea:H,SubmitButton:O,UpdateButton:N,CloseButton:M,Loading:P,Multiselect:G,Icon:E,Checkbox:Q},data(){return{companyOptions:[],currentEmployeeId:this.$store.userSettings.getActiveUser.employees?this.$store.userSettings.getActiveUser.employees.employee_id:"",currentClassificationId:this.$store.userSettings.getActiveUser.employees?this.$store.userSettings.getActiveUser.employees.classification_id:"",currentRecommendingId:"",currentApprovingId:"",btnTitle:"",recommendingOptions:[],approvingOptions:[],recommending:"",approving:"",status:[],form:{date:"",from_from:"",to_time:"",description:"",attachment:"",recommending_id:"",approver_id:""},errors:{},state:{isEdit:!1,isSaving:!1,isLoading:!1,isCompanyLoading:!1}}},methods:{handleMainImageUpload(){const t=event.target.files[0];this.form.attachment=t;const e=new FileReader;e.onload=()=>{t.type.startsWith("image/")?this.form.imageView=e.result:t.type==="application/pdf"?this.form.imageView=this.pdf_file_view:t.type==="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"&&(this.form.imageView=this.excel_file_view)},e.readAsDataURL(t)},async loadRecord(t){this.resetForm(),this.form=t,this.form.dayoff=t.dayoff==1,this.form.date=new Date(t.date).toLocaleDateString("en-CA").split("T")[0],this.currentRecommendingId=t.recommending?t.recommending[0].employee_id:"",this.currentApprovingId=t.approving?t.approving[0].employee_id:"",this.recommending=t.recommending?t.recommending[0].firstname+" "+t.recommending[0].lastname:"",this.approving=t.approving?t.approving[0].firstname+" "+t.approving[0].lastname:"",this.currentRecommendingId==this.currentEmployeeId&&this.form.status<1?this.btnTitle="Submit For Approval":this.currentApprovingId==this.currentEmployeeId&&(this.btnTitle="Approve"),this.currentClassificationId>=3&&await j.fetchEmployeeApprover(t.employee_id).then(e=>{if(e.status==200)this.recommendingOptions=e.data.map((i,c)=>({value:i.employee_id,label:i.firstname+" "+i.lastname})),this.approvingOptions=e.data.filter(i=>i.classification_id>=3).map((i,c)=>({value:i.employee_id,label:i.firstname+" "+i.lastname}));else throw new Error("Failed to fetch employee approvers")})},closeModal(){this.state.showModal=!1},resetForm(){this.state.isEdit=!1,this.form={date:"",from_time:"",to_time:"",description:"",attachment:"",recommending_id:"",approver_id:""}},reload(){return this.state.showModal=!1,this.state.isSaving=!1,this.$emit("reload")},async updateApproverRecord(){this.state.isSaving=!0;const t=this.form.id;this.state.isSaving=!1;let e={recommending_id:this.form.recommending_id,approver_id:this.form.approver_id};await B.updateApprover(t,e).then(i=>{i.status==201?(this.$swal.fire({title:"Great!",text:"Record successfully updated.",icon:"success",timer:2e3}),this.state.showModal=!1):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3}),this.reload()}).catch(i=>{i.response.status==422?this.$swal.fire({title:"Ooops! something is wrong.",text:i.response.data.message,icon:"warning"}):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3})})},async saveRecord(){this.state.isSaving=!0;const t=this.form.id;await B.update(t,this.status).then(e=>{e.status==201?(this.$swal.fire({title:"Great!",text:"Record successfully updated.",icon:"success",timer:2e3}),this.state.isSaving=!1,this.state.showModal=!1):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3}),this.reload()}).catch(e=>{e.response.status==422?this.$swal.fire({title:"Ooops! something is wrong.",text:e.response.data.message,icon:"warning"}):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3})})},async submitForm(){this.form.recommending_id==this.currentEmployeeId&&(this.status={status:1}),this.form.approver_id==this.currentEmployeeId&&(this.status={status:2});try{this.$swal.fire({title:"Are you sure you want to save submit this record?",text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(t=>{t.value&&this.saveRecord()})}catch(t){if(t instanceof S){const e={};t.inner.forEach(i=>{e[i.path]=i.message}),this.errors=e}}},async updateApproverForm(){try{this.$swal.fire({title:"Are you sure you want to update the approver of this record?",text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(t=>{t.value&&this.updateApproverRecord()})}catch(t){if(t instanceof S){const e={};t.inner.forEach(i=>{e[i.path]=i.message}),this.errors=e}}},async denyForm(){this.status={status:99};try{this.$swal.fire({title:"Are you sure you want to deny this record?",text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No",html:` <textarea id="swal-input" style="width: 100%; height: 80px; padding: 8px; border: 1px solid #ced4da; border-radius: 4px;" placeholder="Enter reason"></textarea>`,preConfirm:()=>{const t=document.getElementById("swal-input").value;return t?this.denied_reason=t:(this.$swal.showValidationMessage("The reason field is required"),!1)}}).then(t=>{this.status={status:99,denied_reason:this.denied_reason},t.value&&this.saveRecord()})}catch(t){if(t instanceof S){const e={};t.inner.forEach(i=>{e[i.path]=i.message}),this.errors=e}}},calculateHours(){const t=this.form.from_time,e=this.form.to_time;if(t&&e){const[i,c]=this.form.from_time.split(":").map(Number),[s,l]=this.form.to_time.split(":").map(Number);let h=s-i;h+=(l-c)/60,h<0&&(h+=24),this.form.hours=h}},async ReceiveByHr(t){try{if(t==99){const e=await this.$swal.fire({title:"State the Reason for Deferring this Request",input:"textarea",inputPlaceholder:"Enter your reason here...",inputAttributes:{"aria-label":"Reason for deferment"},showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Submit",cancelButtonText:"Cancel",preConfirm:i=>i||(this.$swal.showValidationMessage("Reason is required!"),!1)});e.isConfirmed&&e.value&&(console.log("Reason for deferment:",e.value),this.updateRecordByHR(t,e.value))}else this.$swal.fire({title:"Are you sure you want to receive/validate this record?",text:"",icon:"question",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes",cancelButtonText:"No"}).then(e=>{e.value&&(console.log("recieved by HR"),this.updateRecordByHR(t))})}catch(e){if(e instanceof S){const i={};e.inner.forEach(c=>{i[c.path]=c.message}),this.errors=i}}},async updateRecordByHR(t,e=null){this.state.isSaving=!0;const i=this.form.id;let s={status:t,reason:e};await B.hrValidation(i,s).then(l=>{l.status==201?(console.log("response"),console.log(l),this.$swal.fire({title:"Great!",text:"Record successfully updated.",icon:"success",timer:2e3})):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3}),this.reload()}).catch(l=>{l.response.status==422?this.$swal.fire({title:"Ooops! something is wrong.",text:l.response.data.message,icon:"warning"}):this.$swal.fire({title:"Ooops! something is wrong.",text:"Please contact system administrator",icon:"error",timer:2e3}),this.state.isSaving=!1})}}},$e={class:"text-slate-600 dark:text-slate-400 text-sm font-normal"},We={key:0,class:"bg-red-50 dark:bg-red-900 dark:bg-opacity-30 border-l-4 border-red-500 p-4 rounded-md shadow-sm"},Ze={class:"text-red-600 dark:text-red-400 text-sm"},Ke={class:"grid grid-cols-12 gap-4"},Je={class:"col-span-12 flex items-center gap-4"},Xe={class:"flex items-center cursor-pointer"},et=["checked","disabled"],tt={key:0,class:"col-span-12"},st={key:0,class:"text-[#ec4899]"},ot={key:1,class:"col-span-6"},it={key:0,class:"text-[#ec4899]"},rt={key:2,class:"col-span-6"},nt={class:"col-span-6"},at={class:"col-span-6"},lt={key:3,class:"col-span-12"},dt={key:0,class:"text-[#ec4899]"},ct={class:"col-span-12"},mt={class:"col-span-12"},ft={key:1},ut={class:"grid grid-cols-12 justify-center items-center"},pt={class:"col-span-8 flex justify-between items-center gap-4"},ht={class:"col-span-6 flex justify-center items-center gap-4"},gt={class:"font-bold"},_t={class:"col-span-6 flex justify-center items-center gap-4"},yt={class:"font-bold"},vt={key:2},xt={class:"grid grid-cols-12 gap-4"},wt={class:"col-span-6"},bt={class:"relative"},Ct={class:"col-span-6"},kt={class:"relative"},Rt={class:"flex gap-1 justify-end pt-8"},St={key:0,class:"flex gap-1 justify-end"},Ft={key:1,class:"flex gap-1 justify-end"};function Bt(t,e,i,c,s,l){const h=d("Loading"),_=d("flat-pickr"),p=d("FormGroup"),b=d("Textarea"),C=d("Fileinput"),w=d("Multiselect"),v=d("UpdateButton"),k=d("DenyButton"),R=d("CloseButton"),x=d("FormModal");return a(),g(x,{title:"View Record",active:s.state.showModal,sideTitle:this.form.status==0?"for recommendation":this.form.status==1?"for approval":this.form.status==2&&this.form.validated==99?"Denied ":this.form.status==2&&this.form.validated==2?"Approved & Validated":this.form.status==2?"For Validation":this.form.status==99?"Denied":"",badgeColor:this.form.status==0?"warning":this.form.status==1?"info":this.form.status==2&&this.form.validated==99?"danger":this.form.status==2&&this.form.validate==1?"success":this.form.status==2?"purple":this.form.status==99?"danger":"",onSubmit:t.confirmSubmit,onClose:l.closeModal,themeClass:"bg-gray-800",sizeClass:"lg:w-3/4"},{default:u(()=>[s.state.isEdit&&s.state.isLoading?(a(),g(h,{key:0,text:"Fetching record"})):f("",!0),o("div",$e,[this.form.status==2&&this.form.validated==99?(a(),m("div",We,[e[14]||(e[14]=o("h3",{class:"text-red-700 dark:text-red-300 font-semibold mb-1 text-sm"}," Denied Reason : ",-1)),o("p",Ze,y(this.form.deferred_reason),1)])):f("",!0),o("form",{onSubmit:e[13]||(e[13]=U((...r)=>t.confirmSubmit&&t.confirmSubmit(...r),["prevent"])),class:"space-y-4",enctype:"multipart/form-data"},[s.state.isSaving?(a(),g(h,{key:0,text:"Saving record"})):f("",!0),o("div",Ke,[o("div",Je,[o("label",Xe,[D(o("input",{type:"checkbox",class:"peer h-6 w-6 cursor-pointer rounded-full bg-slate-100 border border-slate-300 checked:bg-blue-500 checked:border-blue-500",checked:s.form.dayoff,"onUpdate:modelValue":e[0]||(e[0]=r=>s.form.dayoff=r),disabled:s.form.status==2||s.form.status==1},null,8,et),[[V,s.form.dayoff]]),e[15]||(e[15]=o("span",{class:"absolute text-white opacity-0 peer-checked:opacity-100"},[o("svg",{xmlns:"http://www.w3.org/2000/svg",class:"h-4 w-4",viewBox:"0 0 20 20",fill:"currentColor",stroke:"currentColor","stroke-width":"1"},[o("path",{"fill-rule":"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z","clip-rule":"evenodd"})])],-1)),e[16]||(e[16]=o("span",{class:"ml-2 text-slate-500 dark:text-slate-400 text-sm"},"Change Day Off",-1))])]),s.form.dayoff?(a(),m("div",tt,[n(p,{label:"Select the date of day-off you want to change",isRequired:!0,labelClass:"font-semibold text-blue-500"},{default:u(()=>[n(_,{modelValue:s.form.date,"onUpdate:modelValue":e[1]||(e[1]=r=>s.form.date=r),class:"form-control h-[48px]",id:"date",placeholder:"yyyy, dd M",disabled:s.form.status==2||s.form.status==1},null,8,["modelValue","disabled"]),s.errors.date?(a(),m("div",st,"Date is required")):f("",!0)]),_:1})])):(a(),m("div",ot,[n(p,{label:"Date From",isRequired:!0},{default:u(()=>[n(_,{modelValue:s.form.date,"onUpdate:modelValue":e[2]||(e[2]=r=>s.form.date=r),class:"form-control h-[48px]",id:"date",placeholder:"yyyy, dd M",onInput:t.calculateDays,disabled:s.form.status==2||s.form.status==1},null,8,["modelValue","onInput","disabled"]),s.errors.date?(a(),m("div",it,"Date is required")):f("",!0)]),_:1})])),s.form.dayoff?f("",!0):(a(),m("div",rt,[n(p,{label:"Date To"},{default:u(()=>[n(_,{modelValue:s.form.date_to,"onUpdate:modelValue":e[3]||(e[3]=r=>s.form.date_to=r),class:"form-control h-[48px]",id:"dateto",placeholder:"yyyy, dd M",onInput:t.calculateDays,disabled:s.form.status==2||s.form.status==1},null,8,["modelValue","onInput","disabled"])]),_:1})])),o("div",nt,[n(p,{label:"From Time",isRequired:!0},{default:u(()=>[n(_,{class:"form-control h-[48px]",placeholder:"From time",modelValue:s.form.from_time,"onUpdate:modelValue":e[4]||(e[4]=r=>s.form.from_time=r),config:{enableTime:!0,noCalendar:!0,dateFormat:"H:i"}},null,8,["modelValue"])]),_:1})]),o("div",at,[n(p,{label:"To Time",isRequired:!0},{default:u(()=>[n(_,{class:"form-control h-[48px]",placeholder:"To time",modelValue:s.form.to_time,"onUpdate:modelValue":e[5]||(e[5]=r=>s.form.to_time=r),config:{enableTime:!0,noCalendar:!0,dateFormat:"H:i"}},null,8,["modelValue"])]),_:1})]),s.form.dayoff?(a(),m("div",lt,[n(p,{label:"Select new day-off",labelClass:"font-semibold text-blue-500",isRequired:""},{default:u(()=>[n(_,{modelValue:s.form.dayoff_date,"onUpdate:modelValue":e[6]||(e[6]=r=>s.form.dayoff_date=r),class:"form-control h-[48px]",id:"dateto",placeholder:"yyyy, dd M",onInput:t.calculateDays,disabled:s.form.status==2||s.form.status==1},null,8,["modelValue","onInput","disabled"]),s.errors.dayoff_date?(a(),m("div",dt,y(s.errors.dayoff_date),1)):f("",!0)]),_:1})])):f("",!0),o("div",ct,[n(p,{label:"Remarks"},{default:u(()=>[n(b,{name:"pn4",placeholder:"",modelValue:s.form.description,"onUpdate:modelValue":e[7]||(e[7]=r=>s.form.description=r)},null,8,["modelValue"])]),_:1})]),o("div",mt,[n(p,{label:"Attachment"},{default:u(()=>[n(C,{name:"basic",onChange:e[8]||(e[8]=r=>l.handleMainImageUpload()),class:"h-[48px]",multiple:""})]),_:1})])]),s.currentClassificationId<=2?(a(),m("div",ft,[o("div",ut,[o("div",pt,[o("div",ht,[e[17]||(e[17]=T(" Recommending: ")),o("p",gt,y(s.recommending),1)]),o("div",_t,[e[18]||(e[18]=T(" Approving: ")),o("p",yt,y(s.approving),1)])])])])):(a(),m("div",vt,[o("div",xt,[o("div",wt,[n(p,{label:"Recommending"},{default:u(()=>[o("div",bt,[n(w,{modelValue:s.form.recommending_id,"onUpdate:modelValue":e[9]||(e[9]=r=>s.form.recommending_id=r),"close-on-select":!0,searchable:!0,id:"recommending_id",options:s.recommendingOptions},null,8,["modelValue","options"])])]),_:1})]),o("div",Ct,[n(p,{label:"Approver"},{default:u(()=>[o("div",kt,[n(w,{modelValue:s.form.approver_id,"onUpdate:modelValue":e[10]||(e[10]=r=>s.form.approver_id=r),"close-on-select":!0,searchable:!0,id:"approver_id",options:s.approvingOptions},null,8,["modelValue","options"])])]),_:1})])])])),o("div",Rt,[this.form.status==0&&s.currentRecommendingId==s.currentEmployeeId||s.currentApprovingId==s.currentEmployeeId&&this.form.status==1&&s.currentApprovingId==this.form.approver_id||this.form.approver_id==this.form.recommending_id&&s.currentApprovingId==this.form.approver_id&&s.currentEmployeeId==this.form.approver_id?(a(),m("div",St,[this.form.status<=1?(a(),g(v,{key:0,onClick:l.submitForm,text:s.btnTitle},null,8,["onClick","text"])):f("",!0),n(k,{onClick:l.denyForm,text:"Deny"},null,8,["onClick"])])):this.form.status==0&&s.currentApprovingId==s.currentEmployeeId||s.currentApprovingId!=this.form.approver_id?(a(),m("div",Ft,[this.form.status<=1?(a(),g(v,{key:0,onClick:l.updateApproverForm,text:"Update Approver"},null,8,["onClick"])):f("",!0)])):f("",!0),this.form.status===2&&this.form.validated==0?(a(),g(v,{key:2,btnClass:"text-green-600 bg-transpanent hover:ring ring-green-600 ring-offset-1 border border-green-600 transition duration-150 ease-out hover:ease-in py-2 px-3",onClick:e[11]||(e[11]=r=>l.ReceiveByHr(1)),text:"Receive"})):f("",!0),this.form.status===2&&this.form.validated==0?(a(),g(v,{key:3,btnClass:"text-red-600 bg-transparent hover:ring ring-red-600 ring-offset-1 border border-red-600 transition duration-150 ease-out hover:ease-in py-2 px-3",icon:"material-symbols:unpublished",onClick:e[12]||(e[12]=r=>l.ReceiveByHr(99)),text:"Defer"})):f("",!0),n(R,{onClick:l.closeModal},null,8,["onClick"])])],32)])]),_:1},8,["active","sideTitle","badgeColor","onSubmit","onClose"])}const At=I(Qe,[["render",Bt],["__scopeId","data-v-c8a614f9"]]);const Dt={mixins:[$],components:{FilterTimekeeping:te,ActionCellRenderer:re,ActionCellRendererApprover:le,AgGridVue:ae,Card:Z,Button:K,Badge:J,Layout:W,Icon:E,CreateButton:se,SubmitButton:O,CloseButton:M,EditButton:ie,DeleteButton:oe,Form:Ye,InputGroup:X,Loading:P,View:At},data(){return{paginationPageSize:10,paginationPageSizeSelector:[10,25,50],colDefs:[{field:"#",flex:1},{field:"employee_id",filter:!0,floatingFilter:!0,flex:2},{field:"name",filter:!0,floatingFilter:!0,flex:2},{field:"date coverage",filter:!0,floatingFilter:!0,flex:2},{field:"time coverage",filter:!0,floatingFilter:!0,flex:2},{headerName:"Change Dayoff",field:"dayoff",filter:!0,floatingFilter:!0,valueGetter:t=>{switch(t.data.dayoff){case 0:return"No";case 1:return"Yes";default:return""}},cellRenderer:t=>{switch(t.value){case"No":return'<span class="inline-block rounded-full text-xs capitalize whitespace-nowrap text-center py-1 text-slate-600 bg-slate-100 px-4">No</span>';case"Yes":return'<span class="inline-block rounded-full text-xs capitalize whitespace-nowrap text-center py-1 text-green-600 bg-green-100 px-4">Yes</span>';default:return""}}},{field:"date created",filter:!0,floatingFilter:!0},{headerName:"Status",field:"status",filter:!0,floatingFilter:!0,cellRenderer:t=>{const e=t.value,i=t.data.validated;return e===0?'<span class="inline-block rounded-full text-xs capitalize whitespace-nowrap text-center py-1 text-yellow-600 bg-gray-100 px-4">For Recommendation</span>':e===1?'<span class="inline-block rounded-full text-xs capitalize whitespace-nowrap text-center py-1 text-blue-600 bg-gray-100 px-4">For Approval</span>':i===1&&e===2?'<div class="inline-block rounded-full text-xs capitalize whitespace-nowrap text-center py-1 bg-gray-100 text-green-600 px-4">Approved & Validated </div>':i===99&&e===2?'<div class="inline-block rounded-full text-xs capitalize whitespace-nowrap text-center py-1 bg-gray-100 text-orange-600 px-4">Denied </div>':e===2?'<div class="inline-block rounded-full text-xs capitalize whitespace-nowrap text-center py-1 bg-gray-100 text-fuchsia-600 px-4">For Validation</div>':e===99?'<span class="inline-block rounded-full text-xs capitalize whitespace-nowrap text-center py-1 text-red-600 bg-gray-100 px-4">Denied</span>':""}},{headerName:"Actions",cellRenderer:"ActionCellRendererApprover",flex:1,cellRendererParams:{context:{componentParent:this}}}],breadcrumbs:[{text:"Home",href:"/"},{text:"Timekeeping",href:"/attendance/employee-change-schedule"},{text:"Overtime Application",active:!0}],columns:[{label:"#",field:"#"},{label:"Employee ID",field:"employee_id"},{label:"Name",field:"full_name"},{label:"Date",field:"date"},{label:"From Time",field:"from_time"},{label:"To Time",field:"to_time"},{label:"Remarks",field:"description"},{label:"Status",field:"status"},{label:"Action",field:"action"}],perPageOptions:[{value:"10",label:"10"},{value:"50",label:"50"},{value:"100",label:"100"}],items:[],totalItems:0,searchQuery:null,serverOptions:{page:1,rowsPerPage:10,sortBy:"created_at",sortType:"asc"},state:{isLoading:!1,isEdit:!1,isDeleting:!1}}},watch:{serverOptions:{handler(){console.log(`perPage: ${this.serverOptions.rowsPerPage}`),this.fetchRecords()},deep:!0},searchQuery:ee.debounce(function(){this.fetchRecords()},800)},computed:{perPage:function(){return this.serverOptions.rowsPerPage}},methods:{applyFilters(t){this.fetchRecords(t)},onGridReady(t){this.gridApi=t.api},exportToCsv(){this.gridApi?this.gridApi.exportDataAsCsv({onlySelected:!1,columnKeys:this.colDefs.filter(t=>t.field!=="actions").map(t=>t.field)}):console.error("Grid API is not ready.")},formatDate(t){const e=new Date(t),i=new Date(e.toLocaleString("en-US",{timeZone:"UTC"})),c=new Date(i.toLocaleString("en-US",{timeZone:"Asia/Singapore"})),s=c.getFullYear(),l=String(c.getMonth()+1).padStart(2,"0"),h=String(c.getDate()).padStart(2,"0");return`${s}-${l}-${h}`},async fetchRecords(t={}){this.state.isLoading=!0,await F.fetchRecordList({dealership:this.$store.userSettings.activeDealership,...t}).then(e=>{console.log("response");let i=e.data.data.data;console.log(i),this.items=i,this.items=i.map((c,s)=>({...c,"#":s+1,employee_id:c.employee_id,name:c.employee.lastname+", "+c.employee.firstname,"date coverage":c.date_to!=c.date?this.$formatDate(c.date)+" - "+this.$formatDate(c.date_to):this.$formatDate(c.date),"time coverage":this.$formatTime(c.from_time)+" - "+this.$formatTime(c.to_time),"date created":this.$formatDate(c.created_at),status:c.status})),this.state.isLoading=!1,this.totalItems=e.data.total}).catch(e=>{console.log(e)})},reload(){this.$emit("reload")},handlePageChange(t){console.log(t),console.log(this.serverOptions.page),this.serverOptions.page!=t&&(this.serverOptions.page=t)},handlePerPageChange(t){this.serverOptions.page=1,this.serverOptions.rowsPerPage=t},onSortChange(t){console.log(t),t[0].type!="none"&&(this.serverOptions.sortBy=t[0].field,this.serverOptions.sortType=t[0].type)},async deleteRecord(t){this.$swal.fire({title:"Are you sure?",text:"You want to delete this record?",icon:"warning",showCancelButton:!0,confirmButtonColor:"#34c38f",cancelButtonColor:"#f46a6a",confirmButtonText:"Yes, delete it!",background:this.$store.themeSettingsStore.isDark?"#1e293b":"#fff"}).then(e=>{console.log(e.value),e.value&&(this.state.isDeleting=!0,F.remove(t).then(i=>{i.status==200&&(this.$swal.fire({title:"Yaaay!",text:"Record has been deleted successfully.",type:"success",icon:"success",timer:2e3}),this.fetchRecords())}))}).catch(e=>{e.response&&e.response.status==401&&this.$swal.fire({title:"Ooops! something is wrong.",text:"Error deleting record. Please contact system administrator",type:"error",icon:"error",timer:2e3})}).finally(()=>{this.reload(),this.state.isDeleting=!1})},createRecord(){this.$refs.form.resetForm(),this.$refs.form.state.showModal=!0},editRecord(t){console.log(t),this.$refs.form.resetForm(),this.$refs.form.loadRecord(t),this.$refs.form.state.showModal=!0},viewRecord(t){console.log(t),this.$refs.view.resetForm(),this.$refs.view.loadRecord(t),this.$refs.view.state.showModal=!0},handlePageChange(t){console.log(t),console.log(this.serverOptions.page),this.serverOptions.page!=t&&(this.serverOptions.page=t)},handlePerPageChange(t){this.serverOptions.page=1,this.serverOptions.rowsPerPage=t}},mounted(){this.fetchRecords()}},Vt={class:"space-y-4 mt-4"},Tt={class:"flex items-center justify-between mb-4"},Et={class:"text-lg font-semibold"},It={class:"relative"},Mt={class:"ag-grid-toolbar flex items-center justify-between px-4 py-2 bg-gray-100 border-b rounded-t-xl border-gray-200"},Ot={class:"flex items-center justify-center gap-4 text-gray-900"},Pt={class:"flex items-center gap-4"},Ut={class:"relative z-10 flex items-center transition-colors duration-300 group-hover:text-white"};function Lt(t,e,i,c,s,l){const h=d("FilterTimekeeping"),_=d("Icon"),p=d("Button"),b=d("ag-grid-vue"),C=d("Card"),w=d("Loading"),v=d("View"),k=d("Form"),R=d("Layout");return a(),g(R,{breadcrumbs:s.breadcrumbs},{default:u(()=>[o("div",Vt,[n(C,{title:"Change Schedule Applications"},{default:u(()=>{var x;return[o("div",Tt,[o("h6",Et,y(t.title),1)]),o("div",It,[o("div",Mt,[o("div",Ot,y(((x=this.$store.userSettings.dealershipAccess.find(r=>r.id==this.$store.userSettings.activeDealership))==null?void 0:x.name)+" - REQUESTED CHANGE SCHEDULE"||"REQUESTED CHANGE SCHEDULE"),1),o("div",Pt,[n(h,{onFilterChanged:l.applyFilters},null,8,["onFilterChanged"]),n(p,{icon:"mdi:microsoft-excel",text:"Export to CSV",btnClass:"relative overflow-hidden font-normal px-4 py-2 rounded-lg shadow-md bg-white text-gray-900 border group transition-colors duration-300 group-hover:border-green-500",iconClass:"text-2xl",onClick:l.exportToCsv},{default:u(()=>[e[2]||(e[2]=o("span",{class:"absolute inset-0 bg-green-500 transition-transform duration-300 transform -translate-x-full group-hover:translate-x-0"},null,-1)),o("span",Ut,[n(_,{icon:"mdi:microsoft-excel",class:"text-2xl mr-2"}),e[1]||(e[1]=T(" Export to CSV "))])]),_:1},8,["onClick"])])])]),n(b,{ref:"agGrid",rowData:s.items,columnDefs:s.colDefs,style:{height:"500px"},class:"ag-theme-quartz",pagination:!0,paginationPageSize:s.paginationPageSize,paginationPageSizeSelector:s.paginationPageSizeSelector,onGridReady:l.onGridReady},null,8,["rowData","columnDefs","paginationPageSize","paginationPageSizeSelector","onGridReady"])]}),_:1}),s.state.isLoading?(a(),g(w,{key:0,text:"Fetching records"})):f("",!0),n(v,{onCloseModal:s.state.showModal,ref:"view",onReload:l.fetchRecords},null,8,["onCloseModal","onReload"]),n(k,{onCloseModal:e[0]||(e[0]=x=>s.state.showModal=!1),ref:"form",onReload:l.fetchRecords},null,8,["onReload"])])]),_:1},8,["breadcrumbs"])}const Es=I(Dt,[["render",Lt],["__scopeId","data-v-3c0bef59"]]);export{Es as default};
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0.01 |
proxy
|
phpinfo
|
Settings