Files
HRM-System/public/build/assets/show-Cy3MmlPk.js
2026-04-20 00:35:46 +08:00

2 lines
18 KiB
JavaScript

import{r as v,j as e}from"./ui-Z445SNHD.js";import{P as Oe}from"./page-template-CDooloYn.js";import{u as $e,c as Re,x as p,F as je,C as h,m as u,n as y,z as Be,B as l,l as j,o as f,r as m,t as r}from"./app-BJfYyIIX.js";import{T as qe,a as Ue,b as fe,c as o,d as Ie,e as c}from"./table-Dfaf1ArC.js";import{C as be}from"./CrudFormModal-I0cLiJrd.js";import{C as He}from"./CrudDeleteModal-B6HMcwYN.js";import{T as We,a as ze,b as Ne,c as ke}from"./tabs-Cjc5sbeG.js";import{A as Le}from"./arrow-left-CPwg9j8r.js";import{S as Ve}from"./square-pen-CtvYVz4A.js";import{T as Ge}from"./trash-BMNHUWub.js";import{D as ve}from"./download-BQYC1kvZ.js";import{f as w}from"./utils-BWxnHGCV.js";import"./textarea-Am1DxbQR.js";import"./select-v6HfP-lT.js";import"./index-BdQq_4o_.js";import"./index-9MclThM-.js";import"./chevron-up-C77P-Xnl.js";import"./react-country-flag.esm-Bs2jngHP.js";import"./language-BbwPiY59.js";import"./sparkles-DiRyEFzz.js";import"./loader-circle-BSOgoX7W.js";import"./copy-C-oQ_m_8.js";import"./CookieConsentBanner-C38N4PTk.js";import"./refresh-cw-ALYE7VHu.js";import"./globe-BDbxh4XP.js";import"./settings-iEK2zkZs.js";import"./switch-Cx2aNaqN.js";import"./chevron-right-C_sLmqOC.js";import"./layout-grid-CoeIbdlV.js";import"./briefcase-XD6VuWqm.js";import"./credit-card-7DJJO-Xg.js";import"./gift-BfcFhtsh.js";import"./users-TIev6QWg.js";import"./calendar-CbSq6zTy.js";import"./calendar-days-C8NX5zeY.js";import"./clock-Dx30a3fw.js";import"./timer-BEVp3YT6.js";import"./dollar-sign-GjiaL2_k.js";import"./coins-Bsoy02xu.js";import"./index-BFT_C1pH.js";import"./user-DLrpac_w.js";import"./log-out-BMSBi6tX.js";/* empty css *//* empty css */import"./radio-group-KOpzhUXP.js";import"./circle-DWyWs_iS.js";import"./checkbox-D89mOuIk.js";import"./scroll-area-oGCj-C9A.js";function Hs(){var D,S,M,A,F,P,E,O,$,R,B,q,U,I,H,W,z,L,V,G,J,K,Q,X,Y,Z,ee,se,te,ae,re,ie,ne,le,de,me,oe,ce,xe;const{t:s}=$e(),{auth:b,employeeTraining:t,availableAssessments:d}=Re().props,g=(b==null?void 0:b.permissions)||[],[we,_]=v.useState(!1),[_e,N]=v.useState(!1),[Ce,k]=v.useState(!1),Te=()=>{m.get(route("hr.employee-trainings.index"))},De=()=>{N(!0)},Se=()=>{_(!0)},C=()=>{k(!0)},Me=()=>{window.open(route("hr.employee-trainings.download-certification",t.id),"_blank")},Ae=a=>{const n=new FormData;Object.keys(a).forEach(i=>{a[i]!==null&&a[i]!==void 0&&(i==="certification"?a[i]instanceof File&&n.append(i,a[i]):n.append(i,a[i]))}),r.loading(s("Updating training")),n.append("_method","PUT"),m.post(route("hr.employee-trainings.update",t.id),n,{onSuccess:i=>{N(!1),r.dismiss(),i.props.flash.success?r.success(s(i.props.flash.success)):i.props.flash.error&&r.error(s(i.props.flash.error))},onError:i=>{r.dismiss(),typeof i=="string"?r.error(s(i)):r.error(s("Failed to update training {{errors}}",{errors:Object.values(i).join(", ")}))}})},Fe=a=>{r.loading(s("Recording assessment result")),m.post(route("hr.employee-trainings.record-assessment",t.id),a,{onSuccess:n=>{k(!1),r.dismiss(),n.props.flash.success?r.success(s(n.props.flash.success)):n.props.flash.error&&r.error(s(n.props.flash.error))},onError:n=>{r.dismiss(),typeof n=="string"?r.error(s(n)):r.error(s("Failed to record assessment result {{errors}}",{errors:Object.values(n).join(", ")}))}})},Pe=()=>{r.loading(s("Deleting training assignment")),m.delete(route("hr.employee-trainings.destroy",t.id),{onSuccess:a=>{r.dismiss(),a.props.flash.success?r.success(s(a.props.flash.success)):a.props.flash.error&&r.error(s(a.props.flash.error)),m.get(route("hr.employee-trainings.index"))},onError:a=>{r.dismiss(),typeof a=="string"?r.error(s(a)):r.error(s("Failed to delete training assignment {{errors}}",{errors:Object.values(a).join(", ")}))}})},x=[];x.push({label:s("Back"),icon:e.jsx(Le,{className:"h-4 w-4 mr-2"}),variant:"outline",onClick:Te}),p(g,"edit-employee-trainings")&&x.push({label:s("Edit"),icon:e.jsx(Ve,{className:"h-4 w-4 mr-2"}),variant:"default",onClick:De}),p(g,"delete-employee-trainings")&&x.push({label:s("Delete"),icon:e.jsx(Ge,{className:"h-4 w-4 mr-2"}),variant:"destructive",onClick:Se}),p(g,"record-assessment-results")&&d&&d.length>0&&x.push({label:s("Record Assessment"),icon:e.jsx(je,{className:"h-4 w-4 mr-2"}),variant:"default",onClick:C});const Ee=[{title:s("Dashboard"),href:route("dashboard")},{title:s("HR Management"),href:route("hr.employee-trainings.index")},{title:s("Training Management"),href:route("hr.employee-trainings.index")},{title:s("Employee Trainings"),href:route("hr.employee-trainings.index")},{title:`${((D=t.employee)==null?void 0:D.name)||""} - ${((S=t.training_program)==null?void 0:S.name)||""}`}],T={assigned:"bg-blue-50 text-blue-700 ring-blue-600/20",in_progress:"bg-amber-50 text-amber-700 ring-amber-600/20",completed:"bg-green-50 text-green-700 ring-green-600/20",failed:"bg-red-50 text-red-700 ring-red-600/20"};return e.jsxs(Oe,{title:`${((M=t.employee)==null?void 0:M.name)||""} - ${((A=t.training_program)==null?void 0:A.name)||""}`,url:`/hr/training/employee-trainings/${t.id}`,actions:x,breadcrumbs:Ee,children:[e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6",children:[e.jsxs("div",{className:"lg:col-span-2",children:[e.jsxs(h,{className:"mb-6",children:[e.jsx(u,{children:e.jsxs("div",{className:"flex justify-between items-start",children:[e.jsxs("div",{children:[e.jsx(y,{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:((F=t.training_program)==null?void 0:F.name)||s("Unknown Program")}),e.jsx(Be,{className:"mt-2",children:((E=(P=t.training_program)==null?void 0:P.training_type)==null?void 0:E.name)||"-"})]}),e.jsx(l,{className:`${T[t.status]||"bg-gray-50 text-gray-700 ring-gray-600/20"}`,children:t.status==="in_progress"?s("In Progress"):t.status==="assigned"?s("Assigned"):t.status==="completed"?s("Completed"):t.status==="failed"?s("Failed"):t.status})]})}),e.jsxs(j,{children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Employee")}),e.jsx("p",{className:"text-sm font-semibold text-gray-900 dark:text-gray-100 mt-1",children:((O=t.employee)==null?void 0:O.name)||"-"}),e.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400",children:((R=($=t.employee)==null?void 0:$.employee)==null?void 0:R.employee_id)||"-"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Assigned By")}),e.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 mt-1",children:((B=t.assigner)==null?void 0:B.name)||"-"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Assigned Date")}),e.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 mt-1",children:t.assigned_date?((q=window.appSettings)==null?void 0:q.formatDateTimeSimple(t.assigned_date,!1))||w(new Date(t.assigned_date),"MMM dd, yyyy"):"-"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Completion Date")}),e.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 mt-1",children:t.completion_date?((U=window.appSettings)==null?void 0:U.formatDateTimeSimple(t.completion_date,!1))||w(new Date(t.completion_date),"MMM dd, yyyy"):"-"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Score")}),e.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 mt-1",children:t.score!==null?`${t.score}%`:"-"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Result")}),e.jsx("p",{className:"mt-1",children:t.is_passed===null?"-":t.is_passed?e.jsx(l,{variant:"outline",className:"bg-green-50 text-green-700",children:s("Passed")}):e.jsx(l,{variant:"outline",className:"bg-red-50 text-red-700",children:s("Failed")})})]})]}),t.feedback&&e.jsxs("div",{className:"mb-4",children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Feedback")}),e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 mt-1",children:t.feedback})]}),t.notes&&e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Notes")}),e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 mt-1",children:t.notes})]}),t.certification&&e.jsx("div",{className:"mt-4",children:e.jsxs(f,{variant:"outline",onClick:Me,className:"flex items-center",children:[e.jsx(ve,{className:"h-4 w-4 mr-2"}),s("Download Certification")]})})]})]}),e.jsxs(We,{defaultValue:"program",className:"w-full",children:[e.jsxs(ze,{className:"grid grid-cols-2 mb-4",children:[e.jsx(Ne,{value:"program",children:s("Program Details")}),e.jsx(Ne,{value:"assessments",children:s("Assessment Results")})]}),e.jsx(ke,{value:"program",children:e.jsxs(h,{children:[e.jsx(u,{children:e.jsx(y,{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:s("Program Details")})}),e.jsxs(j,{children:[e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Duration")}),e.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 mt-1",children:(I=t.training_program)!=null&&I.duration?`${t.training_program.duration} ${s("Hours")}`:"-"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Cost")}),e.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 mt-1",children:(H=t.training_program)!=null&&H.cost?`$${parseFloat(t.training_program.cost).toFixed(2)}`:"-"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Status")}),e.jsx("p",{className:"mt-1",children:e.jsx(l,{variant:"outline",className:`${T[(W=t.training_program)==null?void 0:W.status]||""}`,children:((L=(z=t.training_program)==null?void 0:z.status)==null?void 0:L.charAt(0).toUpperCase())+((G=(V=t.training_program)==null?void 0:V.status)==null?void 0:G.slice(1))||"-"})})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Flags")}),e.jsxs("div",{className:"flex flex-wrap gap-1 mt-1",children:[((J=t.training_program)==null?void 0:J.is_mandatory)&&e.jsx(l,{variant:"outline",className:"bg-red-50 text-red-700",children:s("Mandatory")}),((K=t.training_program)==null?void 0:K.is_self_enrollment)&&e.jsx(l,{variant:"outline",className:"bg-blue-50 text-blue-700",children:s("Self-Enrollment")})]})]})]}),((Q=t.training_program)==null?void 0:Q.description)&&e.jsxs("div",{className:"mb-4",children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Description")}),e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 mt-1",children:t.training_program.description})]}),((X=t.training_program)==null?void 0:X.prerequisites)&&e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Prerequisites")}),e.jsx("p",{className:"text-sm text-gray-700 dark:text-gray-300 mt-1",children:t.training_program.prerequisites})]}),((Y=t.training_program)==null?void 0:Y.materials)&&e.jsx("div",{className:"mt-4",children:e.jsxs(f,{variant:"outline",onClick:()=>window.open(route("hr.training-programs.download-materials",t.training_program.id),"_blank"),className:"flex items-center",children:[e.jsx(ve,{className:"h-4 w-4 mr-2"}),s("Download Materials")]})})]})]})}),e.jsx(ke,{value:"assessments",children:e.jsxs(h,{children:[e.jsx(u,{children:e.jsx(y,{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:s("Assessment Results")})}),e.jsxs(j,{children:[t.assessment_results&&t.assessment_results.length>0?e.jsxs(qe,{children:[e.jsx(Ue,{children:e.jsxs(fe,{children:[e.jsx(o,{children:s("Assessment")}),e.jsx(o,{children:s("Type")}),e.jsx(o,{children:s("Date")}),e.jsx(o,{children:s("Score")}),e.jsx(o,{children:s("Result")}),e.jsx(o,{children:s("Assessed By")})]})}),e.jsx(Ie,{children:t.assessment_results.map(a=>{var n,i,ge,pe,he,ue,ye;return e.jsxs(fe,{children:[e.jsx(c,{className:"font-medium",children:((n=a.training_assessment)==null?void 0:n.name)||"-"}),e.jsx(c,{children:((ge=(i=a.training_assessment)==null?void 0:i.type)==null?void 0:ge.charAt(0).toUpperCase())+((he=(pe=a.training_assessment)==null?void 0:pe.type)==null?void 0:he.slice(1))||"-"}),e.jsx(c,{children:((ue=window.appSettings)==null?void 0:ue.formatDateTimeSimple(a.assessment_date,!1))||w(new Date(a.assessment_date),"MMM dd, yyyy")}),e.jsxs(c,{children:[a.score,"%"]}),e.jsx(c,{children:a.is_passed?e.jsx(l,{variant:"outline",className:"bg-green-50 text-green-700",children:s("Passed")}):e.jsx(l,{variant:"outline",className:"bg-red-50 text-red-700",children:s("Failed")})}),e.jsx(c,{children:((ye=a.assessor)==null?void 0:ye.name)||"-"})]},a.id)})})]}):e.jsx("div",{className:"text-center py-12 text-sm text-gray-500 dark:text-gray-400",children:s("No assessment results available")}),d&&d.length>0&&p(g,"record-assessment-results")&&e.jsx("div",{className:"mt-4",children:e.jsxs(f,{variant:"default",onClick:C,children:[e.jsx(je,{className:"h-4 w-4 mr-2"}),s("Record Assessment")]})})]})]})})]})]}),e.jsx("div",{children:e.jsxs(h,{children:[e.jsx(u,{children:e.jsx(y,{className:"text-lg font-semibold text-gray-900 dark:text-gray-100",children:s("Employee Details")})}),e.jsxs(j,{children:[e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Name")}),e.jsx("p",{className:"text-sm font-semibold text-gray-900 dark:text-gray-100 mt-1",children:((Z=t.employee)==null?void 0:Z.name)||"-"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Employee ID")}),e.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 mt-1",children:((se=(ee=t.employee)==null?void 0:ee.employee)==null?void 0:se.employee_id)||"-"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Department")}),e.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 mt-1",children:((re=(ae=(te=t.employee)==null?void 0:te.employee)==null?void 0:ae.department)==null?void 0:re.name)||"-"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Designation")}),e.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 mt-1",children:((le=(ne=(ie=t.employee)==null?void 0:ie.employee)==null?void 0:ne.designation)==null?void 0:le.name)||"-"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Email")}),e.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 mt-1",children:((de=t.employee)==null?void 0:de.email)||"-"})]}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-xs font-medium text-gray-500 dark:text-gray-400 tracking-wide",children:s("Phone")}),e.jsx("p",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 mt-1",children:((oe=(me=t.employee)==null?void 0:me.employee)==null?void 0:oe.phone)||"-"})]})]}),e.jsx("div",{className:"mt-4",children:e.jsx(f,{variant:"outline",onClick:()=>{var a,n;return m.get(route("hr.employees.show",(n=(a=t.employee)==null?void 0:a.employee)==null?void 0:n.id))},className:"w-full",children:s("View Employee Profile")})})]})]})})]}),e.jsx(be,{isOpen:_e,onClose:()=>N(!1),onSubmit:Ae,formConfig:{fields:[{name:"status",label:s("Status"),type:"select",required:!0,options:[{value:"assigned",label:s("Assigned")},{value:"in_progress",label:s("In Progress")},{value:"completed",label:s("Completed")},{value:"failed",label:s("Failed")}]},{name:"completion_date",label:s("Completion Date"),type:"date",showWhen:a=>["completed","failed"].includes(a.status)},{name:"certification",label:s("Certification"),type:"file",accept:".pdf,.doc,.docx,.jpg,.jpeg,.png",helpText:s("Upload certification file (Max 5MB)"),showWhen:a=>a.status==="completed"},{name:"score",label:s("Score (%)"),type:"number",min:0,max:100,step:.01,showWhen:a=>["completed","failed"].includes(a.status)},{name:"is_passed",label:s("Passed"),type:"checkbox",showWhen:a=>["completed","failed"].includes(a.status)},{name:"feedback",label:s("Feedback"),type:"textarea",showWhen:a=>["completed","failed"].includes(a.status)},{name:"notes",label:s("Notes"),type:"textarea"}],modalSize:"lg"},initialData:t,title:s("Edit Training Assignment"),mode:"edit"}),e.jsx(be,{isOpen:Ce,onClose:()=>k(!1),onSubmit:Fe,formConfig:{fields:[{name:"training_assessment_id",label:s("Assessment"),type:"select",required:!0,options:(d==null?void 0:d.map(a=>({value:a.id.toString(),label:a.name})))||[]},{name:"score",label:s("Score (%)"),type:"number",required:!0,min:0,max:100,step:.01},{name:"is_passed",label:s("Passed"),type:"checkbox"},{name:"feedback",label:s("Feedback"),type:"textarea"},{name:"assessment_date",label:s("Assessment Date"),type:"date",required:!0,defaultValue:new Date().toISOString().split("T")[0]},{name:"update_training_status",label:s("Update Training Status"),type:"checkbox",helpText:s("Update the training status based on this assessment result")}],modalSize:"md"},initialData:{},title:s("Record Assessment Result"),mode:"create"}),e.jsx(He,{isOpen:we,onClose:()=>_(!1),onConfirm:Pe,itemName:`${((ce=t.employee)==null?void 0:ce.name)||""} - ${((xe=t.training_program)==null?void 0:xe.name)||""}`,entityName:"training assignment"})]})}export{Hs as default};