From d860f24e69df6f84077a80802a30a9ba5122cde6 Mon Sep 17 00:00:00 2001 From: Matthieu Date: Wed, 5 Nov 2025 15:35:02 +0100 Subject: [PATCH] feat: add product catalogue and product-aware UI - introduce product catalogue pages, management view entries and shared product composables\n- wire product selection into component/piece flows and machine skeleton requirements\n- display linked product metadata and documents across machine, component and piece views\n- generalize model type tooling to handle PRODUCT category --- app/app.vue | 116 ++ app/components/ComponentItem.vue | 198 +++ .../ComponentModelStructureEditor.vue | 14 +- .../ComponentStructureAssignmentNode.vue | 176 +++ app/components/PieceItem.vue | 371 +++++- app/components/PieceModelStructureEditor.vue | 261 +++- app/components/ProductSelect.vue | 116 ++ app/components/StructureNodeEditor.vue | 236 +++- app/components/TypeEditForm.vue | 9 +- .../TypeEditProductRequirementsSection.vue | 95 ++ app/components/TypeInfoDisplay.vue | 1 + app/components/model-types/ManagementView.vue | 13 +- app/components/model-types/ModelTypeForm.vue | 54 +- app/components/model-types/Table.vue | 1 + app/components/model-types/Toolbar.vue | 8 +- app/composables/useDocuments.js | 6 + app/composables/useMachineTypesApi.js | 25 +- app/composables/useProductTypes.js | 132 ++ app/composables/useProducts.js | 184 +++ app/pages/component-catalog.vue | 13 + app/pages/component/[id]/edit.vue | 1 - app/pages/component/create.vue | 118 +- app/pages/index.vue | 6 + app/pages/machine-skeleton/index.vue | 8 + app/pages/machine-skeleton/new.vue | 26 +- app/pages/machine/[id].vue | 1070 ++++++++++++++++- app/pages/machines/new.vue | 616 +++++++++- app/pages/pieces-catalog.vue | 13 + app/pages/pieces/[id]/edit.vue | 103 +- app/pages/pieces/create.vue | 111 +- app/pages/product-catalog.vue | 254 ++++ app/pages/product-category/[id]/edit.vue | 122 ++ app/pages/product-category/index.vue | 11 + app/pages/product-category/new.vue | 68 ++ app/pages/product/[id]/edit.vue | 747 ++++++++++++ app/pages/product/create.vue | 518 ++++++++ app/pages/type/[id].vue | 33 + app/pages/type/edit/[id].vue | 24 +- app/services/modelTypes.ts | 19 +- app/shared/modelUtils.ts | 169 ++- app/shared/types/inventory.ts | 29 + app/utils/printTemplates/machineReport.js | 99 ++ 42 files changed, 6052 insertions(+), 142 deletions(-) create mode 100644 app/components/ProductSelect.vue create mode 100644 app/components/TypeEditProductRequirementsSection.vue create mode 100644 app/composables/useProductTypes.js create mode 100644 app/composables/useProducts.js create mode 100644 app/pages/product-catalog.vue create mode 100644 app/pages/product-category/[id]/edit.vue create mode 100644 app/pages/product-category/index.vue create mode 100644 app/pages/product-category/new.vue create mode 100644 app/pages/product/[id]/edit.vue create mode 100644 app/pages/product/create.vue diff --git a/app/app.vue b/app/app.vue index 6fba465..329f5ac 100644 --- a/app/app.vue +++ b/app/app.vue @@ -114,6 +114,61 @@ +
  • + + +
      +
    • + + Catalogue des produits + +
    • +
    • + + Catégorie de produit + +
    • +
    +
    +
  • +
  • + + +
      +
    • + + Catégorie de produit + +
    • +
    • + + Catalogue des produits + +
    • +
    +
    +
  • {{ component.prix }}€ + + Produit : {{ displayProductName }} + Non défini +
    + +
    + + Non défini +
    +
    +

    + Documents du produit +

    +
    +
    +
    + +