Files
2026-07-17 12:57:18 +03:00

246 lines
17 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>лаборатория</title>
<script src="/static/js/wesp-theme-boot.js"></script>
<script>document.documentElement.classList.add('wesp-page-enter-pending');</script>
<script src="/static/js/wesp-page-enter.js?v=2"></script>
<script src="/static/js/wesp-nav-logo-shimmer.js?v=2"></script>
<script src="/static/js/wesp-lab-access.js?v=1"></script>
<script src="/static/js/wesp-zootech-nav.js?v=5"></script>
<link href="/static/css/bootstrap.min.css" rel="stylesheet">
<link href="/static/css/wesp-zootech-shell.css" rel="stylesheet">
<link href="/static/css/wesp-zootech-layout.css?v=16" rel="stylesheet"> <link href="/static/css/wesp-zootech-components.css?v=8" rel="stylesheet">
<link href="/static/css/wesp-lab-sandbox.css?v=10" rel="stylesheet">
<link href="/static/css/font-awesome.min.css" rel="stylesheet">
<script src="/static/js/wesp-zootech-notification-messages.js?v=1"></script>
<script src="/static/js/wesp-user-messages.js?v=1"></script>
<script src="/static/js/wesp-zootech-notify.js?v=6"></script>
<script src="/static/js/wesp-dialog.js"></script>
<script src="/static/js/bootstrap.bundle.min.js"></script>
<link href="/static/css/wesp-zootech-theme-organic.css?v=6" rel="stylesheet">
</head>
<body class="zootech-app-body lab-sandbox-page">
<div id="wespZootechNavMount" data-active-page="lab"></div>
<div class="page-content wesp-page-main">
<div class="container py-3">
<div class="lab-sandbox-header" data-wesp-enter>
<h1><i class="fas fa-flask text-primary me-2"></i>Скажи моё имя. — Хайзенберг. — Ты чертовски прав.</h1>
<p>Я здесь, чтобы готовить · <a href="/lab/profiles">Стандарты чистоты</a> · <em>LAB тест — в нормах</em> / <em>полная матрица</em></p>
</div>
<div class="lab-sandbox-flow" data-wesp-enter>
<aside class="lab-sandbox-panel">
<div class="lab-sandbox-step"><span>1</span> Наука</div>
<div class="lab-sandbox-panel__title">Формула и стандарт</div>
<div class="lab-sandbox-field">
<label class="form-label">Партия</label>
<select id="labSandboxRecipe" class="form-select form-select-sm"></select>
</div>
<div class="lab-sandbox-field">
<label class="form-label">Стандарт чистоты</label>
<select id="labSandboxProfile" class="form-select form-select-sm"></select>
</div>
<div class="lab-sandbox-field">
<label class="form-label">Линейка продукта</label>
<select id="labSandboxRationType" class="form-select form-select-sm">
<option value="BEEF">Меф</option>
<option value="DAIRY">Say my name</option>
</select>
</div>
<p id="labSandboxMeta" class="small text-muted mb-0"></p>
<div class="lab-sandbox-actions">
<button type="button" class="btn btn-sm btn-outline-secondary" data-action="seed">Взять партию</button>
<button type="button" class="btn btn-sm btn-outline-secondary" data-action="apply">Отправить партию</button>
</div>
<hr class="my-3">
<div class="lab-sandbox-panel__title">Границы чистоты</div>
<div id="labSandboxNorms"></div>
</aside>
<section class="lab-sandbox-panel">
<div class="lab-sandbox-step"><span>2</span> Готовка</div>
<div class="d-flex justify-content-between align-items-center mb-2">
<div class="lab-sandbox-panel__title mb-0">Состав партии</div>
<div class="lab-sandbox-actions mt-0">
<button type="button" class="btn btn-sm btn-outline-primary" data-action="add-line">+ Реагент</button>
<button type="button" class="btn btn-sm btn-primary" data-action="save">Запомни это</button>
<button type="button" class="btn btn-sm btn-success" data-action="recalculate">Примени науку</button>
</div>
</div>
<div class="table-responsive">
<table class="table table-sm lab-sandbox-table mb-0">
<thead>
<tr>
<th>Реагент</th>
<th>кг/сут</th>
<th>В дело</th>
<th>Смесь</th>
<th>Себест.</th>
<th></th>
</tr>
</thead>
<tbody id="labSandboxLinesBody">
<tr><td colspan="6" class="lab-sandbox-empty">Сначала выбери партию</td></tr>
</tbody>
</table>
</div>
</section>
<aside class="lab-sandbox-panel lab-sandbox-results">
<div class="lab-sandbox-step"><span>3</span> Кристалл</div>
<div class="lab-sandbox-panel__title">Итоговая формула</div>
<div id="labSandboxResults">
<div class="lab-sandbox-empty">Нажми «Примени науку»</div>
</div>
</aside>
</div>
<section class="lab-agrostar-section mt-4" data-wesp-enter>
<div class="lab-sandbox-header mb-3">
<h2 class="h5 mb-1"><i class="fas fa-vial text-primary me-2"></i>Поставка чистоты</h2>
<p class="mb-0">AgroStar xml/pdf/xlsx · кидай что прислали. Разберём, покажем, привяжем к реагентам.</p>
</div>
<div class="lab-sandbox-panel">
<div class="lab-sandbox-step"><span>4</span> Поставка</div>
<div id="labAgrostarDrop" class="lab-agrostar-drop" tabindex="0" role="button" aria-label="Загрузить файл для разбора">
<input type="file" id="labAgrostarFile" accept=".xml,.pdf,.xlsx,.xls,text/xml,application/pdf,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" hidden>
<i class="fas fa-flask lab-agrostar-drop__icon" aria-hidden="true"></i>
<p class="lab-agrostar-drop__title mb-1">Кинь файл сюда</p>
<p class="lab-agrostar-drop__hint mb-0 small text-muted">Приготовим науку, понюхаем, привяжем к реагентам, приготовим партию... и посмотрим, кто из нас химик.</p>
<p id="labAgrostarFileName" class="lab-agrostar-drop__file small mt-2 mb-0" hidden></p>
</div>
<div id="labAgrostarStatus" class="small text-muted mt-2 mb-0"></div>
<div id="labAgrostarMeta" class="small mt-2 mb-3" hidden></div>
<div id="labAgrostarTableWrap" class="table-responsive" hidden>
<div class="lab-sandbox-panel__title" id="labImportTableTitle">Кому в каталог</div>
<table class="table table-sm lab-sandbox-table mb-2">
<thead id="labImportTableHead">
<tr>
<th>Образец</th>
<th>СВ, %</th>
<th>Реагент</th>
<th>Косяки</th>
</tr>
</thead>
<tbody id="labAgrostarTableBody"></tbody>
</table>
</div>
<div id="labAgrostarSniff" class="lab-agrostar-sniff" hidden>
<div class="lab-sandbox-panel__title">Что нанюхали</div>
<div id="labAgrostarSniffBody"></div>
</div>
<div class="lab-sandbox-actions mt-0">
<button type="button" class="btn btn-sm btn-outline-secondary" id="labAgrostarClear" disabled>Забудь это</button>
<button type="button" class="btn btn-sm btn-outline-primary" id="labAgrostarPreview" disabled>Сначала понюхаем</button>
<button type="button" class="btn btn-sm btn-primary" id="labAgrostarApply" disabled>Запомни это</button>
</div>
<div id="labAgrostarResult" class="small mt-2"></div>
</div>
</section>
<section class="lab-formulate-section mt-4" data-wesp-enter>
<div class="lab-sandbox-header mb-3">
<h2 class="h5 mb-1"><i class="fas fa-magic text-primary me-2"></i>Автоготовка</h2>
<p class="mb-0">Грубые → сочные → концентраты → добавки → расчёт. Я не в опасности. Я и есть опасность.</p>
</div>
<div class="row g-3">
<div class="col-lg-4 lab-formulate-step-panel lab-formulate-step-panel--calc d-none">
<div class="lab-sandbox-panel h-100">
<div class="lab-sandbox-panel__title">Химия — наука о переменах</div>
<div class="lab-sandbox-field">
<label class="form-label" for="labFormulateProfile">Стандарт чистоты</label>
<select id="labFormulateProfile" class="form-select form-select-sm"></select>
</div>
<div class="lab-sandbox-field">
<label class="form-label" for="labFormulateNormsMethod">Методика норм</label>
<select id="labFormulateNormsMethod" class="form-select form-select-sm">
<option value="wesp">WESP (GfE)</option>
<option value="racion_moscow">Москва (РАСХН)</option>
<option value="racion_piter">Петербург</option>
</select>
</div>
<div id="labFormulateRacionFields" class="d-none">
<div class="row g-2">
<div class="col-6 lab-sandbox-field">
<label class="form-label" for="labFormulateFat">Жирность, %</label>
<input id="labFormulateFat" type="number" class="form-control form-control-sm" value="4" step="0.1">
</div>
<div class="col-6 lab-sandbox-field">
<label class="form-label" for="labFormulateLactation">Лактация №</label>
<input id="labFormulateLactation" type="number" class="form-control form-control-sm" value="2" min="1" max="3" step="1">
</div>
</div>
<div class="lab-sandbox-field lab-formulate-piter-only d-none">
<label class="form-label" for="labFormulateKonc">ОЭ/СВ, МДж/кг СВ</label>
<input id="labFormulateKonc" type="number" class="form-control form-control-sm" value="10.3" step="0.1">
</div>
</div>
<div class="row g-2">
<div class="col-6 lab-sandbox-field">
<label class="form-label" for="labFormulateMass">Масса, кг</label>
<input id="labFormulateMass" type="number" class="form-control form-control-sm" step="1">
</div>
<div class="col-6 lab-sandbox-field">
<label class="form-label" for="labFormulateMilk">Удой, кг/сут</label>
<input id="labFormulateMilk" type="number" class="form-control form-control-sm" step="0.1">
</div>
</div>
<div class="row g-2">
<div class="col-6 lab-sandbox-field">
<label class="form-label" for="labFormulateTotalKg">Σ кг/гол/сут</label>
<input id="labFormulateTotalKg" type="number" class="form-control form-control-sm" value="7.3" step="0.1">
</div>
<div class="col-6 lab-sandbox-field">
<label class="form-label" for="labFormulateCostWeight">Цена отклонения</label>
<input id="labFormulateCostWeight" type="number" class="form-control form-control-sm" value="100" step="1">
</div>
</div>
<div class="lab-sandbox-panel__title mt-3">На что смотрим</div>
<div id="labFormulateOptimizeKeys" class="lab-formulate-opt-keys"></div>
<p id="labFormulateSummary" class="small text-muted mt-3 mb-2">Я принял решение на основе науки</p>
<div id="labFormulatePrefilterNote" class="alert alert-info py-1 px-2 small d-none mb-2">
Слишком много вариантов — отфильтруем топ-18. Время — деньги.
</div>
<div class="lab-sandbox-actions">
<button type="button" class="btn btn-sm btn-primary" id="labFormulateRun" disabled>Хайзенберг</button>
</div>
</div>
</div>
<div class="col-lg-8">
<div class="lab-sandbox-panel h-100">
<nav id="labFormulateSteps" class="lab-formulate-steps mb-3" aria-label="Этапы автоготовки"></nav>
<div id="labFormulatePanes"></div>
<div id="labFormulateReviewPane" class="lab-formulate-pane d-none">
<div class="lab-sandbox-panel__title">Рецепт на столе</div>
<ul id="labFormulateReview" class="small mb-2"></ul>
<p class="small text-muted mb-0">Позитив — это хорошо. Я за позитив, но позитив не меняет реальность.</p>
</div>
</div>
</div>
<div class="col-lg-12">
<div class="lab-sandbox-panel">
<div class="lab-sandbox-panel__title">99,1% чистоты:</div>
<div id="labFormulateResult">
<div class="lab-sandbox-empty">Скажи моё имя и жми кнопку</div>
</div>
</div>
</div>
</div>
</section>
</div>
</div>
<script src="/static/js/pages/lab-heisenberg-prime.js?v=2"></script>
<script src="/static/js/pages/lab-sandbox.js?v=6"></script>
<script src="/static/js/pages/lab-agrostar-import.js?v=11"></script>
<script src="/static/js/pages/lab-formulate.js?v=8"></script>
</body>
</html>