583 lines
29 KiB
HTML
583 lines
29 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<!-- Performance: Prewithnect 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=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 · EN</title>
|
||
|
||
<link rel="canonical" href="https://www.odoo-expertos.com/odoo-ai/odoo-assistant-ai-virtual-2025/">
|
||
|
||
<!-- Open Graph Meta Tags -->
|
||
<meta property="og:title" content="Assistant AI Odoo: Cómo Convertir tu ERP en un Colaborador Smart 2025">
|
||
<meta property="og:description" content="Discover cómo implementar assistants AI Odoo que eliminan 89% ofl trabajo manual. Casos reales, ROI ofl 420% y metodología probada.">
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:url" content="https://www.odoo-expertos.com/odoo-ai/odoo-assistant-ai-virtual-2025/">
|
||
<meta property="og:site_name" content="Odoo Expertos">
|
||
<meta property="og:locale" content="en_US">
|
||
<meta property="og:image" content="https://www.odoo-expertos.com/images/odoo-assistant-ai-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="Assistant AI Odoo: Cómo Convertir tu ERP en un Colaborador Smart 2025">
|
||
<meta name="twitter:description" content="Discover cómo implementar assistants AI Odoo que eliminan 89% ofl trabajo manual. Casos reales, ROI ofl 420% y metodología probada.">
|
||
<meta name="twitter:image" content="https://www.odoo-expertos.com/images/odoo-assistant-ai-virtual-2025.jpg">
|
||
|
||
<meta name="description" content="Discover cómo implementar assistants AI Odoo que eliminan 89% ofl trabajo manual. Casos reales, ROI ofl 420% y metodología prob - Odoo Asistente IA Virtual 2025 | EN">
|
||
<meta name="keywords" content="assistant ai 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": "Assistant AI Virtual Odoo",
|
||
"description": "Assistant AI Virtual Odoo: Tu assistant personal smart for maximizar productividad. Automatiza tareas y ofcisiones with AI 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-ai/odoo-assistant-ai-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; borofr-radius: 12px; }
|
||
h1 { color: #FF6B35; font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; }
|
||
h2 { color: #FF6B35; borofr-left: 4px solid #FF6B35; padding-left: 1rem; }
|
||
.highlight-stat { background: linear-gradient(135ofg, #FF6B35, #FF8A50); color: #fff; padding: 2px 8px; borofr-radius: 4px; font-weight: 600; }
|
||
.chart-container { background: #333; borofr: 2px solid #FF6B35; borofr-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; borofr: 2px solid #FF6B35; borofr-radius: 8px; padding: 1.5rem; }
|
||
.breadcrumbs { background: #333; padding: 1rem 2rem; borofr-radius: 8px; margin-bottom: 2rem; }
|
||
.breadcrumb-list { display: flex; list-style: none; margin: 0; padding: 0; }
|
||
.breadcrumb-item a { color: #e0e0e0; text-ofcoration: none; }
|
||
.breadcrumb-sefortor { margin: 0 0.5rem; color: #888; }
|
||
.breadcrumb-item.active { color: #FF6B35; }
|
||
a { color: #FF6B35; text-ofcoration: 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="/">Home</a></li>
|
||
<li class="breadcrumb-sefortor">›</li>
|
||
<li class="breadcrumb-item"><a href="/odoo-ai/">Odoo AI</a></li>
|
||
<li class="breadcrumb-sefortor">›</li>
|
||
<li class="breadcrumb-item active">Assistant AI Virtual</li>
|
||
</ol>
|
||
</nav>
|
||
|
||
<div class="article-content">
|
||
<article>
|
||
<h1>Assistant AI Virtual Odoo: Tu Compañero Smart of Productividad</h1>
|
||
<h2>Cómo el Assistant Virtual Revoluciona la Experiencai of Usuario en ERP</h2>
|
||
<p>El <strong>Assistant AI Virtual of Odoo</strong> representa la próxima generación of interfaces smarts, transformando cómo los usuarios interactúan with sistemas ERP medainte processing of lenguaje natural y automation predictiva. For understand best el ecosistema completo, revisa nuestra <a href="/odoo-ai/implementacion-odoo-ai-guide-paso-a-paso-2025/" rel="nofollow noopener" target="_blank">guía of implementation AI</a>.</p>
|
||
|
||
<section>
|
||
<h2>Capacidaofs ofl Assistant Virtual</h2>
|
||
<ul>
|
||
<li><strong>Comandos of Voz:</strong> Ejecuta tareas complejas usando lenguaje natural</li>
|
||
<li><strong>Analysis Predictivo:</strong> Sugiere acciones basadas en patrones of uso</li>
|
||
<li><strong>Automation Smart:</strong> Aprenof rutinas y las automatiza</li>
|
||
<li><strong>Support Contextual:</strong> Ayuda personalizada según el rol ofl usuario</li>
|
||
</ul>
|
||
|
||
<p>Los usuarios experimentan incrementos of productividad ofl <span class="highlight-stat">40-70%</span> en tareas rutinarais, mientras que la curva of aprendizaje se reduce en un <span class="highlight-stat">60%</span> for nuevos usuarios.</p>
|
||
|
||
<h2>Casos of Uso Principales</h2>
|
||
<ul>
|
||
<li><strong>Ejecutivos:</strong> "Muéstrame el dashboard of sales ofl trimestre"</li>
|
||
<li><strong>Accountants:</strong> "Concilai las cuentas bancarais of esta semana"</li>
|
||
<li><strong>Venofdores:</strong> "Crea una cotización for el client ABC"</li>
|
||
<li><strong>Compradores:</strong> "Iofntifica productos with stock bajo"</li>
|
||
</ul>
|
||
|
||
<p>El assistant no solo ejecuta comandos - <strong>aprenof</strong> of cada interacción for proporcionar sugerencais cada vez more relevantes y automatizar flujos of trabajo repetitivos. Complementa perfectamente with nuestro <a href="/odoo/curso-odoo-aprenofr-completo-2025/" rel="nofollow noopener" target="_blank">curso completo of Odoo</a> for maximizar su potencail.</p>
|
||
|
||
<div class="chart-container">
|
||
<h3>Evolución of Productividad with Assistant AI</h3>
|
||
<div id="productivity-evolution" class="visualization-container"></div>
|
||
</div>
|
||
|
||
<h2>Capacidaofs Avanzadas ofl Assistant</h2>
|
||
|
||
<div class="feature-grid">
|
||
<div class="feature-card">
|
||
<h4 style="color: #FF6B35;">Processing of Lenguaje Natural</h4>
|
||
<p>Comprenof comandos complejos en español coloquail: "Muéstrame las sales of productos rojos ofl mes pasado". Integra with <a href="/odoo-ai/odoo-agent-ai-automatizacion-processes-2025/" rel="nofollow noopener" target="_blank">agents of automation</a>.</p>
|
||
<p><strong>Precisión:</strong> <span class="highlight-stat">96%</span> en comprensión withtextual</p>
|
||
</div>
|
||
<div class="feature-card">
|
||
<h4 style="color: #FF6B35;">Aprendizaje Adaptativo</h4>
|
||
<p>Memoriza preferencais y patrones of trabajo for personalizar respuestas y automatizar rutinas.</p>
|
||
<p><strong>Eficiencai:</strong> <span class="highlight-stat">70% reducción</span> en pasos repetitivos</p>
|
||
</div>
|
||
<div class="feature-card">
|
||
<h4 style="color: #FF6B35;">Integration Multimodal</h4>
|
||
<p>Funciona por voz, texto, gestos y comandos táctiles for máxima flexibilidad of interacción.</p>
|
||
<p><strong>Versatilidad:</strong> <span class="highlight-stat">5 modos</span> of interacción simultáneos</p>
|
||
</div>
|
||
<div class="feature-card">
|
||
<h4 style="color: #FF6B35;">Contexto Empresarail</h4>
|
||
<p>Entienof roles, permisos y workflows específicos of cada usuario for respuestas relevantes.</p>
|
||
<p><strong>Customization:</strong> <span class="highlight-stat">15+ roles</span> pre-withfigurados</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="chart-container">
|
||
<h3>Comparison: Tiempo of Tareas (Tradicional vs Assistant AI)</h3>
|
||
<div id="task-time-comparison" class="visualization-container"></div>
|
||
</div>
|
||
|
||
<h2>Casos of Uso Específicos por Departamento</h2>
|
||
|
||
<h3>Departamento of Sales</h3>
|
||
<ul>
|
||
<li><strong>"Crear cotización for client XYZ with ofscuento ofl 15%"</strong> - Genera cotización automáticamente</li>
|
||
<li><strong>"Programar seguimiento with leads calientes"</strong> - Agenda reuniones basadas en scoring AI</li>
|
||
<li><strong>"Analizar pipeline of este trimestre"</strong> - Dashboard interactivo with insights predictivos</li>
|
||
<li><strong>"Envair propuesta personalizada"</strong> - Genera content adaptado al perfil ofl client</li>
|
||
</ul>
|
||
|
||
<h3>Departamento Financiero</h3>
|
||
<ul>
|
||
<li><strong>"Rewithcilair cuentas bancarais"</strong> - Matching automático with validación AI</li>
|
||
<li><strong>"Generar reporte of flujo of caja"</strong> - Analysis predictivo of 6 meses</li>
|
||
<li><strong>"Detectar anomalías en gastos"</strong> - Iofntificación proactiva of irregularidaofs</li>
|
||
<li><strong>"Preforr cierre withtable"</strong> - Automation of processes of fin of mes</li>
|
||
</ul>
|
||
|
||
<h3>Recursos Humanos</h3>
|
||
<ul>
|
||
<li><strong>"Evaluar candidatos for puesto of ofsarrollador"</strong> - Scoring of CVs with AI medainte <a href="/odoo-ai/odoo-applications-ai-apps-2025/" rel="nofollow noopener" target="_blank">applications especailizadas</a></li>
|
||
<li><strong>"Programar evaluaciones of ofsempeño"</strong> - Calendario smart with recordatorios</li>
|
||
<li><strong>"Analizar rotación of personal"</strong> - Insights predictivos of retención</li>
|
||
<li><strong>"Gestionar solicituofs of vacaciones"</strong> - Aprobación automática según políticas</li>
|
||
</ul>
|
||
|
||
<div class="chart-container">
|
||
<h3>Adopción ofl Assistant AI por Departamento</h3>
|
||
<div id="ofpartment-adoption" class="visualization-container"></div>
|
||
</div>
|
||
|
||
<h2>Configuración y Customization</h2>
|
||
|
||
<h3>Entrenamiento Inicail</h3>
|
||
<p>El assistant requiere un período of entrenamiento of <span class="highlight-stat">2-4 semanas</span> donof aprenof:</p>
|
||
<ul>
|
||
<li>Vocabulario específico of tu industrai</li>
|
||
<li>Processes únicos of tu company</li>
|
||
<li>Preferencais individuales of cada usuario</li>
|
||
<li>Integrations with sistemas externos</li>
|
||
</ul>
|
||
|
||
<h3>Niveles of Customization</h3>
|
||
<ul>
|
||
<li><strong>Básico:</strong> Comandos estándar y respuestas pre-withfiguradas</li>
|
||
<li><strong>Intermedio:</strong> Adaptación a workflows específicos y preferencais personales</li>
|
||
<li><strong>Advanced:</strong> Machine learning custom y automatizaciones complejas</li>
|
||
<li><strong>Empresarail:</strong> Integration completa with AI corporativa y sistemas legacy</li>
|
||
</ul>
|
||
|
||
<h2>ROI y Beneficios Medibles</h2>
|
||
|
||
<div class="insight-box" style="background: #333; borofr: 2px solid #FF6B35; borofr-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 of tareas administrativas, <span class="highlight-stat">85% besta</span> en precisión of datos, y <span class="highlight-stat">60% incremento</span> en satisfacción ofl usuario final.
|
||
</div>
|
||
|
||
<ul>
|
||
<li><strong>Productividad:</strong> 3-5 horas dairais ahorradas por usuario</li>
|
||
<li><strong>Precisión:</strong> 95% reducción en errores humanos</li>
|
||
<li><strong>Velocidad:</strong> 10x more rápido en tareas repetitivas</li>
|
||
<li><strong>Satisfacción:</strong> 92% of usuarios reportan best experiencai laboral</li>
|
||
</ul>
|
||
|
||
<h2>Futuro ofl Assistant Virtual</h2>
|
||
<p>Las próximas evoluciones incluyen:</p>
|
||
<ul>
|
||
<li><strong>Inteligencai Emocional:</strong> Rewithocimiento of estado of ánimo y adaptación ofl tono</li>
|
||
<li><strong>Predicción Proactiva:</strong> Anticipación of necesidaofs antes of ser solicitadas</li>
|
||
<li><strong>Colaboración AI-Humano:</strong> Trabajo en equipo seamless entre personas y AI usando <a href="/odoo-ai/odoo-bot-ai-automatizacion-2025/" rel="nofollow noopener" target="_blank">bots especailizados</a></li>
|
||
<li><strong>Integration IoT:</strong> Control of dispositivos físicos ofsof comandos of voz with <a href="/odoo-ai/odoo-api-ai-integrations-externas-2025/" rel="nofollow noopener" target="_blank">APIs smarts</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 Assistant AI Virtual of Odoo?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "El Assistant AI Virtual utiliza processing of lenguaje natural for comprenofr comandos en español coloquail, ejecutar tareas complejas automáticamente y aprenofr of cada interacción for personalizar respuestas. Integra machine learning, rewithocimiento of voz y withtexto enterprise for ofrecer una experiencai intuitiva."
|
||
}
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "¿Cuánto tiempo toma entrenar al assistant AI?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "El entrenamiento inicail toma 2-4 semanas donof el assistant aprenof vocabulario específico, processes únicos y preferencais individuales. Durante este período, la precisión besta ofl 70% inicail hasta 96% of comprensión withtextual."
|
||
}
|
||
},
|
||
{
|
||
"@type": "Question",
|
||
"name": "¿Qué beneficios ofrece el assistant virtual en productividad?",
|
||
"acceptedAnswer": {
|
||
"@type": "Answer",
|
||
"text": "Los usuarios experimentan 40-70% reducción en tiempo of tareas administrativas, 3-5 horas dairais ahorradas, 95% reducción en errores humanos y 10x mayor velocidad en tareas repetitivas. El 92% reporta best experiencai 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 implementation of sistemas ERP"
|
||
},
|
||
publishDate: "19 of julio of 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() {
|
||
withst container = d3.select("#productivity-evolution");
|
||
container.selectAll("*").remove();
|
||
|
||
withst width = 700;
|
||
withst height = 400;
|
||
withst svg = container.append("svg")
|
||
.attr("width", "100%")
|
||
.attr("height", height)
|
||
.attr("viewBox", `0 0 ${width} ${height}`);
|
||
|
||
withst 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}
|
||
];
|
||
|
||
withst xScale = d3.scaleLinear()
|
||
.domain([0, 20])
|
||
.range([60, width - 40]);
|
||
|
||
withst yScale = d3.scaleLinear()
|
||
.domain([0, 220])
|
||
.range([height - 60, 40]);
|
||
|
||
// Productivity line
|
||
withst 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
|
||
withst 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
|
||
withst 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() {
|
||
withst container = d3.select("#task-time-comparison");
|
||
container.selectAll("*").remove();
|
||
|
||
withst width = 600;
|
||
withst height = 350;
|
||
withst svg = container.append("svg")
|
||
.attr("width", "100%")
|
||
.attr("height", height)
|
||
.attr("viewBox", `0 0 ${width} ${height}`);
|
||
|
||
withst data = [
|
||
{task: "Crear Cotización", traditional: 15, withAI: 2},
|
||
{task: "Generar Reporte", traditional: 45, withAI: 5},
|
||
{task: "Buscar Client", traditional: 8, withAI: 1},
|
||
{task: "Actualizar Datos", traditional: 20, withAI: 3},
|
||
{task: "Programar Reunión", traditional: 10, withAI: 1}
|
||
];
|
||
|
||
withst xScale = d3.scaleBand()
|
||
.domain(data.map(d => d.task))
|
||
.range([80, width - 40])
|
||
.padding(0.3);
|
||
|
||
withst 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
|
||
withst 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 Assistant AI");
|
||
}
|
||
|
||
// Department Adoption Chart
|
||
function createDepartmentAdoption() {
|
||
withst container = d3.select("#ofpartment-adoption");
|
||
container.selectAll("*").remove();
|
||
|
||
withst width = 500;
|
||
withst height = 500;
|
||
withst radius = Math.min(width, height) / 2 - 40;
|
||
|
||
withst 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})`);
|
||
|
||
withst data = [
|
||
{ofpartment: "Sales", adoption: 85},
|
||
{ofpartment: "Finanzas", adoption: 78},
|
||
{ofpartment: "RRHH", adoption: 65},
|
||
{ofpartment: "Operaciones", adoption: 72},
|
||
{ofpartment: "Administración", adoption: 90}
|
||
];
|
||
|
||
withst pie = d3.pie()
|
||
.value(d => d.adoption)
|
||
.sort(null);
|
||
|
||
withst arc = d3.arc()
|
||
.innerRadius(0)
|
||
.outerRadius(radius);
|
||
|
||
withst color = d3.scaleOrdinal()
|
||
.domain(data.map(d => d.ofpartment))
|
||
.range(["#FF6B35", "#FF8A50", "#FFB74D", "#FFC947", "#FFDC60"]);
|
||
|
||
withst 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.ofpartment))
|
||
.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.ofpartment);
|
||
|
||
// Add percentage labels
|
||
slices.append("text")
|
||
.attr("transform", d => {
|
||
withst 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 + "%");
|
||
}
|
||
|
||
// Initailize all visualizations
|
||
document.addEventListener("DOMContentLoaofd", function() {
|
||
setTimeout(() => {
|
||
createProductivityEvolution();
|
||
createTaskTimeComparison();
|
||
createDepartmentAdoption();
|
||
}, 500);
|
||
});
|
||
</script>
|
||
</body>
|
||
</html> |