Sandbox Test Page 3

Версия 4.1 от Руслан Савельев на 2025/06/04 10:07

  .report-table {
    border-collapse: collapse;
    width: 100%;
    margin-top: 1em;
  }
  .report-table th, .report-table td {
    border: 1px solid #ccc;
    padding: 4px 8px;
    text-align: left;
  }
  .hidden-col {
    display: none;
  }

Настройка столбцов:

Товар Количество Цена Сумма Поставщик Дата поступления
Баллон газовый 5 650.00 3250.00 ГазСнаб 01.06.2025
Огнетушитель 2 1200.00 2400.00 Безопасность+ 28.05.2025
  function toggleGroup(group) {
    const groupBox = document.getElementById('group-' + group);
    const options = document.getElementById(group + '-options');
    const checkboxes = options.querySelectorAll('input[type=checkbox]');
    if (groupBox.checked) {
      options.style.display = 'block';
    } else {
      options.style.display = 'none';
      checkboxes.forEach(cb => {
        cb.checked = false;
        toggleColumn(cb.parentNode.textContent.trim().toLowerCase(), false);
      });
      if (group === 'realization') {
        toggleColumn('qty', false);
        toggleColumn('price', false);
        toggleColumn('sum', false);
      }
      if (group === 'supply') {
        toggleColumn('supplier', false);
        toggleColumn('arrival', false);
      }
    }
  }

  function toggleColumn(colName, force) {
    const show = force !== undefined ? force : event.target.checked;
    const cells = document.querySelectorAll('.col-' + colName);
    cells.forEach(cell => {
      if (show) {
        cell.classList.remove('hidden-col');
      } else {
        cell.classList.add('hidden-col');
      }
    });
  }