-
Notifications
You must be signed in to change notification settings - Fork 2
Home
-
Типы заявлений для выбора в выпадающем списке в теге
<form id="application-form">
-
Список отображаемых полей ввода и их заголовков (label) для каждого типа заявления (в названиях номера указаны):
Создание объекта с настройками для каждого типа заявления
- fullNameLabel, fullName - фио
- positionSelectLabel, positionSelect - должность
- newPositionSelectLabel, newPositionSelect - новая должность
- departmentLabel, department - отдел
- fullNameObjectLabel, fullNameObject - фио объекта
- positionObjectSelectLabel, positionObjectSelect - должность объекта
- departmentCodeLabel, departmentCode - код департамента
- stationGoalLabel, stationGoal - цель станции
-
Значения из полей получаются и сохраняются в
Значение в дополнительных полях
-
В каждом заявлении получаются конкретные переменные из пункта №3, например:
const selectedPosition = positionSelect.options[positionSelect.selectedIndex].text;
-
Функция переключения видимости каждого поля при разном выборе (по умолчанию не отображается):
function updateFieldsVisibility(settings)
иПрименяем значения к элементам (по умолчанию скрыты)
. Функция используется в зависимости от выбора в выпадающем списке по номеру типа заявления. -
Применение функции из пункта №5 пока каждому типу заявлений (связь видно по названию в конце - "vrio_captain_1"):
Использование функции видимости полей при переключении типов заявлений
-
Скрываем по умолчанию поля, во время открытия страницы:
При открытии страницы скрывает поля ввода значений
Итого:
- Чтобы добавить новое поле, нужно:
-
a) Добавить поле как элемент html (текстовое поле или список, например)
-
b) Добавить получение его значения в пункт №3
-
с) Добавить функцию переключения видимости и значение по умолчанию в пункт №5
-
d) Добавить скрытие поля при открытии страницы в пункте №7
-
e) Добавить применение функции видимости в зависимости от заявления, см. пункт №6
-
d) Добавить настройку для конкретного существующего заявления (какие поля и их заголовки там отображаются) в пункт №2
-
g) В заявление из пункта "f)" добавить переменную для значения поля
- Чтобы добавить новое заявление, нужно:
-
a) Добавить создать само заявление, как например
else if (statementType === '42') {
-
b) Добавить применение функции видимости в зависимости от выбранного типа заявления, см. пункт №6
-
c) Добавить настройку для конкретного существующего заявления (какие поля и их заголовки там отображаются) в пункт №2
-
d) В само заявление из пункта "a)" добавить переменные (из
Значение в дополнительных полях
), которые были указаны в пункте "с)"
- Внутри самого заявления используется карточка:
<div class="card mb-4"> <div class="card-header d-flex justify-content-between align-items-center"> <h4 class="card-title mt-3 mb-1 flex-grow-1 ms-3"> <!-- NAME --> </h4> <div class="d-flex"> <button class="btn mt-2 me-2" onclick="saveCardContent(this)" title="Сохранить в файл">💾</button> <button class="btn mt-2 copy-content-btn" onclick="copyCardContent(this)" title="Копировать">📑</button> </div> </div> <div class="card-body"> <div class="card-text editable-content p-3" contenteditable="true"> <!-- APPLICATION --> </div> </div> </div>
или двойная карточка:
<div class="row"> <div class="col-6 d-flex align-items-stretch"> <div class="card mb-4"> <div class="card-header d-flex justify-content-between align-items-center"> <h4 class="card-title mt-3 mb-1 flex-grow-1 ms-3"> <!-- NAME --> </h4> <div class="d-flex"> <button class="btn mt-2 me-2" onclick="saveCardContent(this)" title="Сохранить в файл">💾</button> <button class="btn mt-2 copy-content-btn" onclick="copyCardContent(this)" title="Копировать">📑</button> </div> </div> <div class="card-body"> <div class="card-text editable-content p-3" contenteditable="true"> <!-- APPLICATION --> </div> </div> </div> </div> <div class="col-6 d-flex align-items-stretch"> <div class="card mb-4"> <div class="card-header d-flex justify-content-between align-items-center"> <h4 class="card-title mt-3 mb-1 flex-grow-1 ms-3"> <!-- NAME --> </h4> <div class="d-flex"> <button class="btn mt-2 me-2" onclick="saveCardContent(this)" title="Сохранить в файл">💾</button> <button class="btn mt-2 copy-content-btn" onclick="copyCardContent(this)" title="Копировать">📑</button> </div> </div> <div class="card-body"> <div class="card-text editable-content p-3" contenteditable="true"> <!-- APPLICATION --> </div> </div> </div> </div> </div> <br>