DmitrMakeev commited on
Commit
eedfebe
·
verified ·
1 Parent(s): f8540e2

Update nutri_call.html

Browse files
Files changed (1) hide show
  1. nutri_call.html +16 -15
nutri_call.html CHANGED
@@ -1212,7 +1212,7 @@ function calculateAndUpdate(data) {
1212
 
1213
  function calculateCationsAndAnions(data) {
1214
  console.log("=== ТОЧНЫЙ РАСЧЕТ КАТИОНОВ И АНИОНОВ ===");
1215
-
1216
  // Молярные массы и валентности элементов
1217
  const ION_DATA = {
1218
  // Катионы
@@ -1223,29 +1223,31 @@ function calculateCationsAndAnions(data) {
1223
  // Анионы
1224
  'NO3': { mass: 62.004, charge: 1 },
1225
  'SO4': { mass: 96.06, charge: 2 },
1226
- 'H2PO4': { mass: 96.99, charge: 1 }
 
1227
  };
1228
 
1229
  // Получаем данные профиля
1230
  const profile = data.actual_profile;
1231
-
1232
  // Рассчитываем миллиэквиваленты (meq/L) для каждого иона
1233
  const ions = {
1234
  // Катионы
1235
- 'Ca': (profile['Ca'] || 0) * 2 / 40.08,
1236
- 'Mg': (profile['Mg'] || 0) * 2 / 24.305,
1237
- 'K': (profile['K'] || 0) * 1 / 39.098,
1238
- 'NH4': (profile['N (NH4+)'] || 0) * 1 / 18.038,
1239
  // Анионы
1240
- 'NO3': (profile['N (NO3-)'] || 0) * 1 / 62.004,
1241
- 'SO4': (profile['S'] || 0) * 2 / 96.06,
1242
- 'H2PO4': (profile['P'] || 0) * 1 / 96.99
 
1243
  };
1244
 
1245
  // Суммируем катионы и анионы
1246
  const totalCations = ions['Ca'] + ions['Mg'] + ions['K'] + ions['NH4'];
1247
- const totalAnions = ions['NO3'] + ions['SO4'] + ions['H2PO4'];
1248
-
1249
  // Рассчитываем процентное соотношение
1250
  const total = totalCations + totalAnions;
1251
  const cationPercent = (totalCations / total * 100).toFixed(1);
@@ -1256,9 +1258,9 @@ function calculateCationsAndAnions(data) {
1256
  console.log(`Дисбаланс: ${(totalCations - totalAnions).toFixed(2)} mEq/L`);
1257
 
1258
  // Обновляем UI
1259
- document.getElementById("n1-value").textContent =
1260
  `Катионы: ${totalCations.toFixed(2)} mEq/L | Анионы: ${totalAnions.toFixed(2)} mEq/L`;
1261
-
1262
  // Обновляем индикаторы
1263
  document.getElementById("cation-indicator").style.width = `${cationPercent}%`;
1264
  document.getElementById("anion-indicator").style.width = `${anionPercent}%`;
@@ -1266,7 +1268,6 @@ function calculateCationsAndAnions(data) {
1266
 
1267
 
1268
 
1269
-
1270
 
1271
 
1272
 
 
1212
 
1213
  function calculateCationsAndAnions(data) {
1214
  console.log("=== ТОЧНЫЙ РАСЧЕТ КАТИОНОВ И АНИОНОВ ===");
1215
+
1216
  // Молярные массы и валентности элементов
1217
  const ION_DATA = {
1218
  // Катионы
 
1223
  // Анионы
1224
  'NO3': { mass: 62.004, charge: 1 },
1225
  'SO4': { mass: 96.06, charge: 2 },
1226
+ 'H2PO4': { mass: 96.99, charge: 1 },
1227
+ 'Cl': { mass: 35.453, charge: 1 } // Добавлен хлор как анион
1228
  };
1229
 
1230
  // Получаем данные профиля
1231
  const profile = data.actual_profile;
1232
+
1233
  // Рассчитываем миллиэквиваленты (meq/L) для каждого иона
1234
  const ions = {
1235
  // Катионы
1236
+ 'Ca': (profile['Ca'] || 0) * ION_DATA['Ca'].charge / ION_DATA['Ca'].mass,
1237
+ 'Mg': (profile['Mg'] || 0) * ION_DATA['Mg'].charge / ION_DATA['Mg'].mass,
1238
+ 'K': (profile['K'] || 0) * ION_DATA['K'].charge / ION_DATA['K'].mass,
1239
+ 'NH4': (profile['N (NH4+)'] || 0) * ION_DATA['NH4'].charge / ION_DATA['NH4'].mass,
1240
  // Анионы
1241
+ 'NO3': (profile['N (NO3-)'] || 0) * ION_DATA['NO3'].charge / ION_DATA['NO3'].mass,
1242
+ 'SO4': (profile['S'] || 0) * ION_DATA['SO4'].charge / ION_DATA['SO4'].mass,
1243
+ 'H2PO4': (profile['P'] || 0) * ION_DATA['H2PO4'].charge / ION_DATA['H2PO4'].mass,
1244
+ 'Cl': (profile['Cl'] || 0) * ION_DATA['Cl'].charge / ION_DATA['Cl'].mass // Добавлен расчет для хлора
1245
  };
1246
 
1247
  // Суммируем катионы и анионы
1248
  const totalCations = ions['Ca'] + ions['Mg'] + ions['K'] + ions['NH4'];
1249
+ const totalAnions = ions['NO3'] + ions['SO4'] + ions['H2PO4'] + ions['Cl']; // Учтен хлор
1250
+
1251
  // Рассчитываем процентное соотношение
1252
  const total = totalCations + totalAnions;
1253
  const cationPercent = (totalCations / total * 100).toFixed(1);
 
1258
  console.log(`Дисбаланс: ${(totalCations - totalAnions).toFixed(2)} mEq/L`);
1259
 
1260
  // Обновляем UI
1261
+ document.getElementById("n1-value").textContent =
1262
  `Катионы: ${totalCations.toFixed(2)} mEq/L | Анионы: ${totalAnions.toFixed(2)} mEq/L`;
1263
+
1264
  // Обновляем индикаторы
1265
  document.getElementById("cation-indicator").style.width = `${cationPercent}%`;
1266
  document.getElementById("anion-indicator").style.width = `${anionPercent}%`;
 
1268
 
1269
 
1270
 
 
1271
 
1272
 
1273