📦 Purchase Order List

Manage your purchase orders efficiently. You can add, edit, or delete purchase orders as needed.

{ const searchTerm = ( e.target as HTMLInputElement ).value.toLowerCase(); fetchPurchaseOrder(null, searchTerm, "created_at", "desc"); }} />
{#each columns as col} {#if col.key === "name"} {:else} {/if} {/each} {#each paginatedRows as row} {#each columns as col} {#if col.key === "name"} {:else if col.key === "approval"} {:else if col.key === "proses_to_approval"} {:else if col.key === "acknowledged"} {:else if col.key === "received"} {:else if col.key === "completed_status"} {:else if col.key === "updated_at"} {:else if col.key === "actions"} {:else if col.key === "created_at"} {:else} {/if} {/each} {/each}
{col.title} {col.title}
{row[col.key as keyof PurchaseOrderDisplay]} { const isChecked = ( e.target as HTMLInputElement ).checked; if (isChecked) { newPurchaseOrders = { ...row, proses_to_approval: true, }; // map to project updateProsesToApproval( row.id, isChecked, ); } else { newPurchaseOrders = { ...row, proses_to_approval: false, }; // uncheck updateProsesToApproval( row.id, false, ); } }} disabled={row.proses_to_approval} /> { const isChecked = ( e.target as HTMLInputElement ).checked; row.acknowledged = isChecked; if (isChecked) { // map to project await acknowledgedOk( row.id, isChecked, ); } }} disabled /> { const isChecked = ( e.target as HTMLInputElement ).checked; row.received = isChecked; if (isChecked) { // map to project await receivedOk( row.id, isChecked, ); } }} disabled /> {new Date( row[ col.key as keyof PurchaseOrderDisplay ] as string, ).toLocaleString()} {new Date( row[ col.key as keyof PurchaseOrderDisplay ] as string, ).toLocaleString()}{row[ col.key as keyof PurchaseOrderDisplay ]}
Showing {(currentPage - 1) * rowsPerPage + 1}– {Math.min(currentPage * rowsPerPage, allRows.length)} of {allRows.length}
{#each Array(totalPages) .fill(0) .map((_, i) => i + 1) as page} {/each}
{#if showModal}

{isEditing ? "Edit Project" : "Add Project"}

{#each formColumns as col} {#if col.key === "po_status"}
{:else if col.key === "po_type"}
{:else if col.key === "prepared_date"}
{:else if col.key === "po_price"}
{:else if col.key === "po_quantity"}
{:else if col.key === "po_total_price"}
{:else if col.key === "approved_price"}
{:else if col.key === "approved_vendor"}
{:else}
{/if} {/each}
{/if}