Compare commits
No commits in common. "1ee35efb8dcb8067a0ba4b0823899e806c1b5ae2" and "14290a426fb840c69ed9a327214c4c2f4673ba35" have entirely different histories.
1ee35efb8d
...
14290a426f
25
index.html
25
index.html
@ -43,7 +43,6 @@
|
|||||||
|
|
||||||
@layer product {
|
@layer product {
|
||||||
[hidden] { display: none !important; }
|
[hidden] { display: none !important; }
|
||||||
*, *::before, *::after { box-sizing: border-box; }
|
|
||||||
a.kt-ai-btn { text-decoration: none; }
|
a.kt-ai-btn { text-decoration: none; }
|
||||||
body { background: var(--kfu-bg); }
|
body { background: var(--kfu-bg); }
|
||||||
.kt-ai-sidebar { display: none !important; }
|
.kt-ai-sidebar { display: none !important; }
|
||||||
@ -106,13 +105,13 @@
|
|||||||
.kfu-brief-lbl { font-size: 12px; color: var(--kfu-ink-3); margin-top: 2px; }
|
.kfu-brief-lbl { font-size: 12px; color: var(--kfu-ink-3); margin-top: 2px; }
|
||||||
|
|
||||||
/* ---------- поиск + фильтры ---------- */
|
/* ---------- поиск + фильтры ---------- */
|
||||||
.kfu-toolbar { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
|
.kfu-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
|
||||||
.kfu-search { position: relative; flex: 0 1 300px; min-width: 200px; }
|
.kfu-search { position: relative; flex: 1; min-width: 200px; max-width: 320px; }
|
||||||
.kfu-search svg { position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
|
.kfu-search svg { position: absolute; left: 10px; top: 50%; transform: translateY(-50%);
|
||||||
width: 15px; height: 15px; color: var(--kfu-ink-3); pointer-events: none; }
|
width: 15px; height: 15px; color: var(--kfu-ink-3); pointer-events: none; }
|
||||||
.kfu-search input { box-sizing: border-box; width: 100%; max-width: 100%; height: 34px; padding: 0 12px 0 32px;
|
.kfu-search input { width: 100%; height: 34px; padding: 0 12px 0 32px; border-radius: var(--kfu-radius-sm);
|
||||||
border-radius: var(--kfu-radius-sm); border: 1px solid var(--kfu-border-2); background: var(--kfu-surface);
|
border: 1px solid var(--kfu-border-2); background: var(--kfu-surface); font-size: 13px; color: var(--kfu-ink);
|
||||||
font-size: 13px; color: var(--kfu-ink); transition: border-color .12s, box-shadow .12s; }
|
transition: border-color .12s, box-shadow .12s; }
|
||||||
.kfu-search input:focus { outline: none; border-color: var(--kfu-accent); box-shadow: 0 0 0 3px var(--kfu-accent-soft); }
|
.kfu-search input:focus { outline: none; border-color: var(--kfu-accent); box-shadow: 0 0 0 3px var(--kfu-accent-soft); }
|
||||||
.kfu-search input::placeholder { color: var(--kfu-ink-3); }
|
.kfu-search input::placeholder { color: var(--kfu-ink-3); }
|
||||||
.kfu-chip-filter { display: inline-flex; align-items: center; height: 32px; padding: 0 14px;
|
.kfu-chip-filter { display: inline-flex; align-items: center; height: 32px; padding: 0 14px;
|
||||||
@ -127,17 +126,16 @@
|
|||||||
.kfu-table-card { background: var(--kfu-surface); border: 1px solid var(--kfu-border);
|
.kfu-table-card { background: var(--kfu-surface); border: 1px solid var(--kfu-border);
|
||||||
border-radius: var(--kfu-radius); box-shadow: var(--kfu-shadow); overflow-x: auto; }
|
border-radius: var(--kfu-radius); box-shadow: var(--kfu-shadow); overflow-x: auto; }
|
||||||
.kfu-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
|
.kfu-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
|
||||||
.kfu-table colgroup col:nth-child(1) { width: 26%; }
|
.kfu-table colgroup col:nth-child(1) { width: 30%; }
|
||||||
.kfu-table colgroup col:nth-child(2) { width: 12%; }
|
.kfu-table colgroup col:nth-child(2) { width: 12%; }
|
||||||
.kfu-table colgroup col:nth-child(3) { width: 10%; }
|
.kfu-table colgroup col:nth-child(3) { width: 16%; }
|
||||||
.kfu-table colgroup col:nth-child(4) { width: 10%; }
|
.kfu-table colgroup col:nth-child(4) { width: 16%; }
|
||||||
.kfu-table colgroup col:nth-child(5) { width: 10%; }
|
.kfu-table colgroup col:nth-child(5) { width: 16%; }
|
||||||
.kfu-table colgroup col:nth-child(6) { width: 32%; }
|
.kfu-table colgroup col:nth-child(6) { width: 10%; }
|
||||||
.kfu-table thead th { padding: 10px 14px; font-size: 11px; font-weight: 600; color: var(--kfu-ink-3);
|
.kfu-table thead th { padding: 10px 14px; font-size: 11px; font-weight: 600; color: var(--kfu-ink-3);
|
||||||
text-transform: uppercase; letter-spacing: .5px; border-bottom: 1px solid var(--kfu-border);
|
text-transform: uppercase; letter-spacing: .5px; border-bottom: 1px solid var(--kfu-border);
|
||||||
background: var(--kfu-bg); text-align: right; white-space: nowrap; cursor: pointer; user-select: none;
|
background: var(--kfu-bg); text-align: right; white-space: nowrap; cursor: pointer; user-select: none;
|
||||||
position: sticky; top: 0; z-index: 1; }
|
position: sticky; top: 0; z-index: 1; }
|
||||||
.kfu-table thead th:last-child { text-align: left; white-space: nowrap; text-transform: none; font-weight: 500; }
|
|
||||||
.kfu-table thead th:first-child { text-align: left; }
|
.kfu-table thead th:first-child { text-align: left; }
|
||||||
.kfu-table thead th .th-sub { display: block; font-weight: 400; text-transform: none; letter-spacing: 0;
|
.kfu-table thead th .th-sub { display: block; font-weight: 400; text-transform: none; letter-spacing: 0;
|
||||||
font-size: 10px; color: var(--kfu-ink-3); opacity: .7; margin-top: 1px; }
|
font-size: 10px; color: var(--kfu-ink-3); opacity: .7; margin-top: 1px; }
|
||||||
@ -181,8 +179,7 @@
|
|||||||
.kfu-coef .cv.cv-red { color: var(--kfu-risk); }
|
.kfu-coef .cv.cv-red { color: var(--kfu-risk); }
|
||||||
.kfu-coef .cv.cv-yellow { color: var(--kfu-warn); }
|
.kfu-coef .cv.cv-yellow { color: var(--kfu-warn); }
|
||||||
.kfu-coef .cv-none { color: var(--kfu-ink-3); font-size: 13px; }
|
.kfu-coef .cv-none { color: var(--kfu-ink-3); font-size: 13px; }
|
||||||
.kfu-cause { font-size: 13px; color: var(--kfu-ink-2); line-height: 1.45; }
|
.kfu-cause { font-size: 12px; color: var(--kfu-ink-2); line-height: 1.3; }
|
||||||
.kfu-table td:last-child { text-align: left; }
|
|
||||||
.kfu-cause.caution { color: var(--kfu-warn); font-weight: 500; }
|
.kfu-cause.caution { color: var(--kfu-warn); font-weight: 500; }
|
||||||
.kfu-cause.danger { color: var(--kfu-risk); font-weight: 500; }
|
.kfu-cause.danger { color: var(--kfu-risk); font-weight: 500; }
|
||||||
.kfu-dash { color: var(--kfu-ink-3); }
|
.kfu-dash { color: var(--kfu-ink-3); }
|
||||||
|
|||||||
@ -591,8 +591,7 @@
|
|||||||
}
|
}
|
||||||
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";
|
||||||
var screenLabel = { green: "В норме", yellow: "Наблюдение", red: "Нарушение", nodefault: "Без норматива", nodata: "Нет данных" }[zone] || zone;
|
return "<span class='kfu-status " + cls + "'>" + zoneLabel(zone) + "</span>";
|
||||||
return "<span class='kfu-status " + cls + "'>" + screenLabel + "</span>";
|
|
||||||
}
|
}
|
||||||
function coefCell(e, key) {
|
function coefCell(e, key) {
|
||||||
var v = e[key];
|
var v = e[key];
|
||||||
@ -723,8 +722,8 @@
|
|||||||
if (y > 0) subParts.push("<b>" + y + "</b> " + plural(y, "компания требует", "компании требуют", "компаний требуют") + " внимания");
|
if (y > 0) subParts.push("<b>" + y + "</b> " + plural(y, "компания требует", "компании требуют", "компаний требуют") + " внимания");
|
||||||
if (r === 0 && y === 0 && g === co) subParts.push("Все компании в норме");
|
if (r === 0 && y === 0 && g === co) subParts.push("Все компании в норме");
|
||||||
else if (!subParts.length) subParts.push("Нарушений нет");
|
else if (!subParts.length) subParts.push("Нарушений нет");
|
||||||
if (nn > 0) subParts.push("Без нормативов: <b>" + nn + "</b>");
|
if (nn > 0) subParts.push("<b>" + nn + "</b> — " + plural(nn, "компания без нормативов", "компании без нормативов", "компаний без нормативов"));
|
||||||
if (nd > 0) subParts.push("Неполные данные: <b>" + nd + "</b>");
|
if (nd > 0) subParts.push("<b>" + nd + "</b> — " + plural(nd, "компания с", "компании с", "компаний с") + " неполными данными");
|
||||||
$("#headerSub").innerHTML = subParts.join(", ");
|
$("#headerSub").innerHTML = subParts.join(", ");
|
||||||
|
|
||||||
/* сверка — исходные данные */
|
/* сверка — исходные данные */
|
||||||
@ -744,17 +743,14 @@
|
|||||||
|
|
||||||
renderDiag();
|
renderDiag();
|
||||||
|
|
||||||
/* компании (без группы): поиск и зона комбинируются независимо */
|
/* компании (без группы) */
|
||||||
var q = (S.q || "").toLowerCase();
|
var filtered = S.q ? comps.filter(function (e) {
|
||||||
var filtered = comps.filter(function (e) {
|
if (e.name.toLowerCase().indexOf(S.q.toLowerCase()) === -1) return false;
|
||||||
if (q && e.name.toLowerCase().indexOf(q) === -1) return false;
|
var wz = worst(e);
|
||||||
if (S.zone) {
|
if (!S.zone) return true;
|
||||||
var wz = worst(e);
|
if (S.zone === "nodefault") return wz === "nodefault";
|
||||||
if (S.zone === "nodefault") return wz === "nodefault";
|
return wz === S.zone;
|
||||||
return wz === S.zone;
|
}) : comps;
|
||||||
}
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
filtered = filterSortList(filtered);
|
filtered = filterSortList(filtered);
|
||||||
var body = $("#tbody");
|
var body = $("#tbody");
|
||||||
if (!filtered.length) {
|
if (!filtered.length) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user