diff --git a/docs/mockup_commercial.html b/docs/mockup_commercial.html index 65804b3..ea28a2d 100644 --- a/docs/mockup_commercial.html +++ b/docs/mockup_commercial.html @@ -460,16 +460,37 @@ function _sOrders(){ +''; } +// ─── ВЕРТИКАЛЬ: КД → АДМИНИСТРАТОР → МЕНЕДЖЕРЫ ───────────────────── +// Единый источник истины — отражает обе стороны (КД и Администратор) +var _HIERARCHY=[ + { + salonId:'lenina', salon:'Салон Ленина', color:'#3B82F6', + admin:{name:'Анна М.', short:'АМ'}, + orders:27, ordersPlan:30, revenue:1537000, revenuePlan:1700000, + overdue:1, overdueRisk:98500, purchases:2, newLeads:14, status:'warn', + managers:[ + {id:'ak', name:'Анна К.', short:'АК', color:'#7C3AED', visits:42, deals:14, revenue:847000, conversion:33, avg:60500, rating:4.8, active:true}, + {id:'ms', name:'Мария С.', short:'МС', color:'#0891B2', visits:35, deals:9, revenue:610000, conversion:26, avg:67800, rating:4.5, active:true}, + ] + }, + { + salonId:'pobedy', salon:'Салон Победы', color:'#8B5CF6', + admin:{name:'Ирина С.', short:'ИС'}, + orders:20, ordersPlan:22, revenue:1310000, revenuePlan:1500000, + overdue:1, overdueRisk:113000, purchases:1, newLeads:12, status:'warn', + managers:[ + {id:'pv', name:'Пётр В.', short:'ПВ', color:'#059669', visits:28, deals:7, revenue:490000, conversion:25, avg:70000, rating:4.3, active:true}, + {id:'iv', name:'Иван В.', short:'ИВ', color:'#D97706', visits:31, deals:8, revenue:530000, conversion:26, avg:66250, rating:4.1, active:false}, + ] + }, +]; +window._mgrExpSalon = window._mgrExpSalon || null; + // ─── МЕНЕДЖЕРЫ ────────────────────────────────────────────────────── function _sManagers(){ - var admins=[ - {name:'Анна М.', salon:'Салон Ленина', role:'Администратор', - orders:27, ordersPlan:30, revenue:1537000, revenuePlan:1700000, - overdue:1, overdueRisk:98500, purchases:2, managers:2, newLeads:14, status:'warn'}, - {name:'Ирина С.', salon:'Салон Победы', role:'Администратор', - orders:20, ordersPlan:22, revenue:1310000, revenuePlan:1500000, - overdue:1, overdueRisk:113000, purchases:1, managers:1, newLeads:12, status:'warn'}, - ]; + var admins=_HIERARCHY.map(function(h){ + return Object.assign({role:'Администратор'}, h); + }); var sc={ok:'var(--success)',bad:'var(--danger)',warn:'var(--warn)'}; var bg={ok:'#F0FDF4',bad:'#FEF2F2',warn:'#FFFBEB'}; var totOrders =admins.reduce(function(s,a){return s+a.orders;},0); @@ -501,22 +522,34 @@ function _sManagers(){ +'' : '') - +'