fix: per-month — selMonth defined before use, month onchange reloads card with new data

This commit is contained in:
Dauren777 2026-06-11 08:56:51 +00:00
parent f7f1afeed2
commit f81c73e3ad

View File

@ -1234,12 +1234,12 @@ function openEv(id,subIdx){
h+="<div style='margin-bottom:12px;padding:10px;background:#F0F9FF;border-radius:8px'><strong>AI-анализ:</strong> <span style='font-size:13px;color:#64748B'>"+esc(e.ai||"\u2014")+"</span></div>";
h+="<div style='margin-bottom:12px'><strong>Отчётность:</strong></div>";
h+="<div style='margin-bottom:8px;display:flex;gap:8px;flex-wrap:wrap;align-items:center'>";
h+="<span style='font-size:12px'>Количество:</span> <input type='number' id='evq_"+e.id+"' value='"+(localStorage.getItem("sq_"+e.id+"_m"+selMonth)||e.q||"")+"' min='0' style='width:80px;padding:4px;border:1px solid #E2E8F0;border-radius:4px;font-size:12px'>";
var now=new Date();
var curMonth=now.getMonth();
var savedMonth=localStorage.getItem("evmonth_"+e.id);
var selMonth=savedMonth!==null?parseInt(savedMonth,10):curMonth;
h+="<span style='font-size:12px;margin-left:8px'>Месяц:</span> <select id='evm_"+e.id+"' style='padding:4px;border:1px solid #E2E8F0;border-radius:4px;font-size:12px'>";
h+="<span style='font-size:12px'>Количество:</span> <input type='number' id='evq_"+e.id+"' value='"+(localStorage.getItem("sq_"+e.id+"_m"+selMonth)||e.q||"")+"' min='0' style='width:80px;padding:4px;border:1px solid #E2E8F0;border-radius:4px;font-size:12px'>";
h+="<span style='font-size:12px;margin-left:8px'>Месяц:</span> <select id='evm_"+e.id+"' onchange='switchEvMonth("+e.id+","+(subIdx!==undefined?subIdx:"null")+")' style='padding:4px;border:1px solid #E2E8F0;border-radius:4px;font-size:12px'>";
var mnames=["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"];
for(var mi=0;mi<12;mi++){
h+="<option value='"+mi+"'";
@ -1306,6 +1306,15 @@ function closeModal(){
document.getElementById("modal").style.display="none"
}
function switchEvMonth(id,subIdx){
var inm=document.getElementById("evm_"+id);if(!inm)return;
var mv=inm.value;
var inn=document.getElementById("evn_"+id);var inq=document.getElementById("evq_"+id);
if(inn)try{localStorage.setItem("sn_"+id+"_m"+mv,inn.value.trim())}catch(e){}
if(inq)try{localStorage.setItem("sq_"+id+"_m"+mv,(parseInt(inq.value,10)||0).toString())}catch(e){}
try{localStorage.setItem("evmonth_"+id,mv)}catch(e){}
openEv(id,subIdx!==null?subIdx:undefined)
}
function saveEvModal(id){
var sel=document.getElementById("evs_"+id);
for(var i=0;i<evs.length;i++){if(evs[i].id===id){if(sel)evs[i].s=sel.value;if(sel&&sel.value==="done"&&(evs[i].done==="\u2014"||!evs[i].done)){var d=new Date();evs[i].done=d.getDate()+"."+String(d.getMonth()+1).padStart(2,"0")+"."+d.getFullYear()}break}}