📦 Purchase Order List

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

{ searchTerm = ( e.target as HTMLInputElement ).value.toLowerCase(); fetchPurchaseOrder( selectedVillaId, searchTerm, sortColumn, sortOrder, currentPage - 1, rowsPerPage, selectedStatus, ); }} />
{#each columns as col} {#if col.key === "purchase_order_number"} {:else} {/if} {/each} {#each allRows as row} {#each columns as col} {#if col.key === "requested_date" || col.key === "po_due" || col.key === "updated_at"} {:else if col.key === "po_remark"} {:else if col.key === "purchase_order_number"} {:else if col.key === "prepared"} {:else if col.key === "approved"} {:else if col.key === "acknowledged"} {:else if col.key === "completed"} {:else if col.key === "received"} {:else if col.key === "payment"} {:else if col.key === "actions"} {:else} {/if} {/each} {/each}
toggleSort(col.key)} > {col.title} {#if sortColumn === col.key} {sortOrder === "asc" ? " 🔼" : " 🔽"} {/if} toggleSort(col.key)} > {col.title} {#if sortColumn === col.key} {sortOrder === "asc" ? " 🔼" : " 🔽"} {/if}
{#if row[col.key]} {new Date( row[col.key], ).toLocaleString()} {:else} — {/if} {row[col.key] || "—"} {row.purchase_order_number || "—"} {row[col.key] ?? "—"}
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 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} {#if showPreparedModal}

Set Prepared

updateTotalAmount()} class="w-full border p-2" />
{/if} {#if showPaymentModal}

Set Payment

{#each [1, 2, 3, 4, 5, 6] as num} {/each}
{/if} {#if showApprovalModal}

Approve Purchase Order

{#if approvalForm.po_item} {/if} {#if approvalForm.approved_quantity != null} {/if} {#if approvalForm.approved_price != null} {/if} {#if approvalForm.total_approved_order_amount != null} {/if} {#if approvalForm.approved_vendor} {/if} {#if approvalForm.approval === "reject"} {/if}
{/if} {#if showAcknowledgedModal}

Acknowledge Purchase Order

{#if acknowledgedForm.acknowledged === "reject"} {/if} {#if approvalForm.po_item} {/if} {#if approvalForm.approved_quantity != null} {/if} {#if approvalForm.approved_price != null} {/if} {#if approvalForm.total_approved_order_amount != null} {/if} {#if approvalForm.approved_vendor} {/if}
{/if} {#if showCompletedModal}

Complete Purchase Order

{#if completedForm.completed === "reject"} {/if} {#if completedForm.po_item} {/if} {#if completedForm.approved_quantity != null} {/if} {#if completedForm.approved_price != null} {/if} {#if completedForm.total_approved_order_amount != null} {/if} {#if completedForm.approved_vendor} {/if}
{/if} {#if showReceivedModal}

Receive Purchase Order

{#if receivedForm.po_item} {/if} {#if receivedForm.approved_quantity != null} {/if} {#if receivedForm.approved_price != null} {/if} {#if receivedForm.total_approved_order_amount != null} {/if} {#if receivedForm.approved_vendor} {/if}
{/if} {#if showEditModal}

Edit Purchase Order

{#each ["prepared", "approved", "acknowledged", "completed", "received"] as key}
{/each}
{/if} {#if showAddPOModal}

Add Purchase Order

{/if}