';
}
async function handleFiles(files){
const dl=document.getElementById("docList");
@@ -665,29 +694,29 @@ async function sendMsg(){
let anTab="canvas";
function renderAnalysis(){
const pad=document.getElementById("anPad");
- pad.innerHTML=`
📊 Стратегия
🔧 Функции
🏢 Организация
`;
+ pad.innerHTML=`
${ic('chart',16)} Стратегия
${ic('process',16)} Функции
${ic('team',16)} Организация
`;
renderAnContent();
}
function setAnTab(t){anTab=t;renderAnalysis()}
function renderAnContent(){
const c=document.getElementById("anContent");
if(anTab==='canvas'){
- if(!state.canvas){c.innerHTML=runCard("canvas","📊","Стратегическая модель","Елена построит Business Model Canvas — как устроен ваш бизнес и как он зарабатывает.","Построить стратегию →");return}
+ if(!state.canvas){c.innerHTML=runCard("canvas",ic('chart',30),"Стратегическая модель","Елена построит Business Model Canvas — как устроен ваш бизнес и как он зарабатывает.","Построить стратегию →");return}
c.innerHTML=renderCanvas(state.canvas);
}else if(anTab==='idef0'){
- if(!state.model){c.innerHTML=runCard("model","🔧","Функциональная модель","Елена разложит бизнес на функции (IDEF0): входы, выходы, нормы, ресурсы и разрывы.","Построить модель →");return}
+ if(!state.model){c.innerHTML=runCard("model",ic('process',30),"Функциональная модель","Елена разложит бизнес на функции (IDEF0): входы, выходы, нормы, ресурсы и разрывы.","Построить модель →");return}
c.innerHTML=renderIdef(state.model);
}else{
c.innerHTML=renderOrg();
}
}
function renderOrg(){
- if(!state.model)return runCard(null,"⚠️","Сначала функции","Оргструктура строится из функциональной модели. Постройте модель на вкладке «Функции».","→ К функциям",()=>setAnTab('idef0'));
+ if(!state.model)return runCard(null,ic('alert',30),"Сначала функции","Оргструктура строится из функциональной модели. Постройте модель на вкладке «Функции».","→ К функциям",()=>setAnTab('idef0'));
let h='';
- if(!state.orgchart)h+=runCard("orgchart","🏢","Целевая оргструктура","Елена построит оргструктуру из модели: кто за что отвечает, подчинённость, штат, узкие места.","Построить оргструктуру →");
+ if(!state.orgchart)h+=runCard("orgchart",ic('team',30),"Целевая оргструктура","Елена построит оргструктуру из модели: кто за что отвечает, подчинённость, штат, узкие места.","Построить оргструктуру →");
else h+=renderOrgChart(state.orgchart);
if(state.orgchart){
- if(!state.jobs)h+=``+runCard("jobs","📋","Должностные инструкции","По ролям: зоны ответственности, KPI, полномочия. С учётом ваших пожеланий (отклонений).","Собрать инструкции →");
+ if(!state.jobs)h+=``+runCard("jobs",ic('clipboard',30),"Должностные инструкции","По ролям: зоны ответственности, KPI, полномочия. С учётом ваших пожеланий (отклонений).","Собрать инструкции →");
else h+=``+renderJobs(state.jobs);
}
return h;
@@ -708,7 +737,7 @@ function renderOrgChart(o){
}
function renderJobs(j){
const roles=j.roles||[];
- return `