@@ -434,14 +303,8 @@ import {
downloadDocument,
} from '~/shared/utils/documentDisplayUtils'
import {
- resolveFieldKey,
resolveFieldId,
- resolveFieldName,
- resolveFieldType,
- resolveFieldOptions,
- resolveFieldRequired,
resolveFieldReadOnly,
- formatFieldDisplayValue,
} from '~/shared/utils/entityCustomFieldLogic'
import { useEntityDocuments } from '~/composables/useEntityDocuments'
import { useEntityProductDisplay } from '~/composables/useEntityProductDisplay'
@@ -595,16 +458,16 @@ const handleProductChange = async (value) => {
updatePiece()
}
-// --- Custom field local helpers ---
-const setCustomFieldValue = (fieldValueId, value, field) => {
+// --- Custom field event handlers ---
+const handleCustomFieldInput = (field, value) => {
if (resolveFieldReadOnly(field)) return
- if (field && typeof field === 'object') field.value = value
+ const fieldValueId = resolveFieldId(field)
if (!fieldValueId) return
const fieldValue = props.piece.customFieldValues?.find((fv) => fv.id === fieldValueId)
if (fieldValue) fieldValue.value = value
}
-const updateCustomFieldValue = async (_fieldValueId, field) => {
+const handleCustomFieldBlur = async (field) => {
await updateCustomField(field)
const cfId = field?.customFieldId || field?.customField?.id || null
if (cfId || field?.customFieldValueId) {
diff --git a/app/components/common/CustomFieldDisplay.vue b/app/components/common/CustomFieldDisplay.vue
new file mode 100644
index 0000000..5e70315
--- /dev/null
+++ b/app/components/common/CustomFieldDisplay.vue
@@ -0,0 +1,173 @@
+
+
+
+ Champs personnalisés
+
+
+
+
+
+