const stateInstrument = { фиксация: 'НаМесте', типПрибора: 'Величина', величина: 'Напряжение', уточнение: null, функции: [] }; const stateMechanism = { ручной: false, направление: null as string | null }; // Настройки для выбора значений const функцииПоТипу = { ВыполняемаяФункция: [ 'Сигнализация' , 'АвтоматическоеРегулирование' , 'ВеличинаОтклоненияОтЗаданной' , 'Регистрация' ], ФункциональныйПризнак: [ 'ЧувствительныйЭлемент' , 'Преобразование' , 'ПервичныйПоказывающийПрибор' , 'СтанцияУправления' , 'ВключениеОтключениеПереключение' ] }; // Создание элементов формы export function createInstrumentForm(container: HTMLElement | null) { const form = document.createElement('form'); // Фиксация const fixationLabel = document.createElement('label'); fixationLabel.innerText = 'Фиксация:'; const fixationSelect = document.createElement('select'); fixationSelect.innerHTML = ''; fixationSelect.value = stateInstrument.фиксация; fixationSelect.addEventListener('change', (e) => { const target = e.target as HTMLInputElement; stateInstrument.фиксация = target.value; }); fixationLabel.appendChild(fixationSelect); form.appendChild(fixationLabel); // Тип прибора const typeLabel = document.createElement('label'); typeLabel.innerText = 'Тип прибора:'; const typeSelect = document.createElement('select'); typeSelect.innerHTML = ''; typeSelect.value = stateInstrument.типПрибора; typeSelect.addEventListener('change', (e) => { const target = e.target as HTMLInputElement; stateInstrument.типПрибора = target.value; }); typeLabel.appendChild(typeSelect); form.appendChild(typeLabel); // Величина const magnitudeLabel = document.createElement('label'); magnitudeLabel.innerText = 'Величина:'; const magnitudeSelect = document.createElement('select'); const choices = [ { value: 'A', label: 'Анализ, качество' }, { value: 'B', label: 'Пламя, горение' }, { value: 'C', label: 'Дополнительная величина (C)' }, { value: 'D', label: 'Дополнительная величина (D)' }, { value: 'E', label: 'Напряжение' }, { value: 'F', label: 'Расход' }, { value: 'G', label: 'Дополнительная величина (G)' }, { value: 'H', label: 'Ручное воздействие' }, { value: 'I', label: 'Ток' }, { value: 'J', label: 'Мощность' }, { value: 'K', label: 'Время' }, { value: 'L', label: 'Уровень' }, { value: 'M', label: 'Дополнительная величина (N)' }, { value: 'N', label: 'Дополнительная величина (N))' }, { value: 'O', label: 'Дополнительная величина (O)' }, { value: 'P', label: 'Давление' }, { value: 'Q', label: 'Количество' }, { value: 'E', label: 'Радиоактивность' }, { value: 'S', label: 'Скорость, частота' }, { value: 'T', label: 'Температура' }, { value: 'U', label: 'Разнородные величины' }, // несколько величин ТОЛЬКО здесь { value: 'V', label: 'Вибрация' }, { value: 'W', label: 'Вес' }, { value: 'X', label: 'Дополнительная величина (нерекомендованная буква X)' }, { value: 'Y', label: 'Событие' }, { value: 'Z', label: 'Размер' } ]; choices.forEach(element => { const opt = document.createElement<'option'>('option') opt.setAttribute('value', element.value) opt.appendChild(document.createTextNode(element.label)) magnitudeSelect.appendChild(opt) }); magnitudeSelect.addEventListener('change', (e) => { const target = e.target as HTMLInputElement; stateInstrument.величина = target.value; }); magnitudeLabel.appendChild(magnitudeSelect); form.appendChild(magnitudeLabel); // Добавить форму на страницу container?.appendChild(form); } export function createMechanismForm(container: HTMLElement | null) { const form = document.createElement('form'); // Ручное управление const manualControlLabel = document.createElement('label'); manualControlLabel.innerText = 'Имеет ручное управление:'; const manualControlCheckbox = document.createElement('input'); manualControlCheckbox.type = 'checkbox'; manualControlCheckbox.checked = stateMechanism.ручной; manualControlCheckbox.addEventListener('change', (e) => { const target = e.target as HTMLInputElement; stateMechanism.ручной = target.checked; }); manualControlLabel.appendChild(manualControlCheckbox); form.appendChild(manualControlLabel); // Направление const directionLabel = document.createElement('label'); directionLabel.innerText = 'Направление:'; const directionSelect = document.createElement('select'); directionSelect.innerHTML = ''; directionSelect.value = stateMechanism.направление || ''; directionSelect.addEventListener('change', (e) => { const target = e.target as HTMLInputElement; stateMechanism.направление = target.value; }); directionLabel.appendChild(directionSelect); form.appendChild(directionLabel); // Добавить форму на страницу container?.appendChild(form); }