Mejoras de sesion: estabilizacion, IA, Nexus Yonke y marketplace B2B
- F0 blindaje: Redis/Celery, pg_hba sin trust LAN, secretos a env 600, backups, webhook auth, jobs muertos - F1 caja: bugs POS, reembolsos al corte, apartados, CFDI, topes de descuento en cotizacion/apartado - F2/F7 IA de catalogo: autocategorizacion, dedup de SKUs con embeddings, OCR de facturas, descripciones, claves SAT, limpieza de fitment - F3 IA en el flujo: vision Yonke, preguntas MeLi, venta cruzada, anomalias, sinonimos, busqueda semantica (rerank/embeddings) - F4/F8 escala y cartera: /metrics+Prometheus+Grafana, pool, score de credito, churn, metricas multi-tenant - Nexus Yonke (M1-M6): modelo de datos 1-de-1, alta por donador, vitrina publica, MeLi usado, consignacion, garantia por dias, reportes, etiquetas - Marketplace B2B entre yonkes (catalogo + pedidos cross-tenant) - Seguridad: auth en /api/admin/* (35 endpoints), alertas por tenant - Migraciones v4.27/v4.28; timers expire-demos y rollup-metrics
This commit is contained in:
@@ -417,7 +417,23 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Credit Info -->
|
||||
|
||||
<!-- CRM & Loyalty -->
|
||||
<div class="detail-section" id="crmSection">
|
||||
<div class="detail-section__title">CRM & Lealtad</div>
|
||||
<div style="display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);">
|
||||
<div style="font-size:var(--text-h4);font-weight:700;" id="crmLoyaltyBalance">—</div>
|
||||
<span style="color:var(--color-text-muted);font-size:var(--text-caption);">puntos</span>
|
||||
<div style="flex:1;"></div>
|
||||
<button class="btn btn-sm btn-ghost" onclick="Customers.crmRedeem()">Canjear</button>
|
||||
<button class="btn btn-sm btn-ghost" onclick="Customers.crmAddNote()">Nota</button>
|
||||
</div>
|
||||
<div id="crmActivities" style="max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);">
|
||||
<span style="color:var(--color-text-muted);font-size:var(--text-caption);">Cargando actividad...</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Credit Info -->
|
||||
<div class="detail-section">
|
||||
<div class="detail-section__title">Crédito</div>
|
||||
<div class="credit-block">
|
||||
@@ -651,12 +667,12 @@
|
||||
</div>
|
||||
|
||||
<script src="/pos/static/js/i18n.js?v=39" defer></script>
|
||||
<script src="/pos/static/js/app-init.js?v=8" defer></script>
|
||||
<script src="/pos/static/js/app-init.js?v=9" defer></script>
|
||||
<script src="/pos/static/js/splash-loader.js?v=33" defer></script>
|
||||
<script src="/pos/static/js/pos-utils.js?v=33" defer></script>
|
||||
<script src="/pos/static/js/sidebar.js?v=46" defer></script>
|
||||
<script src="/pos/static/js/virtual-scroll.js" defer></script>
|
||||
<script src="/pos/static/js/customers.js?v=35" defer></script>
|
||||
<script src="/pos/static/js/customers.js?v=38" defer></script>
|
||||
<script src="/pos/static/js/offline-banner.js" defer></script>
|
||||
<script src="/pos/static/js/sync-engine.js" defer></script>
|
||||
<script>if('serviceWorker' in navigator){navigator.serviceWorker.register('/pos/sw.js',{scope:'/pos/'});}</script>
|
||||
|
||||
Reference in New Issue
Block a user