๐Ÿ‘จโ€๐Ÿ’ผ Employee

Manage your employee data here.

{ search = (e.target as HTMLInputElement).value.toLowerCase(); if (search !== "" && search.length > 3) { fetchEmployee(search, "created_at", "desc", 0, 10); } else if (search === "") { fetchEmployee(null, "created_at", "desc", 0, 10); } }} />
{#each columns as col} {#if col.key === "guest_name"} {:else} {/if} {/each} {#each allRows as row, i} {#each columns as col} {#if col.key === "no"} {:else if col.key === "employee_name"} {:else if col.key === "employee_status"} {:else if col.key === "employee_type"} {:else if col.key === "photo_url" || col.key === "document" || col.key === "url"} {:else if col.key === "salary"} {:else if col.key === "contract_start" || col.key === "end_of_contract" || col.key === "date_of_birth" || col.key === "hire_date" || col.key === "leaving_date"} {:else if col.key === "benefits"} {:else if col.key === "created_at"} {:else if col.key === "actions"} {:else} {/if} {/each} {/each}
{col.title} {col.title}
{offset + i + 1} {row[col.key as keyof EmployeeItem]} {#if row[col.key as keyof EmployeeItem] === EmployeeStatus.Active} {EmployeeStatus.Active} {:else} {EmployeeStatus.Inactive} {/if} {#if row[col.key as keyof EmployeeItem] === EmployeeType.DailyWorker} {EmployeeType.DailyWorker} {:else if row[col.key as keyof EmployeeItem] === EmployeeType.Contract} {EmployeeType.Contract} {:else if row[col.key as keyof EmployeeItem] === EmployeeType.OutSource} {EmployeeType.OutSource} {:else} Unknown {/if} {#if row[col.key as keyof EmployeeItem]} View {:else} N/A {/if} {row[col.key as keyof EmployeeItem] ? new Intl.NumberFormat("id-ID", { style: "currency", currency: "IDR", }).format( row[ col.key as keyof EmployeeItem ] as number, ) : "N/A"} {row[col.key as keyof EmployeeItem] ? new Date( row[ col.key as keyof EmployeeItem ] as string | number | Date, ).toLocaleDateString() : "N/A"} {row[col.key as keyof EmployeeItem] ? new Date( row[ col.key as keyof EmployeeItem ] as string | number | Date, ).toLocaleDateString() : "N/A"} {row[col.key as keyof EmployeeItem]}
Showing {(currentPage - 1) * rowsPerPage + 1}โ€“ {Math.min(currentPage * rowsPerPage, totalItems)} of {totalItems} items
{#each pageRange(totalPages, currentPage) as page} {#if page === "..."} ... {:else} {/if} {/each}
{#if showModal}

{isEditing ? "Edit Employee" : "New Employee"}

{#each formColumns as col}
{#if col.key === "contract_start" || col.key === "end_of_contract" || col.key === "date_of_birth" || col.key === "hire_date" || col.key === "leaving_date"} {:else if col.key === "salary"} {:else if col.key === "employee_type"} {:else if col.key === "employee_status"} {:else if col.key === "marital_status"} {:else} {/if} {#if $formErrors[col.key]}

{$formErrors[col.key]}

{/if}
{/each}

Benefits

{#each formColumnsBenefits as col}
{#if col.key === "basic_salary"} {:else} {/if}
{/each}
{/if} {#if showModalBenefits}

Employee Benefits

{#each formColumnsBenefits as col}
{#if col.key === "basic_salary"} {:else} {/if}
{/each}
{/if}