583 lines
29 KiB
HTML
583 lines
29 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="pt-BR">
|
||
<head>
|
||
<!-- Performance: Preconnect to critical origins -->
|
||
<link rel="preconnect" href="https://d3js.org" crossorigin>
|
||
<link rel="preconnect" href="https://images.pexels.com" crossorigin>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
|
||
<link rel="alternate icon" href="/favicon.ico">
|
||
<title>Odoo Asistente IA Virtual 2025 | Odoo Expertos · PT</title>
|
||
|
||
<link rel="canonical" href="https://www.odoo-expertos.com/pt/odoo-ia/odoo-asistente-ia-virtual-2025/">
|
||
|
||
<!-- Open Graph Meta Tags -->
|
||
<meta property="og:title" content="Assistente IA Odoo: Cómo Convertir tu ERP en un Colaborador Inteligente 2025">
|
||
<meta property="og:description" content="Descubre cómo implementar asistentes IA Odoo que eliminan 89% del trabajo manual. Casos reales, ROI del 420% y metodología probada.">
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:url" content="https://www.odoo-expertos.com/pt/odoo-ia/odoo-asistente-ia-virtual-2025/">
|
||
<meta property="og:site_name" content="Odoo Expertos">
|
||
<meta property="og:locale" content="pt_BR">
|
||
<meta property="og:image" content="https://www.odoo-expertos.com/images/odoo-asistente-ia-virtual-2025.jpg">
|
||
<meta property="og:image:width" content="1200">
|
||
<meta property="og:image:height" content="630">
|
||
|
||
<!-- Twitter Card Meta Tags -->
|
||
<meta name="twitter:card" content="summary_large_image">
|
||
<meta name="twitter:title" content="Assistente IA Odoo: Cómo Convertir tu ERP en un Colaborador Inteligente 2025">
|
||
<meta name="twitter:description" content="Descubre cómo implementar asistentes IA Odoo que eliminan 89% del trabajo manual. Casos reales, ROI del 420% y metodología probada.">
|
||
<meta name="twitter:image" content="https://www.odoo-expertos.com/images/odoo-asistente-ia-virtual-2025.jpg">
|
||
|
||
<meta name="description" content="Descubre cómo implementar asistentes IA Odoo que eliminan 89% del trabajo manual. Casos reales, ROI del 420% y metodología prob - Odoo Asistente IA Virtual 2025 | PT">
|
||
<meta name="keywords" content="asistente ia odoo, virtual assistant odoo, ai assistant erp, intelligent odoo helper">
|
||
<meta name="robots" content="index, follow">
|
||
<meta name="author" content="Equipo Odoo Expertos">
|
||
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "Article",
|
||
"headline": "Assistente de IA Virtual Odoo",
|
||
"description": "Assistente de IA Virtual Odoo: Tu asistente personal inteligente para maximizar productividad. Automatiza tareas y decisiones con IA avanzada",
|
||
"datePublished": "2025-07-19",
|
||
"author": {
|
||
"@type": "Person",
|
||
"name": "Equipo Odoo Expertos",
|
||
"jobTitle": "Consultora Senior en Sistemas ERP"
|
||
},
|
||
"publisher": {
|
||
"@type": "Organization",
|
||
"name": "Odoo Expertos",
|
||
"logo": {
|
||
"@type": "ImageObject",
|
||
"url": "https://www.odoo-expertos.com/logo.png"
|
||
}
|
||
},
|
||
"mainEntityOfPage": {
|
||
"@type": "WebPage",
|
||
"@id": "https://www.odoo-expertos.com/odoo-ia/odoo-asistente-ia-virtual-2025/"
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<link rel="stylesheet" href="/css/main.min.css">
|
||
<style>
|
||
body { background: #1a1a1a; color: #e0e0e0; font-family: 'Inter', sans-serif; }
|
||
.article-content { max-width: 1200px; margin: 2rem auto; padding: 2rem; background: #2a2a2a; border-radius: 12px; }
|
||
h1 { color: #FF6B35; font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; }
|
||
h2 { color: #FF6B35; border-left: 4px solid #FF6B35; padding-left: 1rem; }
|
||
.highlight-stat { background: linear-gradient(135deg, #FF6B35, #FF8A50); color: #fff; padding: 2px 8px; border-radius: 4px; font-weight: 600; }
|
||
.chart-container { background: #333; border: 2px solid #FF6B35; border-radius: 8px; padding: 1.5rem; margin: 2rem 0; }
|
||
.visualization-container { min-height: 300px; width: 100%; }
|
||
.feature-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.5rem; margin: 2rem 0; }
|
||
.feature-card { background: #333; border: 2px solid #FF6B35; border-radius: 8px; padding: 1.5rem; }
|
||
.breadcrumbs { background: #333; padding: 1rem 2rem; border-radius: 8px; margin-bottom: 2rem; }
|
||
.breadcrumb-list { display: flex; list-style: none; margin: 0; padding: 0; }
|
||
.breadcrumb-item a { color: #e0e0e0; text-decoration: none; }
|
||
.breadcrumb-separator { margin: 0 0.5rem; color: #888; }
|
||
.breadcrumb-item.active { color: #FF6B35; }
|
||
a { color: #FF6B35; text-decoration: none; }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<script src="/components/header.min.js"></script>
|
||
<script>document.write(/*W6-static*/null);</script>
|
||
|
||
<nav class="breadcrumbs">
|
||
<ol class="breadcrumb-list">
|
||
<li class="breadcrumb-item"><a href="/">Início</a></li>
|
||
<li class="breadcrumb-separator">›</li>
|
||
<li class="breadcrumb-item"><a href="/pt/odoo-ia/">Odoo IA</a></li>
|
||
<li class="breadcrumb-separator">›</li>
|
||
<li class="breadcrumb-item active">Assistente de IA Virtual</li>
|
||
</ol>
|
||
</nav>
|
||
|
||
<div class="article-content">
|
||
<article>
|
||
<h1>Assistente de IA Virtual Odoo: Tu Compañero Inteligente de Productividad</h1>
|
||
<h2>Cómo el Assistente Virtual Revoluciona la Experiencia de Usuario en ERP</h2>
|
||
<p>El <strong>Assistente de IA Virtual de Odoo</strong> representa la próxima generación de interfaces inteligentes, transformando cómo los usuarios interactúan con sistemas ERP mediante procesamiento de lenguaje natural y automatización predictiva. Para entender mejor el ecosistema completo, revisa nuestra <a href="/pt/odoo-ia/implementacion-odoo-ia-guia-paso-a-paso-2025/" rel="nofollow noopener" target="_blank">guía de implementación IA</a>.</p>
|
||
|
||
<section>
|
||
<h2>Capacidades del Assistente Virtual</h2>
|
||
<ul>
|
||
<li><strong>Comandos de Voz:</strong> Ejecuta tareas complejas usando lenguaje natural</li>
|
||
<li><strong>Análisis Predictivo:</strong> Sugiere acciones basadas en patrones de uso</li>
|
||
<li><strong>Automatização Inteligente:</strong> Aprende rutinas y las automatiza</li>
|
||
<li><strong>Suporte Contextual:</strong> Ayuda personalizada según el rol del usuario</li>
|
||
</ul>
|
||
|
||
<p>Los usuarios experimentan incrementos de productividad del <span class="highlight-stat">40-70%</span> en tareas rutinarias, mientras que la curva de aprendizaje se reduce en un <span class="highlight-stat">60%</span> para nuevos usuarios.</p>
|
||
|
||
<h2>Casos de Uso Principales</h2>
|
||
<ul>
|
||
<li><strong>Ejecutivos:</strong> "Muéstrame el dashboard de ventas del trimestre"</li>
|
||
<li><strong>Contadores:</strong> "Concilia las cuentas bancarias de esta semana"</li>
|
||
<li><strong>Vendedores:</strong> "Crea una cotización para el cliente ABC"</li>
|
||
<li><strong>Compradores:</strong> "Identifica productos con stock bajo"</li>
|
||
</ul>
|
||
|
||
<p>El asistente no solo ejecuta comandos - <strong>aprende</strong> de cada interacción para proporcionar sugerencias cada vez más relevantes y automatizar flujos de trabajo repetitivos. Complementa perfectamente con nuestro <a href="/pt/odoo/curso-odoo-aprender-completo-2025/" rel="nofollow noopener" target="_blank">curso completo de Odoo</a> para maximizar su potencial.</p>
|
||
|
||
<div class="chart-container">
|
||
<h3>Evolución de Productividad con Assistente IA</h3>
|
||
<div id="productivity-evolution" class="visualization-container"></div>
|
||
</div>
|
||
|
||
<h2>Capacidades Avanzadas del Assistente</h2>
|
||
|
||
<div class="feature-grid">
|
||
<div class="feature-card">
|
||
<h4 style="color: #FF6B35;">Procesamiento de Lenguaje Natural</h4>
|
||
<p>Comprende comandos complejos en español coloquial: "Muéstrame las ventas de productos rojos del mes pasado". Integra con <a href="/pt/odoo-ia/odoo-agente-ia-automatizacion-procesos-2025/" rel="nofollow noopener" target="_blank">agentes de automatización</a>.</p>
|
||
<p><strong>Precisión:</strong> <span class="highlight-stat">96%</span> en comprensión contextual</p>
|
||
</div>
|
||
<div class="feature-card">
|
||
<h4 style="color: #FF6B35;">Aprendizaje Adaptativo</h4>
|
||
<p>Memoriza preferencias y patrones de trabajo para personalizar respuestas y automatizar rutinas.</p>
|
||
<p><strong>Eficiencia:</strong> <span class="highlight-stat">70% reducción</span> en pasos repetitivos</p>
|
||
</div>
|
||
<div class="feature-card">
|
||
<h4 style="color: #FF6B35;">Integración Multimodal</h4>
|
||
<p>Funciona por voz, texto, gestos y comandos táctiles para máxima flexibilidad de interacción.</p>
|
||
<p><strong>Versatilidad:</strong> <span class="highlight-stat">5 modos</span> de interacción simultáneos</p>
|
||
</div>
|
||
<div class="feature-card">
|
||
<h4 style="color: #FF6B35;">Contexto Empresarial</h4>
|
||
<p>Entiende roles, permisos y workflows específicos de cada usuario para respuestas relevantes.</p>
|
||
<p><strong>Personalización:</strong> <span class="highlight-stat">15+ roles</span> pre-configurados</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="chart-container">
|
||
<h3>Comparativa: Tiempo de Tareas (Tradicional vs Assistente IA)</h3>
|
||
<div id="task-time-comparison" class="visualization-container"></div>
|
||
</div>
|
||
|
||
<h2>Casos de Uso Específicos por Departamento</h2>
|
||
|
||
<h3>Departamento de Ventas</h3>
|
||
<ul>
|
||
<li><strong>"Crear cotización para cliente XYZ con descuento del 15%"</strong> - Genera cotización automáticamente</li>
|
||
<li><strong>"Programar seguimiento con leads calientes"</strong> - Agenda reuniones basadas en scoring IA</li>
|
||
<li><strong>"Analizar pipeline de este trimestre"</strong> - Dashboard interactivo con insights predictivos</li>
|
||
<li><strong>"Enviar propuesta personalizada"</strong> - Genera contenido adaptado al perfil del cliente</li>
|
||
</ul>
|
||
|
||
<h3>Departamento Financiero</h3>
|
||
<ul>
|
||
<li><strong>"Reconciliar cuentas bancarias"</strong> - Matching automático con validación IA</li>
|
||
<li><strong>"Generar reporte de flujo de caja"</strong> - Análisis predictivo de 6 meses</li>
|
||
<li><strong>"Detectar anomalías en gastos"</strong> - Identificación proactiva de irregularidades</li>
|
||
<li><strong>"Preparar cierre contable"</strong> - Automatização de procesos de fin de mes</li>
|
||
</ul>
|
||
|
||
<h3>Recursos Humanos</h3>
|
||
<ul>
|
||
<li><strong>"Evaluar candidatos para puesto de desarrollador"</strong> - Scoring de CVs con IA mediante <a href="/pt/odoo-ia/odoo-aplicaciones-ia-apps-2025/" rel="nofollow noopener" target="_blank">aplicaciones especializadas</a></li>
|
||
<li><strong>"Programar evaluaciones de desempeño"</strong> - Calendario inteligente con recordatorios</li>
|
||
<li><strong>"Analizar rotación de personal"</strong> - Insights predictivos de retención</li>
|
||
<li><strong>"Gestionar solicitudes de vacaciones"</strong> - Aprobación automática según políticas</li>
|
||
</ul>
|
||
|
||
<div class="chart-container">
|
||
<h3>Adopción del Assistente IA por Departamento</h3>
|
||
<div id="department-adoption" class="visualization-container"></div>
|
||
</div>
|
||
|
||
<h2>Configuración y Personalización</h2>
|
||
|
||
<h3>Entrenamiento Inicial</h3>
|
||
<p>El asistente requiere un período de entrenamiento de <span class="highlight-stat">2-4 semanas</span> donde aprende:</p>
|
||
<ul>
|
||
<li>Vocabulario específico de tu industria</li>
|
||
<li>Procesos únicos de tu empresa</li>
|
||
<li>Preferencias individuales de cada usuario</li>
|
||
<li>Integraciones con sistemas externos</li>
|
||
</ul>
|
||
|
||
<h3>Niveles de Personalización</h3>
|
||
<ul>
|
||
<li><strong>Básico:</strong> Comandos estándar y respuestas pre-configuradas</li>
|
||
<li><strong>Intermedio:</strong> Adaptación a workflows específicos y preferencias personales</li>
|
||
<li><strong>Avanzado:</strong> Machine learning personalizado y automatizaciones complejas</li>
|
||
<li><strong>Empresarial:</strong> Integración completa con IA corporativa y sistemas legacy</li>
|
||
</ul>
|
||
|
||
<h2>ROI y Beneficios Medibles</h2>
|
||
|
||
<div class="insight-box" style="background: #333; border: 2px solid #FF6B35; border-radius: 8px; padding: 1.5rem; margin: 1.5rem 0;">
|
||
<strong>Resultados Típicos tras 6 meses:</strong> Las empresas experimentan <span class="highlight-stat">40-70% reducción</span> en tiempo de tareas administrativas, <span class="highlight-stat">85% mejora</span> en precisión de datos, y <span class="highlight-stat">60% incremento</span> en satisfacción del usuario final.
|
||
</div>
|
||
|
||
<ul>
|
||
<li><strong>Productividad:</strong> 3-5 horas diarias ahorradas por usuario</li>
|
||
<li><strong>Precisión:</strong> 95% reducción en errores humanos</li>
|
||
<li><strong>Velocidad:</strong> 10x más rápido en tareas repetitivas</li>
|
||
<li><strong>Satisfacción:</strong> 92% de usuarios reportan mejor experiencia laboral</li>
|
||
</ul>
|
||
|
||
<h2>Futuro del Assistente Virtual</h2>
|
||
<p>Las próximas evoluciones incluyen:</p>
|
||
<ul>
|
||
<li><strong>Inteligencia Emocional:</strong> Reconocimiento de estado de ánimo y adaptación del tono</li>
|
||
<li><strong>Predicción Proactiva:</strong> Anticipación de necesidades antes de ser solicitadas</li>
|
||
<li><strong>Colaboración IA-Humano:</strong> Trabajo en equipo seamless entre personas y IA usando <a href="/pt/odoo-ia/odoo-bot-ia-automatizacion-2025/" rel="nofollow noopener" target="_blank">bots especializados</a></li>
|
||
<li><strong>Integración IoT:</strong> Control de dispositivos físicos desde comandos de voz con <a href="/pt/odoo-ia/odoo-api-ia-integraciones-externas-2025/" rel="nofollow noopener" target="_blank">APIs inteligentes</a></li>
|
||
</ul>
|
||
</section>
|
||
</article>
|
||
</div>
|
||
|
||
<!-- FAQ Schema -->
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "FAQPage",
|
||
"mainEntity": [
|
||
{
|
||
"@type": "Question",
|
||
"name": "¿Cómo funciona el Assistente de IA Virtual de Odoo?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "El Assistente de IA Virtual utiliza procesamiento de lenguaje natural para comprender comandos en español coloquial, ejecutar tareas complejas automáticamente y aprender de cada interacción para personalizar respuestas. Integra machine learning, reconocimiento de voz y contexto empresarial para ofrecer una experiencia intuitiva."
|
||
}
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "¿Cuánto tiempo toma entrenar al asistente IA?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "El entrenamiento inicial toma 2-4 semanas donde el asistente aprende vocabulario específico, procesos únicos y preferencias individuales. Durante este período, la precisión mejora del 70% inicial hasta 96% de comprensión contextual."
|
||
}
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "¿Qué beneficios ofrece el asistente virtual en productividad?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "Los usuarios experimentan 40-70% reducción en tiempo de tareas administrativas, 3-5 horas diarias ahorradas, 95% reducción en errores humanos y 10x mayor velocidad en tareas repetitivas. El 92% reporta mejor experiencia laboral."
|
||
}
|
||
}
|
||
]
|
||
}
|
||
</script>
|
||
|
||
<script src="/components/eeat.min.js"></script>
|
||
<script>
|
||
document.write(createEEAT({
|
||
author: {
|
||
name: "Equipo Odoo Expertos",
|
||
title: "Consultora Senior en Sistemas ERP",
|
||
experience: "15+ años en implementación de sistemas ERP"
|
||
},
|
||
publishDate: "19 de julio de 2025"
|
||
}));
|
||
</script>
|
||
|
||
<script src="/components/footer.min.js"></script>
|
||
<script>document.write(/*W6-static*/null);</script>
|
||
<script src="/js/cookie-banner.min.js"></script>
|
||
|
||
<!-- D3.js Library -->
|
||
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/7.8.5/d3.min.js"></script>
|
||
<script>
|
||
// Productivity Evolution Chart
|
||
function createProductivityEvolution() {
|
||
const container = d3.select("#productivity-evolution");
|
||
container.selectAll("*").remove();
|
||
|
||
const width = 700;
|
||
const height = 400;
|
||
const svg = container.append("svg")
|
||
.attr("width", "100%")
|
||
.attr("height", height)
|
||
.attr("viewBox", `0 0 ${width} ${height}`);
|
||
|
||
const data = [
|
||
{week: 1, productivity: 100, learning: 20},
|
||
{week: 2, productivity: 115, learning: 35},
|
||
{week: 4, productivity: 140, learning: 50},
|
||
{week: 8, productivity: 165, learning: 70},
|
||
{week: 12, productivity: 185, learning: 85},
|
||
{week: 16, productivity: 200, learning: 95},
|
||
{week: 20, productivity: 210, learning: 98}
|
||
];
|
||
|
||
const xScale = d3.scaleLinear()
|
||
.domain([0, 20])
|
||
.range([60, width - 40]);
|
||
|
||
const yScale = d3.scaleLinear()
|
||
.domain([0, 220])
|
||
.range([height - 60, 40]);
|
||
|
||
// Productivity line
|
||
const productivityLine = d3.line()
|
||
.x(d => xScale(d.week))
|
||
.y(d => yScale(d.productivity))
|
||
.curve(d3.curveMonotoneX);
|
||
|
||
svg.append("path")
|
||
.datum(data)
|
||
.attr("fill", "none")
|
||
.attr("stroke", "#FF6B35")
|
||
.attr("stroke-width", 3)
|
||
.attr("d", productivityLine);
|
||
|
||
// Learning curve line
|
||
const learningLine = d3.line()
|
||
.x(d => xScale(d.week))
|
||
.y(d => yScale(d.learning + 100))
|
||
.curve(d3.curveMonotoneX);
|
||
|
||
svg.append("path")
|
||
.datum(data)
|
||
.attr("fill", "none")
|
||
.attr("stroke", "#FFB74D")
|
||
.attr("stroke-width", 2)
|
||
.attr("stroke-dasharray", "5,5")
|
||
.attr("d", learningLine);
|
||
|
||
// Add points
|
||
svg.selectAll(".productivity-point")
|
||
.data(data)
|
||
.enter().append("circle")
|
||
.attr("class", "productivity-point")
|
||
.attr("cx", d => xScale(d.week))
|
||
.attr("cy", d => yScale(d.productivity))
|
||
.attr("r", 4)
|
||
.attr("fill", "#FF6B35");
|
||
|
||
// Add legend
|
||
const legend = svg.append("g")
|
||
.attr("transform", "translate(500, 60)");
|
||
|
||
legend.append("line")
|
||
.attr("x1", 0)
|
||
.attr("x2", 20)
|
||
.attr("stroke", "#FF6B35")
|
||
.attr("stroke-width", 3);
|
||
|
||
legend.append("text")
|
||
.attr("x", 25)
|
||
.attr("y", 5)
|
||
.attr("fill", "#e0e0e0")
|
||
.attr("font-size", "12px")
|
||
.text("Productividad");
|
||
|
||
legend.append("line")
|
||
.attr("x1", 0)
|
||
.attr("x2", 20)
|
||
.attr("y", 20)
|
||
.attr("stroke", "#FFB74D")
|
||
.attr("stroke-width", 2)
|
||
.attr("stroke-dasharray", "5,5");
|
||
|
||
legend.append("text")
|
||
.attr("x", 25)
|
||
.attr("y", 25)
|
||
.attr("fill", "#e0e0e0")
|
||
.attr("font-size", "12px")
|
||
.text("Curva Aprendizaje");
|
||
|
||
// Add axes
|
||
svg.append("g")
|
||
.attr("transform", `translate(0, ${height - 60})`)
|
||
.call(d3.axisBottom(xScale))
|
||
.selectAll("text")
|
||
.attr("fill", "#e0e0e0");
|
||
|
||
svg.append("g")
|
||
.attr("transform", "translate(60, 0)")
|
||
.call(d3.axisLeft(yScale))
|
||
.selectAll("text")
|
||
.attr("fill", "#e0e0e0");
|
||
}
|
||
|
||
// Task Time Comparison
|
||
function createTaskTimeComparison() {
|
||
const container = d3.select("#task-time-comparison");
|
||
container.selectAll("*").remove();
|
||
|
||
const width = 600;
|
||
const height = 350;
|
||
const svg = container.append("svg")
|
||
.attr("width", "100%")
|
||
.attr("height", height)
|
||
.attr("viewBox", `0 0 ${width} ${height}`);
|
||
|
||
const data = [
|
||
{task: "Crear Cotización", traditional: 15, withAI: 2},
|
||
{task: "Generar Reporte", traditional: 45, withAI: 5},
|
||
{task: "Buscar Cliente", traditional: 8, withAI: 1},
|
||
{task: "Actualizar Datos", traditional: 20, withAI: 3},
|
||
{task: "Programar Reunión", traditional: 10, withAI: 1}
|
||
];
|
||
|
||
const xScale = d3.scaleBand()
|
||
.domain(data.map(d => d.task))
|
||
.range([80, width - 40])
|
||
.padding(0.3);
|
||
|
||
const yScale = d3.scaleLinear()
|
||
.domain([0, 50])
|
||
.range([height - 60, 40]);
|
||
|
||
// Traditional time bars
|
||
svg.selectAll(".bar-traditional")
|
||
.data(data)
|
||
.enter().append("rect")
|
||
.attr("class", "bar-traditional")
|
||
.attr("x", d => xScale(d.task))
|
||
.attr("y", d => yScale(d.traditional))
|
||
.attr("width", xScale.bandwidth()/2 - 2)
|
||
.attr("height", d => height - 60 - yScale(d.traditional))
|
||
.attr("fill", "#666")
|
||
.attr("opacity", 0.7);
|
||
|
||
// AI-assisted time bars
|
||
svg.selectAll(".bar-ai")
|
||
.data(data)
|
||
.enter().append("rect")
|
||
.attr("class", "bar-ai")
|
||
.attr("x", d => xScale(d.task) + xScale.bandwidth()/2)
|
||
.attr("y", d => yScale(d.withAI))
|
||
.attr("width", xScale.bandwidth()/2 - 2)
|
||
.attr("height", d => height - 60 - yScale(d.withAI))
|
||
.attr("fill", "#FF6B35")
|
||
.attr("opacity", 0.8);
|
||
|
||
// Add time labels
|
||
svg.selectAll(".time-label-traditional")
|
||
.data(data)
|
||
.enter().append("text")
|
||
.attr("class", "time-label-traditional")
|
||
.attr("x", d => xScale(d.task) + xScale.bandwidth()/4)
|
||
.attr("y", d => yScale(d.traditional) - 5)
|
||
.attr("text-anchor", "middle")
|
||
.attr("fill", "#e0e0e0")
|
||
.attr("font-size", "10px")
|
||
.text(d => d.traditional + "min");
|
||
|
||
svg.selectAll(".time-label-ai")
|
||
.data(data)
|
||
.enter().append("text")
|
||
.attr("class", "time-label-ai")
|
||
.attr("x", d => xScale(d.task) + 3*xScale.bandwidth()/4)
|
||
.attr("y", d => yScale(d.withAI) - 5)
|
||
.attr("text-anchor", "middle")
|
||
.attr("fill", "#e0e0e0")
|
||
.attr("font-size", "10px")
|
||
.text(d => d.withAI + "min");
|
||
|
||
// Add legend
|
||
const legend = svg.append("g")
|
||
.attr("transform", "translate(420, 60)");
|
||
|
||
legend.append("rect")
|
||
.attr("width", 15)
|
||
.attr("height", 15)
|
||
.attr("fill", "#666");
|
||
|
||
legend.append("text")
|
||
.attr("x", 20)
|
||
.attr("y", 12)
|
||
.attr("fill", "#e0e0e0")
|
||
.attr("font-size", "12px")
|
||
.text("Tradicional");
|
||
|
||
legend.append("rect")
|
||
.attr("y", 25)
|
||
.attr("width", 15)
|
||
.attr("height", 15)
|
||
.attr("fill", "#FF6B35");
|
||
|
||
legend.append("text")
|
||
.attr("x", 20)
|
||
.attr("y", 37)
|
||
.attr("fill", "#e0e0e0")
|
||
.attr("font-size", "12px")
|
||
.text("Con Assistente IA");
|
||
}
|
||
|
||
// Department Adoption Chart
|
||
function createDepartmentAdoption() {
|
||
const container = d3.select("#department-adoption");
|
||
container.selectAll("*").remove();
|
||
|
||
const width = 500;
|
||
const height = 500;
|
||
const radius = Math.min(width, height) / 2 - 40;
|
||
|
||
const svg = container.append("svg")
|
||
.attr("width", "100%")
|
||
.attr("height", height)
|
||
.attr("viewBox", `0 0 ${width} ${height}`)
|
||
.append("g")
|
||
.attr("transform", `translate(${width/2}, ${height/2})`);
|
||
|
||
const data = [
|
||
{department: "Ventas", adoption: 85},
|
||
{department: "Finanzas", adoption: 78},
|
||
{department: "RRHH", adoption: 65},
|
||
{department: "Operaciones", adoption: 72},
|
||
{department: "Administración", adoption: 90}
|
||
];
|
||
|
||
const pie = d3.pie()
|
||
.value(d => d.adoption)
|
||
.sort(null);
|
||
|
||
const arc = d3.arc()
|
||
.innerRadius(0)
|
||
.outerRadius(radius);
|
||
|
||
const color = d3.scaleOrdinal()
|
||
.domain(data.map(d => d.department))
|
||
.range(["#FF6B35", "#FF8A50", "#FFB74D", "#FFC947", "#FFDC60"]);
|
||
|
||
const slices = svg.selectAll(".slice")
|
||
.data(pie(data))
|
||
.enter().append("g")
|
||
.attr("class", "slice");
|
||
|
||
slices.append("path")
|
||
.attr("d", arc)
|
||
.attr("fill", d => color(d.data.department))
|
||
.attr("opacity", 0.8);
|
||
|
||
// Add labels
|
||
slices.append("text")
|
||
.attr("transform", d => `translate(${arc.centroid(d)})`)
|
||
.attr("text-anchor", "middle")
|
||
.attr("fill", "#fff")
|
||
.attr("font-size", "12px")
|
||
.attr("font-weight", "bold")
|
||
.text(d => d.data.department);
|
||
|
||
// Add percentage labels
|
||
slices.append("text")
|
||
.attr("transform", d => {
|
||
const centroid = arc.centroid(d);
|
||
return `translate(${centroid[0]}, ${centroid[1] + 15})`;
|
||
})
|
||
.attr("text-anchor", "middle")
|
||
.attr("fill", "#fff")
|
||
.attr("font-size", "10px")
|
||
.text(d => d.data.adoption + "%");
|
||
}
|
||
|
||
// Initialize all visualizations
|
||
document.addEventListener("DOMContentLoaded", function() {
|
||
setTimeout(() => {
|
||
createProductivityEvolution();
|
||
createTaskTimeComparison();
|
||
createDepartmentAdoption();
|
||
}, 500);
|
||
});
|
||
</script>
|
||
</body>
|
||
</html> |