✅ Cambios de terminología:
📝 Selector de modo (admin): ❌ "Modo IA" → ✅ "Modo de Asistencia" ❌ "Sin IA - Control manual total" → ✅ "Manual - Control total del operario" ❌ "IA Asistida - Sugerencias en fotos" → ✅ "Asistido - Sugerencias automáticas" ❌ "IA Completa - Análisis automático" → ✅ "Automático - Análisis completo" 📋 Descripciones: ❌ "Sin IA: El mecánico completa..." → ✅ "Modo Manual: El operario completa..." ❌ "IA Asistida: Cuando se suben fotos, la IA analiza..." → ✅ "Modo Asistido: ...el sistema analiza..." ❌ "IA Completa: El mecánico solo toma fotos y la IA responde..." → ✅ "Modo Automático: ...el sistema responde..." ❌ "Requiere OPENAI_API_KEY configurada" → ✅ "Requiere configuración de API externa" 🔍 Durante inspección: ❌ "🤖 Análisis IA disponible" → ✅ "🤖 Análisis automático disponible" 💬 En observaciones/comentarios: ❌ "🤖 Análisis IA (98% confianza):" → ✅ "Análisis Automático (98% confianza):" ❌ "🤖 Análisis IA:" → ✅ "Análisis Automático:" ❌ "🤖 Análisis IA de X imágenes:" → ✅ "Análisis Automático de X imágenes:" 🎯 Resultado: Los mecánicos ahora ven: "Asistente automático" en lugar de "Inteligencia Artificial" "Sistema" en lugar de "IA" "Análisis automático" en lugar de "Análisis IA" Terminología más neutral y profesional Frontend actualizado a v1.0.78
This commit is contained in:
@@ -2540,38 +2540,38 @@ function ChecklistsTab({ checklists, user, onChecklistCreated, onStartInspection
|
||||
|
||||
<div>
|
||||
<label className="block text-sm font-medium text-gray-700 mb-2">
|
||||
Modo IA
|
||||
Modo de Asistencia
|
||||
</label>
|
||||
<select
|
||||
value={formData.ai_mode}
|
||||
onChange={(e) => setFormData({ ...formData, ai_mode: e.target.value })}
|
||||
className="w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-transparent"
|
||||
>
|
||||
<option value="off">🚫 Sin IA - Control manual total</option>
|
||||
<option value="assisted">🤝 IA Asistida - Sugerencias en fotos</option>
|
||||
<option value="full">🤖 IA Completa - Análisis automático</option>
|
||||
<option value="off">🚫 Manual - Control total del operario</option>
|
||||
<option value="assisted">🤝 Asistido - Sugerencias automáticas</option>
|
||||
<option value="full">🤖 Automático - Análisis completo</option>
|
||||
</select>
|
||||
|
||||
{/* Descripción del modo seleccionado */}
|
||||
<div className="mt-3 p-3 bg-blue-50 border border-blue-200 rounded-lg">
|
||||
{formData.ai_mode === 'off' && (
|
||||
<div className="text-sm text-blue-800">
|
||||
<strong>Sin IA:</strong> El mecánico completa manualmente todas las respuestas.
|
||||
Sin dependencia de internet o API.
|
||||
<strong>Modo Manual:</strong> El operario completa manualmente todas las respuestas.
|
||||
Sin dependencia de internet o sistemas externos.
|
||||
</div>
|
||||
)}
|
||||
{formData.ai_mode === 'assisted' && (
|
||||
<div className="text-sm text-blue-800">
|
||||
<strong>IA Asistida:</strong> Cuando se suben fotos, la IA analiza y sugiere
|
||||
estado, criticidad y observaciones. El mecánico acepta o modifica.
|
||||
<div className="mt-1 text-xs">⚠️ Requiere OPENAI_API_KEY configurada</div>
|
||||
<strong>Modo Asistido:</strong> Cuando se suben fotos, el sistema analiza y sugiere
|
||||
estado, criticidad y observaciones. El operario acepta o modifica.
|
||||
<div className="mt-1 text-xs">⚠️ Requiere configuración de API externa</div>
|
||||
</div>
|
||||
)}
|
||||
{formData.ai_mode === 'full' && (
|
||||
<div className="text-sm text-blue-800">
|
||||
<strong>IA Completa:</strong> El mecánico solo toma fotos y la IA responde
|
||||
<strong>Modo Automático:</strong> El operario solo toma fotos y el sistema responde
|
||||
automáticamente todas las preguntas. Ideal para inspecciones rápidas masivas.
|
||||
<div className="mt-1 text-xs">⚠️ Requiere OPENAI_API_KEY configurada</div>
|
||||
<div className="mt-1 text-xs">⚠️ Requiere configuración de API externa</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
@@ -4345,18 +4345,18 @@ function InspectionModal({ checklist, user, onClose, onComplete }) {
|
||||
const confidence = analysis.confidence || 0.7
|
||||
|
||||
// Build observations text
|
||||
observationsText = `🤖 Análisis IA (${(confidence * 100).toFixed(0)}% confianza):\n${observations}`
|
||||
observationsText = `Análisis Automático (${(confidence * 100).toFixed(0)}% confianza):\n${observations}`
|
||||
if (recommendation) {
|
||||
observationsText += `\n\n💡 Recomendación: ${recommendation}`
|
||||
}
|
||||
worstStatus = status
|
||||
} else if (typeof analysis === 'string') {
|
||||
observationsText = `🤖 Análisis IA:\n${analysis}`
|
||||
observationsText = `Análisis Automático:\n${analysis}`
|
||||
}
|
||||
} else {
|
||||
// Multiple images - summarize all analyses
|
||||
console.log('📊 Resumen de', analyses.length, 'análisis:')
|
||||
observationsText = `🤖 Análisis IA de ${analyses.length} imágenes:\n\n`
|
||||
observationsText = `Análisis Automático de ${analyses.length} imágenes:\n\n`
|
||||
|
||||
const statusPriority = { 'critical': 3, 'minor': 2, 'warning': 2, 'ok': 1 }
|
||||
let maxPriority = 0
|
||||
@@ -4796,7 +4796,7 @@ function InspectionModal({ checklist, user, onClose, onComplete }) {
|
||||
)}
|
||||
{(checklist.ai_mode === 'assisted' || checklist.ai_mode === 'full') && (
|
||||
<span className="ml-2 text-xs text-blue-600">
|
||||
🤖 Análisis IA disponible
|
||||
🤖 Análisis automático disponible
|
||||
</span>
|
||||
)}
|
||||
</label>
|
||||
|
||||
Reference in New Issue
Block a user