Страничка html ccs js
• Наименование – поле заблокировано для изменений.
• Номер – поле заблокировано для изменений
• Год – поле заблокировано для изменений
• Дата с – поле заблокировано для изменений
• Дата по – поле заблокировано для изменений
• Объект закрыт – поле доступно для редактирования, в любом статусе тома. При проставлении признака менять на форме значение поля Состояние на «Закрыт», заполнять текущей датой поле «Дата по». При снятии признака менять на форме значение поля Состояние на «Открыт» и очищать поле «Дата по».
• Тип хранения – поле доступно для редактирования в статусе «Открыт» (поле Состояние)
• Формат хранения – поле доступно для редактирования в статусе «Открыт» (поле Состояние)
• Группа – поле заблокировано для изменений, текстовое, повторяет значение поля «Тип хранения»
• Количество листов план – поле заблокировано для изменений
• Количество листов факт – поле заблокировано для изменений
• Количество документов план – поле заблокировано для изменений
• Количество документов факт – поле заблокировано для изменений
• Комментарий – поле доступно для редактирования при любом значении поля «Состояние»
При загрузке формы значения полей выданного объекта Obj должны загружаться в поля формы.
Кнопки «Отменить» и «Обновить».
Кнопка «Отменить» - по кнопке сбрасывать текущие изменения и вновь загружается выданный объект Obj, то есть значения полей объекта (его атрибуты) распределяются по полям формы.
Кнопка «Обновить» -по нажатию кнопки формируется новый объект с теми же полями, что и выданный, но со значениями, из полей формы. При этом значение поля nodeId (идентификационный номер объекта) остается тем же. Если в поле «Состояние» проставлен признак «Закрыт», то записываем в поле нового объекта "volumeClosed":"1", если в «Состояние» проставлен признак «Открыт», то записываем в поле нового объекта "volumeClosed":"0".
Создать функцию, в которой будет формироваться объект newObj, с теми же полями что и выданный объект. Значения для этих полей будет браться из соответствующих полей формы. А из функции сделать return этого объекта. Вывести этот объект в консоль.
Иные события:
1. При выборе значения "Электронный" в поле "Тип хранения":
1.1 Подставлять значение "ЭЛЕКТРОННАЯ ПОЛКА" в поле "Формат хранения"
1.2 Дизейблить поле "Формат хранения"
1.3 В поле "Количество документов план" подставлять значение из quantity формата хранения. То есть при изменении значения в поле "Формат хранения" на "ЭЛЕКТРОННАЯ ПОЛКА", необходимо изменять значение в поле "Количество документов план".
1.4 Зачищать значения в полях "Количество листов план", "Количество листов факт"
2. При изменении значения в поле "Формат хранения" для Библиотечных типов хранения, необходимо изменять значение в поле "Количество листов план". Значение подставлять из quantity выбранного формата хранения
3. Не выводить "ЭЛЕКТРОННАЯ ПОЛКА" в выпадающем списке поля "Формат хранения", если выбран Библиотечный тип хранения
Тип хранения - выпадающий список
[
{text: "Библиотечный", value: "1"},
{text: "Электронный", value: "2"}
]
Формат хранения - выпадающий список
[{ text: "Книжный шкаф 400", value: "1", quantity: "400"} ,
{ text: "Книжный шкаф 350", value: "2", quantity: "350"} ,
{ text: "ЭЛЕКТРОННАЯ ПОЛКА", value: "3", quantity: "25"} ,
{ text: "Книжная полка 75", value: "4", quantity: "75"} ,
{ text: "Книжная полка 50", value: "5", quantity: "50"} ,
{ text: "Книжная полка 150", value: "6", quantity: "150"}
]
Выданный объект:
Obj =
{"nodeId":4000021,
"volumeName":"Папка 11",
"volumeNum":"11",
"year":"2021",
"dateFrom":"01.07.2021",
"dateTo":null,
"volumeClosed":"0",
"storageType":"Библиотечный",
"locatorType":"Книжная полка 75",
"sheetsPlan":"75",
"sheetsFact":null,
"docsPlan":null,
"docsFact":null,
"comment":null }
Это ссылка на сайт виджетов, которые необходимо использовать при выполнении задания.
https://www.jqwidgets.com/jquery-widgets-documentation/
Необходимые виджеты:
jqxTabs, jqxInput, jqxDropDownList, jqxCheckBox, jqxDateTimeInput, jqxButtons, jqxTextArea.
Код разработки должен быть универсальным, то есть, например, могут расширить количество элементов выпадающих списков.
То есть все задание нужно выполнить в одном html файле.
В нем вы подключаете стандартным образом библиотеки, как показано, собственно, на сайте jQWidgets.
Кодить вы можете в Visual Сode, sublime, хоть в блокноте, - в чем угодно – в любом текстовом редакторе.
Отлаживать уже при запуске html файла в браузере по F12 в source.