JSFiddle - React, Tailwind, and code Playground
HTML
<div class="inputField">
<form id='form'>
<label>Длина заготовки (мм):
<input type="number" id="IDlengthWorkPiece">
</label>
<br>
<label>Длина детали (мм):
<input type="number" id="IDlengthPart">
</label>
<br>
<label>Количество деталей (шт):
<input type="number" id="IDvolumePart">
</label>
<br>
<label>Величина реза (мм):
<input type="number" id="IDcut">
</label>
<button>Расчет</button>
</form>
</div>
<div class="PresultField">
<p id="PpartsFromWorkPiece"></p>
<p id="PneedWorkPieces"></p>
<p id="PcurrentParts"></p>
<p id="PremainParts"></p>
<p id="PlengthAdditionWorkPiece"></p>
<p id="PadditionWorkPiece"></p>
<p id="PremainAdditionWorkPiece"></p>
<p id="PremainFromWorkPiece"></p>
<p id="PallWorkPiece"></p>
<p id="PallWorkPiece++"></p>
<p id="PremainFromLastPiece"></p>
<p id="PlastWP"></p>
<p id="Pneed"></p>
<p id="PneedLength"></p>
<p id="PremainOnePiece"></p>
</div>
JavaScript
function calcAllWorkPiece() {
/*
Расчет длин необходимых заготовок в зависимости от числа деталей и их размеров
величина
*/
//длина заготовки
let lengthWorkPiece = document.getElementById(`IDlengthWorkPiece`).value;
//длина детали
let lengthPart = document.getElementById(`IDlengthPart`).value;
//обьем партии
let volumePart = document.getElementById(`IDvolumePart`).value;
//величина реза
let cut = document.getElementById(`IDcut`).value;
////////////////////////////////////////////////
//количество деталей с заготовки длиной lengthWorkPiece
const partsFromWorkPiece = lengthPart ? Math.floor(lengthWorkPiece / (lengthPart + cut)) : 0;
//отход после изготовления деталей partFromWorkPiece
const remainFromWorkPiece = lengthWorkPiece % (lengthPart + cut);
//общая длинна для изготовления деталей обьемом volumePart
const allNeedLength = lengthPart * volumePart;
///////////////////////////////////////////////
document.getElementById('PpartsFromWorkPiece').innerHTML = `Деталей с заготовки: ${partsFromWorkPiece} шт`;
if (lengthPart >= lengthWorkPiece) {
let allWorkPiece = Math.floor(allNeedLength / lengthWorkPiece);
let remainFromLastPiece = Math.floor(allNeedLength % lengthWorkPiece);
document.getElementById('PallWorkPiece').innerHTML = `Необходимо ${allWorkPiece} заготовок длиной ${lengthWorkPiece} мм `;
document.getElementById('PremainFromLastPiece').innerHTML = `Длина последней детали ${remainFromLastPiece} мм `;
if (remainFromLastPiece > 0) {
allWorkPiece++;
document.getElementById('PremainFromLastPiece').innerHTML = `Длина последней детали: ${remainFromLastPiece} мм `;
document.getElementById('PallWorkPiece++').innerHTML = `Всего необходимо: ${allWorkPiece} заготовок длиной ${lengthWorkPiece} мм `;
let lastWP = lengthWorkPiece - remainFromLastPiece;
document.getElementById('PlastWP').innerHTML = `Отход с последней заготовки: ${lastWP} мм `;
} else {
document.getElementById('PallWorkPiece').innerHTML =...