fix: фильтр S.zone теперь работает без поиска, zoneLabel — исходные названия для экспорта, экранный статус — отдельный map

This commit is contained in:
Moldabayev_d 2026-09-21 09:19:19 +00:00
parent 74a7eed922
commit 68fc499ac9

View File

@ -512,7 +512,7 @@
return w; return w;
} }
function zoneLabel(z) { function zoneLabel(z) {
return { green: "В норме", yellow: "Наблюдение", red: "Нарушение", nodefault: "Без норматива", nodata: "Нет данных" }[z] || z; return { green: "Зелёная", yellow: "Жёлтая", red: "Красная", nodefault: "Без норматива", nodata: "Нет данных" }[z] || z;
} }
/* ---------- учебный (синтетический) пример ---------- */ /* ---------- учебный (синтетический) пример ---------- */
@ -591,7 +591,8 @@
} }
function statusHtml(zone) { function statusHtml(zone) {
var cls = { green: "s-green", yellow: "s-yellow", red: "s-red", nodefault: "s-nodefault", nodata: "s-nodata" }[zone] || "s-nodata"; var cls = { green: "s-green", yellow: "s-yellow", red: "s-red", nodefault: "s-nodefault", nodata: "s-nodata" }[zone] || "s-nodata";
return "<span class='kfu-status " + cls + "'>" + zoneLabel(zone) + "</span>"; var screenLabel = { green: "В норме", yellow: "Наблюдение", red: "Нарушение", nodefault: "Без норматива", nodata: "Нет данных" }[zone] || zone;
return "<span class='kfu-status " + cls + "'>" + screenLabel + "</span>";
} }
function coefCell(e, key) { function coefCell(e, key) {
var v = e[key]; var v = e[key];
@ -743,14 +744,17 @@
renderDiag(); renderDiag();
/* компании (без группы) */ /* компании (без группы): поиск и зона комбинируются независимо */
var filtered = S.q ? comps.filter(function (e) { var q = (S.q || "").toLowerCase();
if (e.name.toLowerCase().indexOf(S.q.toLowerCase()) === -1) return false; var filtered = comps.filter(function (e) {
var wz = worst(e); if (q && e.name.toLowerCase().indexOf(q) === -1) return false;
if (!S.zone) return true; if (S.zone) {
if (S.zone === "nodefault") return wz === "nodefault"; var wz = worst(e);
return wz === S.zone; if (S.zone === "nodefault") return wz === "nodefault";
}) : comps; return wz === S.zone;
}
return true;
});
filtered = filterSortList(filtered); filtered = filterSortList(filtered);
var body = $("#tbody"); var body = $("#tbody");
if (!filtered.length) { if (!filtered.length) {