No description
XLSX (ExcelJS replaces bare SheetJS): - Full cell-level styling: bold fonts, gray fills, thin/medium borders, cell alignment, wrap-text — all matching the sample PO layout - Correct merge map across all sections: header block (A1:I4), PO meta row (A5:B5, C5:G5), PI/Quotation row (A6:B6, C6:F6, G6:H6), Vessel/Budget/Requested row (A7:B7, D7:E7, H7:I7), Requisition row (A8:B8, D8:E8, H8:I8), Place of Delivery spanning 2 rows (A9:B10, C9:I10), Invoice Details spanning 2 rows (A11:B12, C11:I11, C12:I12), Vendor block (A13:B13, D13:I13, A14:B14, C14:I14), line item Description column (B:C per row), totals labels and values (F:G and H:I), instructions header (A:I), T&C text (B:I per row), dual signature blocks - Description column spans B:C in header and every item row - Minimum 7 body rows reserved; alternating row fills - Totals section: gray fill, right-aligned, grand total darker gray - Instructions header with distinct fill; numbered T&C with B:I merge - Paired signature blocks (submitter left, vendor right) with borders - Column widths and row heights tuned to the sample dimensions - Page setup: A4 portrait, fit-to-width PDF (HTML print page): - Typography matches sample: Arial 8.5pt body, 13pt bold company name, 11pt underlined PURCHASE ORDER heading - All meta tables use gray (f2f2f2) label cells with borders - Place of Delivery and Invoice Details use rowspan for correct layout - Line items table: dark gray (d8d8d8) header, 1px borders, alternating row fills, minimum 7 blank rows reserved - Totals table (55% width, right-aligned) with gray rows and darker grand total - Instructions: distinct header fill, clean numbered layout - Signature blocks: flex-spaced bordered boxes with submitter/vendor - Print CSS: A4 page size, no-print class for the print button Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| App/pelagia-portal | ||
| .gitignore | ||