Skip to content
Snorkcom edited this page May 27, 2024 · 9 revisions
  1. Типы заявлений для выбора в выпадающем списке в теге <form id="application-form">

  2. Список отображаемых полей ввода и их заголовков (label) для каждого типа заявления (в названиях номера указаны): Создание объекта с настройками для каждого типа заявления

  • fullNameLabel, fullName - фио
  • positionSelectLabel, positionSelect - должность
  • newPositionSelectLabel, newPositionSelect - новая должность
  • departmentLabel, department - отдел
  • fullNameObjectLabel, fullNameObject - фио объекта
  • positionObjectSelectLabel, positionObjectSelect - должность объекта
  • departmentCodeLabel, departmentCode - код департамента
  • stationGoalLabel, stationGoal - цель станции
  1. Значения из полей получаются и сохраняются в Значение в дополнительных полях

  2. В каждом заявлении получаются конкретные переменные из пункта №3, например: const selectedPosition = positionSelect.options[positionSelect.selectedIndex].text;

  3. Функция переключения видимости каждого поля при разном выборе (по умолчанию не отображается): function updateFieldsVisibility(settings) и Применяем значения к элементам (по умолчанию скрыты). Функция используется в зависимости от выбора в выпадающем списке по номеру типа заявления.

  4. Применение функции из пункта №5 пока каждому типу заявлений (связь видно по названию в конце - "vrio_captain_1"): Использование функции видимости полей при переключении типов заявлений

  5. Скрываем по умолчанию поля, во время открытия страницы: При открытии страницы скрывает поля ввода значений

Итого:

  1. Чтобы добавить новое поле, нужно:
  • a) Добавить поле как элемент html (текстовое поле или список, например)

  • b) Добавить получение его значения в пункт №3

  • с) Добавить функцию переключения видимости и значение по умолчанию в пункт №5

  • d) Добавить скрытие поля при открытии страницы в пункте №7

  • e) Добавить применение функции видимости в зависимости от заявления, см. пункт №6

  • d) Добавить настройку для конкретного существующего заявления (какие поля и их заголовки там отображаются) в пункт №2

  • g) В заявление из пункта "f)" добавить переменную для значения поля

  1. Чтобы добавить новое заявление, нужно:
  • a) Добавить создать само заявление, как например else if (statementType === '42') {

  • b) Добавить применение функции видимости в зависимости от выбранного типа заявления, см. пункт №6

  • c) Добавить настройку для конкретного существующего заявления (какие поля и их заголовки там отображаются) в пункт №2

  • d) В само заявление из пункта "a)" добавить переменные (из Значение в дополнительных полях), которые были указаны в пункте "с)"

  1. Внутри самого заявления используется карточка: <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>

Clone this wiki locally