+
+
Structure du type sélectionné :
Familles de composants :
- {{ selectedMachineType.componentRequirements?.length || 0 }}
+ {{ c.selectedMachineType.componentRequirements?.length || 0 }}
Groupes de pièces :
- {{ selectedMachineType.pieceRequirements?.length || 0 }}
+ {{ c.selectedMachineType.pieceRequirements?.length || 0 }}
Produits requis :
- {{ selectedMachineType.productRequirements?.length || 0 }}
+ {{ c.selectedMachineType.productRequirements?.length || 0 }}
Catégorie :
- {{ selectedMachineType.category || 'N/A' }}
+ {{ c.selectedMachineType.category || 'N/A' }}
Ce type n'a pas encore de familles configurées. La machine héritera de la structure legacy du type.
-
-
- Sélection des composants
-
+
+
-
-
-
-
- {{ requirement.label || requirement.typeComposant?.name || 'Famille de composants' }}
-
-
- Type : {{ requirement.typeComposant?.name || 'Non défini' }} · Min : {{ requirement.minCount ?? (requirement.required ? 1 : 0) }}
- · Max : {{ requirement.maxCount ?? '∞' }}
-
-
+
-
-
+
-
- Aucun composant sélectionné pour ce groupe.
-
-
-
-
-
- Type appliqué :
- {{ resolveComponentRequirementTypeLabel(requirement, entry) }}
-
-
-
-
-
-
-
-
-
-
-
- Aucun composant disponible pour cette famille.
-
-
-
-
-
- {{ (findComponentById(entry.composantId)?.name) || "Composant" }}
-
-
- Référence : {{ findComponentById(entry.composantId)?.reference || "—" }}
-
-
- Fournisseur :
- {{ findComponentById(entry.composantId)?.constructeur?.name || findComponentById(entry.composantId)?.constructeurName || "—" }}
-
-
-
-
-
-
-
-
-
- Sélection des pièces principales
-
-
-
-
-
-
- {{ requirement.label || requirement.typePiece?.name || 'Groupe de pièces' }}
-
-
- Type : {{ requirement.typePiece?.name || 'Non défini' }} · Min : {{ requirement.minCount ?? (requirement.required ? 1 : 0) }}
- · Max : {{ requirement.maxCount ?? '∞' }}
-
-
-
-
-
-
-
- Aucune pièce sélectionnée pour ce groupe.
-
-
-
-
-
- Type appliqué :
- {{ resolvePieceRequirementTypeLabel(requirement, entry) }}
-
-
-
-
-
-
-
-
- fetchPieceOptions(requirement, entryIndex, term)"
- @update:modelValue="setPieceRequirementPiece(requirement, entryIndex, $event || '')"
- />
-
-
- Aucune pièce disponible pour cette famille.
-
-
-
-
-
- {{ (findPieceById(entry.pieceId)?.name) || "Pièce" }}
-
-
- Référence : {{ findPieceById(entry.pieceId)?.reference || "—" }}
-
-
- Fournisseur :
- {{ findPieceById(entry.pieceId)?.constructeur?.name || findPieceById(entry.pieceId)?.constructeurName || "—" }}
-
-
-
-
-
-
-
-
-
- Produits catalogue requis
-
-
-
-
-
-
- {{ requirement.label || requirement.typeProduct?.name || 'Groupe de produits' }}
-
-
- Catégorie : {{ requirement.typeProduct?.name || 'Non définie' }} · Min : {{ requirement.minCount ?? (requirement.required ? 1 : 0) }}
- · Max : {{ requirement.maxCount ?? '∞' }}
-
-
- Sélection de produits existants uniquement.
-
-
-
-
-
-
-
- Aucun produit sélectionné pour ce groupe.
-
+
+
+
-
-
- Catégorie appliquée :
- {{ requirement.typeProduct?.name || 'Non définie' }}
-
-
-
-
-
-
-
-
- Aucun produit existant pour cette catégorie. Créez-en un depuis le catalogue.
-
-
-
-
-
- {{ findProductById(entry.productId)?.name || 'Produit' }}
-
-
- Référence : {{ findProductById(entry.productId)?.reference || "—" }}
-
-
- Prix indicatif :
-
- {{ Number(findProductById(entry.productId)?.supplierPrice).toFixed(2) }} €
-
-
- —
-
-
-
- Fournisseurs :
-
- {{ findProductById(entry.productId)?.constructeurs.map(constructeur => constructeur?.name).filter(Boolean).join(', ') }}
-
-
- —
-
-
-
-
-
-
-
-
-
-
-
-
-
- Prévisualisation avant création
-
-
- {{ machinePreview.status === 'ready' ? 'Prête à créer' : machinePreview.status === 'warning' ? 'À compléter' : 'Bloquante' }}
-
-
-
-
-
- {{ field.label }}
-
- {{ field.display }}
-
-
-
-
-
- Type : {{ machinePreview.type.name }}
- Catégorie : {{ machinePreview.type.category }}
- Structure JSON : {{ machinePreview.type.hasStructuredDefinition ? 'Oui' : 'Legacy' }}
-
-
-
-
- Informations générales incomplètes :
-
-
- -
-
-
-
-
-
-
-
- Composants hérités
-
-
-
-
-
- {{ group.label }}
-
-
- Type : {{ group.typeName }} · Min {{ group.min }} ·
- {{ group.max !== null ? `Max ${group.max}` : 'Max ∞' }}
-
-
-
- {{ group.completed }} / {{ group.total || 0 }} complétée(s)
-
-
-
-
-
- -
- {{ issue.message }}
-
-
-
-
-
- -
-
-
-
- {{ entry.title }}
-
-
- {{ entry.subtitle }}
-
-
-
-
-
-
-
-
- Aucun composant n'est requis pour ce type de machine.
-
-
-
-
- Pièces associées
-
-
-
-
-
- {{ group.label }}
-
-
- Type : {{ group.typeName }} · Min {{ group.min }} ·
- {{ group.max !== null ? `Max ${group.max}` : 'Max ∞' }}
-
-
-
- {{ group.completed }} / {{ group.total || 0 }} complétée(s)
-
-
-
-
-
- -
- {{ issue.message }}
-
-
-
-
-
- -
-
-
-
- {{ entry.title }}
-
-
- {{ entry.subtitle }}
-
-
-
-
-
-
-
-
- Aucun groupe de pièces à configurer pour ce type.
-
-
-
-
- Produits requis
-
-
-
-
-
- {{ group.label }}
-
-
- Catégorie : {{ group.typeName }} · Min {{ group.min }} ·
- {{ group.max !== null ? `Max ${group.max}` : 'Max ∞' }}
-
-
-
-
- Couverture : {{ group.count }}
-
-
- Direct {{ group.completed }} / {{ group.total || 0 }}
-
-
-
-
-
-
- -
- {{ issue.message }}
-
-
-
-
-
- -
-
-
-
- {{ entry.title }}
-
-
- {{ entry.subtitle }}
-
-
-
-
-
-
- Couverture assurée via composants ou pièces liés.
-
-
-
-
-
-
-
-
-
- Points à vérifier avant la création :
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
Compléter les informations bloquantes avant de créer la machine.
+
Annuler
@@ -723,8 +171,8 @@
@@ -737,495 +185,12 @@