• Extends the R1 SPA with create forms for the four entities operators
    interact with most. Each page follows the same pattern proven by
    CreateSalesOrderPage: a card-scoped form with dropdowns populated
    from the API, inline validation, and a redirect to the detail or
    list page on success.
    
    New pages:
      - CreateItemPage — code, name, type (GOOD/SERVICE/DIGITAL),
        UoM dropdown populated from /api/v1/catalog/uoms
      - CreatePartnerPage — code, name, type (CUSTOMER/SUPPLIER/BOTH),
        optional email + phone
      - CreatePurchaseOrderPage — symmetric to CreateSalesOrderPage;
        supplier dropdown filtered to SUPPLIER/BOTH partners,
        optional expected date, dynamic line items
      - CreateWorkOrderPage — output item + quantity + optional due
        date, dynamic BOM inputs (item + qty/unit + source location
        dropdown), dynamic routing operations (op code + work center
        + std minutes). The most complex form in the SPA — matches
        the EBC-PP-001 work order creation flow
    
    API client additions: catalog.createItem, partners.create,
    purchaseOrders.create, production.createWorkOrder — each a
    typed wrapper around POST to the corresponding endpoint.
    
    List pages updated: Items, Partners, Purchase Orders, Work Orders
    all now show a "+ New" button in the PageHeader that links to
    the create form.
    
    Routes wired: /items/new, /partners/new, /purchase-orders/new,
    /work-orders/new — all covered by the existing SpaController
    wildcard patterns and SecurityConfiguration permitAll rules.
    zichun authored
     
    Browse Code »