DmitrMakeev commited on
Commit
c2791cf
·
verified ·
1 Parent(s): b6ba04b

Update nutri_call.html

Browse files
Files changed (1) hide show
  1. nutri_call.html +5 -10
nutri_call.html CHANGED
@@ -1189,7 +1189,6 @@ function calculateAndUpdate(data) {
1189
 
1190
  function calculateCationsAndAnions() {
1191
  console.log("=== ДИНАМИЧЕСКИЙ РАСЧЕТ КАТИОНОВ И АНИОНОВ ===");
1192
-
1193
  // 1. Получаем текущие значения из формы
1194
  const getValue = (id) => parseFloat(document.getElementById(id).value) || 0;
1195
  const profile = {
@@ -1202,7 +1201,6 @@ function calculateCationsAndAnions() {
1202
  'S': getValue('profile_s'),
1203
  'Cl': getValue('profile_cacl') * 0.32366 / 0.18294 // Пересчет CaCl2 в Cl
1204
  };
1205
-
1206
  // 2. Константы из вашей формы (упрощенные)
1207
  const FERTILIZER_CONSTANTS = {
1208
  'Кальциевая селитра': { 'N (NO3-)': 0.11863, 'Ca': 0.16972 },
@@ -1213,7 +1211,6 @@ function calculateCationsAndAnions() {
1213
  'Калий сернокислый': { 'K': 0.44874, 'S': 0.18401 },
1214
  'Кальций хлорид': { 'Ca': 0.18294, 'Cl': 0.32366 }
1215
  };
1216
-
1217
  // 3. Молярные массы и валентности
1218
  const ION_DATA = {
1219
  'Ca': { mass: 40.08, charge: 2 },
@@ -1225,10 +1222,8 @@ function calculateCationsAndAnions() {
1225
  'H2PO4': { mass: 96.99, charge: 1 },
1226
  'Cl': { mass: 35.453, charge: 1 }
1227
  };
1228
-
1229
  // 4. Пересчет серы (S → SO4²⁻)
1230
  const so4 = profile['S'] * (96.06 / 32.06);
1231
-
1232
  // 5. Расчет mEq/L для каждого иона
1233
  const ions = {
1234
  'Ca': profile['Ca'] * ION_DATA['Ca'].charge / ION_DATA['Ca'].mass,
@@ -1240,22 +1235,22 @@ function calculateCationsAndAnions() {
1240
  'H2PO4': profile['P'] * ION_DATA['H2PO4'].charge / ION_DATA['H2PO4'].mass,
1241
  'Cl': profile['Cl'] * ION_DATA['Cl'].charge / ION_DATA['Cl'].mass
1242
  };
1243
-
1244
  // 6. Суммирование
1245
  const totalCations = ions['Ca'] + ions['Mg'] + ions['K'] + ions['NH4'];
1246
  const totalAnions = ions['NO3'] + ions['SO4'] + ions['H2PO4'] + ions['Cl'];
1247
-
1248
  // 7. Расчет процентов
1249
  const total = totalCations + totalAnions;
1250
  const cationPercent = total > 0 ? (totalCations / total * 100).toFixed(1) : 0;
1251
  const anionPercent = total > 0 ? (totalAnions / total * 100).toFixed(1) : 0;
1252
-
1253
  // 8. Вывод результатов
1254
  console.log(`Катионы: ${totalCations.toFixed(2)} mEq/L (${cationPercent}%)`);
1255
  console.log(`Анионы: ${totalAnions.toFixed(2)} mEq/L (${anionPercent}%)`);
1256
  console.log(`Дисбаланс: ${(totalCations - totalAnions).toFixed(2)} mEq/L`);
1257
-
1258
- // УБРАНО: Обновление интерфейса происходит ТОЛЬКО при явном вызове функции
 
 
 
1259
  }
1260
 
1261
 
 
1189
 
1190
  function calculateCationsAndAnions() {
1191
  console.log("=== ДИНАМИЧЕСКИЙ РАСЧЕТ КАТИОНОВ И АНИОНОВ ===");
 
1192
  // 1. Получаем текущие значения из формы
1193
  const getValue = (id) => parseFloat(document.getElementById(id).value) || 0;
1194
  const profile = {
 
1201
  'S': getValue('profile_s'),
1202
  'Cl': getValue('profile_cacl') * 0.32366 / 0.18294 // Пересчет CaCl2 в Cl
1203
  };
 
1204
  // 2. Константы из вашей формы (упрощенные)
1205
  const FERTILIZER_CONSTANTS = {
1206
  'Кальциевая селитра': { 'N (NO3-)': 0.11863, 'Ca': 0.16972 },
 
1211
  'Калий сернокислый': { 'K': 0.44874, 'S': 0.18401 },
1212
  'Кальций хлорид': { 'Ca': 0.18294, 'Cl': 0.32366 }
1213
  };
 
1214
  // 3. Молярные массы и валентности
1215
  const ION_DATA = {
1216
  'Ca': { mass: 40.08, charge: 2 },
 
1222
  'H2PO4': { mass: 96.99, charge: 1 },
1223
  'Cl': { mass: 35.453, charge: 1 }
1224
  };
 
1225
  // 4. Пересчет серы (S → SO4²⁻)
1226
  const so4 = profile['S'] * (96.06 / 32.06);
 
1227
  // 5. Расчет mEq/L для каждого иона
1228
  const ions = {
1229
  'Ca': profile['Ca'] * ION_DATA['Ca'].charge / ION_DATA['Ca'].mass,
 
1235
  'H2PO4': profile['P'] * ION_DATA['H2PO4'].charge / ION_DATA['H2PO4'].mass,
1236
  'Cl': profile['Cl'] * ION_DATA['Cl'].charge / ION_DATA['Cl'].mass
1237
  };
 
1238
  // 6. Суммирование
1239
  const totalCations = ions['Ca'] + ions['Mg'] + ions['K'] + ions['NH4'];
1240
  const totalAnions = ions['NO3'] + ions['SO4'] + ions['H2PO4'] + ions['Cl'];
 
1241
  // 7. Расчет процентов
1242
  const total = totalCations + totalAnions;
1243
  const cationPercent = total > 0 ? (totalCations / total * 100).toFixed(1) : 0;
1244
  const anionPercent = total > 0 ? (totalAnions / total * 100).toFixed(1) : 0;
 
1245
  // 8. Вывод результатов
1246
  console.log(`Катионы: ${totalCations.toFixed(2)} mEq/L (${cationPercent}%)`);
1247
  console.log(`Анионы: ${totalAnions.toFixed(2)} mEq/L (${anionPercent}%)`);
1248
  console.log(`Дисбаланс: ${(totalCations - totalAnions).toFixed(2)} mEq/L`);
1249
+ // 9. Обновление UI
1250
+ document.getElementById("n1-value").textContent =
1251
+ `Катионы: ${totalCations.toFixed(2)} mEq/L | Анионы: ${totalAnions.toFixed(2)} mEq/L`;
1252
+
1253
+ document.getElementById("anion-indicator").style.width = `${anionPercent}%`;
1254
  }
1255
 
1256