feat: gérer les constructeurs multiples

This commit is contained in:
Matthieu
2025-10-28 16:37:10 +01:00
parent da447e4ea2
commit b752fba69a
14 changed files with 901 additions and 222 deletions

View File

@@ -71,10 +71,10 @@
<span class="label-text">Constructeur</span>
</label>
<ConstructeurSelect
v-model="creationForm.constructeurId"
v-model="creationForm.constructeurIds"
class="w-full"
:disabled="submitting || !selectedType"
placeholder="Rechercher un constructeur..."
placeholder="Rechercher un ou plusieurs constructeurs..."
/>
</div>
</div>
@@ -339,6 +339,7 @@ import { useToast } from '~/composables/useToast'
import { useCustomFields } from '~/composables/useCustomFields'
import { useDocuments } from '~/composables/useDocuments'
import { formatStructurePreview, normalizeStructureForEditor } from '~/shared/modelUtils'
import { uniqueConstructeurIds } from '~/shared/constructeurUtils'
import type {
ComponentModelPiece,
ComponentModelStructure,
@@ -376,7 +377,7 @@ const submitting = ref(false)
const creationForm = reactive({
name: '' as string,
reference: '' as string,
constructeurId: null as string | null,
constructeurIds: [] as string[],
prix: '' as string,
})
const lastSuggestedName = ref('')
@@ -737,7 +738,7 @@ const resolveSubcomponentLabel = (node: Record<string, any>) => {
const clearCreationForm = () => {
creationForm.name = ''
creationForm.reference = ''
creationForm.constructeurId = null
creationForm.constructeurIds = []
creationForm.prix = ''
lastSuggestedName.value = ''
structureAssignments.value = null
@@ -758,8 +759,8 @@ const submitCreation = async () => {
payload.reference = reference
}
if (creationForm.constructeurId) {
payload.constructeurId = creationForm.constructeurId
if (creationForm.constructeurIds.length) {
payload.constructeurIds = uniqueConstructeurIds(creationForm.constructeurIds)
}
const rawPrice = typeof creationForm.prix === 'string'